Skip to content

Commit f0789f4

Browse files
Charlike Mike ReagenttunnckoCore
Charlike Mike Reagent
authored andcommitted
feat: add parse-function to monorepo (#62)
* 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 [email protected]; 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 <[email protected]> * fix(ci): update readme badges and CircleCI config * fix(pkg): placeholder Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.5.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.5.3 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.41 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.42 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update circleci/node to tag 8 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update circleci/node:8 digest Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.43 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.44 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency clone-deep to v4.0.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.45 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.46 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency babylon to v7.0.0-beta.47 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.6.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.6.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.6.2 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.2 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.3 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.7.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency espree to v4 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.4 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.5 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.6 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.7.2 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.7 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency acorn to v5.7.3 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore: update build badge * chore: update codecov badge * chore(deps): update dependency husky to v1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.0.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.1.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.1.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.1.2 Signed-off-by: Charlike Mike Reagent <[email protected]> * 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 <[email protected]> * chore(deps): update dependency espree to v4.1.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.1.3 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v4.0.9 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v5 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update new-release to latest * chore(deps): update dependency husky to v1.1.4 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency new-release to v5.0.4 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.2.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency clone-deep to v4.0.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency espree to v5 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.2.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.3.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v1.3.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency espree to v5.0.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v2 Signed-off-by: Charlike Mike Reagent <[email protected]> * fix(deps): update dependency arrify to v2 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v2.4.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v2.4.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency espree to v6 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v2.5.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v2.6.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore: add GitHub Sponsoring button (funding file) * chore(github/funding): fix typo * chore(funding): re-fix the typo Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v2.7.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.2 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.3 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.4 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency espree to v6.1.0 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency espree to v6.1.1 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.5 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.7 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.8 Signed-off-by: Charlike Mike Reagent <[email protected]> * chore(deps): update dependency husky to v3.0.9 Signed-off-by: Charlike Mike Reagent <[email protected]> * feat: add parse-function to monorepo Signed-off-by: Charlike Mike Reagent <[email protected]> * chore: fmt Signed-off-by: Charlike Mike Reagent <[email protected]> * chore: wrong place Signed-off-by: Charlike Mike Reagent <[email protected]>
1 parent 5b130ab commit f0789f4

18 files changed

+6948
-14
lines changed

.prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ __fixtures__
1313
.cache
1414
.*cache
1515
*.cache
16+
*.js.snap

jest/docs.js

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ const docsIgnore = ['renovate-config', 'typescript-config'];
99
const testMatches = Object.values(alias)
1010
.map((source) => `${source}/index.{${exts.join(',')}}`)
1111
.filter((x) => !docsIgnore.includes(x));
12-
console.log(testMatches);
1312

1413
module.exports = {
1514
rootDir: ROOT,

jest/test.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@ const utils = require('../@tunnckocore/utils/src');
44
const ROOT = path.dirname(__dirname);
55
const { workspaces } = utils.createAliases(ROOT, 'src');
66

7+
const exts = ['js', 'jsx', 'ts', 'tsx'];
8+
79
module.exports = {
810
rootDir: ROOT,
911
displayName: 'test',
10-
testMatch: workspaces.map((ws) => `<rootDir>/${ws}/*/test/**/*`),
12+
testMatch: workspaces.map(
13+
(ws) => `<rootDir>/${ws}/*/test/**/*.{${exts.join(',')}}`,
14+
),
1115
testPathIgnorePatterns: [
1216
/node_modules/.toString(),
13-
/(?:__)?(?:fixtures?|supports?|shared)(?:__)?/.toString(),
17+
/(?:__)?(?:fixtures?|supports?|shared|snapshots)(?:__)?/.toString(),
1418
],
1519
// moduleNameMapper: alias,
16-
moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx'],
20+
moduleFileExtensions: exts,
1721
};

package.json

+8-7
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,6 @@
2424
"setup:ci": "yarn --frozen-lockfile && yarn bootstrap",
2525
"test": "jest -c jest/test.js"
2626
},
27-
"meta": {
28-
"build": [
29-
"koa-better-body",
30-
"@tunnckocore/execa"
31-
],
32-
"bundle": []
33-
},
3427
"dependencies": {
3528
"@babel/cli": "^7.6.0",
3629
"@babel/core": "^7.6.0",
@@ -67,6 +60,14 @@
6760
"commit-msg": "echo 'commitlint -E HUSKY_GIT_PARAMS'"
6861
}
6962
},
63+
"meta": {
64+
"build": [
65+
"koa-better-body",
66+
"parse-function",
67+
"@tunnckocore/execa"
68+
],
69+
"bundle": []
70+
},
7071
"renovate": {
7172
"extends": "@tunnckocore"
7273
}

packages/parse-function/.verb.head.md

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

0 commit comments

Comments
 (0)