Skip to content

Commit

Permalink
feat: add parse-function to monorepo (#62)
Browse files Browse the repository at this point in the history
* fix(rename): rename "result.valid" to "result.isValid"
* docs(isValid): update docs because isValid change
* fix(rename): the "result.orig" to "result.value"
* docs(result): update docs for "result.orig" to "result.value" change
* docs(api): update docs
* feat(benchmarks): add benchmarks
* test(espree): add tests using espree parser
* chore(yarn): force update
* docs(tips): add Pro Tips section
* docs(related): update related libs
* fix(package): add engines field
* chore(release): 3.0.0
* refactor(index): plugins api, more tests, support es6 method notation
* fix(package): bump to babylon@next
* fix(codeclimate): xx
* fix(style): codeclimate issues
* test(*): clarify a bit the tests for "anonymous" functions
* fix(package): force update yarn
* docs(*): update readme, description and site url
* fix(package): update deps and npm scripts, fix travis/appveyor
* chore(package): standard ignore benchmark dir
* fix(package): fix linting
* feat(methods): reorganize repo, introduce ".use" and ".parse" methods
* fix(codeclimate): analize lib folder
* docs(api): start docs
* docs(api): update api docs
* docs(readme): update usage example
* docs(readme): add Features and few more sections
* fix(.use): allow plugins that just extends the core api and not return a
* docs(notes): add human description on the Plugins Architecture
* docs(readme): better navigation
* chore(release): 4.0.0
* fix(package): include files in npm package
* fix(arrows): bug when found arrow on function body
* docs(readme): update
* chore(release): 4.0.1
* fix(objectMethod): bug when default arguments is used in object method
* docs(links): update links pointing to test.js file
* chore(release): 4.0.2
* fix(tests): make it work on node 4
* chore(release): 4.0.3
* chore(renovate): Configure Renovate (#34)
* Add renovate.json
* chore(renovate): update config
* refactor(deps): Pin Dependencies (#36)
* fix(renovate/deps): Update dependency define-property to version ^1.0.0
* chore(renovate/devDeps): Update dependency acorn to version 5.1.1
* chore(renovate/devDeps): Update dependency benchmarked to version 1.1.1
* chore(deps): pin prod deps
* fix(renovate/deps): Update dependency babylon to version 7.0.0-beta.18
* chore(renovate/devDeps): Update dependency clone-deep to version 1.0.0
* chore(renovate/devDeps): Update dependency cz-conventional-changelog to version 2.0.0

* chore(renovate/devDeps): Update dependency for-in to version 1.0.2
* chore(renovate/devDeps): Update dependency nyc to version 11.1.0
* chore(renovate/devDeps): Update dependency standard to version 10.0.2
* fix(renovate/deps): update dependency babylon to version 7.0.0-beta.19
* chore(renovate/devDeps): update dependency espree to v3.5.0
* chore(deps): update lock file
* chore(renovate/devDeps): update dependency standard to v10.0.3
* major(release): BREAKING CHANGE: Require Node.js >= 6 & npm >= 5
* fix(readme): generate readme
* fix(logo): fix logo to be centered
* fix(readme): add features section again
* fix(sr): fix semantic-release added things
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to
* fix(codeclimate): add config file, to exclude benchmarks
* fix(pkg): fix codeclimate and npm script for release
* chore(bump): force bump hela to latest, update renovate config
* chore(nyc): bump everything to 100%
* chore(benchmarks): remove them since we dont need
* fix(build): move to es6 modules by default
* fix(deps): bump hela to latest
* fix(deps): force bump to hela@0.4.0; include fresh script
* fix(deps): bump hela
* chore(devDeps): update dependency hela to v0.4.2
* fix(deps): update deps, renovate config, contrib file
* chore(devDeps): update dependency hela to v0.5.4
* chore(devDeps): update dependency hela to v0.5.5
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to
* fix(misc): update codeclimate
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to v1.0.5
* chore(devDeps): update dependency semantic-release to ^7.0.0 (#45)
* chore(devDeps): update dependency hela to v0.5.6
* chore(devDeps): update dependency hela to v0.5.7
* chore(devDeps): update dependency eslint to v4.5.0
* chore(devDeps): update dependency hela to v0.5.8
* fix(deps): update dependency babylon to v7.0.0-beta.20
* chore(devDeps): update dependency hela to v0.5.9
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to v1.0.6
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to v1.0.7
* chore(devDeps): update dependency hela to v0.6.0
* chore(devDeps): update dependency hela to v0.7.0
* fix(deps): update dependency babylon to v7.0.0-beta.21
* chore(devDeps): update dependency hela to v0.7.2
* fix(deps): update dependency babylon to v7.0.0-beta.22
* chore(devDeps): update dependency hela to v0.7.3
* chore(devDeps): update dependency eslint to v4.6.0
* chore(devDeps): update dependency eslint to v4.6.1
* chore(devDeps): update dependency acorn to v5.1.2
* chore(devDeps): update dependency hela to v0.7.4
* chore(devDeps): update dependency hela to v0.7.5
* chore(renovate): update config to try DCO
* chore(cfg): update renovate config
* chore(devDeps): update dependency hela to v0.7.6 (#49)
* chore(devDeps): update dependency hela to 0.7.6
* chore(deps): update Signed-off-by tag
* chore(devDeps): update dependency hela to 0.7.7
* fix(deps): update dependency babylon to 7.0.0-beta.23
* chore(devDeps): update dependency eslint to 4.7.0
* chore(devDeps): update dependency espree to 3.5.1
* chore(devDeps): update dependency eslint to 4.7.1
* fix(deps): update dependency babylon to 7.0.0-beta.24
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to v1.0.8 (#60)
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to 1.0.9
* fix(deps): update dependency babylon to 7.0.0-beta.25
* fix(arrows): handle async arrow functions
* add case for async arrow functions when wrapping
* add missing `done()` to test case
* fix(deps): update dependency babylon to 7.0.0-beta.26
* chore(devDeps): update dependency eslint-config-standard-tunnckocore to 1.0.10
* fix(deps): update dependency babylon to 7.0.0-beta.27
* chore(devDeps): update dependency eslint to 4.8.0
* fix(boilerplate): update stuff and modernize tests
* fix(docs): update dogs
* fix(deps): force update hela preset, activate semantic-release
* fix(renovate): test use of shareable configs
* fix(renovate): pin all deps, pr not pending
* refactor(deps): renovate pin dependencies packages (#70)
* chore(deps): update dependency hela to v1.1.3
* fix(misc): force update
* fix(docs): publish docs folder
* Set theme jekyll-theme-minimal
* Set theme jekyll-theme-cayman
* fix(deps): update dependency babylon to v7.0.0-beta.28
* fix(deps): update dependency babylon to v7.0.0-beta.29
* fix: remove yarn release
* fix(deps): update dependency babylon to v7.0.0-beta.30
* chore(deps): update dependency acorn to v5.2.0
* chore(deps): update dependency acorn to v5.2.1
* fix(deps): update dependency babylon to v7.0.0-beta.31
* chore(deps): update dependency espree to v3.5.2
* fix(deps): update dependency babylon to v7.0.0-beta.32
* chore(deps): update dependency clone-deep to v2.0.1
* fix(deps): update dependency babylon to v7.0.0-beta.33
* fix(deps): update dependency define-property to v2.0.0
* fix(deps): update dependency babylon to v7.0.0-beta.34
* fix(deps): update dependency babylon to v7.0.0-beta.35
* fix(deps): update dependency babylon to v7.0.0-beta.36
* chore(deps): update dependency acorn to v5.3.0
* fix(deps): update dependency babylon to v7.0.0-beta.37
* fix(deps): update dependency babylon to v7.0.0-beta.38
* chore(deps): update dependency clone-deep to v2.0.2
* fix(deps): update dependency define-property to v2.0.1
* fix(deps): update dependency define-property to v2.0.2
* fix(deps): update dependency babylon to v7.0.0-beta.39
* chore(deps): update dependency acorn to v5.4.0
* chore(deps): update dependency acorn to v5.4.1
* chore(deps): update dependency espree to v3.5.3
* feat(params): add support for list of expressions as default value (#111)

(a = (doSomething(), doSomethingElse(), true)) => {} is a prefectly valid syntax that is used
extensively by code instrumenters. When a list of expressions is used as a default value, only the
last expression is the actual default value. This commit add support for this syntax.
TAG: latest

fixes #110

* chore(readme): update nsp id
* chore(readme): fix links for NodeSecurity
* chore(readme): update releasing badge
* fix(dist): include bundles in dist, so in npm package
* fix(deps): update dependency babylon to v7.0.0-beta.40
* chore: 5.1.2 manual publish
* fix(deps): use new-release package for automatic publishing
* fix(ci): use npx in travis and test only on node 6
* fix(releasing): update readme and travis
* fix(misc): obviously manual publishing...
* chore(readme): fix badges and readme
* fix(stuff): finally release and publish with dist/index.js
* chore(deps): update dependency acorn to v5.5.0
* feat(result): values of default params to be always strings (#121)

Changes in [Result object](https://github.com/tunnckoCore/parse-function#result)!

**Possible breaking change, if you depend on values of `result.defaults`!**

Now `result.defaults` is key/value pairs as before, but the value is always of type `string` or `undefined`!
Casting of values is delegated to the end user which before was not consistent and was actual value of the default parameter.

Example **(before)**:

```js
const result = app.parse('(a = 123) => {}')
console.log(result.defaults)
// => { a: 123 }
```

Example **(after)**:

```js
const result = app.parse('(a = 123) => {}')

// notice that `123` now is string!
console.log(result.defaults)
// => { a: '123' }
```

* chore: publish v5.2.0 to npm
* chore(deps): update dependency espree to v3.5.4
* fix: release 5.2.1 with dist folder
* fix(release): add new-release to publish on CI
* fix(release): add new-release to publish on CI - 2
* fix(ci): switch to CircleCI
* fix: circle config update

* fix: circle config update

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(ci): update readme badges and CircleCI config

* fix(pkg): placeholder

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.5.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.5.3

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.41

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.42

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update circleci/node to tag 8

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update circleci/node:8 digest

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.43

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.44

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency clone-deep to v4.0.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.45

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.46

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency babylon to v7.0.0-beta.47

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.6.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.6.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.6.2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.3

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.7.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v4

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.4

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.5

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.6

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.7.2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.7

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency acorn to v5.7.3

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore: update build badge

* chore: update codecov badge

* chore(deps): update dependency husky to v1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.0.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.1.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.1.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.1.2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix: say "Bye bye!" to NodeSecurityProject ;(

It was a great service. Sadly @npm bought them and integrated it into their CLI, which totally sucks, because if you don't use npm you lose that cool functionality.

* chore(deps): update dependency new-release to v4.0.8

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v4.1.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.1.3

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v4.0.9

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v5

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update new-release to latest

* chore(deps): update dependency husky to v1.1.4

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency new-release to v5.0.4

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.2.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency clone-deep to v4.0.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v5

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.2.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.3.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v1.3.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v5.0.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* fix(deps): update dependency arrify to v2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v2.4.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v2.4.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v6

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v2.5.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v2.6.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore: add GitHub Sponsoring button (funding file)

* chore(github/funding): fix typo

* chore(funding): re-fix the typo

Signed-off-by: Charlike Mike Reagent <opensource@tunnckocore.com>

* chore(deps): update dependency husky to v2.7.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.2

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.3

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.4

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v6.1.0

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency espree to v6.1.1

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.5

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.7

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.8

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* chore(deps): update dependency husky to v3.0.9

Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>

* feat: add parse-function to monorepo

Signed-off-by: Charlike Mike Reagent <opensource@tunnckocore.com>

* chore: fmt

Signed-off-by: Charlike Mike Reagent <opensource@tunnckocore.com>

* chore: wrong place

Signed-off-by: Charlike Mike Reagent <opensource@tunnckocore.com>
  • Loading branch information
Charlike Mike Reagent authored and tunnckoCore committed Oct 17, 2019
1 parent 5b130ab commit f0789f4
Show file tree
Hide file tree
Showing 18 changed files with 6,948 additions and 14 deletions.
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ __fixtures__
.cache
.*cache
*.cache
*.js.snap
1 change: 0 additions & 1 deletion jest/docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ const docsIgnore = ['renovate-config', 'typescript-config'];
const testMatches = Object.values(alias)
.map((source) => `${source}/index.{${exts.join(',')}}`)
.filter((x) => !docsIgnore.includes(x));
console.log(testMatches);

module.exports = {
rootDir: ROOT,
Expand Down
10 changes: 7 additions & 3 deletions jest/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@ const utils = require('../@tunnckocore/utils/src');
const ROOT = path.dirname(__dirname);
const { workspaces } = utils.createAliases(ROOT, 'src');

const exts = ['js', 'jsx', 'ts', 'tsx'];

module.exports = {
rootDir: ROOT,
displayName: 'test',
testMatch: workspaces.map((ws) => `<rootDir>/${ws}/*/test/**/*`),
testMatch: workspaces.map(
(ws) => `<rootDir>/${ws}/*/test/**/*.{${exts.join(',')}}`,
),
testPathIgnorePatterns: [
/node_modules/.toString(),
/(?:__)?(?:fixtures?|supports?|shared)(?:__)?/.toString(),
/(?:__)?(?:fixtures?|supports?|shared|snapshots)(?:__)?/.toString(),
],
// moduleNameMapper: alias,
moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx'],
moduleFileExtensions: exts,
};
15 changes: 8 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,6 @@
"setup:ci": "yarn --frozen-lockfile && yarn bootstrap",
"test": "jest -c jest/test.js"
},
"meta": {
"build": [
"koa-better-body",
"@tunnckocore/execa"
],
"bundle": []
},
"dependencies": {
"@babel/cli": "^7.6.0",
"@babel/core": "^7.6.0",
Expand Down Expand Up @@ -67,6 +60,14 @@
"commit-msg": "echo 'commitlint -E HUSKY_GIT_PARAMS'"
}
},
"meta": {
"build": [
"koa-better-body",
"parse-function",
"@tunnckocore/execa"
],
"bundle": []
},
"renovate": {
"extends": "@tunnckocore"
}
Expand Down
11 changes: 11 additions & 0 deletions packages/parse-function/.verb.head.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Features

- **Always up-to-date:** auto-publish new version when new version of dependency is out, [Renovate](https://renovateapp.com)
- **Standard:** using StandardJS, Prettier, SemVer, Semantic Release and conventional commits
- **Smart Plugins:** for extending the core API or the end [Result](#result), see [.use](#use) method and [Plugins Architecture](#plugins-architecture)
- **Extensible:** using plugins for working directly on AST nodes, see the [Plugins Architecture](#plugins-architecture)
- **ES2020+ Ready:** by using `.parseExpression` method of the Babel `v7.x` parser
- **Customization:** allows switching the parser, through `options.parse`
- **Support for:** arrow functions, default parameters, generators and async/await functions
- **Stable:** battle-tested in production and against all parsers - [espree][], [acorn][], [@babel/parser](https://npmjs.com/packages/@babel/parser)
- **Tested:** with [450+ tests](./test/index.js) for _200%_ coverage
Loading

0 comments on commit f0789f4

Please sign in to comment.