babel-plugin-espower
Advanced tools
Comparing version 2.3.2 to 3.0.0-beta.1
@@ -0,1 +1,35 @@ | ||
## [3.0.0-beta.1](https://github.com/power-assert-js/babel-plugin-espower/releases/tag/v3.0.0-beta.1) (2017-12-25) | ||
#### Features | ||
* [Change `embedAst` option's default to `true`](https://github.com/power-assert-js/babel-plugin-espower/pull/24) | ||
* [Babel7 support](https://github.com/power-assert-js/babel-plugin-espower/pull/23) | ||
* migrate to Babel7 scoped packages ([9dc56f93](https://github.com/power-assert-js/babel-plugin-espower/commit/9dc56f93711c081d0673e058ec0a531fbabae421)) | ||
* use `file.inputMap` to handle incoming sourcemaps since Babel7-beta.3 ([ff72e232](https://github.com/power-assert-js/babel-plugin-espower/commit/ff72e23275996d69e5ed72f3c6f9cdaa05e0159c)) | ||
* `file.parserOpts` is moved to `file.opts.parserOpts` since Babel7-beta.3 ([89a9d7e9](https://github.com/power-assert-js/babel-plugin-espower/commit/89a9d7e998f5c708429d56ee3a6a01cbbee5cb3c)) | ||
* plugin options are centralized since Babel7-beta.3 ([6df8f872](https://github.com/power-assert-js/babel-plugin-espower/commit/6df8f8726e610125c734cae20762a2821c91523d)) | ||
#### Breaking Changes | ||
Babel7 is incompatible with Babel6. Babel6 is incompatible with Babel5. | ||
For Babel6, you need to use [the 2.x release of babel-plugin-espower](https://github.com/power-assert-js/babel-plugin-espower/tree/v2.3.2). | ||
``` | ||
$ npm install --save-dev babel-plugin-espower@2.3.2 | ||
``` | ||
For Babel5 or lower, you need to use [the 1.x release of babel-plugin-espower](https://github.com/power-assert-js/babel-plugin-espower/tree/1.1.x). | ||
``` | ||
$ npm install --save-dev babel-plugin-espower@1.1.1 | ||
``` | ||
#### Notice | ||
[Changing `embedAst` option's default to `true`](https://github.com/power-assert-js/babel-plugin-espower/pull/24) does not break builds but may slow your build time down. If you are aware that you are not using non-ES-standard syntax, changing `embedAst` option to `false` restores the former behavior. | ||
### [2.3.2](https://github.com/power-assert-js/babel-plugin-espower/releases/tag/v2.3.2) (2017-01-13) | ||
@@ -2,0 +36,0 @@ |
'use strict'; | ||
var createEspowerVisitor = require('./lib/create-espower-visitor'); | ||
module.exports = function createEspowerPlugin (babel, options) { | ||
return createEspowerVisitor(babel, options); | ||
}; | ||
module.exports = require('./index'); |
@@ -13,6 +13,2 @@ /** | ||
var createEspowerPlugin = require('./create'); | ||
module.exports = function (babel) { | ||
return createEspowerPlugin(babel); | ||
}; | ||
module.exports = require('./lib/create-espower-visitor'); |
@@ -6,3 +6,5 @@ 'use strict'; | ||
var cloneWithWhitelist = require('espurify').cloneWithWhitelist; | ||
var babelgen = require('babel-generator'); | ||
var babylon = require('babylon'); | ||
var babelgen = require('@babel/generator'); | ||
var assign = require('core-js/library/fn/object/assign'); | ||
var define = require('./define-properties'); | ||
@@ -165,3 +167,3 @@ var toBeCaptured = require('./to-be-captured'); | ||
var content = wrapper ? wrapper(code) : code; | ||
var output = file.parse(content); | ||
var output = babylon.parse(content, assign({}, file.opts.parserOpts, {tokens: true})); | ||
if (wrapper) { | ||
@@ -168,0 +170,0 @@ ast = output.program.body[0].body; |
@@ -40,3 +40,3 @@ 'use strict'; | ||
path: file.opts.filename, // or opts.sourceFileName? | ||
sourceMap: file.opts.inputSourceMap | ||
sourceMap: file.inputMap ? file.inputMap.toObject() : false | ||
}, this.options); | ||
@@ -61,3 +61,3 @@ assertionVisitor = new BabelAssertionVisitor(this.babel, matcher, espowerOptions); | ||
assertionVisitor.leave(nodePath); | ||
file.delete('espowerAssertionVisitor'); | ||
file.set('espowerAssertionVisitor', null); | ||
return; | ||
@@ -64,0 +64,0 @@ } |
@@ -10,3 +10,3 @@ 'use strict'; | ||
visitor: { | ||
Program: function (path, state) { | ||
Program: function (path) { | ||
var opts = assign(defaultOptions(), { | ||
@@ -16,3 +16,3 @@ astWhiteList: babel.types.BUILDER_KEYS, | ||
sourceRoot: process.cwd() | ||
}, options, state.opts); | ||
}, options); | ||
var espowerVisitor = new BabelEspowerVisitor(babel, opts); | ||
@@ -30,3 +30,3 @@ var innerVisitor = Object.keys(opts.visitorKeys).reduce(function (handlers, nodeType) { | ||
}, {}); | ||
path.traverse(innerVisitor, state); | ||
path.traverse(innerVisitor); | ||
} | ||
@@ -33,0 +33,0 @@ } |
@@ -5,3 +5,3 @@ 'use strict'; | ||
return { | ||
embedAst: false, | ||
embedAst: true, | ||
patterns: [ | ||
@@ -8,0 +8,0 @@ 'assert(value, [message])', |
@@ -44,5 +44,3 @@ 'use strict'; | ||
function isChildOfObjectLiteral (types, parentNode) { | ||
return types.isObjectProperty(parentNode) || | ||
types.isObjectMethod(parentNode) || | ||
types.isSpreadProperty(parentNode); | ||
return types.isObjectProperty(parentNode) || types.isObjectMethod(parentNode); | ||
} | ||
@@ -49,0 +47,0 @@ |
{ | ||
"name": "babel-plugin-espower", | ||
"description": "Babel plugin for power-assert", | ||
"version": "2.3.2", | ||
"version": "3.0.0-beta.1", | ||
"author": { | ||
@@ -18,4 +18,4 @@ "name": "Takuto Wada", | ||
"dependencies": { | ||
"babel-generator": "^6.1.0", | ||
"babylon": "^6.1.0", | ||
"@babel/generator": "^7.0.0-beta.35", | ||
"babylon": "^7.0.0-beta.35", | ||
"call-matcher": "^1.0.0", | ||
@@ -28,6 +28,6 @@ "core-js": "^2.0.0", | ||
"devDependencies": { | ||
"babel-core": "^6.1.0", | ||
"babel-preset-es2015": "^6.1.2", | ||
"babel-preset-react": "^6.1.2", | ||
"babel-preset-stage-2": "^6.1.2", | ||
"@babel/core": "^7.0.0-beta.35", | ||
"@babel/preset-es2015": "^7.0.0-beta.35", | ||
"@babel/preset-react": "^7.0.0-beta.35", | ||
"@babel/preset-stage-2": "^7.0.0-beta.35", | ||
"mocha": "^3.0.0" | ||
@@ -34,0 +34,0 @@ }, |
@@ -56,5 +56,13 @@ babel-plugin-espower | ||
Babel6 is incompatible with Babel5. For Babel 5 or lower, you need to use the 1.x release of babel-plugin-espower. | ||
Babel7 is incompatible with Babel6. Babel6 is incompatible with Babel5. | ||
For Babel6, you need to use [the 2.x release of babel-plugin-espower](https://github.com/power-assert-js/babel-plugin-espower/tree/v2.3.2). | ||
``` | ||
$ npm install --save-dev babel-plugin-espower@2.3.2 | ||
``` | ||
For Babel5 or lower, you need to use [the 1.x release of babel-plugin-espower](https://github.com/power-assert-js/babel-plugin-espower/tree/1.1.x). | ||
``` | ||
$ npm install --save-dev babel-plugin-espower@1.1.1 | ||
@@ -85,6 +93,6 @@ ``` | ||
For example, with `babel-register` module and `.babelrc` above, you can run mocha without code generation steps. | ||
For example, with `@babel/register` module and `.babelrc` above, you can run mocha without code generation steps. | ||
``` | ||
$ $(npm bin)/mocha --require babel-register test/some_test.js | ||
$ $(npm bin)/mocha --require @babel/register test/some_test.js | ||
``` | ||
@@ -96,3 +104,3 @@ | ||
```javascript | ||
var babel = require('babel-core'); | ||
var babel = require('@babel/core'); | ||
var jsCode = fs.readFileSync('/path/to/test/some_test.js'); | ||
@@ -110,3 +118,3 @@ var transformed = babel.transform(jsCode, { | ||
```javascript | ||
require('babel-register')({ | ||
require('@babel/register')({ | ||
presets: [...], | ||
@@ -238,6 +246,6 @@ plugins: ['babel-plugin-espower'] | ||
Run `mocha` with `--require babel-register` option. You will see the power-assert output appears. | ||
Run `mocha` with `--require @babel/register` option. You will see the power-assert output appears. | ||
``` | ||
$ $(npm bin)/mocha --require babel-register test/demo_test.js | ||
$ $(npm bin)/mocha --require @babel/register test/demo_test.js | ||
@@ -329,16 +337,9 @@ ES6 demo | ||
### by API | ||
or via [Require Hook](https://babeljs.io/docs/usage/require/). | ||
#### var plugin = createEspowerPlugin(babel, [options]) | ||
You can customize configs such as assertion patterns via [Babel API](https://babeljs.io/docs/usage/api/), | ||
```javascript | ||
var babel = require('babel-core'); | ||
var createEspowerPlugin = require('babel-plugin-espower/create'); | ||
var jsCode = fs.readFileSync('/path/to/test/some_test.js'); | ||
var transformed = babel.transform(jsCode, { | ||
require('@babel/register')({ | ||
presets: [...], | ||
plugins: [ | ||
createEspowerPlugin(babel, { | ||
['babel-plugin-espower', { | ||
embedAst: true, | ||
@@ -350,16 +351,16 @@ patterns: [ | ||
] | ||
}) | ||
}] | ||
] | ||
}); | ||
console.log(transformed.code); | ||
``` | ||
or via [Require Hook](https://babeljs.io/docs/usage/require/). | ||
or via [Babel API](https://babeljs.io/docs/usage/api/), | ||
```javascript | ||
var createEspowerPlugin = require('babel-plugin-espower/create'); | ||
require('babel-register')({ | ||
var babel = require('@babel/core'); | ||
var jsCode = fs.readFileSync('/path/to/test/some_test.js'); | ||
var transformed = babel.transform(jsCode, { | ||
presets: [...], | ||
plugins: [ | ||
createEspowerPlugin(babel, { | ||
['babel-plugin-espower', { | ||
embedAst: true, | ||
@@ -371,5 +372,6 @@ patterns: [ | ||
] | ||
}) | ||
}] | ||
] | ||
}); | ||
console.log(transformed.code); | ||
``` | ||
@@ -399,3 +401,3 @@ | ||
], | ||
embedAst: false, | ||
embedAst: true, | ||
visitorKeys: babel.types.VISITOR_KEYS, | ||
@@ -405,3 +407,3 @@ astWhiteList: babel.types.BUILDER_KEYS, | ||
path: file.opts.filename, | ||
sourceMap: file.opts.inputSourceMap | ||
sourceMap: file.inputMap ? file.inputMap.toObject() : false | ||
} | ||
@@ -408,0 +410,0 @@ ``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
47832
452
628
1
+ Added@babel/generator@7.25.7(transitive)
+ Added@babel/helper-string-parser@7.25.7(transitive)
+ Added@babel/helper-validator-identifier@7.25.7(transitive)
+ Added@babel/types@7.25.7(transitive)
+ Added@jridgewell/gen-mapping@0.3.5(transitive)
+ Added@jridgewell/resolve-uri@3.1.2(transitive)
+ Added@jridgewell/set-array@1.2.1(transitive)
+ Added@jridgewell/sourcemap-codec@1.5.0(transitive)
+ Added@jridgewell/trace-mapping@0.3.25(transitive)
+ Addedbabylon@7.0.0-beta.47(transitive)
+ Addedjsesc@3.0.2(transitive)
+ Addedto-fast-properties@2.0.0(transitive)
- Removedbabel-generator@^6.1.0
- Removedbabel-generator@6.26.1(transitive)
- Removedbabel-messages@6.23.0(transitive)
- Removedbabel-runtime@6.26.0(transitive)
- Removedbabel-types@6.26.0(transitive)
- Removedbabylon@6.18.0(transitive)
- Removeddetect-indent@4.0.0(transitive)
- Removedesutils@2.0.3(transitive)
- Removedis-finite@1.1.0(transitive)
- Removedjsesc@1.3.0(transitive)
- Removedlodash@4.17.21(transitive)
- Removedregenerator-runtime@0.11.1(transitive)
- Removedrepeating@2.0.1(transitive)
- Removedto-fast-properties@1.0.3(transitive)
- Removedtrim-right@1.0.1(transitive)
Updatedbabylon@^7.0.0-beta.35