diff --git a/.eslintignore b/.eslintignore
index 4a10dadac2..18e74eafba 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -4,8 +4,9 @@
package.json
lerna.json
packages/babel-runtime
-!packages/babel-runtime/scripts
-!packages/babel-runtime/core-js.js
+!packages/babel-plugin-transform-runtime/scripts
+!packages/babel-runtime-corejs2/core-js.js
+packages/babel-runtime-corejs2
packages/*/node_modules
packages/*/lib
packages/*/dist
diff --git a/.eslintrc.json b/.eslintrc.json
index feeff75a73..d26b40aa6c 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,11 +1,9 @@
{
"root": true,
"extends": "babel",
- "plugins": ["prettier"],
+ "plugins": ["local-rules", "prettier"],
"rules": {
- "curly": ["error", "multi-line"],
- "prettier/prettier": "error",
- "no-case-declarations": "error"
+ "prettier/prettier": "error"
},
"env": {
"node": true
@@ -14,8 +12,8 @@
{
"files": ["packages/*/src/**/*.js", "codemods/*/src/**/*.js"],
"rules": {
- "no-undefined-identifier": "error",
- "no-deprecated-clone": "error"
+ "local-rules/no-undefined-identifier": "error",
+ "local-rules/no-deprecated-clone": "error"
}
},
{
diff --git a/.flowconfig b/.flowconfig
index a60a4a9144..9aacaf35eb 100644
--- a/.flowconfig
+++ b/.flowconfig
@@ -5,6 +5,7 @@
.*/codemods/.*/lib
.*/codemods/.*/test
.*/node_modules/conventional-changelog-core/
+.*/node_modules/module-deps/
[include]
packages/*/src
diff --git a/.gitignore b/.gitignore
index a2f346175f..2b06f7e3e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,9 @@
.DS_Store
/node_modules
/packages/*/node_modules
+/packages/*/LICENSE
+!/packages/babel-parser/LICENSE
+!/packages/babel-plugin-transform-object-assign/LICENSE
*.log
*.cache
/build
@@ -12,24 +15,27 @@ coverage
dist
/.package.json
package-lock.json
-/packages/babel-runtime/core-js/**/*.js
-!/packages/babel-runtime/core-js/map.js
+
/packages/babel-runtime/helpers/*.js
!/packages/babel-runtime/helpers/toArray.js
!/packages/babel-runtime/helpers/iterableToArray.js
!/packages/babel-runtime/helpers/temporalRef.js
-/packages/babel-runtime/helpers/builtin/*.js
-!/packages/babel-runtime/helpers/builtin/toArray.js
-!/packages/babel-runtime/helpers/builtin/iterableToArray.js
-!/packages/babel-runtime/helpers/builtin/temporalRef.js
-/packages/babel-runtime/helpers/builtin/es6/*.js
-!/packages/babel-runtime/helpers/builtin/es6/toArray.js
-!/packages/babel-runtime/helpers/builtin/es6/iterableToArray.js
-!/packages/babel-runtime/helpers/builtin/es6/temporalRef.js
-/packages/babel-runtime/helpers/es6/*.js
-!/packages/babel-runtime/helpers/es6/toArray.js
-!/packages/babel-runtime/helpers/es6/iterableToArray.js
-!/packages/babel-runtime/helpers/es6/temporalRef.js
+/packages/babel-runtime/helpers/esm/*.js
+!/packages/babel-runtime/helpers/esm/toArray.js
+!/packages/babel-runtime/helpers/esm/iterableToArray.js
+!/packages/babel-runtime/helpers/esm/temporalRef.js
+
+/packages/babel-runtime-corejs2/helpers/*.js
+!/packages/babel-runtime-corejs2/helpers/toArray.js
+!/packages/babel-runtime-corejs2/helpers/iterableToArray.js
+!/packages/babel-runtime-corejs2/helpers/temporalRef.js
+/packages/babel-runtime-corejs2/helpers/esm/*.js
+!/packages/babel-runtime-corejs2/helpers/esm/toArray.js
+!/packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js
+!/packages/babel-runtime-corejs2/helpers/esm/temporalRef.js
+/packages/babel-runtime-corejs2/core-js/**/*.js
+!/packages/babel-runtime-corejs2/core-js/map.js
+
/packages/babel-register/test/.babel
/packages/babel-cli/test/tmp
/packages/babel-node/test/tmp
diff --git a/.prettierrc b/.prettierrc
index 371aad410a..5c53b22f8a 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -7,7 +7,6 @@
"bracketSpacing": true,
"jsxBracketSameLine": false,
"tabWidth": 2,
- "parser": "babylon",
"printWidth": 80,
"overrides": [{
"files": [
@@ -16,6 +15,7 @@
"**/packages/*/src/**/*.js",
"**/packages/*/test/**/*.js"
],
+ "parser": "babylon",
"options": {
"trailingComma": "all"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fec706d66d..35a6624ce7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,10 +11,353 @@
_Note: Gaps between patch versions are faulty, broken or test releases._
-See [CHANGELOG - v4-v6](/.github/CHANGELOG-v4-v6.md) for the v4.x-v6.x changelog.
+See [CHANGELOG - v4](/.github/CHANGELOG-v4.md), [CHANGELOG - v5](/.github/CHANGELOG-v5.md), and [CHANGELOG - v6](/.github/CHANGELOG-v6.md) for v4.x-v6.x changes.
See [CHANGELOG - 6to5](/.github/CHANGELOG-6to5.md) for the pre-4.0.0 version changelog.
See [Babylon's CHANGELOG](packages/babylon/CHANGELOG.md) for the Babylon pre-7.0.0-beta.29 version changelog.
+## 7.1.2 (2018-09-28)
+
+Same as v7.1.1, except compiled against Node 6 instead of Node 8 by accident (e.g had `async functions`).
+
+## v7.1.1 (2018-09-28)
+
+> EDIT: had a publish issue here as well where it compiled against Node 8 instead of Node 6 so 7.1.2 will fix this.
+> Also force publish `@babel/runtime` and `@babel/runtime-corejs2`. We need to fix the publishing around that since Lerna doesn't pickup the `@babel/helpers` changes as there is no "dependency"
+
+#### :bug: Bug Fix
+* `babel-generator`, `babel-parser`, `babel-types`
+ * [#8755](https://github.com/babel/babel/pull/8755) TypeScript: reserve `unknown` as TSUnknownKeyword. ([@g-plane](https://github.com/g-plane))
+* `babel-plugin-transform-destructuring`
+ * [#8535](https://github.com/babel/babel/pull/8535) Do not unpack array patterns that update a referenced binding. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+* `babel-plugin-proposal-decorators`
+ * [#8742](https://github.com/babel/babel/pull/8742) [decorators] Support async and generator methods. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+* `babel-helpers`, `babel-plugin-proposal-decorators`
+ * [#8761](https://github.com/babel/babel/pull/8761) [decorators] Fields are enumerable. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+* `babel-generator`
+ * [#8751](https://github.com/babel/babel/pull/8751) Fix some missing parens cases with OptionalMemberExpression in generator. ([@existentialism](https://github.com/existentialism))
+ * [#8727](https://github.com/babel/babel/pull/8727) Handle throw expressions in generator. ([@existentialism](https://github.com/existentialism))
+
+#### :house: Internal
+* Other
+ * [#8780](https://github.com/babel/babel/pull/8780) Run test262 tests for exportNamespaceFrom. ([@existentialism](https://github.com/existentialism))
+* `babel-helper-transform-fixture-test-runner`
+ * [#8768](https://github.com/babel/babel/pull/8768) Use babel-check-duplicated-nodes. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+
+## v7.1.0 (2018-09-17)
+
+Check http://babeljs.io/blog/2018/09/17/7.1.0
+
+#### :rocket: New Feature
+* `babel-cli`, `babel-core`
+ * [#8660](https://github.com/babel/babel/pull/8660) Better support monorepos by allowing users to opt into automatically resolving 'root' with `rootMode: "upward"`.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-helper-transform-fixture-test-runner`
+ * [#7582](https://github.com/babel/babel/pull/7582) Allow regular plugins/presets resolution algorithm for packages outsi…. ([@Andarist](https://github.com/Andarist))
+* `babel-helpers`, `babel-plugin-proposal-decorators`, `babel-plugin-syntax-decorators`
+ * [#7976](https://github.com/babel/babel/pull/7976) Add support for the new decorators proposal. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+* `babel-helpers`, `babel-plugin-proposal-class-properties`
+ * [#8205](https://github.com/babel/babel/pull/8205) Private Static Fields Features: Stage 3. ([@rricard](https://github.com/rricard))
+
+#### :bug: Bug Fix
+* `babel-parser`
+ * [#8698](https://github.com/babel/babel/pull/8698) Fix parsing of newline between 'async' and 'function'. ([@existentialism](https://github.com/existentialism))
+ * [#8677](https://github.com/babel/babel/pull/8677) Fix typescript parsing typed object shorthand methods. ([@existentialism](https://github.com/existentialism))
+* `babel-plugin-transform-typescript`
+ * [#8682](https://github.com/babel/babel/pull/8682) Fix TSParameterProperty getting lost with transform-classes. ([@existentialism](https://github.com/existentialism))
+ * [#8695](https://github.com/babel/babel/pull/8695) Adjust TSParameterProperty handling to work with transform-parameters. ([@existentialism](https://github.com/existentialism))
+ * [#8666](https://github.com/babel/babel/pull/8666) Fix typescript import elision. ([@Retsam](https://github.com/Retsam))
+* `babel-preset-env`
+ * [#8693](https://github.com/babel/babel/pull/8693) Fix es6.string.iterator mapping in babel-preset-env. ([@existentialism](https://github.com/existentialism))
+* `babel-core`, `babel-plugin-proposal-class-properties`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-runtime`
+ * [#8659](https://github.com/babel/babel/pull/8659) Fix version checks in .availableHelper and transform-runtime definitions.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* Other
+ * [#8627](https://github.com/babel/babel/pull/8627) ts generator: allow reserved keywords in interfaces. ([@43081j](https://github.com/43081j))
+* `babel-plugin-transform-parameters`
+ * [#8414](https://github.com/babel/babel/pull/8414) Allow patterns as argument of RestElement. ([@microbouji](https://github.com/microbouji))
+* `babel-core`, `babel-plugin-transform-runtime`
+ * [#8624](https://github.com/babel/babel/pull/8624) Verify 'sourceMap' option with hasOwnProperty, and verify string-typed 'version'. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-helpers`, `babel-plugin-proposal-class-properties`
+ * [#8614](https://github.com/babel/babel/pull/8614) [static private] Unify loose handling of static and instance props. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+
+#### :nail_care: Polish
+* `babel-plugin-transform-runtime`
+ * [#8581](https://github.com/babel/babel/pull/8581) Fix grammar in error message at @babel/plugin-transform-runtime. ([@tricknotes](https://github.com/tricknotes))
+* `babel-parser`
+ * [#8576](https://github.com/babel/babel/pull/8576) More helpful errorr message for missing decoratorsBeforeExport in parser. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+
+#### :memo: Documentation
+* [#8561](https://github.com/babel/babel/pull/8561) Added pronounciation of babel. ([@siddhant1](https://github.com/siddhant1))
+
+#### :house: Internal
+* `babel-core`
+ * [#8714](https://github.com/babel/babel/pull/8714) Fix Flow error with new versionRange test.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* Other
+ * [#8679](https://github.com/babel/babel/pull/8679) remove force publish, temp tag [skip ci]. ([@hzoo](https://github.com/hzoo))
+* `babel-plugin-transform-runtime`
+ * [#8661](https://github.com/babel/babel/pull/8661) Makefile: run fix json on fix. ([@xtuc](https://github.com/xtuc))
+* `babel-*`
+ * [#8658](https://github.com/babel/babel/pull/8658) Format fixture options.json with Prettier.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-parser`
+ * [#8630](https://github.com/babel/babel/pull/8630) Bump flow to 0.80 and fix sourceType error. ([@existentialism](https://github.com/existentialism))
+ * [#8610](https://github.com/babel/babel/pull/8610) types: missing `unambiguous` sourceType. ([@xtuc](https://github.com/xtuc))
+ * [#8170](https://github.com/babel/babel/pull/8170) @babel/parser: expose a TypeScript definition file from package. ([@AviVahl](https://github.com/AviVahl))
+* `babel-*`
+ * [#8573](https://github.com/babel/babel/pull/8573) add access public to all packages [skip ci]. ([@hzoo](https://github.com/hzoo))
+
+## v7.0.1 (2018-09-11)
+
+Doing a quick patch regarding helpers versioning to prevent future issues: https://github.com/babel/babel/pull/8659
+
+## v7.0.0 (2018-08-27)
+
+No change from rc.4. Finally released as https://babeljs.io/blog/2018/08/27/7.0.0!
+
+## v7.0.0-rc.4 (2018-08-27)
+
+> Similar to removing proposals in `@babel/polyfill`, we are removing them in `transform-runtime`
+
+#### :boom: Breaking Change
+* `babel-plugin-transform-runtime`
+ * [#8547](https://github.com/babel/babel/pull/8547) Remove nonstandard functions and fake prototype methods from babel-runtime. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-parser`
+ * [#8539](https://github.com/babel/babel/pull/8539) Update parser whitespace for clarity. ([@jridgewell](https://github.com/jridgewell))
+
+#### :bug: Bug Fix
+* `babel-register`
+ * [#8553](https://github.com/babel/babel/pull/8553) bump source-map-support. ([@hzoo](https://github.com/hzoo))
+* `babel-core`
+ * [#8546](https://github.com/babel/babel/pull/8546) Default highlightCode:true for the parser highlighting.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :house: Internal
+* Other
+ * [#8554](https://github.com/babel/babel/pull/8554) Lerna: remove exact [skip ci]. ([@hzoo](https://github.com/hzoo))
+* `babel-parser`
+ * [#8540](https://github.com/babel/babel/pull/8540) Cleanup getLineInfo. ([@jridgewell](https://github.com/jridgewell))
+ * [#8541](https://github.com/babel/babel/pull/8541) Update to ES6 String methods. ([@jridgewell](https://github.com/jridgewell))
+ * [#8537](https://github.com/babel/babel/pull/8537) Flatten TokenType class hierarchy. ([@jridgewell](https://github.com/jridgewell))
+ * [#8539](https://github.com/babel/babel/pull/8539) Update parser whitespace for clarity. ([@jridgewell](https://github.com/jridgewell))
+
+## v7.0.0-rc.3 (2018-08-24)
+
+#### :boom: Breaking Change
+* `babel-preset-env`
+ * [#8509](https://github.com/babel/babel/pull/8509) Add browserslist 4 support.. ([@yavorsky](https://github.com/yavorsky))
+* `babel-plugin-transform-runtime`
+ * [#8518](https://github.com/babel/babel/pull/8518) Make 'useESModules' only toggle CJS vs ESM helpers when importing file is ESM.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :rocket: New Feature
+* `babel-plugin-transform-runtime`
+ * [#8520](https://github.com/babel/babel/pull/8520) Expose opt-in useESModules:"auto" from transform-runtime to toggle based on 'supportsStaticESM'. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :bug: Bug Fix
+* `babel-helpers`, `babel-plugin-transform-classes`, `babel-preset-env`
+ * [#8501](https://github.com/babel/babel/pull/8501) [_wrapNativeSuper] Don't wrap non-native constructors. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+* `babel-generator`, `babel-traverse`, `babel-types`
+ * [#8478](https://github.com/babel/babel/pull/8478) Fix path.scope.rename() to not change break clauses. ([@rafeca](https://github.com/rafeca))
+* `babel-plugin-proposal-object-rest-spread`
+ * [#8514](https://github.com/babel/babel/pull/8514) fix: object rest with default values bug. ([@jquense](https://github.com/jquense))
+* `babel-traverse`
+ * [#8505](https://github.com/babel/babel/pull/8505) Rename exported functions where name conflicts with param.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :house: Internal
+* `babel-plugin-transform-object-set-prototype-of-to-assign`
+ * [#8409](https://github.com/babel/babel/pull/8409) Add LICENSE file to published npm packages [skip ci]. ([@opichals](https://github.com/opichals))
+* Other
+ * [#8504](https://github.com/babel/babel/pull/8504) Update Babel to rc.2. ([@hzoo](https://github.com/hzoo))
+
+## v7.0.0-rc.2 (2018-08-21)
+
+A notable change is the addition of https://github.com/babel/babel/pull/8485 which enables https://github.com/babel/babel-loader/pull/660 (automatically doing `modules: false` for `@babel/preset-env` when using `babel-loader`.
+
+#### :boom: Breaking Change
+* `babel-core`
+ * [#8470](https://github.com/babel/babel/pull/8470) Remove File#resolveModuleSource. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+ * [#8473](https://github.com/babel/babel/pull/8473) Allow babel-plugin/preset prefix to not be a prefix, when used in a scope.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-core`, `babel-parser`, `babel-plugin-syntax-decorators`
+ * [#8465](https://github.com/babel/babel/pull/8465) Require decoratorsBeforeExport option for decorators. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+
+#### :rocket: New Feature
+* `babel-preset-env`
+ * [#8500](https://github.com/babel/babel/pull/8500) Add missing es7.promise.finally polyfill when using useBuiltIns: usage. ([@jsnajdr](https://github.com/jsnajdr))
+* `babel-cli`, `babel-core`, `babel-node`, `babel-preset-env`, `babel-register`
+ * [#8485](https://github.com/babel/babel/pull/8485) Allow preset-env to toggle module handling based on flags from the caller (like babel-loader). ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-core`
+ * [#8474](https://github.com/babel/babel/pull/8474) Preserve 'false'-options for disabled plugins/presets.. ([@loganfsmyth](https://github.com/loganfsmyth))
+ * [#8473](https://github.com/babel/babel/pull/8473) Allow babel-plugin/preset prefix to not be a prefix, when used in a scope.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-helper-transform-fixture-test-runner`, `babel-plugin-transform-runtime`
+ * [#8435](https://github.com/babel/babel/pull/8435) Allow transform-runtime to insert runtime references with absolute paths.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :bug: Bug Fix
+* `babel-parser`
+ * [#8488](https://github.com/babel/babel/pull/8488) Fix trailingComments for FunctionExpression that is CallExpression arguments. ([@jiaxuan](https://github.com/jiaxuan))
+* `babel-core`
+ * [#8493](https://github.com/babel/babel/pull/8493) Take top-level config source into consideration when processing nested env/overrides.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-helpers`, `babel-plugin-proposal-decorators`
+ * [#7429](https://github.com/babel/babel/pull/7429) Fix default descriptor setting for class properties with decorators. ([@yhpark](https://github.com/yhpark))
+* `babel-plugin-transform-parameters`
+ * [#8479](https://github.com/babel/babel/pull/8479) Fixes setter paratemer default value. ([@nikolayemrikh](https://github.com/nikolayemrikh))
+
+#### :nail_care: Polish
+* `babel-core`
+ * [#8494](https://github.com/babel/babel/pull/8494) Cache individual programmatic descriptors along with the overall list.. ([@loganfsmyth](https://github.com/loganfsmyth))
+ * [#8493](https://github.com/babel/babel/pull/8493) Take top-level config source into consideration when processing nested env/overrides.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :house: Internal
+* `babel-core`
+ * [#8493](https://github.com/babel/babel/pull/8493) Take top-level config source into consideration when processing nested env/overrides.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-plugin-transform-classes`
+ * [#8472](https://github.com/babel/babel/pull/8472) Remove unused file. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+
+## v7.0.0-rc.1 (2018-08-09)
+
+Same as rc.0 but fixes the peerDep issue #8443. It's changed to just be ^7.0.0-0
+
+## v7.0.0-rc.0 (2018-08-09)
+
+> This had an issue with `peerDependencies` so please use `rc.1`.
+
+Alright finally at the end 🙂. Shouldn't have anymore breaking changes and going to wait some time to fix bugs/regressions
+
+> Summary: `@babel/polyfill` will not include proposal polyfills by default and fixed a regression.
+
+#### :boom: Breaking Change
+* `babel-polyfill`
+ * [#8440](https://github.com/babel/babel/pull/8440) remove proposals polyfills from default import [skip ci]. ([@hzoo](https://github.com/hzoo))
+
+> Will add this to the upgrade guide/polyfill docs. I guess we could include a `babel-upgrade` for this too, not sure.
+
+#### :bug: Bug Fix
+* `babel-cli`
+ * [#8436](https://github.com/babel/babel/pull/8436) Require v1.1.0 so that correct filter params are passed.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+## v7.0.0-beta.56 (2018-08-03)
+
+- Separate `@babel/runtime`: should work for helpers alone and opt-into core-js if necessary.
+- More details in http://babeljs.io/docs/en/next/babel-runtime, http://babeljs.io/docs/en/next/babel-plugin-transform-runtime (via https://github.com/babel/babel/pull/8266, https://github.com/babel/website/pull/1714)
+- `babel-upgrade` issue: https://github.com/babel/babel-upgrade/issues/70
+
+#### :boom: Breaking Change
+* `babel-plugin-transform-regenerator`, `babel-plugin-transform-runtime`, `babel-runtime-corejs2`, `babel-runtime`
+ * [#8266](https://github.com/babel/babel/pull/8266) Split @babel/runtime into 2 modules via @babel/runtime-corejs2. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-core`, `babel-helper-module-imports`, `babel-helpers`, `babel-plugin-external-helpers`, `babel-plugin-transform-runtime`
+ * [#8398](https://github.com/babel/babel/pull/8398) Only reference helpers from external/runtime helpers if they are known to be available.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :rocket: New Feature
+* `babel-plugin-transform-regenerator`, `babel-plugin-transform-runtime`, `babel-runtime-corejs2`, `babel-runtime`
+ * [#8266](https://github.com/babel/babel/pull/8266) Split @babel/runtime into 2 modules via @babel/runtime-corejs2. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :bug: Bug Fix
+* `babel-parser`, `babel-plugin-transform-typescript`
+ * [#8408](https://github.com/babel/babel/pull/8408) Allow TSInterfaceDeclaration to be default export. ([@existentialism](https://github.com/existentialism))
+* `babel-preset-env`
+ * [#8403](https://github.com/babel/babel/pull/8403) Ensure esmodule targets are parsed by browserslist. ([@existentialism](https://github.com/existentialism))
+* Other
+ * [#8024](https://github.com/babel/babel/pull/8024) Run transform-runtime on the standalone bundle so it stays ES5-compatible.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :memo: Documentation
+* [#8412](https://github.com/babel/babel/pull/8412) Update Documentation[skip ci]. ([@leongjiameng](https://github.com/leongjiameng))
+
+## v7.0.0-beta.55 (2018-07-28)
+
+Breaking Change in beta:
+
+> Throws an error on using Stage presets: https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets
+
+#### :boom: Breaking Change
+* `babel-core`, `babel-plugin-proposal-class-properties`, `babel-plugin-proposal-decorators`, `babel-preset-stage-0`, `babel-preset-stage-1`, `babel-preset-stage-2`, `babel-preset-stage-3`, `babel-standalone`
+ * [#8293](https://github.com/babel/babel/pull/8293) Remove Stage presets. ([@hzoo](https://github.com/hzoo))
+
+#### :rocket: New Feature
+* `babel-generator`, `babel-parser`, `babel-plugin-transform-typescript`, `babel-types`
+ * [#7754](https://github.com/babel/babel/pull/7754) TypeScript: Support type arguments on tagged templates. ([@andy-ms](https://github.com/andy-ms))
+
+#### :bug: Bug Fix
+* `babel-cli`, `babel-core`, `babel-generator`
+ * [#8380](https://github.com/babel/babel/pull/8380) Ensure that Identifier source mappings explicitly start and stop on the generated range. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-preset-env`
+ * [#8391](https://github.com/babel/babel/pull/8391) Ensure preset-env doesn't clobber browserslist defaults. ([@existentialism](https://github.com/existentialism))
+* `babel-core`
+ * [#8376](https://github.com/babel/babel/pull/8376) Fix order of optional argument reordering. ([@Qix-](https://github.com/Qix-))
+ * [#8381](https://github.com/babel/babel/pull/8381) Allow an Array for `babelrcRoots`.. ([@wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg))
+ * [#8342](https://github.com/babel/babel/pull/8342) Do not mutate ast. ([@thiagoarrais](https://github.com/thiagoarrais))
+* `babel-parser`
+ * [#8374](https://github.com/babel/babel/pull/8374) Correctly parse interface methods named 'static'. ([@bakkot](https://github.com/bakkot))
+
+#### :nail_care: Polish
+* `babel-parser`
+ * [#8355](https://github.com/babel/babel/pull/8355) remove .then from `dynamic import` parser exception message. ([@dnalborczyk](https://github.com/dnalborczyk))
+
+#### :house: Internal
+* `babel-core`, `babel-preset-stage-0`, `babel-preset-stage-1`, `babel-preset-stage-2`, `babel-preset-stage-3`, `babel-standalone`
+ * [#8397](https://github.com/babel/babel/pull/8397) Remove our own use of stage presets. ([@hzoo](https://github.com/hzoo))
+* `babel-helpers`, `babel-plugin-proposal-class-properties`
+ * [#8318](https://github.com/babel/babel/pull/8318) Save full descriptor instead of only value for private fields.. ([@nicolo-ribaudo](https://github.com/nicolo-ribaudo))
+* `babel-core`
+ * [#8381](https://github.com/babel/babel/pull/8381) Allow an Array for `babelrcRoots`.. ([@wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg))
+* `babel-cli`, `babel-core`, `babel-generator`, `babel-helper-define-map`, `babel-helper-fixtures`, `babel-helper-module-imports`, `babel-helper-module-transforms`, `babel-helper-regex`, `babel-helper-simple-access`, `babel-helper-transform-fixture-test-runner`, `babel-node`, `babel-plugin-transform-block-scoping`, `babel-register`, `babel-template`, `babel-traverse`, `babel-types`
+ * [#8377](https://github.com/babel/babel/pull/8377) Bumped lodash to 4.17.10. ([@Berkmann18](https://github.com/Berkmann18))
+
+## v7.0.0-beta.54 (2018-07-16)
+
+> Regarding https://github.com/babel/babel/issues/8184, we aren't using `micromatch` for paths, just basic `*/**` substitution now. For anything more complicated we will recommend using a regex/`.js` config.
+> Fixed a bug in the stage presets (https://github.com/babel/babel/issues/8307), so we just removed the requirements for setting options in the meantime for ease of use. We are removing the Stage presets next release. https://github.com/babel/babel/pull/8293
+
+#### :boom: Breaking Change
+* `babel-core`, `babel-register`, `babel-traverse`
+ * [#8327](https://github.com/babel/babel/pull/8327) Treat string ignore/only/test/include/exclude values as paths with only basic pattern matching. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :bug: Bug Fix
+* `babel-core`, `babel-register`, `babel-traverse`
+ * [#8327](https://github.com/babel/babel/pull/8327) Treat string ignore/only/test/include/exclude values as paths with only basic pattern matching. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-preset-stage-0`, `babel-preset-stage-1`
+ * [#8317](https://github.com/babel/babel/pull/8317) Fix stage-0/1 import of pipeline proposals array. ([@mAAdhaTTah](https://github.com/mAAdhaTTah))
+* `babel-helper-module-transforms`, `babel-plugin-transform-modules-commonjs`
+ * [#8316](https://github.com/babel/babel/pull/8316) Ensure that the wildcard interop is used with re-export + default.. ([@loganfsmyth](https://github.com/loganfsmyth))
+* `babel-core`
+ * [#8315](https://github.com/babel/babel/pull/8315) Remove option-filtering options from the final options results.. ([@loganfsmyth](https://github.com/loganfsmyth))
+
+#### :memo: Documentation
+* [#8320](https://github.com/babel/babel/pull/8320) Add link to audio version of song. ([@rugk](https://github.com/rugk))
+
+## v7.0.0-beta.53 (2018-07-11)
+
+- Fix for regression with paths on windows due to micromatch upgrade, remove yearly presets (not published)
+- (There was an issue with the Stage presets in this release, but it is also deprecated)
+
+#### :boom: Breaking Change
+* `babel-*`
+ * [#8274](https://github.com/babel/babel/pull/8274) Remove yearly presets from repo. ([@hzoo](https://github.com/hzoo))
+
+#### :rocket: New Feature
+* `babel-generator`, `babel-parser`, `babel-plugin-transform-typescript`, `babel-types`
+ * [#7799](https://github.com/babel/babel/pull/7799) TypeScript: Support type arguments on JSX opening and self-closing tags. ([@andy-ms](https://github.com/andy-ms))
+* `babel-parser`
+ * [#8291](https://github.com/babel/babel/pull/8291) Support pipeline proposal flag in `@babel/parser`. ([@mAAdhaTTah](https://github.com/mAAdhaTTah))
+* `babel-plugin-proposal-object-rest-spread`
+ * [#8264](https://github.com/babel/babel/pull/8264) Remove unused bindings when excluding keys with rest in loose mode. ([@Andarist](https://github.com/Andarist))
+* `babel-helpers`, `babel-plugin-proposal-object-rest-spread`, `babel-plugin-transform-destructuring`, `babel-preset-env`
+ * [#8261](https://github.com/babel/babel/pull/8261) Introduce objectWithoutPropertiesLoose helper. ([@Andarist](https://github.com/Andarist))
+
+#### :bug: Bug Fix
+* `babel-core`
+ * [#8281](https://github.com/babel/babel/pull/8281) Revert micromatch upgrade (regression) [skip ci]. ([@hzoo](https://github.com/hzoo))
+* `babel-types`
+ * [#8165](https://github.com/babel/babel/pull/8165) [babel-types] Fix isNodesEquivalent() behavior for TemplateElements. ([@timkendrick](https://github.com/timkendrick))
+
+#### :nail_care: Polish
+* `babel-plugin-syntax-pipeline-operator`, `babel-preset-stage-0`, `babel-preset-stage-1`
+ * [#8279](https://github.com/babel/babel/pull/8279) Improve error messages around pipeline option. ([@mAAdhaTTah](https://github.com/mAAdhaTTah))
+
+#### :memo: Documentation
+* [#8286](https://github.com/babel/babel/pull/8286) Move v4-v6 changelog to another file and all prerelease 7.0 logs [ski…. ([@hzoo](https://github.com/hzoo))
+
+#### :house: Internal
+* `babel-preset-env`
+ * [#8299](https://github.com/babel/babel/pull/8299) Make env preset build-data scripts reproducible. ([@rtsao](https://github.com/rtsao))
+* `babel-plugin-proposal-object-rest-spread`
+ * [#8287](https://github.com/babel/babel/pull/8287) Fixed fixture tests after merge. ([@Andarist](https://github.com/Andarist))
+* Other
+ * [#8187](https://github.com/babel/babel/pull/8187) Invoke Jest main file directly. ([@ishitatsuyuki](https://github.com/ishitatsuyuki))
+
## v7.0.0-beta.52 (2018-07-06)
Deprecating the yearly/stage presets in v7 (will remove next beta). Ran `npm deprecate` on `@babel/preset-es2015`, `@babel/preset-es2016`, `@babel/preset-es2017`, `@babel/preset-stage-0`, `@babel/preset-stage-1`, `@babel/preset-stage-2`, `@babel/preset-stage-3` only for versions `>v7.0.0-beta.52`. This means this will only break your build if you are using `^` in Babel v7 beta (which we have recommended against each release). (It is unfortunate that the default behavior of npm is to use `^` when using `npm install` though; haven't made an RFC for it yet).
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index f422085299..7ddb751688 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -3,7 +3,7 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
+contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting hzoo, thejameskyle, sebastian, or loganfsmyth on [Slack](https://slack.babeljs.io/). All
+reported by contacting Henry Zhu , Logan Smyth or one of the other [Babel core team members](https://babeljs.io/team). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index eaa84cd98f..e7b9bd953b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -24,7 +24,7 @@ contributing, please read the
## Not sure where to start?
- If you aren't just making a documentation change, you'll probably want to learn a bit about a few topics.
- - [ASTs](https://en.wikipedia.org/wiki/Abstract_syntax_tree) (Abstract Syntax Tree): The Babel AST [spec](https://github.com/babel/babel/blob/master/packages/babel-parser/ast/spec.md) is a bit different from [ESTree](https://github.com/estree/estree). The differences are listed [here](https://github.com/babel/babel/tree/master/packages/babel-parser#output).
+ - [ASTs](https://en.wikipedia.org/wiki/Abstract_syntax_tree) (Abstract Syntax Tree): The Babel AST [spec](https://github.com/babel/babel/blob/master/packages/babel-parser/ast/spec.md) is a bit different from [ESTree](https://github.com/estree/estree). The differences are listed [here](https://babeljs.io/docs/en/next/babel-parser.html#output).
- Check out [`/doc`](https://github.com/babel/babel/tree/master/doc) for information about Babel's internals
- Check out [the Babel Plugin Handbook](https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#babel-plugin-handbook) - core plugins are written the same way as any other plugin!
- Check out [AST Explorer](http://astexplorer.net/#/scUfOmVOG5) to learn more about ASTs or make your own plugin in the browser
@@ -186,7 +186,7 @@ For example, in [`@babel/plugin-transform-exponentiation-operator/test`](https:/
- If you need to expect an error, you can ignore creating the `output.js` file and pass a new `throws` key to the `options.json` that contains the error string that is created.
- The second and preferred type is a test that actually evaluates the produced code and asserts that certain properties are true or false. We do this by creating an [`exec.js`](https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-exponentiation-operator/test/fixtures/exponentian-operator/comprehensive/exec.js) file.
-In a fixture test, you simply write out the code you want transformed in `input.js`.
+In a fixture test, you simply write out the code you want to transform in `input.js`.
```js
// input.js
@@ -230,7 +230,7 @@ If the test requires a minimum Node version, you can add `minNodeVersion` (must
Writing tests for the babel parser is very
similar to the other packages.
-Inside the `packages/babel-parser/tests/fixtures` folder are categories/groupings of test fixtures (es2015, flow,
+Inside the `packages/babel-parser/test/fixtures` folder are categories/groupings of test fixtures (es2015, flow,
etc.). To add a test, create a folder under one of these groupings (or create a new one) with a
descriptive name, and add the following:
@@ -310,7 +310,7 @@ Note that the code shown in Chrome DevTools is compiled code and therefore diffe
- Create a new issue that describes the proposal (ex: [#538](https://github.com/babel/babylon/issues/538)). Include any relevant information like proposal repo/author, examples, parsing approaches, meeting notes, presentation slides, and more.
- The pull request should include:
- [ ] An update to the [plugins](https://github.com/babel/babel/tree/master/packages/babel-parser#plugins) part of the readme. Add a new entry to that list for the new plugin flag (and link to the proposal)
- - [ ] If any new nodes or modifications need to be added to the AST, update [ast/spec.md](https://github.com/babel/babel/bloc/master/packages/babel-parser/ast/spec.md)
+ - [ ] If any new nodes or modifications need to be added to the AST, update [ast/spec.md](https://github.com/babel/babel/blob/master/packages/babel-parser/ast/spec.md)
- [ ] Make sure you use the `this.hasPlugin("plugin-name-here")` check in the babel parser so that your new plugin code only runs when that flag is turned on (not default behavior)
- [ ] Add failing/passing tests according to spec behavior
- Start working about the Babel transform itself!
diff --git a/LICENSE b/LICENSE
index 620366eb90..a06ec0e70f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2014-2018 Sebastian McKenzie
+Copyright (c) 2014-2018 Sebastian McKenzie and other contributors
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/Makefile b/Makefile
index a23354d7b1..325866dea3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
MAKEFLAGS = -j1
-FLOW_COMMIT = 395e045c18d537fcbbc552a96ef2cdcd70b4ab52
-TEST262_COMMIT = f90a52b39609a620c0854e0bd0b3a906c930fd17
+FLOW_COMMIT = bea8b83f50f597454941d2a7ecef6e93a881e576
+TEST262_COMMIT = 06c2f019019cf7850923de4d56828e6dfd9212b8
# Fix color output until TravisCI fixes https://github.com/travis-ci/travis-ci/issues/7967
export FORCE_COLOR = true
@@ -31,7 +31,7 @@ build-preset-env-standalone:
build-dist: build
cd packages/babel-polyfill; \
scripts/build-dist.sh
- cd packages/babel-runtime; \
+ cd packages/babel-plugin-transform-runtime; \
node scripts/build-dist.js
watch: clean clean-lib
@@ -47,10 +47,13 @@ flow:
./node_modules/.bin/flow check --strip-root
lint:
- ./node_modules/.bin/eslint scripts $(SOURCES) '*.js' --format=codeframe --rulesdir="./scripts/eslint_rules"
+ ./node_modules/.bin/eslint scripts $(SOURCES) '*.js' --format=codeframe
-fix:
- ./node_modules/.bin/eslint scripts $(SOURCES) '*.js' --format=codeframe --fix --rulesdir="./scripts/eslint_rules"
+fix: fix-json
+ ./node_modules/.bin/eslint scripts $(SOURCES) '*.js' --format=codeframe --fix
+
+fix-json:
+ ./node_modules/.bin/prettier "{packages,codemod}/*/test/fixtures/**/options.json" --write --loglevel warn
clean: test-clean
rm -rf packages/babel-polyfill/browser*
@@ -104,23 +107,32 @@ test-test262-ci: bootstrap test-test262
test-test262-update-whitelist:
node scripts/tests/test262/run_babel_parser_test262.js --update-whitelist
-publish:
- git pull --rebase
+clone-license:
+ ./scripts/clone-license.sh
+
+prepublish-build:
make clean-lib
rm -rf packages/babel-runtime/helpers
- rm -rf packages/babel-runtime/core-js
+ rm -rf packages/babel-runtime-corejs2/helpers
+ rm -rf packages/babel-runtime-corejs2/core-js
BABEL_ENV=production make build-dist
+ make clone-license
+
+prepublish:
+ git pull --rebase
+ make prepublish-build
make test
- # not using lerna independent mode atm, so only update packages that have changed since we use ^
+
+publish: prepublish
# --only-explicit-updates
- ./node_modules/.bin/lerna publish --force-publish=* --exact --skip-temp-tag
+ ./node_modules/.bin/lerna publish
make clean
bootstrap: clean-all
yarn --ignore-engines
./node_modules/.bin/lerna bootstrap -- --ignore-engines
make build
- cd packages/babel-runtime; \
+ cd packages/babel-plugin-transform-runtime; \
node scripts/build-dist.js
clean-lib:
diff --git a/README.md b/README.md
index ab1fce3734..7d09826914 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@
-Babel is a community-driven project used by many companies and projects, and is maintained by a group of [volunteers](https://babeljs.io/team). If you'd like to help support the future of the project, please consider:
+Babel (pronounced ["babble"](https://soundcloud.com/sebmck/how-to-pronounce-babel)) is a community-driven project used by many companies and projects, and is maintained by a group of [volunteers](https://babeljs.io/team). If you'd like to help support the future of the project, please consider:
- Giving developer time on the project. (Message us on [Twitter](https://twitter.com/babeljs) or [Slack](https://slack.babeljs.io/) for guidance!)
- Giving funds by becoming a sponsor (see below)!
@@ -68,6 +68,10 @@ Become a sponsor and get your logo on our README on Github with a link to your s
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://www.patreon.com/henryzhu)]
+## Silver
+
+
+
## Bronze
@@ -103,11 +107,11 @@ Mostly a handful of volunteers! Please check out our [team page](https://babeljs
### Looking for support?
-For questions and support please visit join our [Slack Community](https://slack.babeljs.io/) (you can sign-up [here](https://slack.babeljs.io/) for an invite), ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/babeljs), or ping us on [Twitter](https://twitter.com/babeljs).
+For questions and support please join our [Slack Community](https://slack.babeljs.io/) (you can sign-up [here](https://slack.babeljs.io/) for an invite), ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/babeljs), or ping us on [Twitter](https://twitter.com/babeljs).
### Is there a Babel song?
-I'm so glad you asked: [Hallelujah —— In Praise of Babel](SONG.md) by [@angus-c](https://github.com/angus-c). Tweet us your recordings!
+I'm so glad you asked: [Hallelujah —— In Praise of Babel](SONG.md) by [@angus-c](https://github.com/angus-c), [audio version](https://youtu.be/40abpedBKK8) by [@swyx](https://twitter.com/@swyx). Tweet us your recordings!
### Where are the docs?
diff --git a/SONG.md b/SONG.md
index 1ef939df3b..a6939e15af 100644
--- a/SONG.md
+++ b/SONG.md
@@ -1,5 +1,7 @@
## Hallelujah—In Praise of Babel
+➤ [🎶 Audio version here!](https://youtu.be/40abpedBKK8)
+
I heard there was a clever trick
That rewrote all your JavaScript
But you don’t really care for magic, do you
diff --git a/babel.config.js b/babel.config.js
index d68eb3172f..ce4eb1d565 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -13,13 +13,18 @@ module.exports = function(api) {
let convertESM = true;
let ignoreLib = true;
+ let includeRuntime = false;
switch (env) {
// Configs used during bundling builds.
case "babel-parser":
+ convertESM = false;
+ ignoreLib = false;
+ break;
case "standalone":
convertESM = false;
ignoreLib = false;
+ includeRuntime = true;
break;
case "production":
// Config during builds before publish.
@@ -41,6 +46,10 @@ module.exports = function(api) {
}
const config = {
+ // Our dependencies are all standard CommonJS, along with all sorts of
+ // other random files in Babel's codebase, so we use script as the default,
+ // and then mark actual modules as modules farther down.
+ sourceType: "script",
comments: false,
ignore: [
// These may not be strictly necessary with the newly-limited scope of
@@ -84,7 +93,29 @@ module.exports = function(api) {
convertESM ? "@babel/transform-modules-commonjs" : null,
].filter(Boolean),
},
- ],
+ {
+ // The vast majority of our src files are modules, but we use
+ // unambiguous to keep things simple until we get around to renaming
+ // the modules to be more easily distinguished from CommonJS
+ test: [
+ "packages/*/src",
+ "packages/*/test",
+ "codemods/*/src",
+ "codemods/*/test",
+ ],
+ sourceType: "unambiguous",
+ },
+ {
+ // The runtime transform shouldn't process its own runtime or core-js.
+ exclude: [
+ "packages/babel-runtime",
+ /[\\/]node_modules[\\/](?:@babel\/runtime|babel-runtime|core-js)[\\/]/,
+ ],
+ plugins: [includeRuntime ? "@babel/transform-runtime" : null].filter(
+ Boolean
+ ),
+ },
+ ].filter(Boolean),
};
// we need to do this as long as we do not test everything from source
diff --git a/codemods/babel-plugin-codemod-object-assign-to-object-spread/README.md b/codemods/babel-plugin-codemod-object-assign-to-object-spread/README.md
index d33028bcad..d0f4a1d848 100644
--- a/codemods/babel-plugin-codemod-object-assign-to-object-spread/README.md
+++ b/codemods/babel-plugin-codemod-object-assign-to-object-spread/README.md
@@ -36,7 +36,7 @@ npm install --save-dev @babel/plugin-codemod-object-assign-to-object-spread
**.babelrc**
-```json
+```jsonc
{
"plugins": ["@babel/plugin-codemod-object-assign-to-object-spread"]
}
diff --git a/codemods/babel-plugin-codemod-object-assign-to-object-spread/package.json b/codemods/babel-plugin-codemod-object-assign-to-object-spread/package.json
index 2ca5dc4cf3..747fa0fe68 100644
--- a/codemods/babel-plugin-codemod-object-assign-to-object-spread/package.json
+++ b/codemods/babel-plugin-codemod-object-assign-to-object-spread/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-codemod-object-assign-to-object-spread",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Transforms Object.assign into object spread syntax",
"repository": "https://github.com/babel/babel/tree/master/codemods/babel-plugin-codemod-object-assign-to-object-spread",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"@babel/codemod",
"@babel/plugin"
],
"dependencies": {
- "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.52"
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/codemods/babel-plugin-codemod-optional-catch-binding/README.md b/codemods/babel-plugin-codemod-optional-catch-binding/README.md
index 6ba95eb9f4..c462156016 100644
--- a/codemods/babel-plugin-codemod-optional-catch-binding/README.md
+++ b/codemods/babel-plugin-codemod-optional-catch-binding/README.md
@@ -34,7 +34,7 @@ npm install --save-dev @babel/plugin-codemod-optional-catch-binding
**.babelrc**
-```json
+```jsonc
{
"plugins": ["@babel/plugin-codemod-optional-catch-binding"]
}
diff --git a/codemods/babel-plugin-codemod-optional-catch-binding/package.json b/codemods/babel-plugin-codemod-optional-catch-binding/package.json
index 53ed7c153d..4591335302 100644
--- a/codemods/babel-plugin-codemod-optional-catch-binding/package.json
+++ b/codemods/babel-plugin-codemod-optional-catch-binding/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-codemod-optional-catch-binding",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Remove unused catch bindings",
"repository": "https://github.com/babel/babel/tree/master/codemods/babel-plugin-codemod-remove-unused-catch-binding",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"@babel/codemod",
"@babel/plugin"
],
"dependencies": {
- "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.52"
+ "@babel/plugin-syntax-optional-catch-binding": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/eslint-local-rules.js b/eslint-local-rules.js
new file mode 100644
index 0000000000..73af83e484
--- /dev/null
+++ b/eslint-local-rules.js
@@ -0,0 +1,9 @@
+"use strict";
+
+const noDeprecatedClone = require("./scripts/eslint_rules/no-deprecated-clone");
+const noUndefinedIdentifier = require("./scripts/eslint_rules/no-undefined-identifier");
+
+module.exports = {
+ "no-deprecated-clone": noDeprecatedClone,
+ "no-undefined-identifier": noUndefinedIdentifier,
+};
diff --git a/lerna.json b/lerna.json
index a984283ff0..385f723f20 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,6 +1,6 @@
{
"lerna": "2.11.0",
- "version": "7.0.0-beta.52",
+ "version": "7.1.4",
"changelog": {
"repo": "babel/babel",
"cacheDir": ".changelog",
@@ -18,8 +18,11 @@
"publish": {
"ignore": [
"*.md",
+ "*.json",
+ "*.txt",
"test/**",
- "codemods/**"
+ "codemods/**",
+ "package.json"
]
}
},
diff --git a/lib/third-party-libs.js.flow b/lib/third-party-libs.js.flow
index 9d0e0e76dd..74913a5df1 100644
--- a/lib/third-party-libs.js.flow
+++ b/lib/third-party-libs.js.flow
@@ -32,6 +32,20 @@ declare module "lodash/merge" {
declare export default (T, Object) => T;
}
+declare module "semver" {
+ declare module.exports: {
+ valid(v: string): boolean;
+ gt(v1: string, v2: string): boolean;
+ lt(v1: string, v2: string): boolean;
+ major(v: string): number;
+ minor(v: string): number;
+ patch(v: string): number;
+ satisfies(v1: string, r1: string): boolean;
+
+ intersects(r1: string, r2: string): boolean;
+ }
+}
+
declare module "source-map" {
declare export type SourceMap = {
version: 3,
diff --git a/package.json b/package.json
index 2ef4be29b4..203ecfe70f 100644
--- a/package.json
+++ b/package.json
@@ -6,33 +6,37 @@
"build": "make build",
"fix": "make fix",
"lint": "make lint",
- "precommit": "lint-staged",
"test": "make test"
},
"devDependencies": {
- "@babel/cli": "7.0.0-beta.52",
- "@babel/core": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.52",
- "@babel/preset-env": "7.0.0-beta.52",
- "@babel/preset-flow": "7.0.0-beta.52",
- "@babel/preset-stage-0": "7.0.0-beta.52",
- "@babel/register": "7.0.0-beta.52",
+ "@babel/cli": "^7.1.2",
+ "@babel/core": "^7.1.2",
+ "@babel/plugin-proposal-class-properties": "^7.1.0",
+ "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
+ "@babel/plugin-proposal-numeric-separator": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.1.0",
+ "@babel/plugin-transform-runtime": "^7.1.0",
+ "@babel/preset-env": "^7.1.0",
+ "@babel/preset-flow": "^7.0.0",
+ "@babel/register": "^7.0.0",
+ "@babel/runtime": "^7.1.2",
"babel-core": "^7.0.0-0",
- "babel-eslint": "^8.2.5",
- "babel-jest": "^22.4.1",
- "babel-loader": "8.0.0-beta.0",
+ "babel-eslint": "^10.0.1",
+ "babel-jest": "^23.6.0",
+ "babel-loader": "^8.0.4",
"babel-plugin-transform-charcodes": "^0.1.0",
- "browserify": "^13.1.1",
+ "browserify": "^16.2.2",
"bundle-collapser": "^1.2.1",
"chalk": "^2.3.2",
"charcodes": "^0.1.0",
"derequire": "^2.0.2",
"enhanced-resolve": "^3.0.0",
- "eslint": "^5.0.1",
- "eslint-config-babel": "^7.0.2",
- "eslint-plugin-flowtype": "^2.49.3",
- "eslint-plugin-prettier": "^2.6.1",
- "flow-bin": "^0.75.0",
+ "eslint": "^5.6.0",
+ "eslint-config-babel": "^8.0.1",
+ "eslint-plugin-flowtype": "^2.50.1",
+ "eslint-plugin-local-rules": "0.1.0",
+ "eslint-plugin-prettier": "^2.6.2",
+ "flow-bin": "^0.82.0",
"graceful-fs": "^4.1.11",
"gulp": "^4.0.0",
"gulp-babel": "^8.0.0-beta.2",
@@ -43,15 +47,15 @@
"gulp-uglify": "^3.0.0",
"gulp-util": "^3.0.7",
"gulp-watch": "^5.0.0",
- "husky": "^0.14.3",
- "jest": "^22.4.2",
+ "husky": "^1.0.0-rc.15",
+ "jest": "^23.6.0",
"lerna": "^2.11.0",
"lerna-changelog": "^0.5.0",
- "lint-staged": "^6.0.1",
- "lodash": "^4.17.5",
+ "lint-staged": "^7.3.0",
+ "lodash": "^4.17.10",
"merge-stream": "^1.0.1",
"output-file-sync": "^2.0.0",
- "prettier": "1.13.2",
+ "prettier": "^1.14.3",
"pump": "^1.0.2",
"rimraf": "^2.4.3",
"rollup-plugin-babel": "^4.0.0-beta.0",
@@ -68,14 +72,19 @@
},
"engines": {
"node": ">= 6.9.0 <= 11.0.0-0",
- "npm": ">= 2.x <= 5.x",
+ "npm": ">= 3.x <= 6.x",
"yarn": ">=0.27.5 || >=1.0.0-20170811"
},
"lint-staged": {
"*.js": [
- "eslint --format=codeframe --rulesdir='./scripts/eslint_rules'"
+ "eslint --format=codeframe"
]
},
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
"jest": {
"collectCoverageFrom": [
"packages/*/src/**/*.mjs",
diff --git a/packages/README.md b/packages/README.md
index e0f65daa29..5c94297efd 100644
--- a/packages/README.md
+++ b/packages/README.md
@@ -13,10 +13,10 @@ A monorepo, muhahahahahaha. See the [monorepo design doc](/doc/design/monorepo.m
| Package | Version | Dependencies |
|--------|-------|------------|
-| [`@babel/core`](/packages/babel-core) | [](https://www.npmjs.com/package/@babel/core) | [](https://david-dm.org/babel/babel?path=packages/babel-core) |
-| [`@babel/parser`](/packages/@babel/parser) | [](https://www.npmjs.com/package/@babel/parser) | [](https://david-dm.org/babel/babel?path=packages/babel-parser) |
-| [`@babel/traverse`](/packages/babel-traverse) | [](https://www.npmjs.com/package/@babel/traverse) | [](https://david-dm.org/babel/babel?path=packages/babel-traverse) |
-| [`@babel/generator`](/packages/babel-generator) | [](https://www.npmjs.com/package/@babel/generator) | [](https://david-dm.org/babel/babel?path=packages/babel-generator) |
+| [`@babel/core`](/packages/babel-core) | [](https://www.npmjs.com/package/@babel/core) | [](https://david-dm.org/babel/babel?path=packages/babel-core) |
+| [`@babel/parser`](/packages/babel-parser) | [](https://www.npmjs.com/package/@babel/parser) | [](https://david-dm.org/babel/babel?path=packages/babel-parser) |
+| [`@babel/traverse`](/packages/babel-traverse) | [](https://www.npmjs.com/package/@babel/traverse) | [](https://david-dm.org/babel/babel?path=packages/babel-traverse) |
+| [`@babel/generator`](/packages/babel-generator) | [](https://www.npmjs.com/package/@babel/generator) | [](https://david-dm.org/babel/babel?path=packages/babel-generator) |
[`@babel/core`](/packages/babel-core) is the Babel compiler itself; it exposes the `babel.transform` method, where `transformedCode = transform(src).code`.
@@ -36,14 +36,14 @@ Check out the [`babel-handbook`](https://github.com/thejameskyle/babel-handbook/
| Package | Version | Dependencies |
|--------|-------|------------|
-| [`@babel/cli`](/packages/babel-cli) | [](https://www.npmjs.com/package/@babel/cli) | [](https://david-dm.org/babel/babel?path=packages/babel-cli) |
-| [`@babel/types`](/packages/babel-types) | [](https://www.npmjs.com/package/@babel/types) | [](https://david-dm.org/babel/babel?path=packages/babel-types) |
-| [`@babel/polyfill`](/packages/babel-polyfill) | [](https://www.npmjs.com/package/@babel/polyfill) | [](https://david-dm.org/babel/babel?path=packages/babel-polyfill) |
-| [`@babel/runtime`](/packages/babel-runtime) | [](https://www.npmjs.com/package/@babel/runtime) | [](https://david-dm.org/babel/babel?path=packages/babel-runtime) |
-| [`@babel/register`](/packages/babel-register) | [](https://www.npmjs.com/package/@babel/register) | [](https://david-dm.org/babel/babel?path=packages/babel-register) |
-| [`@babel/template`](/packages/babel-template) | [](https://www.npmjs.com/package/@babel/template) | [](https://david-dm.org/babel/babel?path=packages/babel-template) |
-| [`@babel/helpers`](/packages/babel-helpers) | [](https://www.npmjs.com/package/@babel/helpers) | [](https://david-dm.org/babel/babel?path=packages/babel-helpers) |
-| [`@babel/code-frame`](/packages/babel-code-frame) | [](https://www.npmjs.com/package/@babel/code-frame) | [](https://david-dm.org/babel/babel?path=packages/babel-code-frame) |
+| [`@babel/cli`](/packages/babel-cli) | [](https://www.npmjs.com/package/@babel/cli) | [](https://david-dm.org/babel/babel?path=packages/babel-cli) |
+| [`@babel/types`](/packages/babel-types) | [](https://www.npmjs.com/package/@babel/types) | [](https://david-dm.org/babel/babel?path=packages/babel-types) |
+| [`@babel/polyfill`](/packages/babel-polyfill) | [](https://www.npmjs.com/package/@babel/polyfill) | [](https://david-dm.org/babel/babel?path=packages/babel-polyfill) |
+| [`@babel/runtime`](/packages/babel-runtime) | [](https://www.npmjs.com/package/@babel/runtime) | [](https://david-dm.org/babel/babel?path=packages/babel-runtime) |
+| [`@babel/register`](/packages/babel-register) | [](https://www.npmjs.com/package/@babel/register) | [](https://david-dm.org/babel/babel?path=packages/babel-register) |
+| [`@babel/template`](/packages/babel-template) | [](https://www.npmjs.com/package/@babel/template) | [](https://david-dm.org/babel/babel?path=packages/babel-template) |
+| [`@babel/helpers`](/packages/babel-helpers) | [](https://www.npmjs.com/package/@babel/helpers) | [](https://david-dm.org/babel/babel?path=packages/babel-helpers) |
+| [`@babel/code-frame`](/packages/babel-code-frame) | [](https://www.npmjs.com/package/@babel/code-frame) | [](https://david-dm.org/babel/babel?path=packages/babel-code-frame) |
- [`@babel/cli`](/packages/babel-cli) is the CLI tool that runs `@babel/core` and helps with outputting to a directory, a file, stdout and more (also includes `@babel/node` cli). Check out the [docs](https://babeljs.io/docs/usage/cli/).
- [`@babel/types`](/packages/babel-types) is used to validate, build and change AST nodes.
@@ -62,7 +62,7 @@ The transformer[s] used in Babel are the independent pieces of code that transfo
| Package | Version | Dependencies | Description |
|--------|-------|------------|---|
-| [`@babel/preset-env`](/packages/babel-preset-env) | [](https://www.npmjs.com/package/@babel/preset-env) | [](https://david-dm.org/babel/babel?path=packages/babel-preset-env) | automatically determines plugins and polyfills you need based on your supported environments |
+| [`@babel/preset-env`](/packages/babel-preset-env) | [](https://www.npmjs.com/package/@babel/preset-env) | [](https://david-dm.org/babel/babel?path=packages/babel-preset-env) | automatically determines plugins and polyfills you need based on your supported environments |
> You can find community maintained presets on [npm](https://www.npmjs.com/search?q=babel-preset)
diff --git a/packages/babel-cli/package.json b/packages/babel-cli/package.json
index 6c915b1432..b520ad82f9 100644
--- a/packages/babel-cli/package.json
+++ b/packages/babel-cli/package.json
@@ -1,10 +1,13 @@
{
"name": "@babel/cli",
- "version": "7.0.0-beta.52",
+ "version": "7.1.2",
"description": "Babel command line.",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-cli",
"keywords": [
"6to5",
@@ -18,23 +21,23 @@
"dependencies": {
"commander": "^2.8.1",
"convert-source-map": "^1.1.0",
- "fs-readdir-recursive": "^1.0.0",
+ "fs-readdir-recursive": "^1.1.0",
"glob": "^7.0.0",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"mkdirp": "^0.5.1",
"output-file-sync": "^2.0.0",
- "slash": "^1.0.0",
+ "slash": "^2.0.0",
"source-map": "^0.5.0"
},
"optionalDependencies": {
"chokidar": "^2.0.3"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-fixtures": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-fixtures": "^7.0.0"
},
"bin": {
"babel": "./bin/babel.js",
diff --git a/packages/babel-cli/src/babel/dir.js b/packages/babel-cli/src/babel/dir.js
index 1dbd0ed129..2eaca85750 100644
--- a/packages/babel-cli/src/babel/dir.js
+++ b/packages/babel-cli/src/babel/dir.js
@@ -89,7 +89,7 @@ export default async function({ cliOptions, babelOptions }) {
const stat = fs.statSync(filenameOrDir);
- if (stat.isDirectory(filenameOrDir)) {
+ if (stat.isDirectory()) {
const dirname = filenameOrDir;
let count = 0;
diff --git a/packages/babel-cli/src/babel/options.js b/packages/babel-cli/src/babel/options.js
index a058d48be1..d8a5bd4f3f 100644
--- a/packages/babel-cli/src/babel/options.js
+++ b/packages/babel-cli/src/babel/options.js
@@ -28,6 +28,11 @@ commander.option(
"The name of the 'env' to use when loading configs and plugins. " +
"Defaults to the value of BABEL_ENV, or else NODE_ENV, or else 'development'.",
);
+commander.option(
+ "--root-mode [mode]",
+ "The project-root resolution mode. " +
+ "One of 'root' (the default), 'upward', or 'upward-optional'.",
+);
// Basic file input configuration.
commander.option("--source-type [script|module]", "");
@@ -76,7 +81,7 @@ commander.option(
"print a comment after any injected non-user code",
);
-// General soucemap formatting.
+// General source map formatting.
commander.option("-s, --source-maps [true|false|inline|both]", "", booleanify);
commander.option(
"--source-map-target [string]",
@@ -162,20 +167,20 @@ export default function parseArgv(args: Array) {
filenames.forEach(function(filename) {
if (!fs.existsSync(filename)) {
- errors.push(filename + " doesn't exist");
+ errors.push(filename + " does not exist");
}
});
if (commander.outDir && !filenames.length) {
- errors.push("filenames required for --out-dir");
+ errors.push("--out-dir requires filenames");
}
if (commander.outFile && commander.outDir) {
- errors.push("cannot have --out-file and --out-dir");
+ errors.push("--out-file and --out-dir cannot be used together");
}
if (commander.relative && !commander.outDir) {
- errors.push("output directory required for --relative");
+ errors.push("--relative requires --out-dir usage");
}
if (commander.watch) {
@@ -207,41 +212,56 @@ export default function parseArgv(args: Array) {
}
if (errors.length) {
- console.error(errors.join(". "));
+ console.error("babel:");
+ errors.forEach(function(e) {
+ console.error(" " + e);
+ });
process.exit(2);
}
const opts = commander.opts();
- return {
- babelOptions: {
- presets: opts.presets,
- plugins: opts.plugins,
- configFile: opts.configFile,
- envName: opts.envName,
- sourceType: opts.sourceType,
- ignore: opts.ignore,
- only: opts.only,
- retainLines: opts.retainLines,
- compact: opts.compact,
- minified: opts.minified,
- auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
- auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
- sourceMaps: opts.sourceMaps,
- sourceFileName: opts.sourceFileName,
- sourceRoot: opts.sourceRoot,
- moduleRoot: opts.moduleRoot,
- moduleIds: opts.moduleIds,
- moduleId: opts.moduleId,
+ const babelOptions = {
+ presets: opts.presets,
+ plugins: opts.plugins,
+ rootMode: opts.rootMode,
+ configFile: opts.configFile,
+ envName: opts.envName,
+ sourceType: opts.sourceType,
+ ignore: opts.ignore,
+ only: opts.only,
+ retainLines: opts.retainLines,
+ compact: opts.compact,
+ minified: opts.minified,
+ auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
+ auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
+ sourceMaps: opts.sourceMaps,
+ sourceFileName: opts.sourceFileName,
+ sourceRoot: opts.sourceRoot,
+ moduleRoot: opts.moduleRoot,
+ moduleIds: opts.moduleIds,
+ moduleId: opts.moduleId,
- // Commander will default the "--no-" arguments to true, but we want to
- // leave them undefined so that @babel/core can handle the
- // default-assignment logic on its own.
- babelrc: opts.babelrc === true ? undefined : opts.babelrc,
- highlightCode:
- opts.highlightCode === true ? undefined : opts.highlightCode,
- comments: opts.comments === true ? undefined : opts.comments,
- },
+ // Commander will default the "--no-" arguments to true, but we want to
+ // leave them undefined so that @babel/core can handle the
+ // default-assignment logic on its own.
+ babelrc: opts.babelrc === true ? undefined : opts.babelrc,
+ highlightCode: opts.highlightCode === true ? undefined : opts.highlightCode,
+ comments: opts.comments === true ? undefined : opts.comments,
+ };
+
+ // If the @babel/cli version is newer than the @babel/core version, and we have added
+ // new options for @babel/core, we'll potentially get option validation errors from
+ // @babel/core. To avoid that, we delete undefined options, so @babel/core will only
+ // give the error if users actually pass an unsupported CLI option.
+ for (const key of Object.keys(babelOptions)) {
+ if (babelOptions[key] === undefined) {
+ delete babelOptions[key];
+ }
+ }
+
+ return {
+ babelOptions,
cliOptions: {
filename: opts.filename,
filenames,
diff --git a/packages/babel-cli/src/babel/util.js b/packages/babel-cli/src/babel/util.js
index 5d0cdc479e..ad972fd0cd 100644
--- a/packages/babel-cli/src/babel/util.js
+++ b/packages/babel-cli/src/babel/util.js
@@ -15,11 +15,15 @@ export function readdir(
includeDotfiles: boolean,
filter: ReaddirFilter,
) {
- return readdirRecursive(
- dirname,
- filename =>
- (includeDotfiles || filename[0] !== ".") && (!filter || filter(filename)),
- );
+ return readdirRecursive(dirname, (filename, _index, currentDirectory) => {
+ const stat = fs.statSync(path.join(currentDirectory, filename));
+
+ if (stat.isDirectory()) return true;
+
+ return (
+ (includeDotfiles || filename[0] !== ".") && (!filter || filter(filename))
+ );
+ });
}
export function readdirForCompilable(
@@ -45,9 +49,14 @@ export function addSourceMappingUrl(code, loc) {
return code + "\n//# sourceMappingURL=" + path.basename(loc);
}
+const CALLER = {
+ name: "@babel/cli",
+};
+
export function transform(filename, code, opts) {
opts = {
...opts,
+ caller: CALLER,
filename,
};
@@ -60,6 +69,11 @@ export function transform(filename, code, opts) {
}
export function compile(filename, opts) {
+ opts = {
+ ...opts,
+ caller: CALLER,
+ };
+
return new Promise((resolve, reject) => {
babel.transformFile(filename, opts, (err, result) => {
if (err) reject(err);
diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json
index 729a051678..1dbdbc9529 100644
--- a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json
+++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json
@@ -1,10 +1,12 @@
{
"args": [
"src",
- "--out-dir", "lib",
+ "--out-dir",
+ "lib",
"--copy-files",
"--include-dotfiles",
- "--ignore", "src/foo",
+ "--ignore",
+ "src/foo",
"--verbose"
]
}
diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json
index 64034dfa62..c7aa322fc7 100644
--- a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json
+++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json
@@ -1,10 +1,12 @@
{
"args": [
"src",
- "--out-dir", "lib",
+ "--out-dir",
+ "lib",
"--copy-files",
"--include-dotfiles",
- "--only", "src/foo",
+ "--only",
+ "src/foo",
"--verbose"
]
}
diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json
index 4d90f91ad5..bb94e945f8 100644
--- a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json
+++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json
@@ -1,3 +1,10 @@
{
- "args": ["src", "--out-dir", "lib", "--copy-files", "--include-dotfiles", "--verbose"]
+ "args": [
+ "src",
+ "--out-dir",
+ "lib",
+ "--copy-files",
+ "--include-dotfiles",
+ "--verbose"
+ ]
}
diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/options.json
index c5551001db..89633066e6 100644
--- a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/options.json
+++ b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/options.json
@@ -1,9 +1,11 @@
{
"args": [
"src",
- "--out-dir", "lib",
+ "--out-dir",
+ "lib",
"--copy-files",
- "--ignore", "src/foo/*",
+ "--ignore",
+ "src/foo/*",
"--verbose"
]
}
diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with only/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files with only/options.json
index a1c2f38e39..89b67e48e6 100644
--- a/packages/babel-cli/test/fixtures/babel/--copy-files with only/options.json
+++ b/packages/babel-cli/test/fixtures/babel/--copy-files with only/options.json
@@ -1,9 +1,11 @@
{
"args": [
"src",
- "--out-dir", "lib",
+ "--out-dir",
+ "lib",
"--copy-files",
- "--only", "src/foo/*",
+ "--only",
+ "src/foo/*",
"--verbose"
]
}
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/options.json b/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/options.json
deleted file mode 100644
index 8fa500178b..0000000000
--- a/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "args": ["--source-maps", "--out-file", "test.js"]
-}
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/options.json
deleted file mode 100644
index e3938d3734..0000000000
--- a/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "args": ["--source-maps", "inline"]
-}
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdout.txt b/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdout.txt
deleted file mode 100644
index b21594bbfc..0000000000
--- a/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdout.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-"use strict";
-
-arr.map(function (x) {
- return x * x;
-});
-
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUM7U0FBSSxDQUFDLEdBQUcsQ0FBQztDQUFBLENBQUMsQ0FBQyIsImZpbGUiOiJzdGRvdXQiLCJzb3VyY2VzQ29udGVudCI6WyJhcnIubWFwKHggPT4geCAqIHgpOyJdfQ==
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/in-files/src/bar/bar.js
new file mode 100644
index 0000000000..45842c5e26
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/in-files/src/bar/bar.js
@@ -0,0 +1,3 @@
+class Test {
+
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/in-files/src/foo.js
new file mode 100644
index 0000000000..4bc9539528
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/in-files/src/foo.js
@@ -0,0 +1 @@
+arr.map(x => x * MULTIPLIER);
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/options.json
new file mode 100644
index 0000000000..4e56bdab4f
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["src", "--out-dir", "lib", "--out-file", "compiled.js"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/stderr.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/stderr.txt
new file mode 100644
index 0000000000..a9d91e73bd
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file/stderr.txt
@@ -0,0 +1,2 @@
+babel:
+ --out-file and --out-dir cannot be used together
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js
index a7df874e43..9b8f51f2f6 100644
--- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/out-files/lib/foo.js
@@ -3,4 +3,4 @@
arr.map(function (x) {
return x * MULTIPLIER;
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb28uanMiXSwibmFtZXMiOlsiYXJyIiwibWFwIiwieCIsIk1VTFRJUExJRVIiXSwibWFwcGluZ3MiOiI7O0FBQUFBLElBQUlDLEdBQUosQ0FBUTtBQUFBLFNBQUtDLElBQUlDLFVBQVQ7QUFBQSxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiYXJyLm1hcCh4ID0+IHggKiBNVUxUSVBMSUVSKTsiXX0=
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mb28uanMiXSwibmFtZXMiOlsiYXJyIiwibWFwIiwieCIsIk1VTFRJUExJRVIiXSwibWFwcGluZ3MiOiI7O0FBQUFBLEdBQUcsQ0FBQ0MsR0FBSixDQUFRLFVBQUFDLENBQUM7QUFBQSxTQUFJQSxDQUFDLEdBQUdDLFVBQVI7QUFBQSxDQUFUIiwic291cmNlc0NvbnRlbnQiOlsiYXJyLm1hcCh4ID0+IHggKiBNVUxUSVBMSUVSKTsiXX0=
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map
index 595013088c..3caee699c1 100644
--- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/out-files/lib/foo.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/foo.js"],"names":["arr","map","x","MULTIPLIER"],"mappings":";;AAAAA,IAAIC,GAAJ,CAAQ;AAAA,SAAKC,IAAIC,UAAT;AAAA,CAAR","sourcesContent":["arr.map(x => x * MULTIPLIER);"],"file":"foo.js"}
+{"version":3,"sources":["../src/foo.js"],"names":["arr","map","x","MULTIPLIER"],"mappings":";;AAAAA,GAAG,CAACC,GAAJ,CAAQ,UAAAC,CAAC;AAAA,SAAIA,CAAC,GAAGC,UAAR;AAAA,CAAT","sourcesContent":["arr.map(x => x * MULTIPLIER);"],"file":"foo.js"}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir no filenames/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-dir no filenames/options.json
new file mode 100644
index 0000000000..f22bf435c1
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir no filenames/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["--out-dir", "lib"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir no filenames/stderr.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir no filenames/stderr.txt
new file mode 100644
index 0000000000..ed50bfb81e
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir no filenames/stderr.txt
@@ -0,0 +1,2 @@
+babel:
+ --out-dir requires filenames
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --out-file/in-files/src/bar/bar.js
new file mode 100644
index 0000000000..9e99278492
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-file/in-files/src/bar/bar.js
@@ -0,0 +1 @@
+ (() => 42)
\ No newline at end of file
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --out-file/in-files/src/foo.js
new file mode 100644
index 0000000000..4bc9539528
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-file/in-files/src/foo.js
@@ -0,0 +1 @@
+arr.map(x => x * MULTIPLIER);
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-file/options.json
new file mode 100644
index 0000000000..b82e32da5b
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-file/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["src", "--out-file", "test.js"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file/out-files/test.js b/packages/babel-cli/test/fixtures/babel/dir --out-file/out-files/test.js
new file mode 100644
index 0000000000..d3e579815a
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --out-file/out-files/test.js
@@ -0,0 +1,10 @@
+"use strict";
+
+(function () {
+ return 42;
+});
+"use strict";
+
+arr.map(function (x) {
+ return x * MULTIPLIER;
+});
diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-file/stdout.txt
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/in-files/src/bar/bar.js
new file mode 100644
index 0000000000..45842c5e26
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/in-files/src/bar/bar.js
@@ -0,0 +1,3 @@
+class Test {
+
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/in-files/src/foo.js
new file mode 100644
index 0000000000..4bc9539528
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/in-files/src/foo.js
@@ -0,0 +1 @@
+arr.map(x => x * MULTIPLIER);
diff --git a/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/options.json b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/options.json
new file mode 100644
index 0000000000..54626b517a
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["src", "--skip-initial-build", "--out-dir", "lib"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/stderr.txt b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/stderr.txt
new file mode 100644
index 0000000000..ca9d53a3f9
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --skip-initial-build no --watch/stderr.txt
@@ -0,0 +1,2 @@
+babel:
+ --skip-initial-build requires --watch
diff --git a/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/in-files/src/bar/bar.js b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/in-files/src/bar/bar.js
new file mode 100644
index 0000000000..45842c5e26
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/in-files/src/bar/bar.js
@@ -0,0 +1,3 @@
+class Test {
+
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/in-files/src/foo.js b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/in-files/src/foo.js
new file mode 100644
index 0000000000..4bc9539528
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/in-files/src/foo.js
@@ -0,0 +1 @@
+arr.map(x => x * MULTIPLIER);
diff --git a/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/options.json b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/options.json
new file mode 100644
index 0000000000..3a5be032d5
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["src", "--watch"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/stderr.txt b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/stderr.txt
new file mode 100644
index 0000000000..956952ee18
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/dir --watch no --out-dir no --out-file/stderr.txt
@@ -0,0 +1,2 @@
+babel:
+ --watch requires --out-file or --out-dir
diff --git a/packages/babel-cli/test/fixtures/babel/error --out-dir --out-file/stderr.txt b/packages/babel-cli/test/fixtures/babel/error --out-dir --out-file/stderr.txt
index d873bfee65..6ca9b2ed12 100644
--- a/packages/babel-cli/test/fixtures/babel/error --out-dir --out-file/stderr.txt
+++ b/packages/babel-cli/test/fixtures/babel/error --out-dir --out-file/stderr.txt
@@ -1 +1 @@
-filenames required for --out-dir
+--out-dir requires filenames
diff --git a/packages/babel-cli/test/fixtures/babel/error --out-dir/stderr.txt b/packages/babel-cli/test/fixtures/babel/error --out-dir/stderr.txt
index ad905db42d..b56e7a0827 100644
--- a/packages/babel-cli/test/fixtures/babel/error --out-dir/stderr.txt
+++ b/packages/babel-cli/test/fixtures/babel/error --out-dir/stderr.txt
@@ -1 +1 @@
-cannot have --out-file and --out-dir
+--out-file and --out-dir cannot be used together
diff --git a/packages/babel-cli/test/fixtures/babel/error --relative/options.json b/packages/babel-cli/test/fixtures/babel/error --relative/options.json
index 1901c571c5..4992a12730 100644
--- a/packages/babel-cli/test/fixtures/babel/error --relative/options.json
+++ b/packages/babel-cli/test/fixtures/babel/error --relative/options.json
@@ -1,4 +1,4 @@
{
- "args": ["--relative"],
+ "args": ["--relative", "--no-babelrc"],
"stderrContains": true
}
diff --git a/packages/babel-cli/test/fixtures/babel/error --relative/stderr.txt b/packages/babel-cli/test/fixtures/babel/error --relative/stderr.txt
index ae7f59e27e..f8d5d02029 100644
--- a/packages/babel-cli/test/fixtures/babel/error --relative/stderr.txt
+++ b/packages/babel-cli/test/fixtures/babel/error --relative/stderr.txt
@@ -1 +1 @@
-output directory required for --relative
+--relative requires --out-dir usage
diff --git a/packages/babel-cli/test/fixtures/babel/error wrong filename/stderr.txt b/packages/babel-cli/test/fixtures/babel/error wrong filename/stderr.txt
index 125378c05d..d45006ba9e 100644
--- a/packages/babel-cli/test/fixtures/babel/error wrong filename/stderr.txt
+++ b/packages/babel-cli/test/fixtures/babel/error wrong filename/stderr.txt
@@ -1 +1 @@
-foo.json doesn't exist
+foo.json does not exist
diff --git a/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/out-files/script2.js b/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/out-files/script2.js
index 6aa8c1d519..884a7d7132 100644
--- a/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/out-files/script2.js
+++ b/packages/babel-cli/test/fixtures/babel/filename --out-file --source-maps inline/out-files/script2.js
@@ -4,4 +4,4 @@ arr.map(function (x) {
return x * MULTIPLIER;
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcmlwdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLElBQUksR0FBSixDQUFRO0FBQUEsU0FBSyxJQUFJLFVBQVQ7QUFBQSxDQUFSIiwiZmlsZSI6InNjcmlwdDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJhcnIubWFwKHggPT4geCAqIE1VTFRJUExJRVIpOyJdfQ==
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcmlwdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLEdBQUcsQ0FBQyxHQUFKLENBQVEsVUFBQSxDQUFDO0FBQUEsU0FBSSxDQUFDLEdBQUcsVUFBUjtBQUFBLENBQVQiLCJmaWxlIjoic2NyaXB0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImFyci5tYXAoeCA9PiB4ICogTVVMVElQTElFUik7Il19
diff --git a/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/in-files/script.js b/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/in-files/script.js
new file mode 100644
index 0000000000..4bc9539528
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/in-files/script.js
@@ -0,0 +1 @@
+arr.map(x => x * MULTIPLIER);
diff --git a/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/options.json b/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/options.json
new file mode 100644
index 0000000000..50f7bfab20
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["--watch", "--out-file", "out.js", "--no-babelrc"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/stderr.txt b/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/stderr.txt
new file mode 100644
index 0000000000..efaf1ab77d
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/filename --watch no filenames/stderr.txt
@@ -0,0 +1,2 @@
+babel:
+ --watch requires filenames
diff --git a/packages/babel-cli/test/fixtures/babel/filename does not exist/options.json b/packages/babel-cli/test/fixtures/babel/filename does not exist/options.json
new file mode 100644
index 0000000000..6ca9f9cb42
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/filename does not exist/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["index.js"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/filename does not exist/stderr.txt b/packages/babel-cli/test/fixtures/babel/filename does not exist/stderr.txt
new file mode 100644
index 0000000000..d50a9b7772
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/filename does not exist/stderr.txt
@@ -0,0 +1,2 @@
+babel:
+ index.js does not exist
diff --git a/packages/babel-cli/test/fixtures/babel/filename-sourcemap --out-file --source-maps inline/out-files/script2.js b/packages/babel-cli/test/fixtures/babel/filename-sourcemap --out-file --source-maps inline/out-files/script2.js
index dd0b9d668f..d1ac8b1f11 100644
--- a/packages/babel-cli/test/fixtures/babel/filename-sourcemap --out-file --source-maps inline/out-files/script2.js
+++ b/packages/babel-cli/test/fixtures/babel/filename-sourcemap --out-file --source-maps inline/out-files/script2.js
@@ -4,4 +4,4 @@ arr.map(function (x) {
return x * MULTIPLIER;
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9yaWdpbmFsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQSxHQUFBLENBQUE7QUFBQSxTQUFVLElBQUEsVUFBVjtBQUFBLENBQUEiLCJmaWxlIjoic2NyaXB0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBmb28gPSAoKSA9PiA0OyJdfQ==
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9yaWdpbmFsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsR0FBQSxDQUFBLEdBQUEsQ0FBQSxVQUFBLENBQUE7QUFBQSxTQUFVLENBQUEsR0FBQSxVQUFWO0FBQUEsQ0FBQSIsImZpbGUiOiJzY3JpcHQyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGZvbyA9ICgpID0+IDQ7Il19
diff --git a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/options.json
index 4c967d3de1..e1b64abb35 100644
--- a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/options.json
+++ b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/options.json
@@ -1,3 +1,10 @@
{
- "args": ["script.js", "script2.js", "--source-maps", "inline", "--out-file", "script3.js"]
+ "args": [
+ "script.js",
+ "script2.js",
+ "--source-maps",
+ "inline",
+ "--out-file",
+ "script3.js"
+ ]
}
diff --git a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/out-files/script3.js b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/out-files/script3.js
index 538f3938e1..6fea3635b1 100644
--- a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/out-files/script3.js
+++ b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps inline/out-files/script3.js
@@ -9,4 +9,4 @@ arr.map(function (x) {
return x * MULTIPLIER;
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcmlwdC5qcyIsInNjcmlwdDIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxDQUFDO0FBQUEsU0FBTSxFQUFOO0FBQUEsQ0FBRDs7O0FDQUEsSUFBSSxHQUFKLENBQVE7QUFBQSxTQUFLLElBQUksVUFBVDtBQUFBLENBQVIiLCJmaWxlIjoic2NyaXB0My5qcyIsInNvdXJjZXNDb250ZW50IjpbIigoKSA9PiA0MikiLCJhcnIubWFwKHggPT4geCAqIE1VTFRJUExJRVIpOyJdfQ==
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjcmlwdC5qcyIsInNjcmlwdDIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxDQUFDO0FBQUEsU0FBTSxFQUFOO0FBQUEsQ0FBRDs7O0FDQUEsR0FBRyxDQUFDLEdBQUosQ0FBUSxVQUFBLENBQUM7QUFBQSxTQUFJLENBQUMsR0FBRyxVQUFSO0FBQUEsQ0FBVCIsImZpbGUiOiJzY3JpcHQzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiKCgpID0+IDQyKSIsImFyci5tYXAoeCA9PiB4ICogTVVMVElQTElFUik7Il19
diff --git a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/options.json b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/options.json
index 15308d9c7f..c19120cc56 100644
--- a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/options.json
+++ b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/options.json
@@ -1,3 +1,9 @@
{
- "args": ["script.js", "script2.js", "--source-maps", "--out-file", "script3.js"]
+ "args": [
+ "script.js",
+ "script2.js",
+ "--source-maps",
+ "--out-file",
+ "script3.js"
+ ]
}
diff --git a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js.map b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js.map
index d0eac05292..ebbc4f5b25 100644
--- a/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js.map
+++ b/packages/babel-cli/test/fixtures/babel/filenames --out-file --source-maps/out-files/script3.js.map
@@ -1 +1 @@
-{"version":3,"sources":["script.js","script2.js"],"names":[],"mappings":";;AAAA,CAAC;AAAA,SAAM,EAAN;AAAA,CAAD;;;ACAA,IAAI,GAAJ,CAAQ;AAAA,SAAK,IAAI,UAAT;AAAA,CAAR","file":"script3.js","sourcesContent":["(() => 42)","arr.map(x => x * MULTIPLIER);"]}
\ No newline at end of file
+{"version":3,"sources":["script.js","script2.js"],"names":[],"mappings":";;AAAA,CAAC;AAAA,SAAM,EAAN;AAAA,CAAD;;;ACAA,GAAG,CAAC,GAAJ,CAAQ,UAAA,CAAC;AAAA,SAAI,CAAC,GAAG,UAAR;AAAA,CAAT","file":"script3.js","sourcesContent":["(() => 42)","arr.map(x => x * MULTIPLIER);"]}
diff --git a/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/options.json b/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/options.json
new file mode 100644
index 0000000000..a7a278dc49
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["--source-maps", "--out-file", "test.js", "--no-babelrc"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js b/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/out-files/test.js
similarity index 100%
rename from packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js
rename to packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/out-files/test.js
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js.map b/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/out-files/test.js.map
similarity index 66%
rename from packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js.map
rename to packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/out-files/test.js.map
index 78347b03c3..271bfcad10 100644
--- a/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/out-files/test.js.map
+++ b/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/out-files/test.js.map
@@ -1 +1 @@
-{"version":3,"sources":["stdin"],"names":[],"mappings":";;AAAA,GAAG,CAAC,GAAG,CAAC,UAAA,CAAC;SAAI,CAAC,GAAG,CAAC;CAAA,CAAC,CAAC","file":"test.js","sourcesContent":["arr.map(x => x * x);"]}
+{"version":3,"sources":["stdin"],"names":[],"mappings":";;AAAA,GAAG,CAAC,GAAJ,CAAQ,UAAA,CAAC;AAAA,SAAI,CAAC,GAAG,CAAR;AAAA,CAAT","file":"test.js","sourcesContent":["arr.map(x => x * x);"]}
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/stdin.txt b/packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/stdin.txt
similarity index 100%
rename from packages/babel-cli/test/fixtures/babel/.stdin --out-file --source-maps/stdin.txt
rename to packages/babel-cli/test/fixtures/babel/stdin --out-file --source-maps/stdin.txt
diff --git a/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/options.json b/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/options.json
new file mode 100644
index 0000000000..767c3917f4
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/options.json
@@ -0,0 +1,3 @@
+{
+ "args": ["--source-maps", "inline", "--no-babelrc"]
+}
diff --git a/packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdin.txt b/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/stdin.txt
similarity index 100%
rename from packages/babel-cli/test/fixtures/babel/.stdin --source-maps inline/stdin.txt
rename to packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/stdin.txt
diff --git a/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/stdout.txt b/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/stdout.txt
new file mode 100644
index 0000000000..2408b7272e
--- /dev/null
+++ b/packages/babel-cli/test/fixtures/babel/stdin --source-maps inline/stdout.txt
@@ -0,0 +1,8 @@
+"use strict";
+
+arr.map(function (x) {
+ return x * x;
+});
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbImFyciIsIm1hcCIsIngiXSwibWFwcGluZ3MiOiI7O0FBQUFBLEdBQUcsQ0FBQ0MsR0FBSixDQUFRLFVBQUFDLENBQUM7QUFBQSxTQUFJQSxDQUFDLEdBQUdBLENBQVI7QUFBQSxDQUFUIiwic291cmNlc0NvbnRlbnQiOlsiYXJyLm1hcCh4ID0+IHggKiB4KTsiXX0=
+
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzdGRvdXQifQ==
diff --git a/packages/babel-code-frame/package.json b/packages/babel-code-frame/package.json
index a11fd7cc54..7e0609b321 100644
--- a/packages/babel-code-frame/package.json
+++ b/packages/babel-code-frame/package.json
@@ -1,14 +1,17 @@
{
"name": "@babel/code-frame",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Generate errors that contain a code frame that point to source locations.",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-code-frame",
"main": "lib/index.js",
"dependencies": {
- "@babel/highlight": "7.0.0-beta.52"
+ "@babel/highlight": "^7.0.0"
},
"devDependencies": {
"chalk": "^2.0.0",
diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json
index 7af33ff4af..cd963851d3 100644
--- a/packages/babel-core/package.json
+++ b/packages/babel-core/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/core",
- "version": "7.0.0-beta.52",
+ "version": "7.1.2",
"description": "Babel compiler core.",
"main": "lib/index.js",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-core",
"keywords": [
"6to5",
@@ -30,24 +33,23 @@
"./lib/transform-file.js": "./lib/transform-file-browser.js"
},
"dependencies": {
- "@babel/code-frame": "7.0.0-beta.52",
- "@babel/generator": "7.0.0-beta.52",
- "@babel/helpers": "7.0.0-beta.52",
- "@babel/parser": "7.0.0-beta.52",
- "@babel/template": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52",
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.1.2",
+ "@babel/helpers": "^7.1.2",
+ "@babel/parser": "^7.1.2",
+ "@babel/template": "^7.1.2",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.1.2",
"convert-source-map": "^1.1.0",
"debug": "^3.1.0",
"json5": "^0.5.0",
- "lodash": "^4.17.5",
- "micromatch": "^2.3.11",
+ "lodash": "^4.17.10",
"resolve": "^1.3.2",
"semver": "^5.4.1",
"source-map": "^0.5.0"
},
"devDependencies": {
- "@babel/helper-transform-fixture-test-runner": "7.0.0-beta.52",
- "@babel/register": "7.0.0-beta.52"
+ "@babel/helper-transform-fixture-test-runner": "^7.0.0",
+ "@babel/register": "^7.0.0"
}
}
diff --git a/packages/babel-core/src/config/caching.js b/packages/babel-core/src/config/caching.js
index 7c3a28bda2..c8db5a166c 100644
--- a/packages/babel-core/src/config/caching.js
+++ b/packages/babel-core/src/config/caching.js
@@ -206,12 +206,29 @@ function makeSimpleConfigurator(
return;
}
- return cache.using(val);
+ return cache.using(() => assertSimpleType(val()));
}
cacheFn.forever = () => cache.forever();
cacheFn.never = () => cache.never();
- cacheFn.using = cb => cache.using(() => cb());
- cacheFn.invalidate = cb => cache.invalidate(() => cb());
+ cacheFn.using = cb => cache.using(() => assertSimpleType(cb()));
+ cacheFn.invalidate = cb => cache.invalidate(() => assertSimpleType(cb()));
return (cacheFn: any);
}
+
+// Types are limited here so that in the future these values can be used
+// as part of Babel's caching logic.
+type SimpleType = string | boolean | number | null | void;
+export function assertSimpleType(value: mixed): SimpleType {
+ if (
+ value != null &&
+ typeof value !== "string" &&
+ typeof value !== "boolean" &&
+ typeof value !== "number"
+ ) {
+ throw new Error(
+ "Cache keys must be either string, boolean, number, null, or undefined.",
+ );
+ }
+ return value;
+}
diff --git a/packages/babel-core/src/config/config-chain.js b/packages/babel-core/src/config/config-chain.js
index d117e7c538..b9e13a1307 100644
--- a/packages/babel-core/src/config/config-chain.js
+++ b/packages/babel-core/src/config/config-chain.js
@@ -1,7 +1,6 @@
// @flow
import path from "path";
-import micromatch from "micromatch";
import buildDebug from "debug";
import {
validate,
@@ -9,7 +8,9 @@ import {
type IgnoreList,
type ConfigApplicableTest,
type BabelrcSearch,
+ type CallerMetadata,
} from "./validation/options";
+import pathPatternToRegex from "./pattern-to-regex";
const debug = buildDebug("babel:config:config-chain");
@@ -50,17 +51,27 @@ export type ConfigContext = {
cwd: string,
root: string,
envName: string,
-};
-
-type ConfigContextNamed = {
- ...ConfigContext,
- filename: string,
+ caller: CallerMetadata | void,
};
/**
* Build a config chain for a given preset.
*/
-export const buildPresetChain: (
+export function buildPresetChain(
+ arg: PresetInstance,
+ context: *,
+): ConfigChain | null {
+ const chain = buildPresetChainWalker(arg, context);
+ if (!chain) return null;
+
+ return {
+ plugins: dedupDescriptors(chain.plugins),
+ presets: dedupDescriptors(chain.presets),
+ options: chain.options,
+ };
+}
+
+export const buildPresetChainWalker: (
arg: PresetInstance,
context: *,
) => * = makeChainWalker({
@@ -133,9 +144,14 @@ export function buildRootChain(
let configFile;
if (typeof opts.configFile === "string") {
- configFile = loadConfig(opts.configFile, context.cwd, context.envName);
+ configFile = loadConfig(
+ opts.configFile,
+ context.cwd,
+ context.envName,
+ context.caller,
+ );
} else if (opts.configFile !== false) {
- configFile = findRootConfig(context.root, context.envName);
+ configFile = findRootConfig(context.root, context.envName, context.caller);
}
let { babelrc, babelrcRoots } = opts;
@@ -174,6 +190,7 @@ export function buildRootChain(
({ ignore: ignoreFile, config: babelrcFile } = findRelativeConfig(
pkgData,
context.envName,
+ context.caller,
));
if (
@@ -217,7 +234,7 @@ function babelrcLoadEnabled(
const absoluteRoot = context.root;
- // Fast path to avoid having to load micromatch if the babelrc is just
+ // Fast path to avoid having to match patterns if the babelrc is just
// loading in the standard root directory.
if (babelrcRoots === undefined) {
return pkgData.directories.indexOf(absoluteRoot) !== -1;
@@ -225,15 +242,23 @@ function babelrcLoadEnabled(
let babelrcPatterns = babelrcRoots;
if (!Array.isArray(babelrcPatterns)) babelrcPatterns = [babelrcPatterns];
- babelrcPatterns = babelrcPatterns.map(pat => path.resolve(context.cwd, pat));
+ babelrcPatterns = babelrcPatterns.map(pat => {
+ return typeof pat === "string" ? path.resolve(context.cwd, pat) : pat;
+ });
- // Fast path to avoid having to load micromatch if the babelrc is just
+ // Fast path to avoid having to match patterns if the babelrc is just
// loading in the standard root directory.
if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {
return pkgData.directories.indexOf(absoluteRoot) !== -1;
}
- return micromatch(pkgData.directories, babelrcPatterns).length > 0;
+ return babelrcPatterns.some(pat => {
+ if (typeof pat === "string") pat = pathPatternToRegex(pat, context.cwd);
+
+ return pkgData.directories.some(directory => {
+ return matchPattern(pat, context.cwd, directory, context);
+ });
+ });
}
const validateConfigFile = makeWeakCache(
@@ -446,7 +471,12 @@ function mergeExtendsChain(
): boolean {
if (opts.extends === undefined) return true;
- const file = loadConfig(opts.extends, dirname, context.envName);
+ const file = loadConfig(
+ opts.extends,
+ dirname,
+ context.envName,
+ context.caller,
+ );
if (files.has(file)) {
throw new Error(
@@ -500,15 +530,19 @@ function normalizeOptions(opts: ValidatedOptions): ValidatedOptions {
};
delete options.extends;
delete options.env;
+ delete options.overrides;
delete options.plugins;
delete options.presets;
delete options.passPerPreset;
delete options.ignore;
delete options.only;
+ delete options.test;
+ delete options.include;
+ delete options.exclude;
// "sourceMap" is just aliased to sourceMap, so copy it over as
// we merge the options together.
- if (options.sourceMap) {
+ if (options.hasOwnProperty("sourceMap")) {
options.sourceMaps = options.sourceMap;
delete options.sourceMap;
}
@@ -520,7 +554,7 @@ function dedupDescriptors(
): Array {
const map: Map<
Function,
- Map,
+ Map,
> = new Map();
const descriptors = [];
@@ -535,16 +569,12 @@ function dedupDescriptors(
}
let desc = nameMap.get(item.name);
if (!desc) {
- desc = { value: null };
+ desc = { value: item };
descriptors.push(desc);
// Treat passPerPreset presets as unique, skipping them
// in the merge processing steps.
if (!item.ownPass) nameMap.set(item.name, desc);
- }
-
- if (item.options === false) {
- desc.value = null;
} else {
desc.value = item;
}
@@ -554,7 +584,7 @@ function dedupDescriptors(
}
return descriptors.reduce((acc, desc) => {
- if (desc.value) acc.push(desc.value);
+ acc.push(desc.value);
return acc;
}, []);
}
@@ -579,20 +609,9 @@ function configFieldIsApplicable(
test: ConfigApplicableTest,
dirname: string,
): boolean {
- if (typeof context.filename !== "string") {
- throw new Error(
- `Configuration contains explicit test/include/exclude checks, but no filename was passed to Babel`,
- );
- }
- // $FlowIgnore - Flow refinements aren't quite smart enough for this :(
- const ctx: ConfigContextNamed = context;
-
const patterns = Array.isArray(test) ? test : [test];
- // Disabling negation here because it's a bit buggy from
- // https://github.com/babel/babel/issues/6907 and it's not clear that it is
- // needed since users can use 'exclude' alongside 'test'/'include'.
- return matchesPatterns(ctx, patterns, dirname, false /* allowNegation */);
+ return matchesPatterns(context, patterns, dirname);
}
/**
@@ -604,43 +623,24 @@ function shouldIgnore(
only: ?IgnoreList,
dirname: string,
): boolean {
- if (ignore) {
- if (typeof context.filename !== "string") {
- throw new Error(
- `Configuration contains ignore checks, but no filename was passed to Babel`,
- );
- }
- // $FlowIgnore - Flow refinements aren't quite smart enough for this :(
- const ctx: ConfigContextNamed = context;
- if (matchesPatterns(ctx, ignore, dirname)) {
- debug(
- "Ignored %o because it matched one of %O from %o",
- context.filename,
- ignore,
- dirname,
- );
- return true;
- }
+ if (ignore && matchesPatterns(context, ignore, dirname)) {
+ debug(
+ "Ignored %o because it matched one of %O from %o",
+ context.filename,
+ ignore,
+ dirname,
+ );
+ return true;
}
- if (only) {
- if (typeof context.filename !== "string") {
- throw new Error(
- `Configuration contains ignore checks, but no filename was passed to Babel`,
- );
- }
- // $FlowIgnore - Flow refinements aren't quite smart enough for this :(
- const ctx: ConfigContextNamed = context;
-
- if (!matchesPatterns(ctx, only, dirname)) {
- debug(
- "Ignored %o because it failed to match one of %O from %o",
- context.filename,
- only,
- dirname,
- );
- return true;
- }
+ if (only && !matchesPatterns(context, only, dirname)) {
+ debug(
+ "Ignored %o because it failed to match one of %O from %o",
+ context.filename,
+ only,
+ dirname,
+ );
+ return true;
}
return false;
@@ -651,64 +651,37 @@ function shouldIgnore(
* Otherwise returns result of matching pattern Regex with filename.
*/
function matchesPatterns(
- context: ConfigContextNamed,
+ context: ConfigContext,
patterns: IgnoreList,
dirname: string,
- allowNegation?: boolean = true,
): boolean {
- const res = [];
- const strings = [];
- const fns = [];
-
- patterns.forEach(pattern => {
- if (typeof pattern === "string") strings.push(pattern);
- else if (typeof pattern === "function") fns.push(pattern);
- else res.push(pattern);
- });
-
- const filename = context.filename;
- if (res.some(re => re.test(context.filename))) return true;
- if (fns.some(fn => fn(filename))) return true;
-
- if (strings.length > 0) {
- const possibleDirs = getPossibleDirs(context);
-
- const absolutePatterns = strings.map(pattern => {
- // Preserve the "!" prefix so that micromatch can use it for negation.
- const negate = pattern[0] === "!";
- if (negate && !allowNegation) {
- throw new Error(`Negation of file paths is not supported.`);
- }
- if (negate) pattern = pattern.slice(1);
-
- return (negate ? "!" : "") + path.resolve(dirname, pattern);
- });
-
- if (
- micromatch(possibleDirs, absolutePatterns, {
- nocase: true,
- nonegate: !allowNegation,
- }).length > 0
- ) {
- return true;
- }
- }
-
- return false;
+ return patterns.some(pattern =>
+ matchPattern(pattern, dirname, context.filename, context),
+ );
}
-const getPossibleDirs = makeWeakCache((context: ConfigContextNamed) => {
- let current = context.filename;
- if (typeof current !== "string") return [];
-
- const possibleDirs = [current];
- while (true) {
- const previous = current;
- current = path.dirname(current);
- if (previous === current) break;
-
- possibleDirs.push(current);
+function matchPattern(
+ pattern,
+ dirname,
+ pathToTest,
+ context: ConfigContext,
+): boolean {
+ if (typeof pattern === "function") {
+ return !!pattern(pathToTest, {
+ dirname,
+ envName: context.envName,
+ caller: context.caller,
+ });
}
- return possibleDirs;
-});
+ if (typeof pathToTest !== "string") {
+ throw new Error(
+ `Configuration contains string/RegExp pattern, but no filename was passed to Babel`,
+ );
+ }
+
+ if (typeof pattern === "string") {
+ pattern = pathPatternToRegex(pattern, dirname);
+ }
+ return pattern.test(pathToTest);
+}
diff --git a/packages/babel-core/src/config/config-descriptors.js b/packages/babel-core/src/config/config-descriptors.js
index cee11ad620..e17cca93c6 100644
--- a/packages/babel-core/src/config/config-descriptors.js
+++ b/packages/babel-core/src/config/config-descriptors.js
@@ -41,6 +41,22 @@ export type UnloadedDescriptor = {
} | void,
};
+function isEqualDescriptor(
+ a: UnloadedDescriptor,
+ b: UnloadedDescriptor,
+): boolean {
+ return (
+ a.name === b.name &&
+ a.value === b.value &&
+ a.options === b.options &&
+ a.dirname === b.dirname &&
+ a.alias === b.alias &&
+ a.ownPass === b.ownPass &&
+ (a.file && a.file.request) === (b.file && b.file.request) &&
+ (a.file && a.file.resolved) === (b.file && b.file.resolved)
+ );
+}
+
export type ValidatedFile = {
filepath: string,
dirname: string,
@@ -50,7 +66,7 @@ export type ValidatedFile = {
/**
* Create a set of descriptors from a given options object, preserving
* descriptor identity based on the identity of the plugin/preset arrays
- * themselves.
+ * themselves, and potentially on the identity of the plugins/presets + options.
*/
export function createCachedDescriptors(
dirname: string,
@@ -113,26 +129,82 @@ export function createUncachedDescriptors(
};
}
+const PRESET_DESCRIPTOR_CACHE = new WeakMap();
const createCachedPresetDescriptors = makeWeakCache(
(items: PluginList, cache: CacheConfigurator) => {
const dirname = cache.using(dir => dir);
return makeStrongCache((alias: string) =>
makeStrongCache((passPerPreset: boolean) =>
- createPresetDescriptors(items, dirname, alias, passPerPreset),
+ createPresetDescriptors(items, dirname, alias, passPerPreset).map(
+ // Items are cached using the overall preset array identity when
+ // possibly, but individual descriptors are also cached if a match
+ // can be found in the previously-used descriptor lists.
+ desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc),
+ ),
),
);
},
);
+const PLUGIN_DESCRIPTOR_CACHE = new WeakMap();
const createCachedPluginDescriptors = makeWeakCache(
(items: PluginList, cache: CacheConfigurator) => {
const dirname = cache.using(dir => dir);
return makeStrongCache((alias: string) =>
- createPluginDescriptors(items, dirname, alias),
+ createPluginDescriptors(items, dirname, alias).map(
+ // Items are cached using the overall plugin array identity when
+ // possibly, but individual descriptors are also cached if a match
+ // can be found in the previously-used descriptor lists.
+ desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc),
+ ),
);
},
);
+/**
+ * When no options object is given in a descriptor, this object is used
+ * as a WeakMap key in order to have consistent identity.
+ */
+const DEFAULT_OPTIONS = {};
+
+/**
+ * Given the cache and a descriptor, returns a matching descriptor from the
+ * cache, or else returns the input descriptor and adds it to the cache for
+ * next time.
+ */
+function loadCachedDescriptor(
+ cache: WeakMap<{} | Function, WeakMap<{}, Array>>,
+ desc: UnloadedDescriptor,
+) {
+ const { value, options = DEFAULT_OPTIONS } = desc;
+ if (options === false) return desc;
+
+ let cacheByOptions = cache.get(value);
+ if (!cacheByOptions) {
+ cacheByOptions = new WeakMap();
+ cache.set(value, cacheByOptions);
+ }
+
+ let possibilities = cacheByOptions.get(options);
+ if (!possibilities) {
+ possibilities = [];
+ cacheByOptions.set(options, possibilities);
+ }
+
+ if (possibilities.indexOf(desc) === -1) {
+ const matches = possibilities.filter(possibility =>
+ isEqualDescriptor(possibility, desc),
+ );
+ if (matches.length > 0) {
+ return matches[0];
+ }
+
+ possibilities.push(desc);
+ }
+
+ return desc;
+}
+
function createPresetDescriptors(
items: PluginList,
dirname: string,
diff --git a/packages/babel-core/src/config/files/configuration.js b/packages/babel-core/src/config/files/configuration.js
index 4547f5e4ec..279da6b7cf 100644
--- a/packages/babel-core/src/config/files/configuration.js
+++ b/packages/babel-core/src/config/files/configuration.js
@@ -12,7 +12,9 @@ import {
} from "../caching";
import makeAPI from "../helpers/config-api";
import { makeStaticFileCache } from "./utils";
+import pathPatternToRegex from "../pattern-to-regex";
import type { FilePackageData, RelativeConfig, ConfigFile } from "./types";
+import type { CallerMetadata } from "../validation/options";
const debug = buildDebug("babel:config:loading:files:configuration");
@@ -22,9 +24,25 @@ const BABELRC_FILENAME = ".babelrc";
const BABELRC_JS_FILENAME = ".babelrc.js";
const BABELIGNORE_FILENAME = ".babelignore";
+export function findConfigUpwards(rootDir: string): string | null {
+ let dirname = rootDir;
+ while (true) {
+ if (fs.existsSync(path.join(dirname, BABEL_CONFIG_JS_FILENAME))) {
+ return dirname;
+ }
+
+ const nextDir = path.dirname(dirname);
+ if (dirname === nextDir) break;
+ dirname = nextDir;
+ }
+
+ return null;
+}
+
export function findRelativeConfig(
packageData: FilePackageData,
envName: string,
+ caller: CallerMetadata | void,
): RelativeConfig {
let config = null;
let ignore = null;
@@ -36,7 +54,7 @@ export function findRelativeConfig(
config = [BABELRC_FILENAME, BABELRC_JS_FILENAME].reduce(
(previousConfig: ConfigFile | null, name) => {
const filepath = path.join(loc, name);
- const config = readConfig(filepath, envName);
+ const config = readConfig(filepath, envName, caller);
if (config && previousConfig) {
throw new Error(
@@ -90,10 +108,11 @@ export function findRelativeConfig(
export function findRootConfig(
dirname: string,
envName: string,
+ caller: CallerMetadata | void,
): ConfigFile | null {
const filepath = path.resolve(dirname, BABEL_CONFIG_JS_FILENAME);
- const conf = readConfig(filepath, envName);
+ const conf = readConfig(filepath, envName, caller);
if (conf) {
debug("Found root config %o in $o.", BABEL_CONFIG_JS_FILENAME, dirname);
}
@@ -104,10 +123,11 @@ export function loadConfig(
name: string,
dirname: string,
envName: string,
+ caller: CallerMetadata | void,
): ConfigFile {
const filepath = resolve.sync(name, { basedir: dirname });
- const conf = readConfig(filepath, envName);
+ const conf = readConfig(filepath, envName, caller);
if (!conf) {
throw new Error(`Config file ${filepath} contains no configuration data`);
}
@@ -120,16 +140,22 @@ export function loadConfig(
* Read the given config file, returning the result. Returns null if no config was found, but will
* throw if there are parsing errors while loading a config.
*/
-function readConfig(filepath, envName): ConfigFile | null {
+function readConfig(filepath, envName, caller): ConfigFile | null {
return path.extname(filepath) === ".js"
- ? readConfigJS(filepath, { envName })
+ ? readConfigJS(filepath, { envName, caller })
: readConfigJSON5(filepath);
}
const LOADING_CONFIGS = new Set();
const readConfigJS = makeStrongCache(
- (filepath, cache: CacheConfigurator<{ envName: string }>) => {
+ (
+ filepath,
+ cache: CacheConfigurator<{
+ envName: string,
+ caller: CallerMetadata | void,
+ }>,
+ ) => {
if (!fs.existsSync(filepath)) {
cache.forever();
return null;
@@ -240,15 +266,24 @@ const readConfigJSON5 = makeStaticFileCache((filepath, content) => {
});
const readIgnoreConfig = makeStaticFileCache((filepath, content) => {
- const ignore = content
+ const ignoreDir = path.dirname(filepath);
+ const ignorePatterns = content
.split("\n")
.map(line => line.replace(/#(.*?)$/, "").trim())
.filter(line => !!line);
+ for (const pattern of ignorePatterns) {
+ if (pattern[0] === "!") {
+ throw new Error(`Negation of file paths is not supported.`);
+ }
+ }
+
return {
filepath,
dirname: path.dirname(filepath),
- ignore,
+ ignore: ignorePatterns.map(pattern =>
+ pathPatternToRegex(pattern, ignoreDir),
+ ),
};
});
diff --git a/packages/babel-core/src/config/files/index-browser.js b/packages/babel-core/src/config/files/index-browser.js
index cbc8b69a98..1d2adccaa8 100644
--- a/packages/babel-core/src/config/files/index-browser.js
+++ b/packages/babel-core/src/config/files/index-browser.js
@@ -7,8 +7,16 @@ import type {
FilePackageData,
} from "./types";
+import type { CallerMetadata } from "../validation/options";
+
export type { ConfigFile, IgnoreFile, RelativeConfig, FilePackageData };
+export function findConfigUpwards(
+ rootDir: string, // eslint-disable-line no-unused-vars
+): string | null {
+ return null;
+}
+
export function findPackageData(filepath: string): FilePackageData {
return {
filepath,
@@ -21,6 +29,7 @@ export function findPackageData(filepath: string): FilePackageData {
export function findRelativeConfig(
pkgData: FilePackageData, // eslint-disable-line no-unused-vars
envName: string, // eslint-disable-line no-unused-vars
+ caller: CallerMetadata | void, // eslint-disable-line no-unused-vars
): RelativeConfig {
return { pkg: null, config: null, ignore: null };
}
@@ -28,6 +37,7 @@ export function findRelativeConfig(
export function findRootConfig(
dirname: string, // eslint-disable-line no-unused-vars
envName: string, // eslint-disable-line no-unused-vars
+ caller: CallerMetadata | void, // eslint-disable-line no-unused-vars
): ConfigFile | null {
return null;
}
@@ -36,6 +46,7 @@ export function loadConfig(
name: string,
dirname: string,
envName: string, // eslint-disable-line no-unused-vars
+ caller: CallerMetadata | void, // eslint-disable-line no-unused-vars
): ConfigFile {
throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);
}
diff --git a/packages/babel-core/src/config/files/index.js b/packages/babel-core/src/config/files/index.js
index 9f8d9797bb..3c74f2d4ee 100644
--- a/packages/babel-core/src/config/files/index.js
+++ b/packages/babel-core/src/config/files/index.js
@@ -10,6 +10,7 @@ import typeof * as indexType from "./index";
export { findPackageData } from "./package";
export {
+ findConfigUpwards,
findRelativeConfig,
findRootConfig,
loadConfig,
diff --git a/packages/babel-core/src/config/files/plugins.js b/packages/babel-core/src/config/files/plugins.js
index 75ed818cc0..be20468d16 100644
--- a/packages/babel-core/src/config/files/plugins.js
+++ b/packages/babel-core/src/config/files/plugins.js
@@ -15,8 +15,8 @@ const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/;
const BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-preset-)/;
const BABEL_PLUGIN_ORG_RE = /^(@babel\/)(?!plugin-|[^/]+\/)/;
const BABEL_PRESET_ORG_RE = /^(@babel\/)(?!preset-|[^/]+\/)/;
-const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?!babel-plugin(?:-|\/|$)|[^/]+\/)/;
-const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?!babel-preset(?:-|\/|$)|[^/]+\/)/;
+const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/;
+const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/;
const OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/;
export function resolvePlugin(name: string, dirname: string): string | null {
@@ -132,7 +132,7 @@ function resolveStandardizedName(
} catch (e2) {}
if (resolvedOppositeType) {
- e.message += `\n- Did you accidentally pass a ${type} as a ${oppositeType}?`;
+ e.message += `\n- Did you accidentally pass a ${oppositeType} as a ${type}?`;
}
throw e;
diff --git a/packages/babel-core/src/config/files/types.js b/packages/babel-core/src/config/files/types.js
index fa9d96fe5d..24649d010f 100644
--- a/packages/babel-core/src/config/files/types.js
+++ b/packages/babel-core/src/config/files/types.js
@@ -9,7 +9,7 @@ export type ConfigFile = {
export type IgnoreFile = {
filepath: string,
dirname: string,
- ignore: Array,
+ ignore: Array,
};
export type RelativeConfig = {
diff --git a/packages/babel-core/src/config/full.js b/packages/babel-core/src/config/full.js
index 8892056f76..af4212953f 100644
--- a/packages/babel-core/src/config/full.js
+++ b/packages/babel-core/src/config/full.js
@@ -13,7 +13,7 @@ import {
import type { UnloadedDescriptor } from "./config-descriptors";
import traverse from "@babel/traverse";
import { makeWeakCache, type CacheConfigurator } from "./caching";
-import { validate } from "./validation/options";
+import { validate, type CallerMetadata } from "./validation/options";
import { validatePluginObject } from "./validation/plugins";
import makeAPI from "./helpers/config-api";
@@ -41,6 +41,7 @@ export type PluginPasses = Array;
// process 'ignore'/'only' and other filename-based logic.
type SimpleContext = {
envName: string,
+ caller: CallerMetadata | void,
};
export default function loadFullConfig(
@@ -68,15 +69,21 @@ export default function loadFullConfig(
},
pass: Array,
) {
- const plugins = config.plugins.map(descriptor => {
- return loadPluginDescriptor(descriptor, context);
- });
- const presets = config.presets.map(descriptor => {
- return {
- preset: loadPresetDescriptor(descriptor, context),
- pass: descriptor.ownPass ? [] : pass,
- };
- });
+ const plugins = config.plugins.reduce((acc, descriptor) => {
+ if (descriptor.options !== false) {
+ acc.push(loadPluginDescriptor(descriptor, context));
+ }
+ return acc;
+ }, []);
+ const presets = config.presets.reduce((acc, descriptor) => {
+ if (descriptor.options !== false) {
+ acc.push({
+ preset: loadPresetDescriptor(descriptor, context),
+ pass: descriptor.ownPass ? [] : pass,
+ });
+ }
+ return acc;
+ }, []);
// resolve presets
if (presets.length > 0) {
diff --git a/packages/babel-core/src/config/helpers/config-api.js b/packages/babel-core/src/config/helpers/config-api.js
index da14c22eeb..fa106f0ce2 100644
--- a/packages/babel-core/src/config/helpers/config-api.js
+++ b/packages/babel-core/src/config/helpers/config-api.js
@@ -2,7 +2,13 @@
import semver from "semver";
import { version as coreVersion } from "../../";
-import type { CacheConfigurator, SimpleCacheConfigurator } from "../caching";
+import {
+ assertSimpleType,
+ type CacheConfigurator,
+ type SimpleCacheConfigurator,
+} from "../caching";
+
+import type { CallerMetadata } from "../validation/options";
type EnvFunction = {
(): string,
@@ -20,12 +26,14 @@ export type PluginAPI = {
};
export default function makeAPI(
- cache: CacheConfigurator<{ envName: string }>,
+ cache: CacheConfigurator<{ envName: string, caller: CallerMetadata | void }>,
): PluginAPI {
const env: any = value =>
cache.using(data => {
if (typeof value === "undefined") return data.envName;
- if (typeof value === "function") return value(data.envName);
+ if (typeof value === "function") {
+ return assertSimpleType(value(data.envName));
+ }
if (!Array.isArray(value)) value = [value];
return value.some(entry => {
@@ -36,12 +44,16 @@ export default function makeAPI(
});
});
+ const caller: any = cb =>
+ cache.using(data => assertSimpleType(cb(data.caller)));
+
return {
version: coreVersion,
cache: cache.simple(),
// Expose ".env()" so people can easily get the same env that we expose using the "env" key.
env,
async: () => false,
+ caller,
assertVersion,
};
}
diff --git a/packages/babel-core/src/config/item.js b/packages/babel-core/src/config/item.js
index ab9b51207e..c847df029e 100644
--- a/packages/babel-core/src/config/item.js
+++ b/packages/babel-core/src/config/item.js
@@ -71,9 +71,11 @@ class ConfigItem {
/**
* The options, if any, that were passed to the item.
- * Mutating this will lead to undefined behavior. If you need
+ * Mutating this will lead to undefined behavior.
+ *
+ * "false" means that this item has been disabled.
*/
- options: {} | void;
+ options: {} | void | false;
/**
* The directory that the options for this item are relative to.
@@ -103,10 +105,6 @@ class ConfigItem {
this._descriptor = descriptor;
Object.defineProperty(this, "_descriptor", ({ enumerable: false }: any));
- if (this._descriptor.options === false) {
- throw new Error("Assertion failure - unexpected false options");
- }
-
this.value = this._descriptor.value;
this.options = this._descriptor.options;
this.dirname = this._descriptor.dirname;
diff --git a/packages/babel-core/src/config/partial.js b/packages/babel-core/src/config/partial.js
index 206f7c35de..9f5f85ed4e 100644
--- a/packages/babel-core/src/config/partial.js
+++ b/packages/babel-core/src/config/partial.js
@@ -6,9 +6,43 @@ import { mergeOptions } from "./util";
import { createItemFromDescriptor } from "./item";
import { buildRootChain, type ConfigContext } from "./config-chain";
import { getEnv } from "./helpers/environment";
-import { validate, type ValidatedOptions } from "./validation/options";
+import {
+ validate,
+ type ValidatedOptions,
+ type RootMode,
+} from "./validation/options";
-import type { ConfigFile, IgnoreFile } from "./files";
+import { findConfigUpwards, type ConfigFile, type IgnoreFile } from "./files";
+
+function resolveRootMode(rootDir: string, rootMode: RootMode): string {
+ switch (rootMode) {
+ case "root":
+ return rootDir;
+
+ case "upward-optional": {
+ const upwardRootDir = findConfigUpwards(rootDir);
+ return upwardRootDir === null ? rootDir : upwardRootDir;
+ }
+
+ case "upward": {
+ const upwardRootDir = findConfigUpwards(rootDir);
+ if (upwardRootDir !== null) return upwardRootDir;
+
+ throw Object.assign(
+ (new Error(
+ `Babel was run with rootMode:"upward" but a root could not ` +
+ `be found when searching upward from "${rootDir}"`,
+ ): any),
+ {
+ code: "BABEL_ROOT_NOT_FOUND",
+ dirname: rootDir,
+ },
+ );
+ }
+ default:
+ throw new Error(`Assertion failure - unknown rootMode value`);
+ }
+}
export default function loadPrivatePartialConfig(
inputOpts: mixed,
@@ -28,9 +62,18 @@ export default function loadPrivatePartialConfig(
const args = inputOpts ? validate("arguments", inputOpts) : {};
- const { envName = getEnv(), cwd = ".", root: rootDir = "." } = args;
+ const {
+ envName = getEnv(),
+ cwd = ".",
+ root: rootDir = ".",
+ rootMode = "root",
+ caller,
+ } = args;
const absoluteCwd = path.resolve(cwd);
- const absoluteRootDir = path.resolve(absoluteCwd, rootDir);
+ const absoluteRootDir = resolveRootMode(
+ path.resolve(absoluteCwd, rootDir),
+ rootMode,
+ );
const context: ConfigContext = {
filename:
@@ -40,6 +83,7 @@ export default function loadPrivatePartialConfig(
cwd: absoluteCwd,
root: absoluteRootDir,
envName,
+ caller,
};
const configChain = buildRootChain(args, context);
diff --git a/packages/babel-core/src/config/pattern-to-regex.js b/packages/babel-core/src/config/pattern-to-regex.js
new file mode 100644
index 0000000000..d796617f89
--- /dev/null
+++ b/packages/babel-core/src/config/pattern-to-regex.js
@@ -0,0 +1,51 @@
+// @flow
+import path from "path";
+import escapeRegExp from "lodash/escapeRegExp";
+
+const sep = `\\${path.sep}`;
+const endSep = `(?:${sep}|$)`;
+
+const substitution = `[^${sep}]+`;
+
+const starPat = `(?:${substitution}${sep})`;
+const starPatLast = `(?:${substitution}${endSep})`;
+
+const starStarPat = `${starPat}*?`;
+const starStarPatLast = `${starPat}*?${starPatLast}?`;
+
+/**
+ * Implement basic pattern matching that will allow users to do the simple
+ * tests with * and **. If users want full complex pattern matching, then can
+ * always use regex matching, or function validation.
+ */
+export default function pathToPattern(
+ pattern: string,
+ dirname: string,
+): RegExp {
+ const parts = path.resolve(dirname, pattern).split(path.sep);
+
+ return new RegExp(
+ [
+ "^",
+ ...parts.map((part, i) => {
+ const last = i === parts.length - 1;
+
+ // ** matches 0 or more path parts.
+ if (part === "**") return last ? starStarPatLast : starStarPat;
+
+ // * matches 1 path part.
+ if (part === "*") return last ? starPatLast : starPat;
+
+ // *.ext matches a wildcard with an extension.
+ if (part.indexOf("*.") === 0) {
+ return (
+ substitution + escapeRegExp(part.slice(1)) + (last ? endSep : sep)
+ );
+ }
+
+ // Otherwise match the pattern text.
+ return escapeRegExp(part) + (last ? endSep : sep);
+ }),
+ ].join(""),
+ );
+}
diff --git a/packages/babel-core/src/config/validation/option-assertions.js b/packages/babel-core/src/config/validation/option-assertions.js
index a637651700..321e1c0632 100644
--- a/packages/babel-core/src/config/validation/option-assertions.js
+++ b/packages/babel-core/src/config/validation/option-assertions.js
@@ -13,16 +13,70 @@ import type {
SourceTypeOption,
CompactOption,
RootInputSourceMapOption,
+ NestingPath,
+ CallerMetadata,
+ RootMode,
} from "./options";
export type ValidatorSet = {
[string]: Validator,
};
-export type Validator = (string, mixed) => T;
+export type Validator = (OptionPath, mixed) => T;
+
+export function msg(loc: NestingPath | GeneralPath) {
+ switch (loc.type) {
+ case "root":
+ return ``;
+ case "env":
+ return `${msg(loc.parent)}.env["${loc.name}"]`;
+ case "overrides":
+ return `${msg(loc.parent)}.overrides[${loc.index}]`;
+ case "option":
+ return `${msg(loc.parent)}.${loc.name}`;
+ case "access":
+ return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;
+ default:
+ throw new Error(`Assertion failure: Unknown type ${loc.type}`);
+ }
+}
+
+export function access(loc: GeneralPath, name: string | number): AccessPath {
+ return {
+ type: "access",
+ name,
+ parent: loc,
+ };
+}
+
+export type OptionPath = $ReadOnly<{
+ type: "option",
+ name: string,
+ parent: NestingPath,
+}>;
+type AccessPath = $ReadOnly<{
+ type: "access",
+ name: string | number,
+ parent: GeneralPath,
+}>;
+type GeneralPath = OptionPath | AccessPath;
+
+export function assertRootMode(loc: OptionPath, value: mixed): RootMode | void {
+ if (
+ value !== undefined &&
+ value !== "root" &&
+ value !== "upward" &&
+ value !== "upward-optional"
+ ) {
+ throw new Error(
+ `${msg(loc)} must be a "root", "upward", "upward-optional" or undefined`,
+ );
+ }
+ return value;
+}
export function assertSourceMaps(
- key: string,
+ loc: OptionPath,
value: mixed,
): SourceMapsOption | void {
if (
@@ -32,21 +86,24 @@ export function assertSourceMaps(
value !== "both"
) {
throw new Error(
- `.${key} must be a boolean, "inline", "both", or undefined`,
+ `${msg(loc)} must be a boolean, "inline", "both", or undefined`,
);
}
return value;
}
-export function assertCompact(key: string, value: mixed): CompactOption | void {
+export function assertCompact(
+ loc: OptionPath,
+ value: mixed,
+): CompactOption | void {
if (value !== undefined && typeof value !== "boolean" && value !== "auto") {
- throw new Error(`.${key} must be a boolean, "auto", or undefined`);
+ throw new Error(`${msg(loc)} must be a boolean, "auto", or undefined`);
}
return value;
}
export function assertSourceType(
- key: string,
+ loc: OptionPath,
value: mixed,
): SourceTypeOption | void {
if (
@@ -56,14 +113,49 @@ export function assertSourceType(
value !== "unambiguous"
) {
throw new Error(
- `.${key} must be "module", "script", "unambiguous", or undefined`,
+ `${msg(loc)} must be "module", "script", "unambiguous", or undefined`,
);
}
return value;
}
+export function assertCallerMetadata(
+ loc: OptionPath,
+ value: mixed,
+): CallerMetadata | void {
+ const obj = assertObject(loc, value);
+ if (obj) {
+ if (typeof obj[("name": string)] !== "string") {
+ throw new Error(
+ `${msg(loc)} set but does not contain "name" property string`,
+ );
+ }
+
+ for (const prop of Object.keys(obj)) {
+ const propLoc = access(loc, prop);
+ const value = obj[prop];
+ if (
+ value != null &&
+ typeof value !== "boolean" &&
+ typeof value !== "string" &&
+ typeof value !== "number"
+ ) {
+ // NOTE(logan): I'm limiting the type here so that we can guarantee that
+ // the "caller" value will serialize to JSON nicely. We can always
+ // allow more complex structures later though.
+ throw new Error(
+ `${msg(
+ propLoc,
+ )} must be null, undefined, a boolean, a string, or a number.`,
+ );
+ }
+ }
+ }
+ return (value: any);
+}
+
export function assertInputSourceMap(
- key: string,
+ loc: OptionPath,
value: mixed,
): RootInputSourceMapOption | void {
if (
@@ -71,75 +163,82 @@ export function assertInputSourceMap(
typeof value !== "boolean" &&
(typeof value !== "object" || !value)
) {
- throw new Error(".inputSourceMap must be a boolean, object, or undefined");
+ throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);
}
return value;
}
-export function assertString(key: string, value: mixed): string | void {
+export function assertString(loc: GeneralPath, value: mixed): string | void {
if (value !== undefined && typeof value !== "string") {
- throw new Error(`.${key} must be a string, or undefined`);
+ throw new Error(`${msg(loc)} must be a string, or undefined`);
}
return value;
}
-export function assertFunction(key: string, value: mixed): Function | void {
+export function assertFunction(
+ loc: GeneralPath,
+ value: mixed,
+): Function | void {
if (value !== undefined && typeof value !== "function") {
- throw new Error(`.${key} must be a function, or undefined`);
+ throw new Error(`${msg(loc)} must be a function, or undefined`);
}
return value;
}
-export function assertBoolean(key: string, value: mixed): boolean | void {
+export function assertBoolean(loc: GeneralPath, value: mixed): boolean | void {
if (value !== undefined && typeof value !== "boolean") {
- throw new Error(`.${key} must be a boolean, or undefined`);
+ throw new Error(`${msg(loc)} must be a boolean, or undefined`);
}
return value;
}
-export function assertObject(key: string, value: mixed): {} | void {
+export function assertObject(loc: GeneralPath, value: mixed): {} | void {
if (
value !== undefined &&
(typeof value !== "object" || Array.isArray(value) || !value)
) {
- throw new Error(`.${key} must be an object, or undefined`);
+ throw new Error(`${msg(loc)} must be an object, or undefined`);
}
return value;
}
-export function assertArray(key: string, value: mixed): ?$ReadOnlyArray {
+export function assertArray(
+ loc: GeneralPath,
+ value: mixed,
+): ?$ReadOnlyArray {
if (value != null && !Array.isArray(value)) {
- throw new Error(`.${key} must be an array, or undefined`);
+ throw new Error(`${msg(loc)} must be an array, or undefined`);
}
return value;
}
-export function assertIgnoreList(key: string, value: mixed): IgnoreList | void {
- const arr = assertArray(key, value);
+export function assertIgnoreList(
+ loc: OptionPath,
+ value: mixed,
+): IgnoreList | void {
+ const arr = assertArray(loc, value);
if (arr) {
- arr.forEach((item, i) => assertIgnoreItem(key, i, item));
+ arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item));
}
return (arr: any);
}
-function assertIgnoreItem(
- key: string,
- index: number,
- value: mixed,
-): IgnoreItem {
+function assertIgnoreItem(loc: GeneralPath, value: mixed): IgnoreItem {
if (
typeof value !== "string" &&
typeof value !== "function" &&
!(value instanceof RegExp)
) {
throw new Error(
- `.${key}[${index}] must be an array of string/Funtion/RegExp values, or undefined`,
+ `${msg(
+ loc,
+ )} must be an array of string/Funtion/RegExp values, or undefined`,
);
}
return value;
}
export function assertConfigApplicableTest(
- key: string,
+ loc: OptionPath,
value: mixed,
): ConfigApplicableTest | void {
if (value === undefined) return value;
@@ -147,12 +246,14 @@ export function assertConfigApplicableTest(
if (Array.isArray(value)) {
value.forEach((item, i) => {
if (!checkValidTest(item)) {
- throw new Error(`.${key}[${i}] must be a string/Function/RegExp.`);
+ throw new Error(
+ `${msg(access(loc, i))} must be a string/Function/RegExp.`,
+ );
}
});
} else if (!checkValidTest(value)) {
throw new Error(
- `.${key} must be a string/Function/RegExp, or an array of those`,
+ `${msg(loc)} must be a string/Function/RegExp, or an array of those`,
);
}
return (value: any);
@@ -167,7 +268,7 @@ function checkValidTest(value: mixed): boolean {
}
export function assertConfigFileSearch(
- key: string,
+ loc: OptionPath,
value: mixed,
): ConfigFileSearch | void {
if (
@@ -176,7 +277,7 @@ export function assertConfigFileSearch(
typeof value !== "string"
) {
throw new Error(
- `.${key} must be a undefined, a boolean, a string, ` +
+ `${msg(loc)} must be a undefined, a boolean, a string, ` +
`got ${JSON.stringify(value)}`,
);
}
@@ -185,52 +286,51 @@ export function assertConfigFileSearch(
}
export function assertBabelrcSearch(
- key: string,
+ loc: OptionPath,
value: mixed,
): BabelrcSearch | void {
if (value === undefined || typeof value === "boolean") return value;
if (Array.isArray(value)) {
value.forEach((item, i) => {
- if (typeof item !== "string") {
- throw new Error(`.${key}[${i}] must be a string.`);
+ if (!checkValidTest(item)) {
+ throw new Error(
+ `${msg(access(loc, i))} must be a string/Function/RegExp.`,
+ );
}
});
- } else if (typeof value !== "string") {
+ } else if (!checkValidTest(value)) {
throw new Error(
- `.${key} must be a undefined, a boolean, a string, ` +
- `or an array of strings, got ${JSON.stringify(value)}`,
+ `${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` +
+ `or an array of those, got ${JSON.stringify(value)}`,
);
}
return (value: any);
}
-export function assertPluginList(key: string, value: mixed): PluginList | void {
- const arr = assertArray(key, value);
+export function assertPluginList(
+ loc: OptionPath,
+ value: mixed,
+): PluginList | void {
+ const arr = assertArray(loc, value);
if (arr) {
// Loop instead of using `.map` in order to preserve object identity
// for plugin array for use during config chain processing.
- arr.forEach((item, i) => assertPluginItem(key, i, item));
+ arr.forEach((item, i) => assertPluginItem(access(loc, i), item));
}
return (arr: any);
}
-function assertPluginItem(
- key: string,
- index: number,
- value: mixed,
-): PluginItem {
+function assertPluginItem(loc: GeneralPath, value: mixed): PluginItem {
if (Array.isArray(value)) {
if (value.length === 0) {
- throw new Error(`.${key}[${index}] must include an object`);
+ throw new Error(`${msg(loc)} must include an object`);
}
if (value.length > 3) {
- throw new Error(
- `.${key}[${index}] may only be a two-tuple or three-tuple`,
- );
+ throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);
}
- assertPluginTarget(key, index, true, value[0]);
+ assertPluginTarget(access(loc, 0), value[0]);
if (value.length > 1) {
const opts = value[1];
@@ -240,38 +340,31 @@ function assertPluginItem(
(typeof opts !== "object" || Array.isArray(opts))
) {
throw new Error(
- `.${key}[${index}][1] must be an object, false, or undefined`,
+ `${msg(access(loc, 1))} must be an object, false, or undefined`,
);
}
}
if (value.length === 3) {
const name = value[2];
if (name !== undefined && typeof name !== "string") {
- throw new Error(`.${key}[${index}][2] must be a string, or undefined`);
+ throw new Error(
+ `${msg(access(loc, 2))} must be a string, or undefined`,
+ );
}
}
} else {
- assertPluginTarget(key, index, false, value);
+ assertPluginTarget(loc, value);
}
return (value: any);
}
-function assertPluginTarget(
- key: string,
- index: number,
- inArray: boolean,
- value: mixed,
-): PluginTarget {
+function assertPluginTarget(loc: GeneralPath, value: mixed): PluginTarget {
if (
(typeof value !== "object" || !value) &&
typeof value !== "string" &&
typeof value !== "function"
) {
- throw new Error(
- `.${key}[${index}]${
- inArray ? `[0]` : ""
- } must be a string, object, function`,
- );
+ throw new Error(`${msg(loc)} must be a string, object, function`);
}
return value;
}
diff --git a/packages/babel-core/src/config/validation/options.js b/packages/babel-core/src/config/validation/options.js
index 2556948578..c790adfac9 100644
--- a/packages/babel-core/src/config/validation/options.js
+++ b/packages/babel-core/src/config/validation/options.js
@@ -5,10 +5,13 @@ import Plugin from "../plugin";
import removed from "./removed";
import {
+ msg,
+ access,
assertString,
assertBoolean,
assertObject,
assertArray,
+ assertCallerMetadata,
assertInputSourceMap,
assertIgnoreList,
assertPluginList,
@@ -16,20 +19,28 @@ import {
assertConfigFileSearch,
assertBabelrcSearch,
assertFunction,
+ assertRootMode,
assertSourceMaps,
assertCompact,
assertSourceType,
type ValidatorSet,
type Validator,
+ type OptionPath,
} from "./option-assertions";
const ROOT_VALIDATORS: ValidatorSet = {
cwd: (assertString: Validator<$PropertyType>),
root: (assertString: Validator<$PropertyType>),
+ rootMode: (assertRootMode: Validator<
+ $PropertyType,
+ >),
configFile: (assertConfigFileSearch: Validator<
$PropertyType,
>),
+ caller: (assertCallerMetadata: Validator<
+ $PropertyType,
+ >),
filename: (assertString: Validator<
$PropertyType,
>),
@@ -169,10 +180,12 @@ export type ValidatedOptions = {
babelrcRoots?: BabelrcSearch,
configFile?: ConfigFileSearch,
root?: string,
+ rootMode?: RootMode,
code?: boolean,
ast?: boolean,
inputSourceMap?: RootInputSourceMapOption,
envName?: string,
+ caller?: CallerMetadata,
extends?: string,
env?: EnvSet,
@@ -222,6 +235,11 @@ export type ValidatedOptions = {
generatorOpts?: {},
};
+export type CallerMetadata = {
+ // If 'caller' is specified, require that the name is given for debugging
+ // messages.
+ name: string,
+};
export type EnvSet = {
[string]: ?T,
};
@@ -242,30 +260,69 @@ export type OverridesList = Array;
export type ConfigApplicableTest = IgnoreItem | Array;
export type ConfigFileSearch = string | boolean;
-export type BabelrcSearch = boolean | string | Array;
+export type BabelrcSearch = boolean | IgnoreItem | IgnoreList;
export type SourceMapsOption = boolean | "inline" | "both";
export type SourceTypeOption = "module" | "script" | "unambiguous";
export type CompactOption = boolean | "auto";
export type RootInputSourceMapOption = {} | boolean;
+export type RootMode = "root" | "upward" | "upward-optional";
-export type OptionsType =
+export type OptionsSource =
| "arguments"
- | "env"
- | "preset"
- | "override"
| "configfile"
| "babelrcfile"
- | "extendsfile";
+ | "extendsfile"
+ | "preset";
+
+type RootPath = $ReadOnly<{
+ type: "root",
+ source: OptionsSource,
+}>;
+type OverridesPath = $ReadOnly<{
+ type: "overrides",
+ index: number,
+ parent: RootPath,
+}>;
+type EnvPath = $ReadOnly<{
+ type: "env",
+ name: string,
+ parent: RootPath | OverridesPath,
+}>;
+export type NestingPath = RootPath | OverridesPath | EnvPath;
+
+function getSource(loc: NestingPath): OptionsSource {
+ return loc.type === "root" ? loc.source : getSource(loc.parent);
+}
+
+export function validate(type: OptionsSource, opts: {}): ValidatedOptions {
+ return validateNested(
+ {
+ type: "root",
+ source: type,
+ },
+ opts,
+ );
+}
+
+function validateNested(loc: NestingPath, opts: {}) {
+ const type = getSource(loc);
-export function validate(type: OptionsType, opts: {}): ValidatedOptions {
assertNoDuplicateSourcemap(opts);
Object.keys(opts).forEach(key => {
+ const optLoc = {
+ type: "option",
+ name: key,
+ parent: loc,
+ };
+
if (type === "preset" && NONPRESET_VALIDATORS[key]) {
- throw new Error(`.${key} is not allowed in preset options`);
+ throw new Error(`${msg(optLoc)} is not allowed in preset options`);
}
if (type !== "arguments" && ROOT_VALIDATORS[key]) {
- throw new Error(`.${key} is only allowed in root programmatic options`);
+ throw new Error(
+ `${msg(optLoc)} is only allowed in root programmatic options`,
+ );
}
if (
type !== "arguments" &&
@@ -274,48 +331,47 @@ export function validate(type: OptionsType, opts: {}): ValidatedOptions {
) {
if (type === "babelrcfile" || type === "extendsfile") {
throw new Error(
- `.${key} is not allowed in .babelrc or "extend"ed files, only in root programmatic options, ` +
+ `${msg(
+ optLoc,
+ )} is not allowed in .babelrc or "extends"ed files, only in root programmatic options, ` +
`or babel.config.js/config file options`,
);
}
throw new Error(
- `.${key} is only allowed in root programmatic options, or babel.config.js/config file options`,
+ `${msg(
+ optLoc,
+ )} is only allowed in root programmatic options, or babel.config.js/config file options`,
);
}
- if (type === "env" && key === "env") {
- throw new Error(`.${key} is not allowed inside another env block`);
- }
- if (type === "env" && key === "overrides") {
- throw new Error(`.${key} is not allowed inside an env block`);
- }
- if (type === "override" && key === "overrides") {
- throw new Error(`.${key} is not allowed inside an overrides block`);
- }
const validator =
COMMON_VALIDATORS[key] ||
NONPRESET_VALIDATORS[key] ||
BABELRC_VALIDATORS[key] ||
- ROOT_VALIDATORS[key];
+ ROOT_VALIDATORS[key] ||
+ throwUnknownError;
- if (validator) validator(key, opts[key]);
- else throw buildUnknownError(key);
+ validator(optLoc, opts[key]);
});
return (opts: any);
}
-function buildUnknownError(key: string) {
+function throwUnknownError(loc: OptionPath) {
+ const key = loc.name;
+
if (removed[key]) {
const { message, version = 5 } = removed[key];
throw new ReferenceError(
- `Using removed Babel ${version} option: .${key} - ${message}`,
+ `Using removed Babel ${version} option: ${msg(loc)} - ${message}`,
);
} else {
// eslint-disable-next-line max-len
- const unknownOptErr = `Unknown option: .${key}. Check out http://babeljs.io/docs/usage/options/ for more information about options.`;
+ const unknownOptErr = `Unknown option: ${msg(
+ loc,
+ )}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`;
throw new ReferenceError(unknownOptErr);
}
@@ -331,27 +387,53 @@ function assertNoDuplicateSourcemap(opts: {}): void {
}
}
-function assertEnvSet(key: string, value: mixed): EnvSet {
- const obj = assertObject(key, value);
+function assertEnvSet(loc: OptionPath, value: mixed): EnvSet {
+ if (loc.parent.type === "env") {
+ throw new Error(`${msg(loc)} is not allowed inside of another .env block`);
+ }
+ const parent: RootPath | OverridesPath = loc.parent;
+
+ const obj = assertObject(loc, value);
if (obj) {
// Validate but don't copy the .env object in order to preserve
// object identity for use during config chain processing.
- for (const key of Object.keys(obj)) {
- const env = assertObject(key, obj[key]);
- if (env) validate("env", env);
+ for (const envName of Object.keys(obj)) {
+ const env = assertObject(access(loc, envName), obj[envName]);
+ if (!env) continue;
+
+ const envLoc = {
+ type: "env",
+ name: envName,
+ parent,
+ };
+ validateNested(envLoc, env);
}
}
return (obj: any);
}
-function assertOverridesList(key: string, value: mixed): OverridesList {
- const arr = assertArray(key, value);
+function assertOverridesList(loc: OptionPath, value: mixed): OverridesList {
+ if (loc.parent.type === "env") {
+ throw new Error(`${msg(loc)} is not allowed inside an .env block`);
+ }
+ if (loc.parent.type === "overrides") {
+ throw new Error(`${msg(loc)} is not allowed inside an .overrides block`);
+ }
+ const parent: RootPath = loc.parent;
+
+ const arr = assertArray(loc, value);
if (arr) {
for (const [index, item] of arr.entries()) {
- const env = assertObject(`${index}`, item);
- if (!env) throw new Error(`.${key}[${index}] must be an object`);
+ const objLoc = access(loc, index);
+ const env = assertObject(objLoc, item);
+ if (!env) throw new Error(`${msg(objLoc)} must be an object`);
- validate("override", env);
+ const overridesLoc = {
+ type: "overrides",
+ index,
+ parent,
+ };
+ validateNested(overridesLoc, env);
}
}
return (arr: any);
diff --git a/packages/babel-core/src/parse.js b/packages/babel-core/src/parse.js
index ef905efb1f..b3397a1a2e 100644
--- a/packages/babel-core/src/parse.js
+++ b/packages/babel-core/src/parse.js
@@ -24,8 +24,8 @@ type Parse = {
export const parse: Parse = (function parse(code, opts, callback) {
if (typeof opts === "function") {
- opts = undefined;
callback = opts;
+ opts = undefined;
}
// For backward-compat with Babel 7's early betas, we allow sync parsing when
diff --git a/packages/babel-core/src/transform-ast.js b/packages/babel-core/src/transform-ast.js
index 62cef671e3..101177dcec 100644
--- a/packages/babel-core/src/transform-ast.js
+++ b/packages/babel-core/src/transform-ast.js
@@ -31,8 +31,8 @@ export const transformFromAst: TransformFromAst = (function transformFromAst(
callback,
) {
if (typeof opts === "function") {
- opts = undefined;
callback = opts;
+ opts = undefined;
}
// For backward-compat with Babel 6, we allow sync transformation when
diff --git a/packages/babel-core/src/transform.js b/packages/babel-core/src/transform.js
index 11a8ad5c0c..4a2f0e5c16 100644
--- a/packages/babel-core/src/transform.js
+++ b/packages/babel-core/src/transform.js
@@ -18,8 +18,8 @@ type Transform = {
export const transform: Transform = (function transform(code, opts, callback) {
if (typeof opts === "function") {
- opts = undefined;
callback = opts;
+ opts = undefined;
}
// For backward-compat with Babel 6, we allow sync transformation when
diff --git a/packages/babel-core/src/transformation/file/file.js b/packages/babel-core/src/transformation/file/file.js
index 47900a0374..bbc2876718 100644
--- a/packages/babel-core/src/transformation/file/file.js
+++ b/packages/babel-core/src/transformation/file/file.js
@@ -1,10 +1,11 @@
// @flow
import * as helpers from "@babel/helpers";
-import { NodePath, Hub, Scope } from "@babel/traverse";
+import { NodePath, Scope, type HubInterface } from "@babel/traverse";
import { codeFrameColumns } from "@babel/code-frame";
import traverse from "@babel/traverse";
import * as t from "@babel/types";
+import semver from "semver";
import type { NormalizedFile } from "../normalize-file";
@@ -26,10 +27,18 @@ export default class File {
ast: Object = {};
scope: Scope;
metadata: {} = {};
- hub: Hub = new Hub(this);
code: string = "";
inputMap: Object | null = null;
+ hub: HubInterface = {
+ // keep it for the usage in babel-core, ex: path.hub.file.opts.filename
+ file: this,
+ getCode: () => this.code,
+ getScope: () => this.scope,
+ addHelper: this.addHelper.bind(this),
+ buildError: this.buildCodeFrameError.bind(this),
+ };
+
constructor(options: {}, { code, ast, inputMap }: NormalizedFile) {
this.opts = options;
this.code = code;
@@ -64,6 +73,16 @@ export default class File {
}
set(key: mixed, val: mixed) {
+ if (key === "helpersNamespace") {
+ throw new Error(
+ "Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." +
+ "If you are using @babel/plugin-external-helpers you will need to use a newer " +
+ "version than the one you currently have installed. " +
+ "If you have your own implementation, you'll want to explore using 'helperGenerator' " +
+ "alongside 'file.availableHelper()'.",
+ );
+ }
+
this._map.set(key, val);
}
@@ -121,12 +140,6 @@ export default class File {
}
}
- // TODO: Remove this before 7.x's official release. Leaving it in for now to
- // prevent unnecessary breakage between beta versions.
- resolveModuleSource(source: string): string {
- return source;
- }
-
addImport() {
throw new Error(
"This API has been removed. If you're looking for this " +
@@ -136,17 +149,58 @@ export default class File {
);
}
+ /**
+ * Check if a given helper is available in @babel/core's helper list.
+ *
+ * This _also_ allows you to pass a Babel version specifically. If the
+ * helper exists, but was not available for the full given range, it will be
+ * considered unavailable.
+ */
+ availableHelper(name: string, versionRange: ?string): boolean {
+ let minVersion;
+ try {
+ minVersion = helpers.minVersion(name);
+ } catch (err) {
+ if (err.code !== "BABEL_HELPER_UNKNOWN") throw err;
+
+ return false;
+ }
+
+ if (typeof versionRange !== "string") return true;
+
+ // semver.intersects() has some surprising behavior with comparing ranges
+ // with preprelease versions. We add '^' to ensure that we are always
+ // comparing ranges with ranges, which sidesteps this logic.
+ // For example:
+ //
+ // semver.intersects(`<7.0.1`, "7.0.0-beta.0") // false - surprising
+ // semver.intersects(`<7.0.1`, "^7.0.0-beta.0") // true - expected
+ //
+ // This is because the first falls back to
+ //
+ // semver.satisfies("7.0.0-beta.0", `<7.0.1`) // false - surprising
+ //
+ // and this fails because a prerelease version can only satisfy a range
+ // if it is a prerelease within the same major/minor/patch range.
+ //
+ // Note: If this is found to have issues, please also revist the logic in
+ // transform-runtime's definitions.js file.
+ if (semver.valid(versionRange)) versionRange = `^${versionRange}`;
+
+ return (
+ !semver.intersects(`<${minVersion}`, versionRange) &&
+ !semver.intersects(`>=8.0.0`, versionRange)
+ );
+ }
+
addHelper(name: string): Object {
const declar = this.declarations[name];
if (declar) return t.cloneNode(declar);
const generator = this.get("helperGenerator");
- const runtime = this.get("helpersNamespace");
if (generator) {
const res = generator(name);
if (res) return res;
- } else if (runtime) {
- return t.memberExpression(t.cloneNode(runtime), t.identifier(name));
}
const uid = (this.declarations[name] = this.scope.generateUidIdentifier(
diff --git a/packages/babel-core/src/transformation/file/merge-map.js b/packages/babel-core/src/transformation/file/merge-map.js
index 50044580a1..ff2e65b042 100644
--- a/packages/babel-core/src/transformation/file/merge-map.js
+++ b/packages/babel-core/src/transformation/file/merge-map.js
@@ -94,7 +94,7 @@ export default function mergeSourceMap(
}
function makeMappingKey(item: { line: number, columnStart: number }) {
- return JSON.stringify([item.line, item.columnStart]);
+ return `${item.line}/${item.columnStart}`;
}
function eachOverlappingGeneratedOutputRange(
@@ -293,7 +293,7 @@ function findInsertionLocation(
// Ensure the value is the start of any set of matches.
let i = left;
if (i < array.length) {
- while (i > 0 && callback(array[i]) >= 0) {
+ while (i >= 0 && callback(array[i]) >= 0) {
i--;
}
return i + 1;
diff --git a/packages/babel-core/src/transformation/normalize-file.js b/packages/babel-core/src/transformation/normalize-file.js
index 203488acd6..1df42ad763 100644
--- a/packages/babel-core/src/transformation/normalize-file.js
+++ b/packages/babel-core/src/transformation/normalize-file.js
@@ -2,6 +2,7 @@
import path from "path";
import buildDebug from "debug";
+import cloneDeep from "lodash/cloneDeep";
import * as t from "@babel/types";
import type { PluginPasses } from "../config";
import convertSourceMap, { typeof Converter } from "convert-source-map";
@@ -75,6 +76,7 @@ export default function normalizeFile(
} else if (ast.type !== "File") {
throw new Error("AST root must be a Program or File node");
}
+ ast = cloneDeep(ast);
} else {
// The parser's AST types aren't fully compatible with the types generated
// by the logic in babel-types.
@@ -89,14 +91,18 @@ export default function normalizeFile(
});
}
-function parser(pluginPasses, options, code) {
+function parser(
+ pluginPasses: PluginPasses,
+ { parserOpts, highlightCode = true, filename = "unknown" }: Object,
+ code: string,
+) {
try {
const results = [];
for (const plugins of pluginPasses) {
for (const plugin of plugins) {
const { parserOverride } = plugin;
if (parserOverride) {
- const ast = parserOverride(code, options.parserOpts, parse);
+ const ast = parserOverride(code, parserOpts, parse);
if (ast !== undefined) results.push(ast);
}
@@ -104,7 +110,7 @@ function parser(pluginPasses, options, code) {
}
if (results.length === 0) {
- return parse(code, options.parserOpts);
+ return parse(code, parserOpts);
} else if (results.length === 1) {
if (typeof results[0].then === "function") {
throw new Error(
@@ -134,15 +140,16 @@ function parser(pluginPasses, options, code) {
column: loc.column + 1,
},
},
- options,
+ {
+ highlightCode,
+ },
);
if (missingPlugin) {
err.message =
- `${options.filename || "unknown"}: ` +
+ `${filename}: ` +
generateMissingPluginMessage(missingPlugin[0], loc, codeFrame);
} else {
- err.message =
- `${options.filename || "unknown"}: ${err.message}\n\n` + codeFrame;
+ err.message = `${filename}: ${err.message}\n\n` + codeFrame;
}
err.code = "BABEL_PARSE_ERROR";
}
diff --git a/packages/babel-core/src/transformation/plugin-pass.js b/packages/babel-core/src/transformation/plugin-pass.js
index 291fbfd1ae..6e62c42bc7 100644
--- a/packages/babel-core/src/transformation/plugin-pass.js
+++ b/packages/babel-core/src/transformation/plugin-pass.js
@@ -31,6 +31,10 @@ export default class PluginPass {
return this._map.get(key);
}
+ availableHelper(name: string, versionRange: ?string) {
+ return this.file.availableHelper(name, versionRange);
+ }
+
addHelper(name: string) {
return this.file.addHelper(name);
}
diff --git a/packages/babel-core/test/api.js b/packages/babel-core/test/api.js
index 6ea97ebdd1..5c3a97c7a3 100644
--- a/packages/babel-core/test/api.js
+++ b/packages/babel-core/test/api.js
@@ -5,11 +5,18 @@ import Plugin from "../lib/config/plugin";
import generator from "@babel/generator";
function assertIgnored(result) {
- expect(result).toBeFalsy();
+ expect(result).toBeNull();
}
function assertNotIgnored(result) {
- expect(result.ignored).toBeFalsy();
+ expect(result).not.toBeNull();
+}
+
+function parse(code, opts) {
+ return babel.parse(code, {
+ cwd: __dirname,
+ ...opts,
+ });
}
function transform(code, opts) {
@@ -36,13 +43,18 @@ function transformFileSync(filename, opts) {
});
}
-// shim
function transformAsync(code, opts) {
- return {
- then: function(resolve) {
- resolve(transform(code, opts));
- },
- };
+ return babel.transformAsync(code, {
+ cwd: __dirname,
+ ...opts,
+ });
+}
+
+function transformFromAst(ast, code, opts) {
+ return babel.transformFromAst(ast, code, {
+ cwd: __dirname,
+ ...opts,
+ });
}
describe("parser and generator options", function() {
@@ -170,6 +182,30 @@ describe("api", function() {
expect(options).toEqual({ babelrc: false });
});
+ it("transformFromAst should not mutate the AST", function() {
+ const program = "const identifier = 1";
+ const node = parse(program);
+ const { code } = transformFromAst(node, program, {
+ plugins: [
+ function() {
+ return {
+ visitor: {
+ Identifier: function(path) {
+ path.node.name = "replaced";
+ },
+ },
+ };
+ },
+ ],
+ });
+
+ expect(code).toBe("const replaced = 1;");
+ expect(node.program.body[0].declarations[0].id.name).toBe(
+ "identifier",
+ "original ast should not have been mutated",
+ );
+ });
+
it("options throw on falsy true", function() {
return expect(function() {
transform("", {
diff --git a/packages/babel-core/test/config-chain.js b/packages/babel-core/test/config-chain.js
index dea23e0db2..849da38cfc 100644
--- a/packages/babel-core/test/config-chain.js
+++ b/packages/babel-core/test/config-chain.js
@@ -899,6 +899,23 @@ describe("buildConfigChain", function() {
expect(opts.comments).toBe(true);
});
+
+ it("should remove the overrides and filtering fields from the options", () => {
+ const opts = loadOptions({
+ cwd: fixture("nonexistant-fake"),
+ filename: fixture("nonexistant-fake", "src.js"),
+ babelrc: false,
+ overrides: [],
+ test: /^/,
+ include: /^/,
+ exclude: [],
+ });
+
+ expect(opts.overrides).toBeUndefined();
+ expect(opts.test).toBeUndefined();
+ expect(opts.include).toBeUndefined();
+ expect(opts.exclude).toBeUndefined();
+ });
});
describe("config files", () => {
diff --git a/packages/babel-core/test/config-loading.js b/packages/babel-core/test/config-loading.js
index 65eb0c6034..b31eac8ed2 100644
--- a/packages/babel-core/test/config-loading.js
+++ b/packages/babel-core/test/config-loading.js
@@ -1,4 +1,4 @@
-import loadConfig from "../lib/config";
+import loadConfig, { loadPartialConfig } from "../lib/config";
import path from "path";
describe("@babel/core config loading", () => {
@@ -29,13 +29,53 @@ describe("@babel/core config loading", () => {
filename: FILEPATH,
presets: skipProgrammatic
? null
- : [require("./fixtures/config-loading/preset3")],
+ : [[require("./fixtures/config-loading/preset3"), {}]],
plugins: skipProgrammatic
? null
- : [require("./fixtures/config-loading/plugin6")],
+ : [[require("./fixtures/config-loading/plugin6"), {}]],
};
}
+ describe("loadPartialConfig", () => {
+ it("should preserve disabled plugins in the partial config", () => {
+ const plugin = function() {
+ return {};
+ };
+
+ const opts = loadPartialConfig({
+ ...makeOpts(true),
+ babelrc: false,
+ configFile: false,
+ plugins: [[plugin, false]],
+ });
+
+ expect(opts.options.plugins.length).toBe(1);
+ const item = opts.options.plugins[0];
+
+ expect(item.value).toBe(plugin);
+ expect(item.options).toBe(false);
+ });
+
+ it("should preserve disabled presets in the partial config", () => {
+ const preset = function() {
+ return {};
+ };
+
+ const opts = loadPartialConfig({
+ ...makeOpts(true),
+ babelrc: false,
+ configFile: false,
+ presets: [[preset, false]],
+ });
+
+ expect(opts.options.presets.length).toBe(1);
+ const item = opts.options.presets[0];
+
+ expect(item.value).toBe(preset);
+ expect(item.options).toBe(false);
+ });
+ });
+
describe("config file", () => {
it("should load and cache the config with plugins and presets", () => {
const opts = makeOpts();
@@ -173,7 +213,7 @@ describe("@babel/core config loading", () => {
}
});
- it("should invalidate the plugins when given a fresh arrays", () => {
+ it("should not invalidate the plugins when given a fresh arrays", () => {
const opts = makeOpts();
const options1 = loadConfig(opts).options;
@@ -184,6 +224,38 @@ describe("@babel/core config loading", () => {
}).options;
expect(options2.plugins.length).toBe(options1.plugins.length);
+ for (let i = 0; i < options2.plugins.length; i++) {
+ expect(options2.plugins[i]).toBe(options1.plugins[i]);
+ }
+ });
+
+ it("should not invalidate the presets when given a fresh arrays", () => {
+ const opts = makeOpts();
+
+ const options1 = loadConfig(opts).options;
+
+ const options2 = loadConfig({
+ ...opts,
+ presets: opts.presets.slice(),
+ }).options;
+ expect(options2.plugins.length).toBe(options1.plugins.length);
+
+ for (let i = 0; i < options2.plugins.length; i++) {
+ expect(options2.plugins[i]).toBe(options1.plugins[i]);
+ }
+ });
+
+ it("should invalidate the plugins when given a fresh options", () => {
+ const opts = makeOpts();
+
+ const options1 = loadConfig(opts).options;
+
+ const options2 = loadConfig({
+ ...opts,
+ plugins: opts.plugins.map(([plg, opt]) => [plg, { ...opt }]),
+ }).options;
+ expect(options2.plugins.length).toBe(options1.plugins.length);
+
for (let i = 0; i < options2.plugins.length; i++) {
if (i === 2) {
expect(options2.plugins[i]).not.toBe(options1.plugins[i]);
@@ -193,14 +265,14 @@ describe("@babel/core config loading", () => {
}
});
- it("should invalidate the presets when given a fresh arrays", () => {
+ it("should invalidate the presets when given a fresh options", () => {
const opts = makeOpts();
const options1 = loadConfig(opts).options;
const options2 = loadConfig({
...opts,
- presets: opts.presets.slice(),
+ presets: opts.presets.map(([plg, opt]) => [plg, { ...opt }]),
}).options;
expect(options2.plugins.length).toBe(options1.plugins.length);
@@ -251,4 +323,51 @@ describe("@babel/core config loading", () => {
}
});
});
+
+ describe("caller metadata", () => {
+ it("should pass caller data through", () => {
+ const options1 = loadConfig({
+ ...makeOpts(),
+ caller: {
+ name: "babel-test",
+ someFlag: true,
+ },
+ }).options;
+
+ expect(options1.caller.name).toBe("babel-test");
+ expect(options1.caller.someFlag).toBe(true);
+ });
+
+ it("should pass unknown caller data through", () => {
+ const options1 = loadConfig({
+ ...makeOpts(),
+ caller: undefined,
+ }).options;
+
+ expect(options1.caller).toBeUndefined();
+ });
+
+ it("should pass caller data to test functions", () => {
+ const options1 = loadConfig({
+ ...makeOpts(),
+ caller: {
+ name: "babel-test",
+ someFlag: true,
+ },
+ overrides: [
+ {
+ test: (filename, { caller }) => caller.name === "babel-test",
+ comments: false,
+ },
+ {
+ test: (filename, { caller }) => caller.name !== "babel-test",
+ ast: false,
+ },
+ ],
+ }).options;
+
+ expect(options1.comments).toBe(false);
+ expect(options1.ast).not.toBe(false);
+ });
+ });
});
diff --git a/packages/babel-core/test/fixtures/parse/.babelrc b/packages/babel-core/test/fixtures/parse/.babelrc
index 9471261ff6..a4834e8381 100644
--- a/packages/babel-core/test/fixtures/parse/.babelrc
+++ b/packages/babel-core/test/fixtures/parse/.babelrc
@@ -1,5 +1,5 @@
{
- "plugins": [
- ["@babel/syntax-decorators", { "legacy": true }]
- ]
+ "parserOpts": {
+ "plugins": ["decorators-legacy"]
+ }
}
diff --git a/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing-babel-plugin/index.js b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing-babel-plugin/index.js
new file mode 100644
index 0000000000..2987ecf017
--- /dev/null
+++ b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing-babel-plugin/index.js
@@ -0,0 +1,3 @@
+module.exports = function() {
+ return {};
+};
diff --git a/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing-babel-preset/index.js b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing-babel-preset/index.js
new file mode 100644
index 0000000000..2987ecf017
--- /dev/null
+++ b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing-babel-preset/index.js
@@ -0,0 +1,3 @@
+module.exports = function() {
+ return {};
+};
diff --git a/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing.babel-plugin-convert/index.js b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing.babel-plugin-convert/index.js
new file mode 100644
index 0000000000..2987ecf017
--- /dev/null
+++ b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing.babel-plugin-convert/index.js
@@ -0,0 +1,3 @@
+module.exports = function() {
+ return {};
+};
diff --git a/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing.babel-preset-convert/index.js b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing.babel-preset-convert/index.js
new file mode 100644
index 0000000000..2987ecf017
--- /dev/null
+++ b/packages/babel-core/test/fixtures/resolution/foo-org-paths/node_modules/@foo/thing.babel-preset-convert/index.js
@@ -0,0 +1,3 @@
+module.exports = function() {
+ return {};
+};
diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-1155/options.json b/packages/babel-core/test/fixtures/transformation/misc/regression-1155/options.json
index 41054be1f7..cf0501f1cf 100644
--- a/packages/babel-core/test/fixtures/transformation/misc/regression-1155/options.json
+++ b/packages/babel-core/test/fixtures/transformation/misc/regression-1155/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-classes", "external-helpers", "transform-block-scoping"]
+ "plugins": [
+ "transform-classes",
+ "external-helpers",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-1168/options.json b/packages/babel-core/test/fixtures/transformation/misc/regression-1168/options.json
index 78e11a8077..7aebb2b3d1 100644
--- a/packages/babel-core/test/fixtures/transformation/misc/regression-1168/options.json
+++ b/packages/babel-core/test/fixtures/transformation/misc/regression-1168/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["syntax-flow", "transform-flow-strip-types", "transform-parameters", "transform-block-scoping"]
+ "plugins": [
+ "syntax-flow",
+ "transform-flow-strip-types",
+ "transform-parameters",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-2364/options.json b/packages/babel-core/test/fixtures/transformation/misc/regression-2364/options.json
index c2578848d7..688521d954 100644
--- a/packages/babel-core/test/fixtures/transformation/misc/regression-2364/options.json
+++ b/packages/babel-core/test/fixtures/transformation/misc/regression-2364/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-parameters", "transform-arrow-functions", "transform-block-scoping"]
+ "plugins": [
+ "transform-parameters",
+ "transform-arrow-functions",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-core/test/fixtures/transformation/misc/regression-4855/options.json b/packages/babel-core/test/fixtures/transformation/misc/regression-4855/options.json
index b9463ff720..489d3a868c 100644
--- a/packages/babel-core/test/fixtures/transformation/misc/regression-4855/options.json
+++ b/packages/babel-core/test/fixtures/transformation/misc/regression-4855/options.json
@@ -1,7 +1,8 @@
{
"compact": false,
- "presets": [
- "env",
- ["stage-2", { "decoratorsLegacy": true }]
+ "presets": ["env"],
+ "plugins": [
+ ["external-helpers", { "helperVersion": "7.1.5" }],
+ "proposal-object-rest-spread"
]
}
diff --git a/packages/babel-core/test/fixtures/transformation/regenerator/options.json b/packages/babel-core/test/fixtures/transformation/regenerator/options.json
index 55d9586548..1de08e2c78 100644
--- a/packages/babel-core/test/fixtures/transformation/regenerator/options.json
+++ b/packages/babel-core/test/fixtures/transformation/regenerator/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-destructuring", "transform-parameters", "transform-block-scoping", "transform-regenerator"]
+ "plugins": [
+ "transform-destructuring",
+ "transform-parameters",
+ "transform-block-scoping",
+ "transform-regenerator"
+ ]
}
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/arrow-function/source-mappings.json b/packages/babel-core/test/fixtures/transformation/source-maps/arrow-function/source-mappings.json
index 47d5aab7a2..a1d1d31e4a 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/arrow-function/source-mappings.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/arrow-function/source-mappings.json
@@ -1,7 +1,7 @@
[{
"original": {
"line": 1,
- "column": 13
+ "column": 14
},
"generated": {
"line": 2,
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/class/options.json b/packages/babel-core/test/fixtures/transformation/source-maps/class/options.json
index 111b0a6091..93725c3c0e 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/class/options.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/class/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-classes", "transform-block-scoping"]
+ "plugins": [
+ "external-helpers",
+ "transform-classes",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/full/source-map.json b/packages/babel-core/test/fixtures/transformation/source-maps/full/source-map.json
index 77952227ea..f0138605ed 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/full/source-map.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/full/source-map.json
@@ -6,6 +6,6 @@
"map",
"x"
],
- "mappings": "AAAAA,IAAIC,GAAJ,CAAQ;AAAA,SAAKC,IAAIA,CAAT;AAAA,CAAR",
+ "mappings": "AAAAA,GAAG,CAACC,GAAJ,CAAQ,UAAAC,CAAC;AAAA,SAAIA,CAAC,GAAGA,CAAR;AAAA,CAAT",
"sourcesContent": ["arr.map(x => x * x);"]
}
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/inline/output.js b/packages/babel-core/test/fixtures/transformation/source-maps/inline/output.js
index 4d7c7ba70f..2405434080 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/inline/output.js
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/inline/output.js
@@ -1,4 +1,4 @@
arr.map(function (x) {
return x * x;
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXBzL2lubGluZS9pbnB1dC5qcyJdLCJuYW1lcyI6WyJhcnIiLCJtYXAiLCJ4Il0sIm1hcHBpbmdzIjoiQUFBQUEsSUFBSUMsR0FBSixDQUFRO0FBQUEsU0FBS0MsSUFBSUEsQ0FBVDtBQUFBLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJhcnIubWFwKHggPT4geCAqIHgpOyJdfQ==
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZS1tYXBzL2lubGluZS9pbnB1dC5qcyJdLCJuYW1lcyI6WyJhcnIiLCJtYXAiLCJ4Il0sIm1hcHBpbmdzIjoiQUFBQUEsR0FBRyxDQUFDQyxHQUFKLENBQVEsVUFBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUMsR0FBR0EsQ0FBUjtBQUFBLENBQVQiLCJzb3VyY2VzQ29udGVudCI6WyJhcnIubWFwKHggPT4geCAqIHgpOyJdfQ==
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/options.json b/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/options.json
index 8b5e8767af..81e5ce1243 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/options.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-modules-commonjs"
- ]
+ "plugins": ["transform-modules-commonjs"]
}
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/source-map.json b/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/source-map.json
index 9b92c0802b..113580ce04 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/source-map.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map-complex/source-map.json
@@ -4,7 +4,7 @@
"HelloWorld.vue"
],
"names": [],
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsFA;AACA,QAAA,YADA;;AAEA,SAAA;AACA,WAAA;AACA,WAAA;AADA,KAAA;AAGA;;AANA,C",
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAsFA;AACA,EAAA,IAAA,EAAA,YADA;;AAEA,EAAA,IAAA,GAAA;AACA,WAAA;AACA,MAAA,GAAA,EAAA;AADA,KAAA;AAGA;;AANA,C",
"sourceRoot": "src/components",
"sourcesContent": [
"\n \n
{{ msg }} \n
Essential Links \n
\n
Ecosystem \n
\n
\n \n\n\n\n\n\n"
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map/source-map.json b/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map/source-map.json
index 9ef1b0e88d..63c01db5fe 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map/source-map.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/input-source-map/source-map.json
@@ -1,5 +1,5 @@
{
- "mappings": "AAAA,IAAA,MAAU,Y;SAAM,C;AAAC,CAAjB",
+ "mappings": "AAAA,IAAA,GAAA,GAAU,Y;SAAM,C;AAAC,CAAjB",
"names": [],
"sources": ["original.js"],
"sourcesContent": ["var foo = () => 4;"],
diff --git a/packages/babel-core/test/fixtures/transformation/source-maps/interpreter-directive-prefix/source-map.json b/packages/babel-core/test/fixtures/transformation/source-maps/interpreter-directive-prefix/source-map.json
index 0a465c324b..cb9c3ee275 100644
--- a/packages/babel-core/test/fixtures/transformation/source-maps/interpreter-directive-prefix/source-map.json
+++ b/packages/babel-core/test/fixtures/transformation/source-maps/interpreter-directive-prefix/source-map.json
@@ -1,5 +1,5 @@
{
- "mappings": "AAAA;AAEAA,QAAQC,GAAR,CAAY,eAAZ",
+ "mappings": "AAAA;AAEAA,OAAO,CAACC,GAAR,CAAY,eAAZ",
"names": [
"console",
"log"
diff --git a/packages/babel-core/test/parse.js b/packages/babel-core/test/parse.js
index ed5c95b4f3..ec36951cb0 100644
--- a/packages/babel-core/test/parse.js
+++ b/packages/babel-core/test/parse.js
@@ -23,7 +23,9 @@ describe("parse", function() {
const output = require(fixture("output.json"));
const result = parse(input, {
- parserOpts: { plugins: ["decorators"] },
+ parserOpts: {
+ plugins: [["decorators", { decoratorsBeforeExport: false }]],
+ },
cwd: fixture(),
});
expect(JSON.parse(JSON.stringify(result))).toEqual(output);
diff --git a/packages/babel-core/test/resolution.js b/packages/babel-core/test/resolution.js
index 0535cc11a4..203d76ec57 100644
--- a/packages/babel-core/test/resolution.js
+++ b/packages/babel-core/test/resolution.js
@@ -134,6 +134,46 @@ describe("addon resolution", function() {
});
});
+ it("should find @foo scoped presets with an inner babel-preset", function() {
+ process.chdir("foo-org-paths");
+
+ babel.transform("", {
+ filename: "filename.js",
+ babelrc: false,
+ presets: ["@foo/thing.babel-preset-convert"],
+ });
+ });
+
+ it("should find @foo scoped plugins with an inner babel-plugin", function() {
+ process.chdir("foo-org-paths");
+
+ babel.transform("", {
+ filename: "filename.js",
+ babelrc: false,
+ plugins: ["@foo/thing.babel-plugin-convert"],
+ });
+ });
+
+ it("should find @foo scoped presets with an babel-preset suffix", function() {
+ process.chdir("foo-org-paths");
+
+ babel.transform("", {
+ filename: "filename.js",
+ babelrc: false,
+ presets: ["@foo/thing-babel-preset"],
+ });
+ });
+
+ it("should find @foo scoped plugins with an babel-plugin suffix", function() {
+ process.chdir("foo-org-paths");
+
+ babel.transform("", {
+ filename: "filename.js",
+ babelrc: false,
+ plugins: ["@foo/thing-babel-plugin"],
+ });
+ });
+
it("should find @foo scoped presets with an existing prefix", function() {
process.chdir("foo-org-paths");
@@ -360,7 +400,7 @@ describe("addon resolution", function() {
presets: ["testplugin"],
});
}).toThrow(
- /Cannot find module 'babel-preset-testplugin'.*\n- Did you accidentally pass a preset as a plugin\?/,
+ /Cannot find module 'babel-preset-testplugin'.*\n- Did you accidentally pass a plugin as a preset\?/,
);
});
@@ -374,7 +414,7 @@ describe("addon resolution", function() {
plugins: ["testpreset"],
});
}).toThrow(
- /Cannot find module 'babel-plugin-testpreset'.*\n- Did you accidentally pass a plugin as a preset\?/,
+ /Cannot find module 'babel-plugin-testpreset'.*\n- Did you accidentally pass a preset as a plugin\?/,
);
});
diff --git a/packages/babel-generator/package.json b/packages/babel-generator/package.json
index a589c139e6..d6aa63c96c 100644
--- a/packages/babel-generator/package.json
+++ b/packages/babel-generator/package.json
@@ -1,24 +1,27 @@
{
"name": "@babel/generator",
- "version": "7.0.0-beta.52",
+ "version": "7.1.3",
"description": "Turns an AST into code.",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-generator",
"main": "lib/index.js",
"files": [
"lib"
],
"dependencies": {
- "@babel/types": "7.0.0-beta.52",
+ "@babel/types": "^7.1.3",
"jsesc": "^2.5.1",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"source-map": "^0.5.0",
"trim-right": "^1.0.1"
},
"devDependencies": {
- "@babel/helper-fixtures": "7.0.0-beta.52",
- "@babel/parser": "7.0.0-beta.52"
+ "@babel/helper-fixtures": "^7.0.0",
+ "@babel/parser": "^7.0.0"
}
}
diff --git a/packages/babel-generator/src/buffer.js b/packages/babel-generator/src/buffer.js
index ddd57c2051..f49bfad8c5 100644
--- a/packages/babel-generator/src/buffer.js
+++ b/packages/babel-generator/src/buffer.js
@@ -30,6 +30,7 @@ export default class Buffer {
column: null,
filename: null,
};
+ _disallowedPop: Object | null = null;
/**
* Get the final string output from the buffer, along with the sourcemap if one exists.
@@ -71,8 +72,14 @@ export default class Buffer {
append(str: string): void {
this._flush();
- const { line, column, filename, identifierName } = this._sourcePosition;
- this._append(str, line, column, identifierName, filename);
+ const {
+ line,
+ column,
+ filename,
+ identifierName,
+ force,
+ } = this._sourcePosition;
+ this._append(str, line, column, identifierName, filename, force);
}
/**
@@ -87,8 +94,14 @@ export default class Buffer {
}
}
- const { line, column, filename, identifierName } = this._sourcePosition;
- this._queue.unshift([str, line, column, identifierName, filename]);
+ const {
+ line,
+ column,
+ filename,
+ identifierName,
+ force,
+ } = this._sourcePosition;
+ this._queue.unshift([str, line, column, identifierName, filename, force]);
}
_flush(): void {
@@ -102,6 +115,7 @@ export default class Buffer {
column: number,
identifierName: ?string,
filename: ?string,
+ force?: boolean,
): void {
// If there the line is ending, adding a new mapping marker is redundant
if (this._map && str[0] !== "\n") {
@@ -112,6 +126,7 @@ export default class Buffer {
column,
identifierName,
filename,
+ force,
);
}
@@ -169,20 +184,60 @@ export default class Buffer {
return this._queue.length > 0 || !!this._last;
}
+ /**
+ * Certain sourcemap usecases expect mappings to be more accurate than
+ * Babel's generic sourcemap handling allows. For now, we special-case
+ * identifiers to allow for the primary cases to work.
+ * The goal of this line is to ensure that the map output from Babel will
+ * have an exact range on identifiers in the output code. Without this
+ * line, Babel would potentially include some number of trailing tokens
+ * that are printed after the identifier, but before another location has
+ * been assigned.
+ * This allows tooling like Rollup and Webpack to more accurately perform
+ * their own transformations. Most importantly, this allows the import/export
+ * transformations performed by those tools to loose less information when
+ * applying their own transformations on top of the code and map results
+ * generated by Babel itself.
+ *
+ * The primary example of this is the snippet:
+ *
+ * import mod from "mod";
+ * mod();
+ *
+ * With this line, there will be one mapping range over "mod" and another
+ * over "();", where previously it would have been a single mapping.
+ */
+ exactSource(loc: Object, cb: () => void) {
+ // In cases where parent expressions start at the same locations as the
+ // identifier itself, the current active location could already be the
+ // start of this range. We use 'force' here to explicitly start a new
+ // mapping range for this new token.
+ this.source("start", loc, true /* force */);
+
+ cb();
+
+ // In cases where tokens are printed after this item, we want to
+ // ensure that they get the location of the _end_ of the identifier.
+ // To accomplish this, we assign the location and explicitly disable
+ // the standard Buffer withSource previous-position "reactivation"
+ // logic. This means that if another item calls '.source()' to set
+ // the location after the identifier, it is fine, but the position won't
+ // be automatically replaced with the previous value.
+ this.source("end", loc);
+ this._disallowPop("start", loc);
+ }
+
/**
* Sets a given position as the current source location so generated code after this call
* will be given this position in the sourcemap.
*/
- source(prop: string, loc: Location): void {
+ source(prop: string, loc: Location, force?: boolean): void {
if (prop && !loc) return;
- const pos = loc ? loc[prop] : null;
-
- this._sourcePosition.identifierName = (loc && loc.identifierName) || null;
- this._sourcePosition.line = pos ? pos.line : null;
- this._sourcePosition.column = pos ? pos.column : null;
- this._sourcePosition.filename = (loc && loc.filename) || null;
+ // Since this is called extremly often, we re-use the same _sourcePosition
+ // object for the whole lifetime of the buffer.
+ this._normalizePosition(prop, loc, this._sourcePosition, force);
}
/**
@@ -192,7 +247,9 @@ export default class Buffer {
withSource(prop: string, loc: Location, cb: () => void): void {
if (!this._map) return cb();
- // Use the call stack to manage a stack of "source location" data.
+ // Use the call stack to manage a stack of "source location" data because
+ // the _sourcePosition object is mutated over the course of code generation,
+ // and constantly copying it would be slower.
const originalLine = this._sourcePosition.line;
const originalColumn = this._sourcePosition.column;
const originalFilename = this._sourcePosition.filename;
@@ -202,10 +259,79 @@ export default class Buffer {
cb();
- this._sourcePosition.line = originalLine;
- this._sourcePosition.column = originalColumn;
- this._sourcePosition.filename = originalFilename;
- this._sourcePosition.identifierName = originalIdentifierName;
+ if (
+ // If the current active position is forced, we only want to reactivate
+ // the old position if it is different from the newest position.
+ (!this._sourcePosition.force ||
+ this._sourcePosition.line !== originalLine ||
+ this._sourcePosition.column !== originalColumn ||
+ this._sourcePosition.filename !== originalFilename) &&
+ // Verify if reactivating this specific position has been disallowed.
+ (!this._disallowedPop ||
+ this._disallowedPop.line !== originalLine ||
+ this._disallowedPop.column !== originalColumn ||
+ this._disallowedPop.filename !== originalFilename)
+ ) {
+ this._sourcePosition.line = originalLine;
+ this._sourcePosition.column = originalColumn;
+ this._sourcePosition.filename = originalFilename;
+ this._sourcePosition.identifierName = originalIdentifierName;
+ this._sourcePosition.force = false;
+ this._disallowedPop = null;
+ }
+ }
+
+ /**
+ * Allow printers to disable the default location-reset behavior of the
+ * sourcemap output, so that certain printers can be sure that the
+ * "end" location that they set is actually treated as the end position.
+ */
+ _disallowPop(prop: string, loc: Location) {
+ if (prop && !loc) return;
+
+ this._disallowedPop = this._normalizePosition(prop, loc);
+ }
+
+ _normalizePosition(
+ prop: string,
+ loc: Object,
+ targetObj: Object,
+ force?: boolean,
+ ) {
+ const pos = loc ? loc[prop] : null;
+
+ if (targetObj === undefined) {
+ // Initialize with fields so that the object doesn't change shape.
+ targetObj = {
+ identifierName: null,
+ line: null,
+ column: null,
+ filename: null,
+ force: false,
+ };
+ }
+
+ const origLine = targetObj.line;
+ const origColumn = targetObj.column;
+ const origFilename = targetObj.filename;
+
+ targetObj.identifierName =
+ (prop === "start" && loc && loc.identifierName) || null;
+ targetObj.line = pos ? pos.line : null;
+ targetObj.column = pos ? pos.column : null;
+ targetObj.filename = (loc && loc.filename) || null;
+
+ // We want to skip reassigning `force` if we're re-setting the same position.
+ if (
+ force ||
+ targetObj.line !== origLine ||
+ targetObj.column !== origColumn ||
+ targetObj.filename !== origFilename
+ ) {
+ targetObj.force = force;
+ }
+
+ return targetObj;
}
getCurrentColumn(): number {
diff --git a/packages/babel-generator/src/generators/classes.js b/packages/babel-generator/src/generators/classes.js
index 4e27f2fe12..22780dc3f0 100644
--- a/packages/babel-generator/src/generators/classes.js
+++ b/packages/babel-generator/src/generators/classes.js
@@ -124,6 +124,7 @@ export function ClassPrivateProperty(node: Object) {
this.space();
}
this.print(node.key, node);
+ this.print(node.typeAnnotation, node);
if (node.value) {
this.space();
this.token("=");
diff --git a/packages/babel-generator/src/generators/expressions.js b/packages/babel-generator/src/generators/expressions.js
index 9bb8417033..4f9a525bd0 100644
--- a/packages/babel-generator/src/generators/expressions.js
+++ b/packages/babel-generator/src/generators/expressions.js
@@ -5,7 +5,9 @@ export function UnaryExpression(node: Object) {
if (
node.operator === "void" ||
node.operator === "delete" ||
- node.operator === "typeof"
+ node.operator === "typeof" ||
+ // throwExpressions
+ node.operator === "throw"
) {
this.word(node.operator);
this.space();
diff --git a/packages/babel-generator/src/generators/jsx.js b/packages/babel-generator/src/generators/jsx.js
index 24865630c0..89312add92 100644
--- a/packages/babel-generator/src/generators/jsx.js
+++ b/packages/babel-generator/src/generators/jsx.js
@@ -73,6 +73,7 @@ function spaceSeparator() {
export function JSXOpeningElement(node: Object) {
this.token("<");
this.print(node.name, node);
+ this.print(node.typeParameters, node); // TS
if (node.attributes.length > 0) {
this.space();
this.printJoin(node.attributes, node, { separator: spaceSeparator });
diff --git a/packages/babel-generator/src/generators/methods.js b/packages/babel-generator/src/generators/methods.js
index 5dc17e065a..9d9f687333 100644
--- a/packages/babel-generator/src/generators/methods.js
+++ b/packages/babel-generator/src/generators/methods.js
@@ -111,7 +111,23 @@ export function ArrowFunctionExpression(node: Object) {
t.isIdentifier(firstParam) &&
!hasTypes(node, firstParam)
) {
- this.print(firstParam, node);
+ if (
+ this.format.retainLines &&
+ node.loc.start.line < node.body.loc.start.line
+ ) {
+ this.token("(");
+ if (firstParam.loc.start.line > node.loc.start.line) {
+ this.indent();
+ this.print(firstParam, node);
+ this.dedent();
+ this._catchUp("start", node.body.loc);
+ } else {
+ this.print(firstParam, node);
+ }
+ this.token(")");
+ } else {
+ this.print(firstParam, node);
+ }
} else {
this._params(node);
}
diff --git a/packages/babel-generator/src/generators/template-literals.js b/packages/babel-generator/src/generators/template-literals.js
index a49b8615ed..c9a9f9c820 100644
--- a/packages/babel-generator/src/generators/template-literals.js
+++ b/packages/babel-generator/src/generators/template-literals.js
@@ -1,5 +1,6 @@
export function TaggedTemplateExpression(node: Object) {
this.print(node.tag, node);
+ this.print(node.typeParameters, node); // TS
this.print(node.quasi, node);
}
diff --git a/packages/babel-generator/src/generators/types.js b/packages/babel-generator/src/generators/types.js
index 4225ae7eb4..4a5ed312a6 100644
--- a/packages/babel-generator/src/generators/types.js
+++ b/packages/babel-generator/src/generators/types.js
@@ -2,7 +2,9 @@ import * as t from "@babel/types";
import jsesc from "jsesc";
export function Identifier(node: Object) {
- this.word(node.name);
+ this.exactSource(node.loc, () => {
+ this.word(node.name);
+ });
}
export function RestElement(node: Object) {
diff --git a/packages/babel-generator/src/generators/typescript.js b/packages/babel-generator/src/generators/typescript.js
index c2e5f9d42c..33489ebbb2 100644
--- a/packages/babel-generator/src/generators/typescript.js
+++ b/packages/babel-generator/src/generators/typescript.js
@@ -127,6 +127,9 @@ export function TSIndexSignature(node) {
export function TSAnyKeyword() {
this.word("any");
}
+export function TSUnknownKeyword() {
+ this.word("unknown");
+}
export function TSNumberKeyword() {
this.word("number");
}
@@ -238,6 +241,16 @@ export function TSTupleType(node) {
this.token("]");
}
+export function TSOptionalType(node) {
+ this.print(node.typeAnnotation, node);
+ this.token("?");
+}
+
+export function TSRestType(node) {
+ this.token("...");
+ this.print(node.typeAnnotation, node);
+}
+
export function TSUnionType(node) {
this.tsPrintUnionOrIntersectionType(node, "|");
}
diff --git a/packages/babel-generator/src/node/parentheses.js b/packages/babel-generator/src/node/parentheses.js
index e78391c2bd..8213fdd92e 100644
--- a/packages/babel-generator/src/node/parentheses.js
+++ b/packages/babel-generator/src/node/parentheses.js
@@ -209,6 +209,7 @@ export function ConditionalExpression(node: Object, parent: Object): boolean {
t.isBinary(parent) ||
t.isConditionalExpression(parent, { test: node }) ||
t.isAwaitExpression(parent) ||
+ t.isOptionalMemberExpression(parent) ||
t.isTaggedTemplateExpression(parent) ||
t.isTSTypeAssertion(parent) ||
t.isTSAsExpression(parent)
@@ -219,6 +220,13 @@ export function ConditionalExpression(node: Object, parent: Object): boolean {
return UnaryLike(node, parent);
}
+export function OptionalMemberExpression(
+ node: Object,
+ parent: Object,
+): boolean {
+ return t.isCallExpression(parent) || t.isMemberExpression(parent);
+}
+
export function AssignmentExpression(node: Object): boolean {
if (t.isObjectPattern(node.left)) {
return true;
diff --git a/packages/babel-generator/src/printer.js b/packages/babel-generator/src/printer.js
index 93dd318991..1b740ce0c4 100644
--- a/packages/babel-generator/src/printer.js
+++ b/packages/babel-generator/src/printer.js
@@ -200,6 +200,12 @@ export default class Printer {
this._buf.removeTrailingNewline();
}
+ exactSource(loc: Object, cb: () => void) {
+ this._catchUp("start", loc);
+
+ this._buf.exactSource(loc, cb);
+ }
+
source(prop: string, loc: Object): void {
this._catchUp(prop, loc);
diff --git a/packages/babel-generator/src/source-map.js b/packages/babel-generator/src/source-map.js
index cbdbe8af89..d03628a5eb 100644
--- a/packages/babel-generator/src/source-map.js
+++ b/packages/babel-generator/src/source-map.js
@@ -53,6 +53,7 @@ export default class SourceMap {
column: number,
identifierName: ?string,
filename: ?string,
+ force?: boolean,
) {
// Adding an empty mapping at the start of a generated line just clutters the map.
if (this._lastGenLine !== generatedLine && line === null) return;
@@ -60,6 +61,7 @@ export default class SourceMap {
// If this mapping points to the same source location as the last one, we can ignore it since
// the previous one covers it.
if (
+ !force &&
this._lastGenLine === generatedLine &&
this._lastSourceLine === line &&
this._lastSourceColumn === column
diff --git a/packages/babel-generator/test/fixtures/auto-string/jsx/options.json b/packages/babel-generator/test/fixtures/auto-string/jsx/options.json
index ddd39ca03a..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/auto-string/jsx/options.json
+++ b/packages/babel-generator/test/fixtures/auto-string/jsx/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx"] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/compact/expression-statement/options.json b/packages/babel-generator/test/fixtures/compact/expression-statement/options.json
index bdb597ceca..8a2a1d3bfa 100644
--- a/packages/babel-generator/test/fixtures/compact/expression-statement/options.json
+++ b/packages/babel-generator/test/fixtures/compact/expression-statement/options.json
@@ -1 +1 @@
-{ "plugins": ["objectRestSpread"] }
\ No newline at end of file
+{ "plugins": ["objectRestSpread"] }
diff --git a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-false/options.json b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-false/options.json
index f4f6d04ce8..7ebfdd9177 100644
--- a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-false/options.json
+++ b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-false/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": false }]
- ],
+ "plugins": [["decorators", { "decoratorsBeforeExport": false }]],
"decoratorsBeforeExport": false
}
diff --git a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-true/options.json b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-true/options.json
index c05b74601a..234fb2bac8 100644
--- a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-true/options.json
+++ b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/false-to-true/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": false }]
- ],
+ "plugins": [["decorators", { "decoratorsBeforeExport": false }]],
"decoratorsBeforeExport": true
}
diff --git a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-false/options.json b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-false/options.json
index c8764bcb18..2540d61c86 100644
--- a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-false/options.json
+++ b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-false/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ],
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]],
"decoratorsBeforeExport": false
}
diff --git a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-true/options.json b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-true/options.json
index cae43e34e2..788cc22505 100644
--- a/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-true/options.json
+++ b/packages/babel-generator/test/fixtures/decoratorsBeforeExport/true-to-true/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ],
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]],
"decoratorsBeforeExport": true
}
diff --git a/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/input.js b/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/input.js
new file mode 100644
index 0000000000..e409b79f57
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/input.js
@@ -0,0 +1,11 @@
+var fn = async (
+ arg
+) => {}
+
+async (x)
+=> {}
+
+async x => {}
+
+async (x
+) => {};
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/options.json b/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/options.json
new file mode 100644
index 0000000000..97925bbcb6
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/options.json
@@ -0,0 +1,3 @@
+{
+ "retainLines": true
+}
diff --git a/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/output.js b/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/output.js
new file mode 100644
index 0000000000..6bb2ce5093
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/edgecase/single-arg-async-arrow-with-retainlines/output.js
@@ -0,0 +1,11 @@
+var fn = async (
+ arg
+) => {};
+
+async (x) =>
+{};
+
+async x => {};
+
+async (x) =>
+{};
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/flow/def-site-variance/options.json b/packages/babel-generator/test/fixtures/flow/def-site-variance/options.json
index 89c39512b5..8f1d8a332c 100644
--- a/packages/babel-generator/test/fixtures/flow/def-site-variance/options.json
+++ b/packages/babel-generator/test/fixtures/flow/def-site-variance/options.json
@@ -1 +1 @@
-{ "plugins": ["classProperties", "flow"] }
\ No newline at end of file
+{ "plugins": ["classProperties", "flow"] }
diff --git a/packages/babel-generator/test/fixtures/flow/options.json b/packages/babel-generator/test/fixtures/flow/options.json
index 48299acf99..69cc60743d 100644
--- a/packages/babel-generator/test/fixtures/flow/options.json
+++ b/packages/babel-generator/test/fixtures/flow/options.json
@@ -1 +1 @@
-{ "plugins": ["flow"] }
\ No newline at end of file
+{ "plugins": ["flow"] }
diff --git a/packages/babel-generator/test/fixtures/flow/type-annotations/input.js b/packages/babel-generator/test/fixtures/flow/type-annotations/input.js
index 03e37dd3fb..d94dd1ce66 100644
--- a/packages/babel-generator/test/fixtures/flow/type-annotations/input.js
+++ b/packages/babel-generator/test/fixtures/flow/type-annotations/input.js
@@ -72,6 +72,10 @@ class Foo {
static prop1: string;
prop2: number;
}
+class Foo {
+ #prop1: string;
+ prop2: number;
+}
var x: number | string = 4;
class Array { concat(items:number | string) {}; }
var x: () => number | () => string = fn;
diff --git a/packages/babel-generator/test/fixtures/flow/type-annotations/options.json b/packages/babel-generator/test/fixtures/flow/type-annotations/options.json
new file mode 100644
index 0000000000..a385fcbcc0
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/flow/type-annotations/options.json
@@ -0,0 +1 @@
+{ "plugins": ["classPrivateProperties", "flow"] }
diff --git a/packages/babel-generator/test/fixtures/flow/type-annotations/output.js b/packages/babel-generator/test/fixtures/flow/type-annotations/output.js
index 84200366ba..4333545052 100644
--- a/packages/babel-generator/test/fixtures/flow/type-annotations/output.js
+++ b/packages/babel-generator/test/fixtures/flow/type-annotations/output.js
@@ -168,6 +168,11 @@ class Foo {
prop2: number;
}
+class Foo {
+ #prop1: string;
+ prop2: number;
+}
+
var x: number | string = 4;
class Array {
diff --git a/packages/babel-generator/test/fixtures/flowUsesCommas/ObjectExpression/options.json b/packages/babel-generator/test/fixtures/flowUsesCommas/ObjectExpression/options.json
index 48299acf99..69cc60743d 100644
--- a/packages/babel-generator/test/fixtures/flowUsesCommas/ObjectExpression/options.json
+++ b/packages/babel-generator/test/fixtures/flowUsesCommas/ObjectExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["flow"] }
\ No newline at end of file
+{ "plugins": ["flow"] }
diff --git a/packages/babel-generator/test/fixtures/harmony-edgecase/import-with-break/input.js b/packages/babel-generator/test/fixtures/harmony-edgecase/import-with-break/input.js
new file mode 100644
index 0000000000..69b3df1e54
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/harmony-edgecase/import-with-break/input.js
@@ -0,0 +1,5 @@
+import foo from "foo";
+
+foo: {
+ break foo;
+}
diff --git a/packages/babel-generator/test/fixtures/harmony-edgecase/import-with-break/output.js b/packages/babel-generator/test/fixtures/harmony-edgecase/import-with-break/output.js
new file mode 100644
index 0000000000..69b3df1e54
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/harmony-edgecase/import-with-break/output.js
@@ -0,0 +1,5 @@
+import foo from "foo";
+
+foo: {
+ break foo;
+}
diff --git a/packages/babel-generator/test/fixtures/parentheses/do-expression/options.json b/packages/babel-generator/test/fixtures/parentheses/do-expression/options.json
index b0e44d7af0..81488c2381 100644
--- a/packages/babel-generator/test/fixtures/parentheses/do-expression/options.json
+++ b/packages/babel-generator/test/fixtures/parentheses/do-expression/options.json
@@ -1 +1 @@
-{ "plugins": ["doExpressions"] }
\ No newline at end of file
+{ "plugins": ["doExpressions"] }
diff --git a/packages/babel-generator/test/fixtures/regression/throw-expression/input.js b/packages/babel-generator/test/fixtures/regression/throw-expression/input.js
new file mode 100644
index 0000000000..0db86b226f
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/regression/throw-expression/input.js
@@ -0,0 +1 @@
+() => throw new X();
diff --git a/packages/babel-generator/test/fixtures/regression/throw-expression/options.json b/packages/babel-generator/test/fixtures/regression/throw-expression/options.json
new file mode 100644
index 0000000000..abc05508f8
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/regression/throw-expression/options.json
@@ -0,0 +1 @@
+{ "plugins": ["throwExpressions"] }
diff --git a/packages/babel-generator/test/fixtures/regression/throw-expression/output.js b/packages/babel-generator/test/fixtures/regression/throw-expression/output.js
new file mode 100644
index 0000000000..f85a421ca9
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/regression/throw-expression/output.js
@@ -0,0 +1 @@
+() => throw new X();
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/input.js b/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/input.js
new file mode 100644
index 0000000000..2aa2d3b2b0
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/input.js
@@ -0,0 +1,16 @@
+foo;
+foo();
+foo().bar;
+obj.foo;
+obj.foo();
+obj.foo.bar;
+obj.foo().bar;
+{
+ foo;
+ foo();
+ foo().bar;
+ obj.foo;
+ obj.foo();
+ obj.foo.bar;
+ obj.foo().bar;
+}
diff --git a/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/output.js b/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/output.js
new file mode 100644
index 0000000000..2aa2d3b2b0
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/output.js
@@ -0,0 +1,16 @@
+foo;
+foo();
+foo().bar;
+obj.foo;
+obj.foo();
+obj.foo.bar;
+obj.foo().bar;
+{
+ foo;
+ foo();
+ foo().bar;
+ obj.foo;
+ obj.foo();
+ obj.foo.bar;
+ obj.foo().bar;
+}
diff --git a/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/source-map.json b/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/source-map.json
new file mode 100644
index 0000000000..27cb26d0ee
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/sourcemaps/call-identifiers/source-map.json
@@ -0,0 +1,9 @@
+{
+ "mappings": "AAAAA,GAAG;AACHA,GAAG;AACHA,GAAG,GAAGC,GAAN;AACAC,GAAG,CAACF,GAAJ;AACAE,GAAG,CAACF,GAAJ;AACAE,GAAG,CAACF,GAAJ,CAAQC,GAAR;AACAC,GAAG,CAACF,GAAJ,GAAUC,GAAV;AACA;AACED,EAAAA,GAAG;AACHA,EAAAA,GAAG;AACHA,EAAAA,GAAG,GAAGC,GAAN;AACAC,EAAAA,GAAG,CAACF,GAAJ;AACAE,EAAAA,GAAG,CAACF,GAAJ;AACAE,EAAAA,GAAG,CAACF,GAAJ,CAAQC,GAAR;AACAC,EAAAA,GAAG,CAACF,GAAJ,GAAUC,GAAV;AACD",
+ "names": ["foo", "bar", "obj"],
+ "sources": ["fixtures/sourcemaps/call-identifiers/input.js"],
+ "sourcesContent": [
+ "foo;\nfoo();\nfoo().bar;\nobj.foo;\nobj.foo();\nobj.foo.bar;\nobj.foo().bar;\n{\n foo;\n foo();\n foo().bar;\n obj.foo;\n obj.foo();\n obj.foo.bar;\n obj.foo().bar;\n}"
+ ],
+ "version": 3
+}
diff --git a/packages/babel-generator/test/fixtures/types/BigIntLiteral/options.json b/packages/babel-generator/test/fixtures/types/BigIntLiteral/options.json
index 2023dd95bd..c7885a1073 100644
--- a/packages/babel-generator/test/fixtures/types/BigIntLiteral/options.json
+++ b/packages/babel-generator/test/fixtures/types/BigIntLiteral/options.json
@@ -1 +1 @@
-{ "plugins": ["bigInt"] }
\ No newline at end of file
+{ "plugins": ["bigInt"] }
diff --git a/packages/babel-generator/test/fixtures/types/BindExpression/options.json b/packages/babel-generator/test/fixtures/types/BindExpression/options.json
index ff1db68a7d..d04a0f5ec9 100644
--- a/packages/babel-generator/test/fixtures/types/BindExpression/options.json
+++ b/packages/babel-generator/test/fixtures/types/BindExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["functionBind"] }
\ No newline at end of file
+{ "plugins": ["functionBind"] }
diff --git a/packages/babel-generator/test/fixtures/types/DoExpression/options.json b/packages/babel-generator/test/fixtures/types/DoExpression/options.json
index b0e44d7af0..81488c2381 100644
--- a/packages/babel-generator/test/fixtures/types/DoExpression/options.json
+++ b/packages/babel-generator/test/fixtures/types/DoExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["doExpressions"] }
\ No newline at end of file
+{ "plugins": ["doExpressions"] }
diff --git a/packages/babel-generator/test/fixtures/types/Import/options.json b/packages/babel-generator/test/fixtures/types/Import/options.json
index 425542ecee..5390d46765 100644
--- a/packages/babel-generator/test/fixtures/types/Import/options.json
+++ b/packages/babel-generator/test/fixtures/types/Import/options.json
@@ -1 +1 @@
-{ "plugins": ["dynamicImport"] }
\ No newline at end of file
+{ "plugins": ["dynamicImport"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXAttribute/options.json b/packages/babel-generator/test/fixtures/types/JSXAttribute/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXAttribute/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXAttribute/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXElement-JSXOpeningElement-JSXClosingElement-JSXIdentifier/options.json b/packages/babel-generator/test/fixtures/types/JSXElement-JSXOpeningElement-JSXClosingElement-JSXIdentifier/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXElement-JSXOpeningElement-JSXClosingElement-JSXIdentifier/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXElement-JSXOpeningElement-JSXClosingElement-JSXIdentifier/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXEmptyExpression/options.json b/packages/babel-generator/test/fixtures/types/JSXEmptyExpression/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXEmptyExpression/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXEmptyExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXExpressionContainer/options.json b/packages/babel-generator/test/fixtures/types/JSXExpressionContainer/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXExpressionContainer/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXExpressionContainer/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXFragment-JSXOpeningFragment-JSXClosingFragment/options.json b/packages/babel-generator/test/fixtures/types/JSXFragment-JSXOpeningFragment-JSXClosingFragment/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXFragment-JSXOpeningFragment-JSXClosingFragment/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXFragment-JSXOpeningFragment-JSXClosingFragment/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXMemberExpression/options.json b/packages/babel-generator/test/fixtures/types/JSXMemberExpression/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXMemberExpression/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXMemberExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXNamespacedName/options.json b/packages/babel-generator/test/fixtures/types/JSXNamespacedName/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXNamespacedName/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXNamespacedName/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXSpreadAttribute/options.json b/packages/babel-generator/test/fixtures/types/JSXSpreadAttribute/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXSpreadAttribute/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXSpreadAttribute/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXSpreadChildren/options.json b/packages/babel-generator/test/fixtures/types/JSXSpreadChildren/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXSpreadChildren/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXSpreadChildren/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/JSXText/options.json b/packages/babel-generator/test/fixtures/types/JSXText/options.json
index da9cfe1340..4576a3f234 100644
--- a/packages/babel-generator/test/fixtures/types/JSXText/options.json
+++ b/packages/babel-generator/test/fixtures/types/JSXText/options.json
@@ -1 +1 @@
-{ "plugins": ["jsx" ] }
\ No newline at end of file
+{ "plugins": ["jsx"] }
diff --git a/packages/babel-generator/test/fixtures/types/Optional-CallExpression/options.json b/packages/babel-generator/test/fixtures/types/Optional-CallExpression/options.json
index b4da7fc066..4e36ce44f6 100644
--- a/packages/babel-generator/test/fixtures/types/Optional-CallExpression/options.json
+++ b/packages/babel-generator/test/fixtures/types/Optional-CallExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["optionalChaining"] }
\ No newline at end of file
+{ "plugins": ["optionalChaining"] }
diff --git a/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/input.js b/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/input.js
index 1c60f76870..6e71f91672 100644
--- a/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/input.js
+++ b/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/input.js
@@ -14,3 +14,7 @@ foo?.["bar"]?.foo;
0.?.toString();
0.5?.toString();
1.000?.toString();
+
+(a?.b).c;
+(a ? b : c)?.d;
+(a?.b)()
diff --git a/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/options.json b/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/options.json
index b4da7fc066..4e36ce44f6 100644
--- a/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/options.json
+++ b/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/options.json
@@ -1 +1 @@
-{ "plugins": ["optionalChaining"] }
\ No newline at end of file
+{ "plugins": ["optionalChaining"] }
diff --git a/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/output.js b/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/output.js
index be34e83a58..a99aa9039c 100644
--- a/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/output.js
+++ b/packages/babel-generator/test/fixtures/types/Optional-MemberExpression/output.js
@@ -11,4 +11,7 @@ foo?.["bar"].foo;
foo?.["bar"]?.foo;
0.?.toString();
0.5?.toString();
-1.000?.toString();
\ No newline at end of file
+1.000?.toString();
+(a?.b).c;
+(a ? b : c)?.d;
+(a?.b)();
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/types/Optional-TryStatement-CatchClause/options.json b/packages/babel-generator/test/fixtures/types/Optional-TryStatement-CatchClause/options.json
index 39f0227e60..f7793b0dd8 100644
--- a/packages/babel-generator/test/fixtures/types/Optional-TryStatement-CatchClause/options.json
+++ b/packages/babel-generator/test/fixtures/types/Optional-TryStatement-CatchClause/options.json
@@ -1 +1 @@
-{ "plugins": ["optionalCatchBinding"] }
\ No newline at end of file
+{ "plugins": ["optionalCatchBinding"] }
diff --git a/packages/babel-generator/test/fixtures/types/RestProperty/options.json b/packages/babel-generator/test/fixtures/types/RestProperty/options.json
index bdb597ceca..8a2a1d3bfa 100644
--- a/packages/babel-generator/test/fixtures/types/RestProperty/options.json
+++ b/packages/babel-generator/test/fixtures/types/RestProperty/options.json
@@ -1 +1 @@
-{ "plugins": ["objectRestSpread"] }
\ No newline at end of file
+{ "plugins": ["objectRestSpread"] }
diff --git a/packages/babel-generator/test/fixtures/typescript/arrow-function-generic-tsx/options.json b/packages/babel-generator/test/fixtures/typescript/arrow-function-generic-tsx/options.json
index 6e5bbd52f8..aa8780ac51 100644
--- a/packages/babel-generator/test/fixtures/typescript/arrow-function-generic-tsx/options.json
+++ b/packages/babel-generator/test/fixtures/typescript/arrow-function-generic-tsx/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["jsx", "typescript"]
-}
\ No newline at end of file
+ "plugins": ["jsx", "typescript"]
+}
diff --git a/packages/babel-generator/test/fixtures/typescript/regression-is-default-export/options.json b/packages/babel-generator/test/fixtures/typescript/regression-is-default-export/options.json
index 21e26c84a8..009c01f8ac 100644
--- a/packages/babel-generator/test/fixtures/typescript/regression-is-default-export/options.json
+++ b/packages/babel-generator/test/fixtures/typescript/regression-is-default-export/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["exportDefaultFrom", "typescript"]
+ "plugins": ["exportDefaultFrom", "typescript"]
}
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple-empty/input.js b/packages/babel-generator/test/fixtures/typescript/tuple-empty/input.js
new file mode 100644
index 0000000000..f7cd7b5a0e
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple-empty/input.js
@@ -0,0 +1 @@
+let x: [];
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple-empty/output.js b/packages/babel-generator/test/fixtures/typescript/tuple-empty/output.js
new file mode 100644
index 0000000000..a602e22037
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple-empty/output.js
@@ -0,0 +1 @@
+let x: [];
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple-optional/input.js b/packages/babel-generator/test/fixtures/typescript/tuple-optional/input.js
new file mode 100644
index 0000000000..3b8d21ba95
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple-optional/input.js
@@ -0,0 +1 @@
+let x: [string, number?, (string | number)?]
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple-optional/output.js b/packages/babel-generator/test/fixtures/typescript/tuple-optional/output.js
new file mode 100644
index 0000000000..c32cf4f129
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple-optional/output.js
@@ -0,0 +1 @@
+let x: [string, number?, (string | number)?];
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple-rest/input.js b/packages/babel-generator/test/fixtures/typescript/tuple-rest/input.js
new file mode 100644
index 0000000000..d7719b2cb4
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple-rest/input.js
@@ -0,0 +1 @@
+let x: [string, ...number[]]
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple-rest/output.js b/packages/babel-generator/test/fixtures/typescript/tuple-rest/output.js
new file mode 100644
index 0000000000..52be881f83
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple-rest/output.js
@@ -0,0 +1 @@
+let x: [string, ...number[]];
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple/input.js b/packages/babel-generator/test/fixtures/typescript/tuple/input.js
new file mode 100644
index 0000000000..53c8e72ec9
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple/input.js
@@ -0,0 +1 @@
+let x: [number, number, number];
diff --git a/packages/babel-generator/test/fixtures/typescript/tuple/output.js b/packages/babel-generator/test/fixtures/typescript/tuple/output.js
new file mode 100644
index 0000000000..07edd6a752
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/tuple/output.js
@@ -0,0 +1 @@
+let x: [number, number, number];
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/typescript/type-arguments-tagged-template/input.js b/packages/babel-generator/test/fixtures/typescript/type-arguments-tagged-template/input.js
new file mode 100644
index 0000000000..53bbc3e3ed
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/type-arguments-tagged-template/input.js
@@ -0,0 +1 @@
+f``;
diff --git a/packages/babel-generator/test/fixtures/typescript/type-arguments-tagged-template/output.js b/packages/babel-generator/test/fixtures/typescript/type-arguments-tagged-template/output.js
new file mode 100644
index 0000000000..44ffed74fd
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/type-arguments-tagged-template/output.js
@@ -0,0 +1 @@
+f``;
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/input.js b/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/input.js
new file mode 100644
index 0000000000..520e35ee90
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/input.js
@@ -0,0 +1,2 @@
+> ;
+/>;
diff --git a/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/options.json b/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/options.json
new file mode 100644
index 0000000000..3a319216ff
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/options.json
@@ -0,0 +1,4 @@
+{
+ "plugins": ["jsx", "typescript"],
+ "sourceType": "module"
+}
diff --git a/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/output.js b/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/output.js
new file mode 100644
index 0000000000..535f6a651d
--- /dev/null
+++ b/packages/babel-generator/test/fixtures/typescript/type-arguments-tsx/output.js
@@ -0,0 +1,2 @@
+> ;
+ />;
\ No newline at end of file
diff --git a/packages/babel-generator/test/fixtures/typescript/types-keywords/input.js b/packages/babel-generator/test/fixtures/typescript/types-keywords/input.js
index d2ddfb94bb..0fec8f608a 100644
--- a/packages/babel-generator/test/fixtures/typescript/types-keywords/input.js
+++ b/packages/babel-generator/test/fixtures/typescript/types-keywords/input.js
@@ -1,4 +1,5 @@
let a: any;
+let un: unknown;
let b: boolean;
let ne: never;
let nul: null;
diff --git a/packages/babel-generator/test/fixtures/typescript/types-keywords/output.js b/packages/babel-generator/test/fixtures/typescript/types-keywords/output.js
index 0c6820fbaf..0fec8f608a 100644
--- a/packages/babel-generator/test/fixtures/typescript/types-keywords/output.js
+++ b/packages/babel-generator/test/fixtures/typescript/types-keywords/output.js
@@ -1,4 +1,5 @@
let a: any;
+let un: unknown;
let b: boolean;
let ne: never;
let nul: null;
@@ -7,4 +8,4 @@ let o: object;
let st: string;
let sy: symbol;
let u: undefined;
-let v: void;
\ No newline at end of file
+let v: void;
diff --git a/packages/babel-generator/test/index.js b/packages/babel-generator/test/index.js
index e2ae1f22c8..f79b964d0a 100644
--- a/packages/babel-generator/test/index.js
+++ b/packages/babel-generator/test/index.js
@@ -49,7 +49,8 @@ describe("generation", function() {
version: 3,
sources: ["a.js", "b.js"],
mappings:
- "AAAA,SAASA,EAAT,CAAaC,GAAb,EAAkB;AAAEC,UAAQC,GAAR,CAAYF,GAAZ;AAAmB;;ACAvCD,GAAG,OAAH",
+ // eslint-disable-next-line max-len
+ "AAAA,SAASA,EAAT,CAAaC,GAAb,EAAkB;AAAEC,EAAAA,OAAO,CAACC,GAAR,CAAYF,GAAZ;AAAmB;;ACAvCD,EAAE,CAAC,OAAD,CAAF",
names: ["hi", "msg", "console", "log"],
sourcesContent: [
"function hi (msg) { console.log(msg); }\n",
@@ -103,6 +104,18 @@ describe("generation", function() {
source: "a.js",
original: { line: 1, column: 20 },
},
+ {
+ name: "console",
+ generated: { line: 2, column: 2 },
+ source: "a.js",
+ original: { line: 1, column: 20 },
+ },
+ {
+ name: undefined,
+ generated: { line: 2, column: 9 },
+ source: "a.js",
+ original: { line: 1, column: 27 },
+ },
{
name: "log",
generated: { line: 2, column: 10 },
@@ -139,6 +152,12 @@ describe("generation", function() {
source: "b.js",
original: { line: 1, column: 0 },
},
+ {
+ name: undefined,
+ generated: { line: 5, column: 2 },
+ source: "b.js",
+ original: { line: 1, column: 2 },
+ },
{
name: undefined,
generated: { line: 5, column: 3 },
@@ -149,6 +168,12 @@ describe("generation", function() {
name: undefined,
generated: { line: 5, column: 10 },
source: "b.js",
+ original: { line: 1, column: 2 },
+ },
+ {
+ name: undefined,
+ generated: { line: 5, column: 11 },
+ source: "b.js",
original: { line: 1, column: 0 },
},
],
@@ -189,7 +214,7 @@ describe("generation", function() {
version: 3,
sources: ["inline"],
names: ["foo", "bar"],
- mappings: "AAAA,SAASA,IAAT,GAAe;AAAEC;AAAM",
+ mappings: "AAAA,SAASA,IAAT,GAAe;AAAEC,EAAAA,IAAG;AAAG",
sourcesContent: ["function foo() { bar; }\n"],
},
"sourcemap was incorrectly generated",
@@ -227,6 +252,18 @@ describe("generation", function() {
source: "inline",
original: { line: 1, column: 17 },
},
+ {
+ name: "bar",
+ generated: { line: 2, column: 2 },
+ source: "inline",
+ original: { line: 1, column: 17 },
+ },
+ {
+ name: undefined,
+ generated: { line: 2, column: 6 },
+ source: "inline",
+ original: { line: 1, column: 20 },
+ },
{
name: undefined,
generated: { line: 3, column: 0 },
@@ -362,36 +399,49 @@ const suites = fixtures(`${__dirname}/fixtures`);
suites.forEach(function(testSuite) {
describe("generation/" + testSuite.title, function() {
testSuite.tests.forEach(function(task) {
- it(
+ const testFn = task.disabled ? it.skip : it;
+
+ testFn(
task.title,
- !task.disabled &&
- function() {
- const expected = task.expect;
- const actual = task.actual;
- const actualCode = actual.code;
- if (actualCode) {
- const actualAst = parse(actualCode, {
- filename: actual.loc,
- plugins: task.options.plugins || [],
- strictMode: false,
- sourceType: "module",
- });
- const result = generate(actualAst, task.options, actualCode);
+ function() {
+ const expected = task.expect;
+ const actual = task.actual;
+ const actualCode = actual.code;
- if (
- !expected.code &&
- result.code &&
- fs.statSync(path.dirname(expected.loc)).isDirectory() &&
- !process.env.CI
- ) {
- console.log(`New test file created: ${expected.loc}`);
- fs.writeFileSync(expected.loc, result.code);
- } else {
- expect(result.code).toBe(expected.code);
- }
+ if (actualCode) {
+ const actualAst = parse(actualCode, {
+ filename: actual.loc,
+ plugins: task.options.plugins || [],
+ strictMode: false,
+ sourceType: "module",
+ sourceMaps: !!task.sourceMap,
+ });
+ const options = {
+ sourceFileName: path.relative(__dirname, actual.loc),
+ ...task.options,
+ sourceMaps: task.sourceMap ? true : task.options.sourceMaps,
+ };
+
+ const result = generate(actualAst, options, actualCode);
+
+ if (options.sourceMaps) {
+ expect(result.map).toEqual(task.sourceMap);
}
- },
+
+ if (
+ !expected.code &&
+ result.code &&
+ fs.statSync(path.dirname(expected.loc)).isDirectory() &&
+ !process.env.CI
+ ) {
+ console.log(`New test file created: ${expected.loc}`);
+ fs.writeFileSync(expected.loc, result.code);
+ } else {
+ expect(result.code).toBe(expected.code);
+ }
+ }
+ },
);
});
});
diff --git a/packages/babel-helper-annotate-as-pure/package.json b/packages/babel-helper-annotate-as-pure/package.json
index d5ee863c45..543b4fbf16 100644
--- a/packages/babel-helper-annotate-as-pure/package.json
+++ b/packages/babel-helper-annotate-as-pure/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-annotate-as-pure",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to annotate paths and nodes with #__PURE__ comment",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52"
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-bindify-decorators/package.json b/packages/babel-helper-bindify-decorators/package.json
index bd6fbc2987..c7904cd201 100644
--- a/packages/babel-helper-bindify-decorators/package.json
+++ b/packages/babel-helper-bindify-decorators/package.json
@@ -1,12 +1,15 @@
{
"name": "@babel/helper-bindify-decorators",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to bindify decorators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-bindify-decorators",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json b/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json
index 5ea220b85c..3e292cc12d 100644
--- a/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json
+++ b/packages/babel-helper-builder-binary-assignment-operator-visitor/package.json
@@ -1,12 +1,15 @@
{
"name": "@babel/helper-builder-binary-assignment-operator-visitor",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to build binary assignment operator visitors",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-explode-assignable-expression": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-explode-assignable-expression": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-builder-react-jsx/package.json b/packages/babel-helper-builder-react-jsx/package.json
index c94759406f..8ef4b652d3 100644
--- a/packages/babel-helper-builder-react-jsx/package.json
+++ b/packages/babel-helper-builder-react-jsx/package.json
@@ -1,12 +1,15 @@
{
"name": "@babel/helper-builder-react-jsx",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to build react jsx",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-builder-react-jsx",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52",
+ "@babel/types": "^7.0.0",
"esutils": "^2.0.0"
}
}
diff --git a/packages/babel-helper-call-delegate/package.json b/packages/babel-helper-call-delegate/package.json
index 10e5827020..37ebc6134f 100644
--- a/packages/babel-helper-call-delegate/package.json
+++ b/packages/babel-helper-call-delegate/package.json
@@ -1,13 +1,16 @@
{
"name": "@babel/helper-call-delegate",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to call delegate",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-hoist-variables": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-hoist-variables": "^7.0.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-define-map/package.json b/packages/babel-helper-define-map/package.json
index e386a7ecdd..366e4a0610 100644
--- a/packages/babel-helper-define-map/package.json
+++ b/packages/babel-helper-define-map/package.json
@@ -1,13 +1,16 @@
{
"name": "@babel/helper-define-map",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to define a map",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-define-map",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-function-name": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52",
- "lodash": "^4.17.5"
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "lodash": "^4.17.10"
}
}
diff --git a/packages/babel-helper-explode-assignable-expression/package.json b/packages/babel-helper-explode-assignable-expression/package.json
index ee2e64f2ed..cf91ef586e 100644
--- a/packages/babel-helper-explode-assignable-expression/package.json
+++ b/packages/babel-helper-explode-assignable-expression/package.json
@@ -1,12 +1,15 @@
{
"name": "@babel/helper-explode-assignable-expression",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to explode an assignable expression",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-assignable-expression",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-explode-class/package.json b/packages/babel-helper-explode-class/package.json
index a81f8e9907..ce7b0df4a3 100644
--- a/packages/babel-helper-explode-class/package.json
+++ b/packages/babel-helper-explode-class/package.json
@@ -1,13 +1,16 @@
{
"name": "@babel/helper-explode-class",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to explode class",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-explode-class",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-bindify-decorators": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-bindify-decorators": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-fixtures/package.json b/packages/babel-helper-fixtures/package.json
index 21903185c6..2704f7328c 100644
--- a/packages/babel-helper-fixtures/package.json
+++ b/packages/babel-helper-fixtures/package.json
@@ -1,13 +1,16 @@
{
"name": "@babel/helper-fixtures",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to support fixtures",
"author": "Sebastian McKenzie ",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-fixtures",
"main": "lib/index.js",
"dependencies": {
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"semver": "^5.3.0",
"try-resolve": "^1.0.0"
}
diff --git a/packages/babel-helper-function-name/package.json b/packages/babel-helper-function-name/package.json
index 6d17065026..77670f935a 100644
--- a/packages/babel-helper-function-name/package.json
+++ b/packages/babel-helper-function-name/package.json
@@ -1,13 +1,16 @@
{
"name": "@babel/helper-function-name",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to change the property 'name' of every function",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-function-name",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-get-function-arity": "7.0.0-beta.52",
- "@babel/template": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-get-function-arity/package.json b/packages/babel-helper-get-function-arity/package.json
index fbc1373dbd..1ed46aabd2 100644
--- a/packages/babel-helper-get-function-arity/package.json
+++ b/packages/babel-helper-get-function-arity/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-get-function-arity",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to get function arity",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52"
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-hoist-variables/package.json b/packages/babel-helper-hoist-variables/package.json
index 08f38fb22f..74c6e29d6b 100644
--- a/packages/babel-helper-hoist-variables/package.json
+++ b/packages/babel-helper-hoist-variables/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-hoist-variables",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to hoist variables",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52"
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-member-expression-to-functions/package.json b/packages/babel-helper-member-expression-to-functions/package.json
index 862bbed1be..6783f48cc9 100644
--- a/packages/babel-helper-member-expression-to-functions/package.json
+++ b/packages/babel-helper-member-expression-to-functions/package.json
@@ -1,12 +1,15 @@
{
"name": "@babel/helper-member-expression-to-functions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to replace certain member expressions with function calls",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-member-expression-to-functions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"author": "Justin Ridgewell ",
"dependencies": {
- "@babel/types": "7.0.0-beta.52"
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-module-imports/package.json b/packages/babel-helper-module-imports/package.json
index c6ce4c27c2..e740d2f546 100644
--- a/packages/babel-helper-module-imports/package.json
+++ b/packages/babel-helper-module-imports/package.json
@@ -1,17 +1,19 @@
{
"name": "@babel/helper-module-imports",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel helper functions for inserting module loads",
"author": "Logan Smyth ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-module-imports",
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52",
- "lodash": "^4.17.5"
+ "@babel/types": "^7.0.0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-helper-module-imports/src/import-builder.js b/packages/babel-helper-module-imports/src/import-builder.js
index 95b2c9a383..7513c85493 100644
--- a/packages/babel-helper-module-imports/src/import-builder.js
+++ b/packages/babel-helper-module-imports/src/import-builder.js
@@ -10,11 +10,11 @@ export default class ImportBuilder {
_resultName = null;
_scope = null;
- _file = null;
+ _hub = null;
- constructor(importedSource, scope, file) {
+ constructor(importedSource, scope, hub) {
this._scope = scope;
- this._file = file;
+ this._hub = hub;
this._importedSource = importedSource;
}
@@ -91,10 +91,10 @@ export default class ImportBuilder {
}
defaultInterop() {
- return this._interop(this._file.addHelper("interopRequireDefault"));
+ return this._interop(this._hub.addHelper("interopRequireDefault"));
}
wildcardInterop() {
- return this._interop(this._file.addHelper("interopRequireWildcard"));
+ return this._interop(this._hub.addHelper("interopRequireWildcard"));
}
_interop(callee) {
diff --git a/packages/babel-helper-module-imports/src/import-injector.js b/packages/babel-helper-module-imports/src/import-injector.js
index 5574ba2a32..0e38f9188a 100644
--- a/packages/babel-helper-module-imports/src/import-injector.js
+++ b/packages/babel-helper-module-imports/src/import-injector.js
@@ -108,7 +108,7 @@ export default class ImportInjector {
/**
* The file used to inject helpers and resolve paths.
*/
- _file;
+ _hub;
/**
* The default options to use with this instance when imports are added.
@@ -127,7 +127,7 @@ export default class ImportInjector {
this._programPath = programPath;
this._programScope = programPath.scope;
- this._file = programPath.hub.file;
+ this._hub = programPath.hub;
this._defaultOpts = this._applyDefaults(importedSource, opts, true);
}
@@ -218,7 +218,7 @@ export default class ImportInjector {
const builder = new ImportBuilder(
importedSource,
this._programScope,
- this._file,
+ this._hub,
);
if (importedType === "es6") {
diff --git a/packages/babel-helper-module-imports/test/index.js b/packages/babel-helper-module-imports/test/index.js
index 5d7ba0fb3e..9320fe5c6f 100644
--- a/packages/babel-helper-module-imports/test/index.js
+++ b/packages/babel-helper-module-imports/test/index.js
@@ -18,7 +18,12 @@ function test(sourceType, opts, initializer, expectedCode) {
function({ types: t }) {
return {
pre(file) {
- file.set("helpersNamespace", t.identifier("babelHelpers"));
+ file.set("helperGenerator", name =>
+ t.memberExpression(
+ t.identifier("babelHelpers"),
+ t.identifier(name),
+ ),
+ );
},
visitor: {
Program(path) {
diff --git a/packages/babel-helper-module-transforms/package.json b/packages/babel-helper-module-transforms/package.json
index a790839118..4df3155289 100644
--- a/packages/babel-helper-module-transforms/package.json
+++ b/packages/babel-helper-module-transforms/package.json
@@ -1,18 +1,21 @@
{
"name": "@babel/helper-module-transforms",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Babel helper functions for implementing ES6 module transformations",
"author": "Logan Smyth ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-module-transforms",
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-module-imports": "7.0.0-beta.52",
- "@babel/helper-simple-access": "7.0.0-beta.52",
- "@babel/helper-split-export-declaration": "7.0.0-beta.52",
- "@babel/template": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52",
- "lodash": "^4.17.5"
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "lodash": "^4.17.10"
}
}
diff --git a/packages/babel-helper-module-transforms/src/index.js b/packages/babel-helper-module-transforms/src/index.js
index 859b63989f..5735ad951e 100644
--- a/packages/babel-helper-module-transforms/src/index.js
+++ b/packages/babel-helper-module-transforms/src/index.js
@@ -112,7 +112,7 @@ export function wrapInterop(
throw new Error(`Unknown interop: ${type}`);
}
- return t.callExpression(programPath.hub.file.addHelper(helper), [expr]);
+ return t.callExpression(programPath.hub.addHelper(helper), [expr]);
}
/**
diff --git a/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js b/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js
index 8ffda28444..3f2f86dfdd 100644
--- a/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js
+++ b/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js
@@ -246,12 +246,18 @@ function getModuleMetadata(
});
for (const metadata of sourceData.values()) {
- if (metadata.importsNamespace.size > 0) {
- metadata.interop = "namespace";
- continue;
- }
let needsDefault = false;
let needsNamed = false;
+
+ if (metadata.importsNamespace.size > 0) {
+ needsDefault = true;
+ needsNamed = true;
+ }
+
+ if (metadata.reexportAll) {
+ needsNamed = true;
+ }
+
for (const importName of metadata.imports.values()) {
if (importName === "default") needsDefault = true;
else needsNamed = true;
diff --git a/packages/babel-helper-optimise-call-expression/package.json b/packages/babel-helper-optimise-call-expression/package.json
index 1d9f482dc0..f048cd3500 100644
--- a/packages/babel-helper-optimise-call-expression/package.json
+++ b/packages/babel-helper-optimise-call-expression/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-optimise-call-expression",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to optimise call expression",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52"
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-plugin-test-runner/package.json b/packages/babel-helper-plugin-test-runner/package.json
index 87a85cec19..0a1dfe671f 100644
--- a/packages/babel-helper-plugin-test-runner/package.json
+++ b/packages/babel-helper-plugin-test-runner/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-plugin-test-runner",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to support test runner",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-test-runner",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-transform-fixture-test-runner": "7.0.0-beta.52"
+ "@babel/helper-transform-fixture-test-runner": "^7.1.0"
}
}
diff --git a/packages/babel-helper-plugin-utils/package.json b/packages/babel-helper-plugin-utils/package.json
index 85af494b50..b35e4dbd11 100644
--- a/packages/babel-helper-plugin-utils/package.json
+++ b/packages/babel-helper-plugin-utils/package.json
@@ -1,10 +1,13 @@
{
"name": "@babel/helper-plugin-utils",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "General utilities for plugins to use",
"author": "Logan Smyth ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-utils",
"main": "lib/index.js"
}
diff --git a/packages/babel-helper-regex/package.json b/packages/babel-helper-regex/package.json
index 2178b8615e..a7fa3c2b76 100644
--- a/packages/babel-helper-regex/package.json
+++ b/packages/babel-helper-regex/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-regex",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Helper function to check for literal RegEx",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-regex",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "lodash": "^4.17.5"
+ "lodash": "^4.17.10"
}
}
diff --git a/packages/babel-helper-remap-async-to-generator/package.json b/packages/babel-helper-remap-async-to-generator/package.json
index 2cffd38236..fb44a863a9 100644
--- a/packages/babel-helper-remap-async-to-generator/package.json
+++ b/packages/babel-helper-remap-async-to-generator/package.json
@@ -1,15 +1,18 @@
{
"name": "@babel/helper-remap-async-to-generator",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to remap async functions to generators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.52",
- "@babel/helper-wrap-function": "7.0.0-beta.52",
- "@babel/template": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-replace-supers/package.json b/packages/babel-helper-replace-supers/package.json
index 163a64047a..23fe71896e 100644
--- a/packages/babel-helper-replace-supers/package.json
+++ b/packages/babel-helper-replace-supers/package.json
@@ -1,14 +1,17 @@
{
"name": "@babel/helper-replace-supers",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper function to replace supers",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-member-expression-to-functions": "7.0.0-beta.52",
- "@babel/helper-optimise-call-expression": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-member-expression-to-functions": "^7.0.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-simple-access/package.json b/packages/babel-helper-simple-access/package.json
index c0280d5832..51a8abba2b 100644
--- a/packages/babel-helper-simple-access/package.json
+++ b/packages/babel-helper-simple-access/package.json
@@ -1,15 +1,17 @@
{
"name": "@babel/helper-simple-access",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Babel helper for ensuring that access to a given value is performed through simple accesses",
"author": "Logan Smyth ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access",
"main": "lib/index.js",
"dependencies": {
- "@babel/template": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52",
- "lodash": "^4.17.5"
+ "@babel/template": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-split-export-declaration/package.json b/packages/babel-helper-split-export-declaration/package.json
index 18583d8591..5a449d06a8 100644
--- a/packages/babel-helper-split-export-declaration/package.json
+++ b/packages/babel-helper-split-export-declaration/package.json
@@ -1,11 +1,14 @@
{
"name": "@babel/helper-split-export-declaration",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/types": "7.0.0-beta.52"
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helper-transform-fixture-test-runner/package.json b/packages/babel-helper-transform-fixture-test-runner/package.json
index 3ea7d8913d..2379b82020 100644
--- a/packages/babel-helper-transform-fixture-test-runner/package.json
+++ b/packages/babel-helper-transform-fixture-test-runner/package.json
@@ -1,20 +1,24 @@
{
"name": "@babel/helper-transform-fixture-test-runner",
- "version": "7.0.0-beta.52",
+ "version": "7.1.2",
"description": "Transform test runner for @babel/helper-fixtures module",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-transform-fixture-test-runner",
"main": "lib/index.js",
"dependencies": {
- "@babel/code-frame": "7.0.0-beta.52",
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-fixtures": "7.0.0-beta.52",
- "@babel/polyfill": "7.0.0-beta.52",
+ "@babel/code-frame": "^7.0.0",
+ "@babel/core": "^7.1.2",
+ "@babel/helper-fixtures": "^7.0.0",
+ "@babel/polyfill": "^7.0.0",
+ "babel-check-duplicated-nodes": "^1.0.0",
"jest": "^22.4.2",
"jest-diff": "^22.4.0",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"resolve": "^1.3.2",
"source-map": "^0.5.0"
}
diff --git a/packages/babel-helper-transform-fixture-test-runner/src/index.js b/packages/babel-helper-transform-fixture-test-runner/src/index.js
index 06b6121ae6..a83e8ff1c6 100644
--- a/packages/babel-helper-transform-fixture-test-runner/src/index.js
+++ b/packages/babel-helper-transform-fixture-test-runner/src/index.js
@@ -6,6 +6,7 @@ import sourceMap from "source-map";
import { codeFrameColumns } from "@babel/code-frame";
import defaults from "lodash/defaults";
import includes from "lodash/includes";
+import escapeRegExp from "lodash/escapeRegExp";
import * as helpers from "./helpers";
import extend from "lodash/extend";
import merge from "lodash/merge";
@@ -14,6 +15,7 @@ import assert from "assert";
import fs from "fs";
import path from "path";
import vm from "vm";
+import checkDuplicatedNodes from "babel-check-duplicated-nodes";
import diff from "jest-diff";
@@ -117,59 +119,17 @@ function wrapPackagesArray(type, names, optionsDir) {
val[0] = path.resolve(optionsDir, val[0]);
} else {
- // check node_modules/babel-x-y
- val[0] = __dirname + "/../../babel-" + type + "-" + val[0];
+ const monorepoPath = __dirname + "/../../babel-" + type + "-" + val[0];
+
+ if (fs.existsSync(monorepoPath)) {
+ val[0] = monorepoPath;
+ }
}
return val;
});
}
-function checkDuplicatedNodes(ast) {
- const nodes = new WeakSet();
- const parents = new WeakMap();
-
- const setParent = (child, parent) => {
- if (typeof child === "object" && child !== null) {
- let p = parents.get(child);
- if (!p) {
- p = [];
- parents.set(child, p);
- }
- p.unshift(parent);
- }
- };
- const registerChildren = node => {
- for (const key in node) {
- if (Array.isArray(node[key])) {
- node[key].forEach(child => setParent(child, node));
- } else {
- setParent(node[key], node);
- }
- }
- };
-
- const hidePrivateProperties = (key, val) => {
- // Hides properties like _shadowedFunctionLiteral,
- // which makes the AST circular
- if (key[0] === "_") return "[Private]";
- return val;
- };
-
- babel.types.traverseFast(ast, node => {
- registerChildren(node);
- if (nodes.has(node)) {
- throw new Error(
- "Do not reuse nodes. Use `t.cloneNode` to copy them.\n" +
- JSON.stringify(node, hidePrivateProperties, 2) +
- "\nParent:\n" +
- JSON.stringify(parents.get(node), hidePrivateProperties, 2),
- );
- }
- nodes.add(node);
- });
-}
-
function run(task) {
const actual = task.actual;
const expected = task.expect;
@@ -180,7 +140,7 @@ function run(task) {
function getOpts(self) {
const newOpts = merge(
{
- cwd: path.dirname(self.filename),
+ cwd: path.dirname(self.loc),
filename: self.loc,
filenameRelative: self.filename,
sourceFileName: self.filename,
@@ -218,7 +178,7 @@ function run(task) {
if (execCode) {
const execOpts = getOpts(exec);
result = babel.transform(execCode, execOpts);
- checkDuplicatedNodes(result.ast);
+ checkDuplicatedNodes(babel, result.ast);
execCode = result.code;
try {
@@ -235,10 +195,15 @@ function run(task) {
const expectCode = expected.code;
if (!execCode || actualCode) {
result = babel.transform(actualCode, getOpts(actual));
- checkDuplicatedNodes(result.ast);
+ const expectedCode = result.code.replace(
+ escapeRegExp(path.resolve(__dirname, "../../../")),
+ "",
+ );
+
+ checkDuplicatedNodes(babel, result.ast);
if (
!expected.code &&
- result.code &&
+ expectedCode &&
!opts.throws &&
fs.statSync(path.dirname(expected.loc)).isDirectory() &&
!process.env.CI
@@ -249,7 +214,7 @@ function run(task) {
);
console.log(`New test file created: ${expectedFile}`);
- fs.writeFileSync(expectedFile, `${result.code}\n`);
+ fs.writeFileSync(expectedFile, `${expectedCode}\n`);
if (expected.loc !== expectedFile) {
try {
@@ -257,7 +222,7 @@ function run(task) {
} catch (e) {}
}
} else {
- actualCode = result.code.trim();
+ actualCode = expectedCode.trim();
try {
expect(actualCode).toEqualFile({
filename: expected.loc,
@@ -267,7 +232,7 @@ function run(task) {
if (!process.env.OVERWRITE) throw e;
console.log(`Updated test file: ${expected.loc}`);
- fs.writeFileSync(expected.loc, `${result.code}\n`);
+ fs.writeFileSync(expected.loc, `${expectedCode}\n`);
}
if (actualCode) {
@@ -345,44 +310,44 @@ export default function(
continue;
}
- it(
+ const testFn = task.disabled ? it.skip : it;
+
+ testFn(
task.title,
- !task.disabled &&
- function() {
- function runTask() {
- run(task);
- }
- defaults(task.options, {
- sourceMap: !!(task.sourceMappings || task.sourceMap),
+ function() {
+ function runTask() {
+ run(task);
+ }
+
+ defaults(task.options, {
+ sourceMap: !!(task.sourceMappings || task.sourceMap),
+ });
+
+ extend(task.options, taskOpts);
+
+ if (dynamicOpts) dynamicOpts(task.options, task);
+
+ const throwMsg = task.options.throws;
+ if (throwMsg) {
+ // internal api doesn't have this option but it's best not to pollute
+ // the options object with useless options
+ delete task.options.throws;
+
+ assert.throws(runTask, function(err) {
+ return throwMsg === true || err.message.indexOf(throwMsg) >= 0;
});
-
- extend(task.options, taskOpts);
-
- if (dynamicOpts) dynamicOpts(task.options, task);
-
- const throwMsg = task.options.throws;
- if (throwMsg) {
- // internal api doesn't have this option but it's best not to pollute
- // the options object with useless options
- delete task.options.throws;
-
- assert.throws(runTask, function(err) {
- return (
- throwMsg === true || err.message.indexOf(throwMsg) >= 0
- );
- });
- } else {
- if (task.exec.code) {
- const result = run(task);
- if (result && typeof result.then === "function") {
- return result;
- }
- } else {
- runTask();
+ } else {
+ if (task.exec.code) {
+ const result = run(task);
+ if (result && typeof result.then === "function") {
+ return result;
}
+ } else {
+ runTask();
}
- },
+ }
+ },
);
}
});
diff --git a/packages/babel-helper-wrap-function/package.json b/packages/babel-helper-wrap-function/package.json
index e8d34d685b..b563d6125a 100644
--- a/packages/babel-helper-wrap-function/package.json
+++ b/packages/babel-helper-wrap-function/package.json
@@ -1,14 +1,17 @@
{
"name": "@babel/helper-wrap-function",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Helper to wrap functions inside a function call.",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-function-name": "7.0.0-beta.52",
- "@babel/template": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/template": "^7.1.0",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.0.0"
}
}
diff --git a/packages/babel-helpers/package.json b/packages/babel-helpers/package.json
index 4034628d87..01035a1af6 100644
--- a/packages/babel-helpers/package.json
+++ b/packages/babel-helpers/package.json
@@ -1,18 +1,21 @@
{
"name": "@babel/helpers",
- "version": "7.0.0-beta.52",
+ "version": "7.1.2",
"description": "Collection of helper functions used by Babel transforms.",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-helpers",
"main": "lib/index.js",
"dependencies": {
- "@babel/template": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
+ "@babel/template": "^7.1.2",
+ "@babel/traverse": "^7.1.0",
+ "@babel/types": "^7.1.2"
},
"devDependencies": {
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-helpers/src/helpers.js b/packages/babel-helpers/src/helpers.js
index d25bdecb8e..5549bfde42 100644
--- a/packages/babel-helpers/src/helpers.js
+++ b/packages/babel-helpers/src/helpers.js
@@ -1,9 +1,16 @@
+// @flow
+
import template from "@babel/template";
-const helpers = {};
+const helpers = Object.create(null);
export default helpers;
-helpers.typeof = () => template.program.ast`
+const helper = (minVersion: string) => tpl => ({
+ minVersion,
+ ast: () => template.program.ast(tpl),
+});
+
+helpers.typeof = helper("7.0.0-beta.0")`
export default function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) { return typeof obj; };
@@ -19,7 +26,7 @@ helpers.typeof = () => template.program.ast`
}
`;
-helpers.jsx = () => template.program.ast`
+helpers.jsx = helper("7.0.0-beta.0")`
var REACT_ELEMENT_TYPE;
export default function _createRawReactElement(type, props, key, children) {
@@ -70,7 +77,7 @@ helpers.jsx = () => template.program.ast`
}
`;
-helpers.asyncIterator = () => template.program.ast`
+helpers.asyncIterator = helper("7.0.0-beta.0")`
export default function _asyncIterator(iterable) {
var method
if (typeof Symbol === "function") {
@@ -87,13 +94,13 @@ helpers.asyncIterator = () => template.program.ast`
}
`;
-helpers.AwaitValue = () => template.program.ast`
+helpers.AwaitValue = helper("7.0.0-beta.0")`
export default function _AwaitValue(value) {
this.wrapped = value;
}
`;
-helpers.AsyncGenerator = () => template.program.ast`
+helpers.AsyncGenerator = helper("7.0.0-beta.0")`
import AwaitValue from "AwaitValue";
export default function AsyncGenerator(gen) {
@@ -177,7 +184,7 @@ helpers.AsyncGenerator = () => template.program.ast`
AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
`;
-helpers.wrapAsyncGenerator = () => template.program.ast`
+helpers.wrapAsyncGenerator = helper("7.0.0-beta.0")`
import AsyncGenerator from "AsyncGenerator";
export default function _wrapAsyncGenerator(fn) {
@@ -187,7 +194,7 @@ helpers.wrapAsyncGenerator = () => template.program.ast`
}
`;
-helpers.awaitAsyncGenerator = () => template.program.ast`
+helpers.awaitAsyncGenerator = helper("7.0.0-beta.0")`
import AwaitValue from "AwaitValue";
export default function _awaitAsyncGenerator(value) {
@@ -195,7 +202,7 @@ helpers.awaitAsyncGenerator = () => template.program.ast`
}
`;
-helpers.asyncGeneratorDelegate = () => template.program.ast`
+helpers.asyncGeneratorDelegate = helper("7.0.0-beta.0")`
export default function _asyncGeneratorDelegate(inner, awaitWrap) {
var iter = {}, waiting = false;
@@ -237,7 +244,7 @@ helpers.asyncGeneratorDelegate = () => template.program.ast`
}
`;
-helpers.asyncToGenerator = () => template.program.ast`
+helpers.asyncToGenerator = helper("7.0.0-beta.0")`
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
@@ -272,7 +279,7 @@ helpers.asyncToGenerator = () => template.program.ast`
}
`;
-helpers.classCallCheck = () => template.program.ast`
+helpers.classCallCheck = helper("7.0.0-beta.0")`
export default function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
@@ -280,7 +287,7 @@ helpers.classCallCheck = () => template.program.ast`
}
`;
-helpers.createClass = () => template.program.ast`
+helpers.createClass = helper("7.0.0-beta.0")`
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i ++) {
var descriptor = props[i];
@@ -298,7 +305,7 @@ helpers.createClass = () => template.program.ast`
}
`;
-helpers.defineEnumerableProperties = () => template.program.ast`
+helpers.defineEnumerableProperties = helper("7.0.0-beta.0")`
export default function _defineEnumerableProperties(obj, descs) {
for (var key in descs) {
var desc = descs[key];
@@ -324,7 +331,7 @@ helpers.defineEnumerableProperties = () => template.program.ast`
}
`;
-helpers.defaults = () => template.program.ast`
+helpers.defaults = helper("7.0.0-beta.0")`
export default function _defaults(obj, defaults) {
var keys = Object.getOwnPropertyNames(defaults);
for (var i = 0; i < keys.length; i++) {
@@ -338,7 +345,7 @@ helpers.defaults = () => template.program.ast`
}
`;
-helpers.defineProperty = () => template.program.ast`
+helpers.defineProperty = helper("7.0.0-beta.0")`
export default function _defineProperty(obj, key, value) {
// Shortcircuit the slow defineProperty path when possible.
// We are trying to avoid issues where setters defined on the
@@ -359,7 +366,7 @@ helpers.defineProperty = () => template.program.ast`
}
`;
-helpers.extends = () => template.program.ast`
+helpers.extends = helper("7.0.0-beta.0")`
export default function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
@@ -377,7 +384,7 @@ helpers.extends = () => template.program.ast`
}
`;
-helpers.objectSpread = () => template.program.ast`
+helpers.objectSpread = helper("7.0.0-beta.0")`
import defineProperty from "defineProperty";
export default function _objectSpread(target) {
@@ -397,7 +404,7 @@ helpers.objectSpread = () => template.program.ast`
}
`;
-helpers.inherits = () => template.program.ast`
+helpers.inherits = helper("7.0.0-beta.0")`
import setPrototypeOf from "setPrototypeOf";
export default function _inherits(subClass, superClass) {
@@ -415,7 +422,7 @@ helpers.inherits = () => template.program.ast`
}
`;
-helpers.inheritsLoose = () => template.program.ast`
+helpers.inheritsLoose = helper("7.0.0-beta.0")`
export default function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
@@ -423,7 +430,7 @@ helpers.inheritsLoose = () => template.program.ast`
}
`;
-helpers.getPrototypeOf = () => template.program.ast`
+helpers.getPrototypeOf = helper("7.0.0-beta.0")`
export default function _getPrototypeOf(o) {
_getPrototypeOf = Object.setPrototypeOf
? Object.getPrototypeOf
@@ -434,7 +441,7 @@ helpers.getPrototypeOf = () => template.program.ast`
}
`;
-helpers.setPrototypeOf = () => template.program.ast`
+helpers.setPrototypeOf = helper("7.0.0-beta.0")`
export default function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
@@ -444,7 +451,7 @@ helpers.setPrototypeOf = () => template.program.ast`
}
`;
-helpers.construct = () => template.program.ast`
+helpers.construct = helper("7.0.0-beta.0")`
import setPrototypeOf from "setPrototypeOf";
function isNativeReflectConstruct() {
@@ -476,6 +483,8 @@ helpers.construct = () => template.program.ast`
if (isNativeReflectConstruct()) {
_construct = Reflect.construct;
} else {
+ // NOTE: If Parent !== Class, the correct __proto__ is set *after*
+ // calling the constructor.
_construct = function _construct(Parent, args, Class) {
var a = [null];
a.push.apply(a, args);
@@ -491,17 +500,25 @@ helpers.construct = () => template.program.ast`
}
`;
+helpers.isNativeFunction = helper("7.0.0-beta.0")`
+ export default function _isNativeFunction(fn) {
+ // Note: This function returns "true" for core-js functions.
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
+ }
+`;
+
// Based on https://github.com/WebReflection/babel-plugin-transform-builtin-classes
-helpers.wrapNativeSuper = () => template.program.ast`
+helpers.wrapNativeSuper = helper("7.0.0-beta.0")`
import getPrototypeOf from "getPrototypeOf";
import setPrototypeOf from "setPrototypeOf";
+ import isNativeFunction from "isNativeFunction";
import construct from "construct";
export default function _wrapNativeSuper(Class) {
var _cache = typeof Map === "function" ? new Map() : undefined;
_wrapNativeSuper = function _wrapNativeSuper(Class) {
- if (Class === null) return null;
+ if (Class === null || !isNativeFunction(Class)) return Class;
if (typeof Class !== "function") {
throw new TypeError("Super expression must either be null or a function");
}
@@ -528,7 +545,7 @@ helpers.wrapNativeSuper = () => template.program.ast`
}
`;
-helpers.instanceof = () => template.program.ast`
+helpers.instanceof = helper("7.0.0-beta.0")`
export default function _instanceof(left, right) {
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
return right[Symbol.hasInstance](left);
@@ -538,13 +555,13 @@ helpers.instanceof = () => template.program.ast`
}
`;
-helpers.interopRequireDefault = () => template.program.ast`
+helpers.interopRequireDefault = helper("7.0.0-beta.0")`
export default function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
`;
-helpers.interopRequireWildcard = () => template.program.ast`
+helpers.interopRequireWildcard = helper("7.0.0-beta.0")`
export default function _interopRequireWildcard(obj) {
if (obj && obj.__esModule) {
return obj;
@@ -570,7 +587,7 @@ helpers.interopRequireWildcard = () => template.program.ast`
}
`;
-helpers.newArrowCheck = () => template.program.ast`
+helpers.newArrowCheck = helper("7.0.0-beta.0")`
export default function _newArrowCheck(innerThis, boundThis) {
if (innerThis !== boundThis) {
throw new TypeError("Cannot instantiate an arrow function");
@@ -578,13 +595,13 @@ helpers.newArrowCheck = () => template.program.ast`
}
`;
-helpers.objectDestructuringEmpty = () => template.program.ast`
+helpers.objectDestructuringEmpty = helper("7.0.0-beta.0")`
export default function _objectDestructuringEmpty(obj) {
if (obj == null) throw new TypeError("Cannot destructure undefined");
}
`;
-helpers.objectWithoutPropertiesLoose = () => template.program.ast`
+helpers.objectWithoutPropertiesLoose = helper("7.0.0-beta.0")`
export default function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
@@ -602,7 +619,7 @@ helpers.objectWithoutPropertiesLoose = () => template.program.ast`
}
`;
-helpers.objectWithoutProperties = () => template.program.ast`
+helpers.objectWithoutProperties = helper("7.0.0-beta.0")`
import objectWithoutPropertiesLoose from "objectWithoutPropertiesLoose";
export default function _objectWithoutProperties(source, excluded) {
@@ -625,7 +642,7 @@ helpers.objectWithoutProperties = () => template.program.ast`
}
`;
-helpers.assertThisInitialized = () => template.program.ast`
+helpers.assertThisInitialized = helper("7.0.0-beta.0")`
export default function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -634,7 +651,7 @@ helpers.assertThisInitialized = () => template.program.ast`
}
`;
-helpers.possibleConstructorReturn = () => template.program.ast`
+helpers.possibleConstructorReturn = helper("7.0.0-beta.0")`
import assertThisInitialized from "assertThisInitialized";
export default function _possibleConstructorReturn(self, call) {
@@ -645,7 +662,7 @@ helpers.possibleConstructorReturn = () => template.program.ast`
}
`;
-helpers.superPropBase = () => template.program.ast`
+helpers.superPropBase = helper("7.0.0-beta.0")`
import getPrototypeOf from "getPrototypeOf";
export default function _superPropBase(object, property) {
@@ -658,7 +675,7 @@ helpers.superPropBase = () => template.program.ast`
}
`;
-helpers.get = () => template.program.ast`
+helpers.get = helper("7.0.0-beta.0")`
import getPrototypeOf from "getPrototypeOf";
import superPropBase from "superPropBase";
@@ -683,7 +700,7 @@ helpers.get = () => template.program.ast`
}
`;
-helpers.set = () => template.program.ast`
+helpers.set = helper("7.0.0-beta.0")`
import getPrototypeOf from "getPrototypeOf";
import superPropBase from "superPropBase";
import defineProperty from "defineProperty";
@@ -741,7 +758,7 @@ helpers.set = () => template.program.ast`
}
`;
-helpers.taggedTemplateLiteral = () => template.program.ast`
+helpers.taggedTemplateLiteral = helper("7.0.0-beta.0")`
export default function _taggedTemplateLiteral(strings, raw) {
if (!raw) { raw = strings.slice(0); }
return Object.freeze(Object.defineProperties(strings, {
@@ -750,7 +767,7 @@ helpers.taggedTemplateLiteral = () => template.program.ast`
}
`;
-helpers.taggedTemplateLiteralLoose = () => template.program.ast`
+helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")`
export default function _taggedTemplateLiteralLoose(strings, raw) {
if (!raw) { raw = strings.slice(0); }
strings.raw = raw;
@@ -758,7 +775,7 @@ helpers.taggedTemplateLiteralLoose = () => template.program.ast`
}
`;
-helpers.temporalRef = () => template.program.ast`
+helpers.temporalRef = helper("7.0.0-beta.0")`
import undef from "temporalUndefined";
export default function _temporalRef(val, name) {
@@ -770,23 +787,23 @@ helpers.temporalRef = () => template.program.ast`
}
`;
-helpers.readOnlyError = () => template.program.ast`
+helpers.readOnlyError = helper("7.0.0-beta.0")`
export default function _readOnlyError(name) {
throw new Error("\\"" + name + "\\" is read-only");
}
`;
-helpers.classNameTDZError = () => template.program.ast`
+helpers.classNameTDZError = helper("7.0.0-beta.0")`
export default function _classNameTDZError(name) {
throw new Error("Class \\"" + name + "\\" cannot be referenced in computed property keys.");
}
`;
-helpers.temporalUndefined = () => template.program.ast`
+helpers.temporalUndefined = helper("7.0.0-beta.0")`
export default {};
`;
-helpers.slicedToArray = () => template.program.ast`
+helpers.slicedToArray = helper("7.0.0-beta.0")`
import arrayWithHoles from "arrayWithHoles";
import iterableToArrayLimit from "iterableToArrayLimit";
import nonIterableRest from "nonIterableRest";
@@ -796,7 +813,7 @@ helpers.slicedToArray = () => template.program.ast`
}
`;
-helpers.slicedToArrayLoose = () => template.program.ast`
+helpers.slicedToArrayLoose = helper("7.0.0-beta.0")`
import arrayWithHoles from "arrayWithHoles";
import iterableToArrayLimitLoose from "iterableToArrayLimitLoose";
import nonIterableRest from "nonIterableRest";
@@ -806,7 +823,7 @@ helpers.slicedToArrayLoose = () => template.program.ast`
}
`;
-helpers.toArray = () => template.program.ast`
+helpers.toArray = helper("7.0.0-beta.0")`
import arrayWithHoles from "arrayWithHoles";
import iterableToArray from "iterableToArray";
import nonIterableRest from "nonIterableRest";
@@ -816,7 +833,7 @@ helpers.toArray = () => template.program.ast`
}
`;
-helpers.toConsumableArray = () => template.program.ast`
+helpers.toConsumableArray = helper("7.0.0-beta.0")`
import arrayWithoutHoles from "arrayWithoutHoles";
import iterableToArray from "iterableToArray";
import nonIterableSpread from "nonIterableSpread";
@@ -826,7 +843,7 @@ helpers.toConsumableArray = () => template.program.ast`
}
`;
-helpers.arrayWithoutHoles = () => template.program.ast`
+helpers.arrayWithoutHoles = helper("7.0.0-beta.0")`
export default function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) {
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
@@ -835,13 +852,13 @@ helpers.arrayWithoutHoles = () => template.program.ast`
}
`;
-helpers.arrayWithHoles = () => template.program.ast`
+helpers.arrayWithHoles = helper("7.0.0-beta.0")`
export default function _arrayWithHoles(arr) {
if (Array.isArray(arr)) return arr;
}
`;
-helpers.iterableToArray = () => template.program.ast`
+helpers.iterableToArray = helper("7.0.0-beta.0")`
export default function _iterableToArray(iter) {
if (
Symbol.iterator in Object(iter) ||
@@ -850,7 +867,7 @@ helpers.iterableToArray = () => template.program.ast`
}
`;
-helpers.iterableToArrayLimit = () => template.program.ast`
+helpers.iterableToArrayLimit = helper("7.0.0-beta.0")`
export default function _iterableToArrayLimit(arr, i) {
// this is an expanded form of \`for...of\` that properly supports abrupt completions of
// iterators etc. variable names have been minimised to reduce the size of this massive
@@ -885,7 +902,7 @@ helpers.iterableToArrayLimit = () => template.program.ast`
}
`;
-helpers.iterableToArrayLimitLoose = () => template.program.ast`
+helpers.iterableToArrayLimitLoose = helper("7.0.0-beta.0")`
export default function _iterableToArrayLimitLoose(arr, i) {
var _arr = [];
for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
@@ -896,19 +913,19 @@ helpers.iterableToArrayLimitLoose = () => template.program.ast`
}
`;
-helpers.nonIterableSpread = () => template.program.ast`
+helpers.nonIterableSpread = helper("7.0.0-beta.0")`
export default function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance");
}
`;
-helpers.nonIterableRest = () => template.program.ast`
+helpers.nonIterableRest = helper("7.0.0-beta.0")`
export default function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance");
}
`;
-helpers.skipFirstGeneratorNext = () => template.program.ast`
+helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")`
export default function _skipFirstGeneratorNext(fn) {
return function () {
var it = fn.apply(this, arguments);
@@ -918,13 +935,28 @@ helpers.skipFirstGeneratorNext = () => template.program.ast`
}
`;
-helpers.toPropertyKey = () => template.program.ast`
- export default function _toPropertyKey(key) {
- if (typeof key === "symbol") {
- return key;
- } else {
- return String(key);
+helpers.toPrimitive = helper("7.1.5")`
+ export default function _toPrimitive(
+ input,
+ hint /*: "default" | "string" | "number" | void */
+ ) {
+ if (typeof input !== "object" || input === null) return input;
+ var prim = input[Symbol.toPrimitive];
+ if (prim !== undefined) {
+ var res = prim.call(input, hint || "default");
+ if (typeof res !== "object") return res;
+ throw new TypeError("@@toPrimitive must return a primitive value.");
}
+ return (hint === "string" ? String : Number)(input);
+ }
+`;
+
+helpers.toPropertyKey = helper("7.1.5")`
+ import toPrimitive from "toPrimitive";
+
+ export default function _toPropertyKey(arg) {
+ var key = toPrimitive(arg, "string");
+ return typeof key === "symbol" ? key : String(key);
}
`;
@@ -932,7 +964,7 @@ helpers.toPropertyKey = () => template.program.ast`
* Add a helper that will throw a useful error if the transform fails to detect the class
* property assignment, so users know something failed.
*/
-helpers.initializerWarningHelper = () => template.program.ast`
+helpers.initializerWarningHelper = helper("7.0.0-beta.0")`
export default function _initializerWarningHelper(descriptor, context){
throw new Error(
'Decorating class property failed. Please ensure that ' +
@@ -946,7 +978,7 @@ helpers.initializerWarningHelper = () => template.program.ast`
/**
* Add a helper to call as a replacement for class property definition.
*/
-helpers.initializerDefineProperty = () => template.program.ast`
+helpers.initializerDefineProperty = helper("7.0.0-beta.0")`
export default function _initializerDefineProperty(target, property, descriptor, context){
if (!descriptor) return;
@@ -963,7 +995,7 @@ helpers.initializerDefineProperty = () => template.program.ast`
* Add a helper to take an initial descriptor, apply some decorators to it, and optionally
* define the property.
*/
-helpers.applyDecoratedDescriptor = () => template.program.ast`
+helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`
export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function(key){
@@ -995,14 +1027,14 @@ helpers.applyDecoratedDescriptor = () => template.program.ast`
}
`;
-helpers.classPrivateFieldLooseKey = () => template.program.ast`
+helpers.classPrivateFieldLooseKey = helper("7.0.0-beta.0")`
var id = 0;
export default function _classPrivateFieldKey(name) {
return "__private_" + (id++) + "_" + name;
}
`;
-helpers.classPrivateFieldLooseBase = () => template.program.ast`
+helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")`
export default function _classPrivateFieldBase(receiver, privateKey) {
if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
throw new TypeError("attempted to use private field on non-instance");
@@ -1011,21 +1043,699 @@ helpers.classPrivateFieldLooseBase = () => template.program.ast`
}
`;
-helpers.classPrivateFieldGet = () => template.program.ast`
+helpers.classPrivateFieldGet = helper("7.0.0-beta.0")`
export default function _classPrivateFieldGet(receiver, privateMap) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to get private field on non-instance");
}
- return privateMap.get(receiver);
+ return privateMap.get(receiver).value;
}
`;
-helpers.classPrivateFieldSet = () => template.program.ast`
+helpers.classPrivateFieldSet = helper("7.0.0-beta.0")`
export default function _classPrivateFieldSet(receiver, privateMap, value) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to set private field on non-instance");
}
- privateMap.set(receiver, value);
+ var descriptor = privateMap.get(receiver);
+ if (!descriptor.writable) {
+ // This should only throw in strict mode, but class bodies are
+ // always strict and private fields can only be used inside
+ // class bodies.
+ throw new TypeError("attempted to set read only private field");
+ }
+ descriptor.value = value;
return value;
}
`;
+
+helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")`
+ export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {
+ if (receiver !== classConstructor) {
+ throw new TypeError("Private static access of wrong provenance");
+ }
+ return descriptor.value;
+ }
+`;
+
+helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")`
+ export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {
+ if (receiver !== classConstructor) {
+ throw new TypeError("Private static access of wrong provenance");
+ }
+ if (!descriptor.writable) {
+ // This should only throw in strict mode, but class bodies are
+ // always strict and private fields can only be used inside
+ // class bodies.
+ throw new TypeError("attempted to set read only private field");
+ }
+ descriptor.value = value;
+ return value;
+ }
+
+`;
+
+helpers.decorate = helper("7.1.5")`
+ import toArray from "toArray";
+ import toPropertyKey from "toPropertyKey";
+
+ // These comments are stripped by @babel/template
+ /*::
+ type PropertyDescriptor =
+ | {
+ value: any,
+ writable: boolean,
+ configurable: boolean,
+ enumerable: boolean,
+ }
+ | {
+ get?: () => any,
+ set?: (v: any) => void,
+ configurable: boolean,
+ enumerable: boolean,
+ };
+
+ type FieldDescriptor ={
+ writable: boolean,
+ configurable: boolean,
+ enumerable: boolean,
+ };
+
+ type Placement = "static" | "prototype" | "own";
+ type Key = string | symbol; // PrivateName is not supported yet.
+
+ type ElementDescriptor =
+ | {
+ kind: "method",
+ key: Key,
+ placement: Placement,
+ descriptor: PropertyDescriptor
+ }
+ | {
+ kind: "field",
+ key: Key,
+ placement: Placement,
+ descriptor: FieldDescriptor,
+ initializer?: () => any,
+ };
+
+ // This is exposed to the user code
+ type ElementObjectInput = ElementDescriptor & {
+ [@@toStringTag]?: "Descriptor"
+ };
+
+ // This is exposed to the user code
+ type ElementObjectOutput = ElementDescriptor & {
+ [@@toStringTag]?: "Descriptor"
+ extras?: ElementDescriptor[],
+ finisher?: ClassFinisher,
+ };
+
+ // This is exposed to the user code
+ type ClassObject = {
+ [@@toStringTag]?: "Descriptor",
+ kind: "class",
+ elements: ElementDescriptor[],
+ };
+
+ type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;
+ type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;
+ type ClassFinisher = (cl: Class ) => Class;
+
+ // Only used by Babel in the transform output, not part of the spec.
+ type ElementDefinition =
+ | {
+ kind: "method",
+ value: any,
+ key: Key,
+ static?: boolean,
+ decorators?: ElementDecorator[],
+ }
+ | {
+ kind: "field",
+ value: () => any,
+ key: Key,
+ static?: boolean,
+ decorators?: ElementDecorator[],
+ };
+
+ declare function ClassFactory(initialize: (instance: C) => void): {
+ F: Class,
+ d: ElementDefinition[]
+ }
+
+ */
+
+ /*::
+ // Various combinations with/without extras and with one or many finishers
+
+ type ElementFinisherExtras = {
+ element: ElementDescriptor,
+ finisher?: ClassFinisher,
+ extras?: ElementDescriptor[],
+ };
+
+ type ElementFinishersExtras = {
+ element: ElementDescriptor,
+ finishers: ClassFinisher[],
+ extras: ElementDescriptor[],
+ };
+
+ type ElementsFinisher = {
+ elements: ElementDescriptor[],
+ finisher?: ClassFinisher,
+ };
+
+ type ElementsFinishers = {
+ elements: ElementDescriptor[],
+ finishers: ClassFinisher[],
+ };
+
+ */
+
+ // ClassDefinitionEvaluation (Steps 26-*)
+ export default function _decorate(
+ decorators /*: ClassDecorator[] */,
+ factory /*: ClassFactory */,
+ superClass /*: ?Class<*> */,
+ ) /*: Class<*> */ {
+ var r = factory(function initialize(O) {
+ _initializeInstanceElements(O, decorated.elements);
+ }, superClass);
+ var decorated = _decorateClass(
+ _coalesceClassElements(r.d.map(_createElementDescriptor)),
+ decorators,
+ );
+
+ _initializeClassElements(r.F, decorated.elements);
+
+ return _runClassFinishers(r.F, decorated.finishers);
+ }
+
+ // ClassElementEvaluation
+ function _createElementDescriptor(
+ def /*: ElementDefinition */,
+ ) /*: ElementDescriptor */ {
+ var key = toPropertyKey(def.key);
+
+ var descriptor /*: PropertyDescriptor */;
+ if (def.kind === "method") {
+ descriptor = {
+ value: def.value,
+ writable: true,
+ configurable: true,
+ enumerable: false,
+ };
+ Object.defineProperty(def.value, "name", {
+ value: typeof key === "symbol" ? "" : key,
+ configurable: true,
+ });
+ } else if (def.kind === "get") {
+ descriptor = { get: def.value, configurable: true, enumerable: false };
+ } else if (def.kind === "set") {
+ descriptor = { set: def.value, configurable: true, enumerable: false };
+ } else if (def.kind === "field") {
+ descriptor = { configurable: true, writable: true, enumerable: true };
+ }
+
+ var element /*: ElementDescriptor */ = {
+ kind: def.kind === "field" ? "field" : "method",
+ key: key,
+ placement: def.static
+ ? "static"
+ : def.kind === "field"
+ ? "own"
+ : "prototype",
+ descriptor: descriptor,
+ };
+ if (def.decorators) element.decorators = def.decorators;
+ if (def.kind === "field") element.initializer = def.value;
+
+ return element;
+ }
+
+ // CoalesceGetterSetter
+ function _coalesceGetterSetter(
+ element /*: ElementDescriptor */,
+ other /*: ElementDescriptor */,
+ ) {
+ if (element.descriptor.get !== undefined) {
+ other.descriptor.get = element.descriptor.get;
+ } else {
+ other.descriptor.set = element.descriptor.set;
+ }
+ }
+
+ // CoalesceClassElements
+ function _coalesceClassElements(
+ elements /*: ElementDescriptor[] */,
+ ) /*: ElementDescriptor[] */ {
+ var newElements /*: ElementDescriptor[] */ = [];
+
+ var isSameElement = function(other /*: ElementDescriptor */) /*: boolean */ {
+ return (
+ other.kind === "method" &&
+ other.key === element.key &&
+ other.placement === element.placement
+ );
+ };
+
+ for (var i = 0; i < elements.length; i++) {
+ var element /*: ElementDescriptor */ = elements[i];
+ var other /*: ElementDescriptor */;
+
+ if (
+ element.kind === "method" &&
+ (other = newElements.find(isSameElement))
+ ) {
+ if (
+ _isDataDescriptor(element.descriptor) ||
+ _isDataDescriptor(other.descriptor)
+ ) {
+ if (_hasDecorators(element) || _hasDecorators(other)) {
+ throw new ReferenceError(
+ "Duplicated methods (" + element.key + ") can't be decorated.",
+ );
+ }
+ other.descriptor = element.descriptor;
+ } else {
+ if (_hasDecorators(element)) {
+ if (_hasDecorators(other)) {
+ throw new ReferenceError(
+ "Decorators can't be placed on different accessors with for " +
+ "the same property (" +
+ element.key +
+ ").",
+ );
+ }
+ other.decorators = element.decorators;
+ }
+ _coalesceGetterSetter(element, other);
+ }
+ } else {
+ newElements.push(element);
+ }
+ }
+
+ return newElements;
+ }
+
+ function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {
+ return element.decorators && element.decorators.length;
+ }
+
+ function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {
+ return (
+ desc !== undefined &&
+ !(desc.value === undefined && desc.writable === undefined)
+ );
+ }
+
+ // InitializeClassElements
+ function _initializeClassElements /*::*/(
+ F /*: Class */,
+ elements /*: ElementDescriptor[] */,
+ ) {
+ var proto = F.prototype;
+
+ ["method", "field"].forEach(function(kind) {
+ elements.forEach(function(element /*: ElementDescriptor */) {
+ var placement = element.placement;
+ if (
+ element.kind === kind &&
+ (placement === "static" || placement === "prototype")
+ ) {
+ var receiver = placement === "static" ? F : proto;
+ _defineClassElement(receiver, element);
+ }
+ });
+ });
+ }
+
+ // InitializeInstanceElements
+ function _initializeInstanceElements /*::*/(
+ O /*: C */,
+ elements /*: ElementDescriptor[] */,
+ ) {
+ ["method", "field"].forEach(function(kind) {
+ elements.forEach(function(element /*: ElementDescriptor */) {
+ if (element.kind === kind && element.placement === "own") {
+ _defineClassElement(O, element);
+ }
+ });
+ });
+ }
+
+ // DefineClassElement
+ function _defineClassElement /*::*/(
+ receiver /*: C | Class */,
+ element /*: ElementDescriptor */,
+ ) {
+ var descriptor /*: PropertyDescriptor */ = element.descriptor;
+ if (element.kind === "field") {
+ var initializer = element.initializer;
+ descriptor = {
+ enumerable: descriptor.enumerable,
+ writable: descriptor.writable,
+ configurable: descriptor.configurable,
+ value: initializer === void 0 ? void 0 : initializer.call(receiver),
+ };
+ }
+ Object.defineProperty(receiver, element.key, descriptor);
+ }
+
+ /*::
+
+ type Placements = {
+ static: Key[],
+ prototype: Key[],
+ own: Key[],
+ };
+
+ */
+
+ // DecorateClass
+ function _decorateClass(
+ elements /*: ElementDescriptor[] */,
+ decorators /*: ClassDecorator[] */,
+ ) /*: ElementsFinishers */ {
+ var newElements /*: ElementDescriptor[] */ = [];
+ var finishers /*: ClassFinisher[] */ = [];
+ var placements /*: Placements */ = { static: [], prototype: [], own: [] };
+
+ elements.forEach(function(element /*: ElementDescriptor */) {
+ _addElementPlacement(element, placements);
+ });
+
+ elements.forEach(function(element /*: ElementDescriptor */) {
+ if (!_hasDecorators(element)) return newElements.push(element);
+
+ var elementFinishersExtras /*: ElementFinishersExtras */ = _decorateElement(
+ element,
+ placements,
+ );
+ newElements.push(elementFinishersExtras.element);
+ newElements.push.apply(newElements, elementFinishersExtras.extras);
+ finishers.push.apply(finishers, elementFinishersExtras.finishers);
+ });
+
+ if (!decorators) {
+ return { elements: newElements, finishers: finishers };
+ }
+
+ var result /*: ElementsFinishers */ = _decorateConstructor(
+ newElements,
+ decorators,
+ );
+ finishers.push.apply(finishers, result.finishers);
+ result.finishers = finishers;
+
+ return result;
+ }
+
+ // AddElementPlacement
+ function _addElementPlacement(
+ element /*: ElementDescriptor */,
+ placements /*: Placements */,
+ silent /*: boolean */,
+ ) {
+ var keys = placements[element.placement];
+ if (!silent && keys.indexOf(element.key) !== -1) {
+ throw new TypeError("Duplicated element (" + element.key + ")");
+ }
+ keys.push(element.key);
+ }
+
+ // DecorateElement
+ function _decorateElement(
+ element /*: ElementDescriptor */,
+ placements /*: Placements */,
+ ) /*: ElementFinishersExtras */ {
+ var extras /*: ElementDescriptor[] */ = [];
+ var finishers /*: ClassFinisher[] */ = [];
+
+ for (
+ var decorators = element.decorators, i = decorators.length - 1;
+ i >= 0;
+ i--
+ ) {
+ // (inlined) RemoveElementPlacement
+ var keys = placements[element.placement];
+ keys.splice(keys.indexOf(element.key), 1);
+
+ var elementObject /*: ElementObjectInput */ = _fromElementDescriptor(
+ element,
+ );
+ var elementFinisherExtras /*: ElementFinisherExtras */ = _toElementFinisherExtras(
+ (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||
+ elementObject,
+ );
+
+ element = elementFinisherExtras.element;
+ _addElementPlacement(element, placements);
+
+ if (elementFinisherExtras.finisher) {
+ finishers.push(elementFinisherExtras.finisher);
+ }
+
+ var newExtras /*: ElementDescriptor[] | void */ =
+ elementFinisherExtras.extras;
+ if (newExtras) {
+ for (var j = 0; j < newExtras.length; j++) {
+ _addElementPlacement(newExtras[j], placements);
+ }
+ extras.push.apply(extras, newExtras);
+ }
+ }
+
+ return { element: element, finishers: finishers, extras: extras };
+ }
+
+ // DecorateConstructor
+ function _decorateConstructor(
+ elements /*: ElementDescriptor[] */,
+ decorators /*: ClassDecorator[] */,
+ ) /*: ElementsFinishers */ {
+ var finishers /*: ClassFinisher[] */ = [];
+
+ for (var i = decorators.length - 1; i >= 0; i--) {
+ var obj /*: ClassObject */ = _fromClassDescriptor(elements);
+ var elementsAndFinisher /*: ElementsFinisher */ = _toClassDescriptor(
+ (0, decorators[i])(obj) /*: ClassObject */ || obj,
+ );
+
+ if (elementsAndFinisher.finisher !== undefined) {
+ finishers.push(elementsAndFinisher.finisher);
+ }
+
+ if (elementsAndFinisher.elements !== undefined) {
+ elements = elementsAndFinisher.elements;
+
+ for (var j = 0; j < elements.length - 1; j++) {
+ for (var k = j + 1; k < elements.length; k++) {
+ if (
+ elements[j].key === elements[k].key &&
+ elements[j].placement === elements[k].placement
+ ) {
+ throw new TypeError("Duplicated element (" + elements[j].key + ")");
+ }
+ }
+ }
+ }
+ }
+
+ return { elements: elements, finishers: finishers };
+ }
+
+ // FromElementDescriptor
+ function _fromElementDescriptor(
+ element /*: ElementDescriptor */,
+ ) /*: ElementObject */ {
+ var obj /*: ElementObject */ = {
+ kind: element.kind,
+ key: element.key,
+ placement: element.placement,
+ descriptor: element.descriptor,
+ };
+
+ var desc = {
+ value: "Descriptor",
+ configurable: true,
+ };
+ Object.defineProperty(obj, Symbol.toStringTag, desc);
+
+ if (element.kind === "field") obj.initializer = element.initializer;
+
+ return obj;
+ }
+
+ // ToElementDescriptors
+ function _toElementDescriptors(
+ elementObjects /*: ElementObject[] */,
+ ) /*: ElementDescriptor[] */ {
+ if (elementObjects === undefined) return;
+ return toArray(elementObjects).map(function(elementObject) {
+ var element = _toElementDescriptor(elementObject);
+ _disallowProperty(elementObject, "finisher", "An element descriptor");
+ _disallowProperty(elementObject, "extras", "An element descriptor");
+ return element;
+ });
+ }
+
+ // ToElementDescriptor
+ function _toElementDescriptor(
+ elementObject /*: ElementObject */,
+ ) /*: ElementDescriptor */ {
+ var kind = String(elementObject.kind);
+ if (kind !== "method" && kind !== "field") {
+ throw new TypeError(
+ 'An element descriptor\\'s .kind property must be either "method" or' +
+ ' "field", but a decorator created an element descriptor with' +
+ ' .kind "' +
+ kind +
+ '"',
+ );
+ }
+
+ var key = toPropertyKey(elementObject.key);
+
+ var placement = String(elementObject.placement);
+ if (
+ placement !== "static" &&
+ placement !== "prototype" &&
+ placement !== "own"
+ ) {
+ throw new TypeError(
+ 'An element descriptor\\'s .placement property must be one of "static",' +
+ ' "prototype" or "own", but a decorator created an element descriptor' +
+ ' with .placement "' +
+ placement +
+ '"',
+ );
+ }
+
+ var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;
+
+ _disallowProperty(elementObject, "elements", "An element descriptor");
+
+ var element /*: ElementDescriptor */ = {
+ kind: kind,
+ key: key,
+ placement: placement,
+ descriptor: Object.assign({}, descriptor),
+ };
+
+ if (kind !== "field") {
+ _disallowProperty(elementObject, "initializer", "A method descriptor");
+ } else {
+ _disallowProperty(
+ descriptor,
+ "get",
+ "The property descriptor of a field descriptor",
+ );
+ _disallowProperty(
+ descriptor,
+ "set",
+ "The property descriptor of a field descriptor",
+ );
+ _disallowProperty(
+ descriptor,
+ "value",
+ "The property descriptor of a field descriptor",
+ );
+
+ element.initializer = elementObject.initializer;
+ }
+
+ return element;
+ }
+
+ function _toElementFinisherExtras(
+ elementObject /*: ElementObject */,
+ ) /*: ElementFinisherExtras */ {
+ var element /*: ElementDescriptor */ = _toElementDescriptor(elementObject);
+ var finisher /*: ClassFinisher */ = _optionalCallableProperty(
+ elementObject,
+ "finisher",
+ );
+ var extras /*: ElementDescriptors[] */ = _toElementDescriptors(
+ elementObject.extras,
+ );
+
+ return { element: element, finisher: finisher, extras: extras };
+ }
+
+ // FromClassDescriptor
+ function _fromClassDescriptor(
+ elements /*: ElementDescriptor[] */,
+ ) /*: ClassObject */ {
+ var obj = {
+ kind: "class",
+ elements: elements.map(_fromElementDescriptor),
+ };
+
+ var desc = { value: "Descriptor", configurable: true };
+ Object.defineProperty(obj, Symbol.toStringTag, desc);
+
+ return obj;
+ }
+
+ // ToClassDescriptor
+ function _toClassDescriptor(obj /*: ClassObject */) /*: ElementsFinisher */ {
+ var kind = String(obj.kind);
+ if (kind !== "class") {
+ throw new TypeError(
+ 'A class descriptor\\'s .kind property must be "class", but a decorator' +
+ ' created a class descriptor with .kind "' +
+ kind +
+ '"',
+ );
+ }
+
+ _disallowProperty(obj, "key", "A class descriptor");
+ _disallowProperty(obj, "placement", "A class descriptor");
+ _disallowProperty(obj, "descriptor", "A class descriptor");
+ _disallowProperty(obj, "initializer", "A class descriptor");
+ _disallowProperty(obj, "extras", "A class descriptor");
+
+ var finisher = _optionalCallableProperty(obj, "finisher");
+ var elements = _toElementDescriptors(obj.elements);
+
+ return { elements: elements, finisher: finisher };
+ }
+
+ function _disallowProperty(obj, name, objectType) {
+ if (obj[name] !== undefined) {
+ throw new TypeError(objectType + " can't have a ." + name + " property.");
+ }
+ }
+
+ function _optionalCallableProperty /*::*/(
+ obj /*: T */,
+ name /*: $Keys */,
+ ) /*: ?Function */ {
+ var value = obj[name];
+ if (value !== undefined && typeof value !== "function") {
+ throw new TypeError("Expected '" + name + "' to be a function");
+ }
+ return value;
+ }
+
+ // RunClassFinishers
+ function _runClassFinishers(
+ constructor /*: Class<*> */,
+ finishers /*: ClassFinisher[] */,
+ ) /*: Class<*> */ {
+ for (var i = 0; i < finishers.length; i++) {
+ var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);
+ if (newConstructor !== undefined) {
+ // NOTE: This should check if IsConstructor(newConstructor) is false.
+ if (typeof newConstructor !== "function") {
+ throw new TypeError("Finishers must return a constructor.");
+ }
+ constructor = newConstructor;
+ }
+ }
+ return constructor;
+ }
+`;
diff --git a/packages/babel-helpers/src/index.js b/packages/babel-helpers/src/index.js
index 960393353e..86465941a0 100644
--- a/packages/babel-helpers/src/index.js
+++ b/packages/babel-helpers/src/index.js
@@ -226,13 +226,19 @@ function permuteHelperAST(file, metadata, id, localBindings, getDependency) {
});
}
-const helperData = {};
+const helperData = Object.create(null);
function loadHelper(name) {
if (!helperData[name]) {
- if (!helpers[name]) throw new ReferenceError(`Unknown helper ${name}`);
+ const helper = helpers[name];
+ if (!helper) {
+ throw Object.assign(new ReferenceError(`Unknown helper ${name}`), {
+ code: "BABEL_HELPER_UNKNOWN",
+ helper: name,
+ });
+ }
const fn = () => {
- return t.file(helpers[name]());
+ return t.file(helper.ast());
};
const metadata = getHelperMetadata(fn());
@@ -247,6 +253,9 @@ function loadHelper(name) {
globals: metadata.globals,
};
},
+ minVersion() {
+ return helper.minVersion;
+ },
dependencies: metadata.dependencies,
};
}
@@ -263,6 +272,10 @@ export function get(
return loadHelper(name).build(getDependency, id, localBindings);
}
+export function minVersion(name: string) {
+ return loadHelper(name).minVersion();
+}
+
export function getDependencies(name: string): $ReadOnlyArray {
return Array.from(loadHelper(name).dependencies.values());
}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/basic/options.json b/packages/babel-helpers/test/fixtures/dependencies/basic/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/basic/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/basic/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/deep/options.json b/packages/babel-helpers/test/fixtures/dependencies/deep/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/deep/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/deep/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/missing/options.json b/packages/babel-helpers/test/fixtures/dependencies/missing/options.json
index cbb7cd52f6..b2b371556c 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/missing/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/missing/options.json
@@ -1,4 +1,4 @@
{
- "plugins": [ "./plugin" ],
+ "plugins": ["./plugin"],
"throws": " "
-}
\ No newline at end of file
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/multiple/options.json b/packages/babel-helpers/test/fixtures/dependencies/multiple/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/multiple/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/multiple/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/rename-binding-equal/options.json b/packages/babel-helpers/test/fixtures/dependencies/rename-binding-equal/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/rename-binding-equal/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/rename-binding-equal/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/rename-deep-global/options.json b/packages/babel-helpers/test/fixtures/dependencies/rename-deep-global/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/rename-deep-global/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/rename-deep-global/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/reuse-dependency/options.json b/packages/babel-helpers/test/fixtures/dependencies/reuse-dependency/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/reuse-dependency/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/reuse-dependency/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/fixtures/dependencies/variable-same-name-dependency/options.json b/packages/babel-helpers/test/fixtures/dependencies/variable-same-name-dependency/options.json
index 15721fd2ba..14af0e5fea 100644
--- a/packages/babel-helpers/test/fixtures/dependencies/variable-same-name-dependency/options.json
+++ b/packages/babel-helpers/test/fixtures/dependencies/variable-same-name-dependency/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "./plugin" ]
-}
\ No newline at end of file
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-helpers/test/helpers/define-helper.js b/packages/babel-helpers/test/helpers/define-helper.js
index 69cc39e7a9..712eae4213 100644
--- a/packages/babel-helpers/test/helpers/define-helper.js
+++ b/packages/babel-helpers/test/helpers/define-helper.js
@@ -17,7 +17,10 @@ export default function defineHelper(
throw new Error(`The ${id} helper is already defined.`);
}
Object.defineProperty(helpers, id, {
- value: template.program(code),
+ value: {
+ minVersion: "7.0.0-beta.0",
+ ast: template.program(code),
+ },
});
return id;
}
diff --git a/packages/babel-highlight/package.json b/packages/babel-highlight/package.json
index 3a6be5a44f..0312b1aeae 100644
--- a/packages/babel-highlight/package.json
+++ b/packages/babel-highlight/package.json
@@ -1,16 +1,19 @@
{
"name": "@babel/highlight",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Syntax highlight JavaScript strings for output in terminals.",
"author": "suchipi ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-highlight",
"main": "lib/index.js",
"dependencies": {
"chalk": "^2.0.0",
"esutils": "^2.0.2",
- "js-tokens": "^3.0.0"
+ "js-tokens": "^4.0.0"
},
"devDependencies": {
"strip-ansi": "^4.0.0"
diff --git a/packages/babel-node/package.json b/packages/babel-node/package.json
index d29792000d..8ec7584421 100644
--- a/packages/babel-node/package.json
+++ b/packages/babel-node/package.json
@@ -1,10 +1,13 @@
{
"name": "@babel/node",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel command line",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-node",
"keywords": [
"6to5",
@@ -16,20 +19,20 @@
"compiler"
],
"dependencies": {
- "@babel/polyfill": "7.0.0-beta.52",
- "@babel/register": "7.0.0-beta.52",
+ "@babel/polyfill": "^7.0.0",
+ "@babel/register": "^7.0.0",
"commander": "^2.8.1",
"fs-readdir-recursive": "^1.0.0",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"output-file-sync": "^2.0.0",
"v8flags": "^3.1.1"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-fixtures": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-fixtures": "^7.0.0"
},
"bin": {
"babel-node": "./bin/babel-node.js"
diff --git a/packages/babel-node/src/_babel-node.js b/packages/babel-node/src/_babel-node.js
index 27f94a3d73..42ebf774d1 100644
--- a/packages/babel-node/src/_babel-node.js
+++ b/packages/babel-node/src/_babel-node.js
@@ -60,6 +60,9 @@ program.usage("[options] [ -e script | script.js ] [arguments]");
program.parse(process.argv);
register({
+ caller: {
+ name: "@babel/node",
+ },
extensions: program.extensions,
ignore: program.ignore,
only: program.only,
diff --git a/packages/babel-node/src/babel-node.js b/packages/babel-node/src/babel-node.js
index cb3f20ab85..5c29c3d4db 100755
--- a/packages/babel-node/src/babel-node.js
+++ b/packages/babel-node/src/babel-node.js
@@ -47,6 +47,7 @@ getV8Flags(function(err, v8Flags) {
case "--debug-brk":
case "--inspect":
case "--inspect-brk":
+ case "--experimental-modules":
args.unshift(arg);
break;
diff --git a/packages/babel-node/test/fixtures/babel-node/no-strict/options.json b/packages/babel-node/test/fixtures/babel-node/no-strict/options.json
index 63fc4b34f4..1453918c28 100644
--- a/packages/babel-node/test/fixtures/babel-node/no-strict/options.json
+++ b/packages/babel-node/test/fixtures/babel-node/no-strict/options.json
@@ -1,4 +1,4 @@
{
- "args": ["--eval","--print", "var a = 1;"],
+ "args": ["--eval", "--print", "var a = 1;"],
"stdout": "undefined"
}
diff --git a/packages/babel-node/test/fixtures/babel-node/v8Flag-dashed-with-param/options.json b/packages/babel-node/test/fixtures/babel-node/v8Flag-dashed-with-param/options.json
index a9cabbc10c..0f03b17fe5 100644
--- a/packages/babel-node/test/fixtures/babel-node/v8Flag-dashed-with-param/options.json
+++ b/packages/babel-node/test/fixtures/babel-node/v8Flag-dashed-with-param/options.json
@@ -1,4 +1,8 @@
{
- "args": ["--expose-gc-as=garbageCollector", "--eval", "console.log(typeof global.garbageCollector)"],
+ "args": [
+ "--expose-gc-as=garbageCollector",
+ "--eval",
+ "console.log(typeof global.garbageCollector)"
+ ],
"stdout": "function"
}
diff --git a/packages/babel-node/test/fixtures/babel-node/v8Flag-underscored-with-param/options.json b/packages/babel-node/test/fixtures/babel-node/v8Flag-underscored-with-param/options.json
index a8b0e91738..3c1e91b90d 100644
--- a/packages/babel-node/test/fixtures/babel-node/v8Flag-underscored-with-param/options.json
+++ b/packages/babel-node/test/fixtures/babel-node/v8Flag-underscored-with-param/options.json
@@ -1,4 +1,8 @@
{
- "args": ["--expose_gc_as=garbageCollector", "--eval", "console.log(typeof global.garbageCollector)"],
+ "args": [
+ "--expose_gc_as=garbageCollector",
+ "--eval",
+ "console.log(typeof global.garbageCollector)"
+ ],
"stdout": "function"
}
diff --git a/packages/babel-parser/package.json b/packages/babel-parser/package.json
index 94276658ac..a9102d7056 100644
--- a/packages/babel-parser/package.json
+++ b/packages/babel-parser/package.json
@@ -1,10 +1,13 @@
{
"name": "@babel/parser",
- "version": "7.0.0-beta.52",
+ "version": "7.1.3",
"description": "A JavaScript parser",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "tag": "next"
+ },
"keywords": [
"babel",
"javascript",
@@ -15,22 +18,21 @@
],
"repository": "https://github.com/babel/babel/tree/master/packages/babel-parser",
"main": "lib/index.js",
+ "types": "typings/babel-parser.d.ts",
"files": [
"bin",
- "lib"
+ "lib",
+ "typings"
],
"engines": {
"node": ">=6.0.0"
},
"devDependencies": {
- "@babel/helper-fixtures": "7.0.0-beta.52",
+ "@babel/helper-fixtures": "^7.0.0",
"charcodes": "0.1.0",
"unicode-11.0.0": "^0.7.7"
},
"bin": {
"parser": "./bin/babel-parser.js"
- },
- "publishConfig": {
- "tag": "next"
}
}
diff --git a/packages/babel-parser/src/options.js b/packages/babel-parser/src/options.js
index 121dde7ef1..3bab7c04a2 100755
--- a/packages/babel-parser/src/options.js
+++ b/packages/babel-parser/src/options.js
@@ -5,8 +5,10 @@ import type { PluginList } from "./plugin-utils";
// A second optional argument can be given to further configure
// the parser process. These options are recognized:
+export type SourceType = "script" | "module" | "unambiguous";
+
export type Options = {
- sourceType: "script" | "module",
+ sourceType: SourceType,
sourceFilename?: string,
startLine: number,
allowAwaitOutsideFunction: boolean,
diff --git a/packages/babel-parser/src/parser/comments.js b/packages/babel-parser/src/parser/comments.js
index 8b71cec739..7f6b6e2de6 100644
--- a/packages/babel-parser/src/parser/comments.js
+++ b/packages/babel-parser/src/parser/comments.js
@@ -122,6 +122,15 @@ export default class CommentsParser extends BaseParser {
lastComment.end <= node.end
) {
if (this.state.commentPreviousNode) {
+ for (j = 0; j < this.state.leadingComments.length; j++) {
+ if (
+ this.state.leadingComments[j].end <
+ this.state.commentPreviousNode.end
+ ) {
+ this.state.leadingComments.splice(j, 1);
+ j--;
+ }
+ }
if (this.state.leadingComments.length > 0) {
lastArg.trailingComments = this.state.leadingComments;
this.state.leadingComments = [];
diff --git a/packages/babel-parser/src/parser/expression.js b/packages/babel-parser/src/parser/expression.js
index dd7641990a..a02e409ec9 100644
--- a/packages/babel-parser/src/parser/expression.js
+++ b/packages/babel-parser/src/parser/expression.js
@@ -609,22 +609,41 @@ export default class ExpressionParser extends LValParser {
}
return node;
} else if (this.match(tt.backQuote)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.tag = base;
- node.quasi = this.parseTemplate(true);
- if (state.optionalChainMember) {
- this.raise(
- startPos,
- "Tagged Template Literals are not allowed in optionalChain",
- );
- }
- return this.finishNode(node, "TaggedTemplateExpression");
+ return this.parseTaggedTemplateExpression(
+ startPos,
+ startLoc,
+ base,
+ state,
+ );
} else {
state.stop = true;
return base;
}
}
+ parseTaggedTemplateExpression(
+ startPos: number,
+ startLoc: Position,
+ base: N.Expression,
+ state: N.ParseSubscriptState,
+ typeArguments?: ?N.TsTypeParameterInstantiation,
+ ): N.TaggedTemplateExpression {
+ const node: N.TaggedTemplateExpression = this.startNodeAt(
+ startPos,
+ startLoc,
+ );
+ node.tag = base;
+ node.quasi = this.parseTemplate(true);
+ if (typeArguments) node.typeParameters = typeArguments;
+ if (state.optionalChainMember) {
+ this.raise(
+ startPos,
+ "Tagged Template Literals are not allowed in optionalChain",
+ );
+ }
+ return this.finishNode(node, "TaggedTemplateExpression");
+ }
+
atPossibleAsync(base: N.Expression): boolean {
return (
!this.state.containsEsc &&
@@ -821,7 +840,12 @@ export default class ExpressionParser extends LValParser {
) {
this.next();
return this.parseFunction(node, false, false, true);
- } else if (canBeArrow && id.name === "async" && this.match(tt.name)) {
+ } else if (
+ canBeArrow &&
+ !this.canInsertSemicolon() &&
+ id.name === "async" &&
+ this.match(tt.name)
+ ) {
const oldYield = this.state.yieldInPossibleArrowParameters;
this.state.yieldInPossibleArrowParameters = null;
const params = [this.parseIdentifier()];
@@ -977,7 +1001,19 @@ export default class ExpressionParser extends LValParser {
if (isPrivate) {
this.expectOnePlugin(["classPrivateProperties", "classPrivateMethods"]);
const node = this.startNode();
+ const columnHashEnd = this.state.end;
this.next();
+ const columnIdentifierStart = this.state.start;
+
+ const spacesBetweenHashAndIdentifier =
+ columnIdentifierStart - columnHashEnd;
+ if (spacesBetweenHashAndIdentifier != 0) {
+ this.raise(
+ columnIdentifierStart,
+ "Unexpected space between # and identifier",
+ );
+ }
+
node.id = this.parseIdentifier(true);
return this.finishNode(node, "PrivateName");
} else {
@@ -1037,7 +1073,7 @@ export default class ExpressionParser extends LValParser {
} else if (!this.hasPlugin("importMeta")) {
this.raise(
id.start,
- `Dynamic imports require a parameter: import('a.js').then`,
+ `Dynamic imports require a parameter: import('a.js')`,
);
}
}
diff --git a/packages/babel-parser/src/parser/index.js b/packages/babel-parser/src/parser/index.js
index 8042410ff6..6d6d9cfd8b 100644
--- a/packages/babel-parser/src/parser/index.js
+++ b/packages/babel-parser/src/parser/index.js
@@ -1,7 +1,7 @@
// @flow
import type { Options } from "../options";
-import type { File } from "../types";
+import type { File, JSXOpeningElement } from "../types";
import type { PluginList } from "../plugin-utils";
import { getOptions } from "../options";
import StatementParser from "./statement";
@@ -11,6 +11,11 @@ export type PluginsMap = {
};
export default class Parser extends StatementParser {
+ // Forward-declaration so typescript plugin can override jsx plugin
+ +jsxParseOpeningElementAfterName: (
+ node: JSXOpeningElement,
+ ) => JSXOpeningElement;
+
constructor(options: ?Options, input: string) {
options = getOptions(options);
super(options, input);
diff --git a/packages/babel-parser/src/parser/statement.js b/packages/babel-parser/src/parser/statement.js
index 041d8813e4..86d0abb94f 100644
--- a/packages/babel-parser/src/parser/statement.js
+++ b/packages/babel-parser/src/parser/statement.js
@@ -3,7 +3,8 @@
import * as N from "../types";
import { types as tt, type TokenType } from "../tokenizer/types";
import ExpressionParser from "./expression";
-import { lineBreak } from "../util/whitespace";
+import { isIdentifierChar } from "../util/identifier";
+import { lineBreak, skipWhiteSpace } from "../util/whitespace";
// Reused empty array added for node fields that are always empty.
@@ -304,15 +305,7 @@ export default class StatementParser extends ExpressionParser {
}
}
- if (this.eat(tt.parenL)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.callee = expr;
- node.arguments = this.parseCallExpressionArguments(tt.parenR, false);
- this.toReferencedList(node.arguments);
- expr = this.finishNode(node, "CallExpression");
- }
-
- node.expression = expr;
+ node.expression = this.parseMaybeDecoratorArguments(expr);
this.state.decoratorStack.pop();
} else {
node.expression = this.parseMaybeAssign();
@@ -320,6 +313,18 @@ export default class StatementParser extends ExpressionParser {
return this.finishNode(node, "Decorator");
}
+ parseMaybeDecoratorArguments(expr: N.Expression): N.Expression {
+ if (this.eat(tt.parenL)) {
+ const node = this.startNodeAtNode(expr);
+ node.callee = expr;
+ node.arguments = this.parseCallExpressionArguments(tt.parenR, false);
+ this.toReferencedList(node.arguments);
+ return this.finishNode(node, "CallExpression");
+ }
+
+ return expr;
+ }
+
parseBreakContinueStatement(
node: N.BreakStatement | N.ContinueStatement,
keyword: string,
@@ -1497,18 +1502,37 @@ export default class StatementParser extends ExpressionParser {
return this.finishNode(node, "ExportNamedDeclaration");
}
+ isAsyncFunction() {
+ if (!this.isContextual("async")) return false;
+
+ const { input, pos } = this.state;
+
+ skipWhiteSpace.lastIndex = pos;
+ const skip = skipWhiteSpace.exec(input);
+
+ if (!skip || !skip.length) return false;
+
+ const next = pos + skip[0].length;
+
+ return (
+ !lineBreak.test(input.slice(pos, next)) &&
+ input.slice(next, next + 8) === "function" &&
+ (next + 8 === input.length || !isIdentifierChar(input.charAt(next + 8)))
+ );
+ }
+
parseExportDefaultExpression(): N.Expression | N.Declaration {
const expr = this.startNode();
- if (this.eat(tt._function)) {
- return this.parseFunction(expr, true, false, false, true);
- } else if (
- this.isContextual("async") &&
- this.lookahead().type === tt._function
- ) {
- // async function declaration
- this.eatContextual("async");
- this.eat(tt._function);
- return this.parseFunction(expr, true, false, true, true);
+
+ const isAsync = this.isAsyncFunction();
+
+ if (this.eat(tt._function) || isAsync) {
+ if (isAsync) {
+ this.eatContextual("async");
+ this.expect(tt._function);
+ }
+
+ return this.parseFunction(expr, true, false, isAsync, true);
} else if (this.match(tt._class)) {
return this.parseClass(expr, true, true);
} else if (this.match(tt.at)) {
@@ -1641,7 +1665,7 @@ export default class StatementParser extends ExpressionParser {
this.state.type.keyword === "let" ||
this.state.type.keyword === "function" ||
this.state.type.keyword === "class" ||
- this.isContextual("async")
+ this.isAsyncFunction()
);
}
diff --git a/packages/babel-parser/src/plugin-utils.js b/packages/babel-parser/src/plugin-utils.js
index d8ed23d86d..d92800f464 100644
--- a/packages/babel-parser/src/plugin-utils.js
+++ b/packages/babel-parser/src/plugin-utils.js
@@ -41,13 +41,28 @@ export function getPluginOption(
const PIPELINE_PROPOSALS = ["minimal", "smart"];
export function validatePlugins(plugins: PluginList) {
- if (
- hasPlugin(plugins, "decorators") &&
- hasPlugin(plugins, "decorators-legacy")
- ) {
- throw new Error(
- "Cannot use the decorators and decorators-legacy plugin together",
+ if (hasPlugin(plugins, "decorators")) {
+ if (hasPlugin(plugins, "decorators-legacy")) {
+ throw new Error(
+ "Cannot use the decorators and decorators-legacy plugin together",
+ );
+ }
+
+ const decoratorsBeforeExport = getPluginOption(
+ plugins,
+ "decorators",
+ "decoratorsBeforeExport",
);
+ if (decoratorsBeforeExport == null) {
+ throw new Error(
+ "The 'decorators' plugin requires a 'decoratorsBeforeExport' option," +
+ " whose value must be a boolean. If you are migrating from" +
+ " Babylon/Babel 6 or want to use the old decorators proposal, you" +
+ " should use the 'decorators-legacy' plugin instead of 'decorators'.",
+ );
+ } else if (typeof decoratorsBeforeExport !== "boolean") {
+ throw new Error("'decoratorsBeforeExport' must be a boolean.");
+ }
}
if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) {
diff --git a/packages/babel-parser/src/plugins/flow.js b/packages/babel-parser/src/plugins/flow.js
index cd2bdd0d43..cd250e9ad0 100644
--- a/packages/babel-parser/src/plugins/flow.js
+++ b/packages/babel-parser/src/plugins/flow.js
@@ -463,7 +463,13 @@ export default (superClass: Class): Class =>
} while (this.eat(tt.comma));
}
- node.body = this.flowParseObjectType(true, false, false, isClass);
+ node.body = this.flowParseObjectType({
+ allowStatic: isClass,
+ allowExact: false,
+ allowSpread: false,
+ allowProto: isClass,
+ allowInexact: false,
+ });
}
flowParseInterfaceExtends(): N.FlowInterfaceExtends {
@@ -632,12 +638,15 @@ export default (superClass: Class): Class =>
this.state.inType = true;
this.expectRelational("<");
+ const oldNoAnonFunctionType = this.state.noAnonFunctionType;
+ this.state.noAnonFunctionType = false;
while (!this.isRelational(">")) {
node.params.push(this.flowParseType());
if (!this.isRelational(">")) {
this.expect(tt.comma);
}
}
+ this.state.noAnonFunctionType = oldNoAnonFunctionType;
this.expectRelational(">");
this.state.inType = oldInType;
@@ -656,7 +665,13 @@ export default (superClass: Class): Class =>
} while (this.eat(tt.comma));
}
- node.body = this.flowParseObjectType(true, false, false, false);
+ node.body = this.flowParseObjectType({
+ allowStatic: false,
+ allowExact: false,
+ allowSpread: false,
+ allowProto: false,
+ allowInexact: false,
+ });
return this.finishNode(node, "InterfaceTypeAnnotation");
}
@@ -754,12 +769,19 @@ export default (superClass: Class): Class =>
return this.finishNode(node, "ObjectTypeCallProperty");
}
- flowParseObjectType(
+ flowParseObjectType({
+ allowStatic,
+ allowExact,
+ allowSpread,
+ allowProto,
+ allowInexact,
+ }: {
allowStatic: boolean,
allowExact: boolean,
allowSpread: boolean,
allowProto: boolean,
- ): N.FlowObjectTypeAnnotation {
+ allowInexact: boolean,
+ }): N.FlowObjectTypeAnnotation {
const oldInType = this.state.inType;
this.state.inType = true;
@@ -772,6 +794,7 @@ export default (superClass: Class): Class =>
let endDelim;
let exact;
+ let inexact = false;
if (allowExact && this.match(tt.braceBarL)) {
this.expect(tt.braceBarL);
endDelim = tt.braceBarR;
@@ -852,16 +875,21 @@ export default (superClass: Class): Class =>
}
}
- nodeStart.properties.push(
- this.flowParseObjectTypeProperty(
- node,
- isStatic,
- protoStart,
- variance,
- kind,
- allowSpread,
- ),
+ const propOrInexact = this.flowParseObjectTypeProperty(
+ node,
+ isStatic,
+ protoStart,
+ variance,
+ kind,
+ allowSpread,
+ allowInexact,
);
+
+ if (propOrInexact === null) {
+ inexact = true;
+ } else {
+ nodeStart.properties.push(propOrInexact);
+ }
}
this.flowObjectTypeSemicolon();
@@ -869,6 +897,15 @@ export default (superClass: Class): Class =>
this.expect(endDelim);
+ /* The inexact flag should only be added on ObjectTypeAnnotations that
+ * are not the body of an interface, declare interface, or declare class.
+ * Since spreads are only allowed in objec types, checking that is
+ * sufficient here.
+ */
+ if (allowSpread) {
+ nodeStart.inexact = inexact;
+ }
+
const out = this.finishNode(nodeStart, "ObjectTypeAnnotation");
this.state.inType = oldInType;
@@ -883,7 +920,8 @@ export default (superClass: Class): Class =>
variance: ?N.FlowVariance,
kind: string,
allowSpread: boolean,
- ): N.FlowObjectTypeProperty | N.FlowObjectTypeSpreadProperty {
+ allowInexact: boolean,
+ ): (N.FlowObjectTypeProperty | N.FlowObjectTypeSpreadProperty) | null {
if (this.match(tt.ellipsis)) {
if (!allowSpread) {
this.unexpected(
@@ -901,8 +939,30 @@ export default (superClass: Class): Class =>
);
}
this.expect(tt.ellipsis);
- node.argument = this.flowParseType();
+ const isInexactToken = this.eat(tt.comma) || this.eat(tt.semi);
+ if (this.match(tt.braceR)) {
+ if (allowInexact) return null;
+ this.unexpected(
+ null,
+ "Explicit inexact syntax is only allowed inside inexact objects",
+ );
+ }
+
+ if (this.match(tt.braceBarR)) {
+ this.unexpected(
+ null,
+ "Explicit inexact syntax cannot appear inside an explicit exact object type",
+ );
+ }
+
+ if (isInexactToken) {
+ this.unexpected(
+ null,
+ "Explicit inexact syntax must appear at the end of an inexact object",
+ );
+ }
+ node.argument = this.flowParseType();
return this.finishNode(node, "ObjectTypeSpreadProperty");
} else {
node.key = this.flowParseObjectPropertyKey();
@@ -1146,10 +1206,22 @@ export default (superClass: Class): Class =>
);
case tt.braceL:
- return this.flowParseObjectType(false, false, true, false);
+ return this.flowParseObjectType({
+ allowStatic: false,
+ allowExact: false,
+ allowSpread: true,
+ allowProto: false,
+ allowInexact: true,
+ });
case tt.braceBarL:
- return this.flowParseObjectType(false, true, true, false);
+ return this.flowParseObjectType({
+ allowStatic: false,
+ allowExact: true,
+ allowSpread: true,
+ allowProto: false,
+ allowInexact: false,
+ });
case tt.bracketL:
return this.flowParseTupleType();
@@ -1917,6 +1989,15 @@ export default (superClass: Class): Class =>
return super.parseClassProperty(node);
}
+ parseClassPrivateProperty(
+ node: N.ClassPrivateProperty,
+ ): N.ClassPrivateProperty {
+ if (this.match(tt.colon)) {
+ node.typeAnnotation = this.flowParseTypeAnnotation();
+ }
+ return super.parseClassPrivateProperty(node);
+ }
+
// determine whether or not we're currently in the position where a class method would appear
isClassMethod(): boolean {
return this.isRelational("<") || super.isClassMethod();
diff --git a/packages/babel-parser/src/plugins/jsx/index.js b/packages/babel-parser/src/plugins/jsx/index.js
index 6ac5204377..0d32ea98d1 100644
--- a/packages/babel-parser/src/plugins/jsx/index.js
+++ b/packages/babel-parser/src/plugins/jsx/index.js
@@ -358,11 +358,18 @@ export default (superClass: Class): Class =>
this.expect(tt.jsxTagEnd);
return this.finishNode(node, "JSXOpeningFragment");
}
- node.attributes = [];
node.name = this.jsxParseElementName();
+ return this.jsxParseOpeningElementAfterName(node);
+ }
+
+ jsxParseOpeningElementAfterName(
+ node: N.JSXOpeningElement,
+ ): N.JSXOpeningElement {
+ const attributes: N.JSXAttribute[] = [];
while (!this.match(tt.slash) && !this.match(tt.jsxTagEnd)) {
- node.attributes.push(this.jsxParseAttribute());
+ attributes.push(this.jsxParseAttribute());
}
+ node.attributes = attributes;
node.selfClosing = this.eat(tt.slash);
this.expect(tt.jsxTagEnd);
return this.finishNode(node, "JSXOpeningElement");
diff --git a/packages/babel-parser/src/plugins/typescript.js b/packages/babel-parser/src/plugins/typescript.js
index e9abe7276f..bd3d88d9ac 100644
--- a/packages/babel-parser/src/plugins/typescript.js
+++ b/packages/babel-parser/src/plugins/typescript.js
@@ -57,6 +57,8 @@ function keywordTypeFromName(
return "TSSymbolKeyword";
case "undefined":
return "TSUndefinedKeyword";
+ case "unknown":
+ return "TSUnknownKeyword";
default:
return undefined;
}
@@ -501,13 +503,32 @@ export default (superClass: Class): Class =>
const node: N.TsTupleType = this.startNode();
node.elementTypes = this.tsParseBracketedList(
"TupleElementTypes",
- this.tsParseType.bind(this),
+ this.tsParseTupleElementType.bind(this),
/* bracket */ true,
/* skipFirstToken */ false,
);
return this.finishNode(node, "TSTupleType");
}
+ tsParseTupleElementType(): N.TsType {
+ // parses `...TsType[]`
+ if (this.match(tt.ellipsis)) {
+ const restNode: N.TsRestType = this.startNode();
+ this.next(); // skips ellipsis
+ restNode.typeAnnotation = this.tsParseType();
+ return this.finishNode(restNode, "TSRestType");
+ }
+
+ const type = this.tsParseType();
+ // parses `TsType?`
+ if (this.eat(tt.question)) {
+ const optionalTypeNode: N.TsOptionalType = this.startNodeAtNode(type);
+ optionalTypeNode.typeAnnotation = type;
+ return this.finishNode(optionalTypeNode, "TSOptionalType");
+ }
+ return type;
+ }
+
tsParseParenthesizedType(): N.TsParenthesizedType {
const node = this.startNode();
this.expect(tt.parenL);
@@ -836,14 +857,6 @@ export default (superClass: Class): Class =>
return this.finishNode(node, "TSTypeAssertion");
}
- tsTryParseTypeArgumentsInExpression(): ?N.TsTypeParameterInstantiation {
- return this.tsTryParseAndCatch(() => {
- const res = this.tsParseTypeArguments();
- this.expect(tt.parenL);
- return res;
- });
- }
-
tsParseHeritageClause(): $ReadOnlyArray {
return this.tsParseDelimitedList(
"HeritageClauseElement",
@@ -887,6 +900,16 @@ export default (superClass: Class): Class =>
return this.finishNode(node, "TSTypeAliasDeclaration");
}
+ tsInNoContext(cb: () => T): T {
+ const oldContext = this.state.context;
+ this.state.context = [oldContext[0]];
+ try {
+ return cb();
+ } finally {
+ this.state.context = oldContext;
+ }
+ }
+
/**
* Runs `cb` in a type context.
* This should be called one token *before* the first type token,
@@ -1241,13 +1264,19 @@ export default (superClass: Class): Class =>
tsParseTypeArguments(): N.TsTypeParameterInstantiation {
const node = this.startNode();
- node.params = this.tsInType(() => {
- this.expectRelational("<");
- return this.tsParseDelimitedList(
- "TypeParametersOrArguments",
- this.tsParseType.bind(this),
- );
- });
+ node.params = this.tsInType(() =>
+ // Temporarily remove a JSX parsing context, which makes us scan different tokens.
+ this.tsInNoContext(() => {
+ this.expectRelational("<");
+ return this.tsParseDelimitedList(
+ "TypeParametersOrArguments",
+ this.tsParseType.bind(this),
+ );
+ }),
+ );
+ // This reads the next token after the `>` too, so do this in the enclosing context.
+ // But be sure not to parse a regex in the jsx expression ` />`, so set exprAllowed = false
+ this.state.exprAllowed = false;
this.expectRelational(">");
return this.finishNode(node, "TSTypeParameterInstantiation");
}
@@ -1358,34 +1387,53 @@ export default (superClass: Class): Class =>
return this.finishNode(nonNullExpression, "TSNonNullExpression");
}
- if (!noCalls && this.isRelational("<")) {
- if (this.atPossibleAsync(base)) {
- // Almost certainly this is a generic async function `async () => ...
- // But it might be a call with a type argument `async();`
- const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(
- startPos,
- startLoc,
- );
- if (asyncArrowFn) {
- return asyncArrowFn;
+ if (this.isRelational("<")) {
+ // tsTryParseAndCatch is expensive, so avoid if not necessary.
+ // There are number of things we are going to "maybe" parse, like type arguments on
+ // tagged template expressions. If any of them fail, walk it back and continue.
+ const result = this.tsTryParseAndCatch(() => {
+ if (!noCalls && this.atPossibleAsync(base)) {
+ // Almost certainly this is a generic async function `async () => ...
+ // But it might be a call with a type argument `async();`
+ const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(
+ startPos,
+ startLoc,
+ );
+ if (asyncArrowFn) {
+ return asyncArrowFn;
+ }
}
- }
- const node: N.CallExpression = this.startNodeAt(startPos, startLoc);
- node.callee = base;
+ const node: N.CallExpression = this.startNodeAt(startPos, startLoc);
+ node.callee = base;
- // May be passing type arguments. But may just be the `<` operator.
- const typeArguments = this.tsTryParseTypeArgumentsInExpression(); // Also eats the "("
- if (typeArguments) {
- // possibleAsync always false here, because we would have handled it above.
- // $FlowIgnore (won't be any undefined arguments)
- node.arguments = this.parseCallExpressionArguments(
- tt.parenR,
- /* possibleAsync */ false,
- );
- node.typeParameters = typeArguments;
- return this.finishCallExpression(node);
- }
+ const typeArguments = this.tsParseTypeArguments();
+
+ if (typeArguments) {
+ if (!noCalls && this.eat(tt.parenL)) {
+ // possibleAsync always false here, because we would have handled it above.
+ // $FlowIgnore (won't be any undefined arguments)
+ node.arguments = this.parseCallExpressionArguments(
+ tt.parenR,
+ /* possibleAsync */ false,
+ );
+ node.typeParameters = typeArguments;
+ return this.finishCallExpression(node);
+ } else if (this.match(tt.backQuote)) {
+ return this.parseTaggedTemplateExpression(
+ startPos,
+ startLoc,
+ base,
+ state,
+ typeArguments,
+ );
+ }
+ }
+
+ this.unexpected();
+ });
+
+ if (result) return result;
}
return super.parseSubscript(base, startPos, startLoc, noCalls, state);
@@ -1509,6 +1557,19 @@ export default (superClass: Class): Class =>
cls.abstract = true;
return cls;
}
+
+ // export default interface allowed in:
+ // https://github.com/Microsoft/TypeScript/pull/16040
+ if (this.state.value === "interface") {
+ const result = this.tsParseDeclaration(
+ this.startNode(),
+ this.state.value,
+ true,
+ );
+
+ if (result) return result;
+ }
+
return super.parseExportDefaultExpression();
}
@@ -1764,9 +1825,8 @@ export default (superClass: Class): Class =>
}
parseObjPropValue(prop: N.ObjectMember, ...args): void {
- if (this.isRelational("<")) {
- throw new Error("TODO");
- }
+ const typeParameters = this.tsTryParseTypeParameters();
+ if (typeParameters) prop.typeParameters = typeParameters;
super.parseObjPropValue(prop, ...args);
}
@@ -2006,6 +2066,22 @@ export default (superClass: Class): Class =>
}
}
+ parseMaybeDecoratorArguments(expr: N.Expression): N.Expression {
+ if (this.isRelational("<")) {
+ const typeArguments = this.tsParseTypeArguments();
+
+ if (this.match(tt.parenL)) {
+ const call = super.parseMaybeDecoratorArguments(expr);
+ call.typeParameters = typeArguments;
+ return call;
+ }
+
+ this.unexpected(this.state.start, tt.parenL);
+ }
+
+ return super.parseMaybeDecoratorArguments(expr);
+ }
+
// === === === === === === === === === === === === === === === ===
// Note: All below methods are duplicates of something in flow.js.
// Not sure what the best way to combine these is.
@@ -2102,4 +2178,14 @@ export default (superClass: Class): Class =>
// Avoid unnecessary lookahead in checking for abstract class unless needed!
return super.canHaveLeadingDecorator() || this.isAbstractClass();
}
+
+ jsxParseOpeningElementAfterName(
+ node: N.JSXOpeningElement,
+ ): N.JSXOpeningElement {
+ const typeArguments = this.tsTryParseAndCatch(() =>
+ this.tsParseTypeArguments(),
+ );
+ if (typeArguments) node.typeParameters = typeArguments;
+ return super.jsxParseOpeningElementAfterName(node);
+ }
};
diff --git a/packages/babel-parser/src/tokenizer/context.js b/packages/babel-parser/src/tokenizer/context.js
index 11fe53d2d2..bb0f7b8a20 100644
--- a/packages/babel-parser/src/tokenizer/context.js
+++ b/packages/babel-parser/src/tokenizer/context.js
@@ -106,7 +106,7 @@ tt.incDec.updateContext = function() {
// tokExprAllowed stays unchanged
};
-tt._function.updateContext = function(prevType) {
+tt._function.updateContext = tt._class.updateContext = function(prevType) {
if (this.state.exprAllowed && !this.braceIsBlock(prevType)) {
this.state.context.push(types.functionExpression);
}
diff --git a/packages/babel-parser/src/tokenizer/index.js b/packages/babel-parser/src/tokenizer/index.js
index 2c362e0c24..871c319960 100644
--- a/packages/babel-parser/src/tokenizer/index.js
+++ b/packages/babel-parser/src/tokenizer/index.js
@@ -16,7 +16,7 @@ import {
lineBreak,
lineBreakG,
isNewLine,
- nonASCIIwhitespace,
+ isWhitespace,
} from "../util/whitespace";
import State from "./state";
@@ -110,18 +110,6 @@ export class Token {
// ## Tokenizer
-function codePointToString(code: number): string {
- // UTF-16 Decoding
- if (code <= 0xffff) {
- return String.fromCharCode(code);
- } else {
- return String.fromCharCode(
- ((code - 0x10000) >> 10) + 0xd800,
- ((code - 0x10000) & 1023) + 0xdc00,
- );
- }
-}
-
export default class Tokenizer extends LocationParser {
// Forward-declarations
// parser/util.js
@@ -226,7 +214,7 @@ export default class Tokenizer extends LocationParser {
if (curContext.override) {
curContext.override(this);
} else {
- this.readToken(this.fullCharCodeAtPos());
+ this.readToken(this.input.codePointAt(this.state.pos));
}
}
@@ -240,14 +228,6 @@ export default class Tokenizer extends LocationParser {
}
}
- fullCharCodeAtPos(): number {
- const code = this.input.charCodeAt(this.state.pos);
- if (code <= 0xd7ff || code >= 0xe000) return code;
-
- const next = this.input.charCodeAt(this.state.pos + 1);
- return (code << 10) + next - 0x35fdc00;
- }
-
pushComment(
block: boolean,
text: string,
@@ -331,11 +311,6 @@ export default class Tokenizer extends LocationParser {
loop: while (this.state.pos < this.input.length) {
const ch = this.input.charCodeAt(this.state.pos);
switch (ch) {
- case charCodes.space:
- case charCodes.nonBreakingSpace:
- ++this.state.pos;
- break;
-
case charCodes.carriageReturn:
if (
this.input.charCodeAt(this.state.pos + 1) === charCodes.lineFeed
@@ -367,11 +342,7 @@ export default class Tokenizer extends LocationParser {
break;
default:
- if (
- (ch > charCodes.backSpace && ch < charCodes.shiftOut) ||
- (ch >= charCodes.oghamSpaceMark &&
- nonASCIIwhitespace.test(String.fromCharCode(ch)))
- ) {
+ if (isWhitespace(ch)) {
++this.state.pos;
} else {
break loop;
@@ -455,7 +426,7 @@ export default class Tokenizer extends LocationParser {
readToken_slash(): void {
// '/'
- if (this.state.exprAllowed) {
+ if (this.state.exprAllowed && !this.state.inType) {
++this.state.pos;
this.readRegexp();
return;
@@ -845,7 +816,7 @@ export default class Tokenizer extends LocationParser {
this.raise(
this.state.pos,
- `Unexpected character '${codePointToString(code)}'`,
+ `Unexpected character '${String.fromCodePoint(code)}'`,
);
}
@@ -887,7 +858,7 @@ export default class Tokenizer extends LocationParser {
while (this.state.pos < this.input.length) {
const char = this.input[this.state.pos];
- const charCode = this.fullCharCodeAtPos();
+ const charCode = this.input.codePointAt(this.state.pos);
if (VALID_REGEX_FLAGS.indexOf(char) > -1) {
if (mods.indexOf(char) > -1) {
@@ -999,7 +970,7 @@ export default class Tokenizer extends LocationParser {
}
}
- if (isIdentifierStart(this.fullCharCodeAtPos())) {
+ if (isIdentifierStart(this.input.codePointAt(this.state.pos))) {
this.raise(this.state.pos, "Identifier directly after number");
}
@@ -1055,7 +1026,7 @@ export default class Tokenizer extends LocationParser {
}
}
- if (isIdentifierStart(this.fullCharCodeAtPos())) {
+ if (isIdentifierStart(this.input.codePointAt(this.state.pos))) {
this.raise(this.state.pos, "Identifier directly after number");
}
@@ -1132,6 +1103,7 @@ export default class Tokenizer extends LocationParser {
(ch === charCodes.lineSeparator || ch === charCodes.paragraphSeparator)
) {
++this.state.pos;
+ ++this.state.curLine;
} else if (isNewLine(ch)) {
this.raise(this.state.start, "Unterminated string constant");
} else {
@@ -1224,7 +1196,7 @@ export default class Tokenizer extends LocationParser {
}
case charCodes.lowercaseU: {
const code = this.readCodePoint(throwOnInvalid);
- return code === null ? null : codePointToString(code);
+ return code === null ? null : String.fromCodePoint(code);
}
case charCodes.lowercaseT:
return "\t";
@@ -1302,7 +1274,7 @@ export default class Tokenizer extends LocationParser {
first = true,
chunkStart = this.state.pos;
while (this.state.pos < this.input.length) {
- const ch = this.fullCharCodeAtPos();
+ const ch = this.input.codePointAt(this.state.pos);
if (isIdentifierChar(ch)) {
this.state.pos += ch <= 0xffff ? 1 : 2;
} else if (this.state.isIterator && ch === charCodes.atSign) {
@@ -1328,7 +1300,7 @@ export default class Tokenizer extends LocationParser {
}
// $FlowFixMe
- word += codePointToString(esc);
+ word += String.fromCodePoint(esc);
chunkStart = this.state.pos;
} else {
break;
diff --git a/packages/babel-parser/src/tokenizer/types.js b/packages/babel-parser/src/tokenizer/types.js
index 3c401f163f..9df50b093c 100644
--- a/packages/babel-parser/src/tokenizer/types.js
+++ b/packages/babel-parser/src/tokenizer/types.js
@@ -66,18 +66,12 @@ export class TokenType {
}
}
-class KeywordTokenType extends TokenType {
- constructor(name: string, options: TokenOptions = {}) {
- options.keyword = name;
-
- super(name, options);
- }
+function KeywordTokenType(keyword: string, options: TokenOptions = {}) {
+ return new TokenType(keyword, { ...options, keyword });
}
-export class BinopTokenType extends TokenType {
- constructor(name: string, prec: number) {
- super(name, { beforeExpr, binop: prec });
- }
+function BinopTokenType(name: string, binop: number) {
+ return new TokenType(name, { beforeExpr, binop });
}
export const types: { [name: string]: TokenType } = {
diff --git a/packages/babel-parser/src/types.js b/packages/babel-parser/src/types.js
index b658f7b0d7..c06f1e66b8 100644
--- a/packages/babel-parser/src/types.js
+++ b/packages/babel-parser/src/types.js
@@ -1,5 +1,6 @@
// @flow
+import type { SourceType } from "./options";
import type { Token } from "./tokenizer";
import type { SourceLocation } from "./util/location";
@@ -135,7 +136,7 @@ export type File = NodeBase & {
export type Program = NodeBase & {
type: "Program",
- sourceType: "script" | "module",
+ sourceType: SourceType,
body: Array, // TODO: $ReadOnlyArray
directives: $ReadOnlyArray, // TODO: Not in spec
interpreter: InterpreterDirective | null,
@@ -397,7 +398,7 @@ export type ObjectMemberBase = NodeBase & {
decorators: $ReadOnlyArray,
kind?: "get" | "set" | "method",
method: boolean, // TODO: Not in spec
-
+ typeParameters?: ?TypeParameterInstantiationBase, // TODO: Not in spec
variance?: ?FlowVariance, // TODO: Not in spec
};
@@ -599,10 +600,11 @@ export type TemplateLiteral = NodeBase & {
expressions: $ReadOnlyArray,
};
-export type TaggedTmplateExpression = NodeBase & {
+export type TaggedTemplateExpression = NodeBase & {
type: "TaggedTemplateExpression",
tag: Expression,
quasi: TemplateLiteral,
+ typeParameters?: ?TypeParameterInstantiationBase, // TODO: Not in spec
};
export type TemplateElement = NodeBase & {
@@ -742,6 +744,7 @@ export type ClassPrivateProperty = NodeBase & {
value: ?Expression, // TODO: Not in spec that this is nullable.
static: boolean,
computed: false,
+ typeAnnotation?: ?TypeAnnotation, // TODO: Not in spec
};
export type OptClassDeclaration = ClassBase &
@@ -846,7 +849,13 @@ export type JSXEmptyExpression = Node;
export type JSXSpreadChild = Node;
export type JSXExpressionContainer = Node;
export type JSXAttribute = Node;
-export type JSXOpeningElement = Node;
+export type JSXOpeningElement = NodeBase & {
+ type: "JSXOpeningElement",
+ name: JSXNamespacedName | JSXMemberExpression,
+ typeParameters?: ?TypeParameterInstantiationBase, // TODO: Not in spec
+ attributes: $ReadOnlyArray,
+ selfClosing: boolean,
+};
export type JSXClosingElement = Node;
export type JSXElement = Node;
export type JSXOpeningFragment = Node;
@@ -1121,6 +1130,8 @@ export type TsType =
| TsTypeLiteral
| TsArrayType
| TsTupleType
+ | TsOptionalType
+ | TsRestType
| TsUnionOrIntersectionType
| TsConditionalType
| TsInferType
@@ -1136,6 +1147,7 @@ export type TsTypeBase = NodeBase;
export type TsKeywordTypeType =
| "TSAnyKeyword"
+ | "TSUnknownKeyword"
| "TSNumberKeyword"
| "TSObjectKeyword"
| "TSBooleanKeyword"
@@ -1200,6 +1212,16 @@ export type TsTupleType = TsTypeBase & {
elementTypes: $ReadOnlyArray,
};
+export type TsOptionalType = TsTypeBase & {
+ type: "TSOptionalType",
+ typeAnnotation: TsType,
+};
+
+export type TsRestType = TsTypeBase & {
+ type: "TSRestType",
+ typeAnnotation: TsType,
+};
+
export type TsUnionOrIntersectionType = TsUnionType | TsIntersectionType;
export type TsUnionOrIntersectionTypeBase = TsTypeBase & {
diff --git a/packages/babel-parser/src/util/location.js b/packages/babel-parser/src/util/location.js
index 69df6d27a3..8e2ab59c5a 100644
--- a/packages/babel-parser/src/util/location.js
+++ b/packages/babel-parser/src/util/location.js
@@ -39,16 +39,14 @@ export class SourceLocation {
// into.
export function getLineInfo(input: string, offset: number): Position {
- for (let line = 1, cur = 0; ; ) {
- lineBreakG.lastIndex = cur;
- const match = lineBreakG.exec(input);
- if (match && match.index < offset) {
- ++line;
- cur = match.index + match[0].length;
- } else {
- return new Position(line, offset - cur);
- }
+ let line = 1;
+ let lineStart = 0;
+ let match;
+ lineBreakG.lastIndex = 0;
+ while ((match = lineBreakG.exec(input)) && match.index < offset) {
+ line++;
+ lineStart = lineBreakG.lastIndex;
}
- // istanbul ignore next
- throw new Error("Unreachable");
+
+ return new Position(line, offset - lineStart);
}
diff --git a/packages/babel-parser/src/util/whitespace.js b/packages/babel-parser/src/util/whitespace.js
index 0588213ecd..d82d87413d 100644
--- a/packages/babel-parser/src/util/whitespace.js
+++ b/packages/babel-parser/src/util/whitespace.js
@@ -1,13 +1,55 @@
// @flow
+import * as charCodes from "charcodes";
+
// Matches a whole line break (where CRLF is considered a single
// line break). Used to count lines.
-
export const lineBreak = /\r\n?|\n|\u2028|\u2029/;
export const lineBreakG = new RegExp(lineBreak.source, "g");
+// https://tc39.github.io/ecma262/#sec-line-terminators
export function isNewLine(code: number): boolean {
- return code === 10 || code === 13 || code === 0x2028 || code === 0x2029;
+ switch (code) {
+ case charCodes.lineFeed:
+ case charCodes.carriageReturn:
+ case charCodes.lineSeparator:
+ case charCodes.paragraphSeparator:
+ return true;
+
+ default:
+ return false;
+ }
}
-export const nonASCIIwhitespace = /[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
+export const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
+
+// https://tc39.github.io/ecma262/#sec-white-space
+export function isWhitespace(code: number): boolean {
+ switch (code) {
+ case 0x0009: // CHARACTER TABULATION
+ case 0x000b: // LINE TABULATION
+ case 0x000c: // FORM FEED
+ case charCodes.space:
+ case charCodes.nonBreakingSpace:
+ case charCodes.oghamSpaceMark:
+ case 0x2000: // EN QUAD
+ case 0x2001: // EM QUAD
+ case 0x2002: // EN SPACE
+ case 0x2003: // EM SPACE
+ case 0x2004: // THREE-PER-EM SPACE
+ case 0x2005: // FOUR-PER-EM SPACE
+ case 0x2006: // SIX-PER-EM SPACE
+ case 0x2007: // FIGURE SPACE
+ case 0x2008: // PUNCTUATION SPACE
+ case 0x2009: // THIN SPACE
+ case 0x200a: // HAIR SPACE
+ case 0x202f: // NARROW NO-BREAK SPACE
+ case 0x205f: // MEDIUM MATHEMATICAL SPACE
+ case 0x3000: // IDEOGRAPHIC SPACE
+ case 0xfeff: // ZERO WIDTH NO-BREAK SPACE
+ return true;
+
+ default:
+ return false;
+ }
+}
diff --git a/packages/babel-parser/test/fixtures/comments/basic/call-expression-function-argument/input.js b/packages/babel-parser/test/fixtures/comments/basic/call-expression-function-argument/input.js
new file mode 100644
index 0000000000..26ce4a7c80
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/comments/basic/call-expression-function-argument/input.js
@@ -0,0 +1,6 @@
+test(function() {
+ var a = 1;
+ // one
+}
+// two
+);
diff --git a/packages/babel-parser/test/fixtures/comments/basic/call-expression-function-argument/output.json b/packages/babel-parser/test/fixtures/comments/basic/call-expression-function-argument/output.json
new file mode 100644
index 0000000000..a04f1d2886
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/comments/basic/call-expression-function-argument/output.json
@@ -0,0 +1,261 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 51,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 51,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ }
+ },
+ "sourceType": "script",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 51,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ }
+ },
+ "expression": {
+ "type": "CallExpression",
+ "start": 0,
+ "end": 50,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 1
+ }
+ },
+ "callee": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 4,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 4
+ },
+ "identifierName": "test"
+ },
+ "name": "test"
+ },
+ "arguments": [
+ {
+ "type": "FunctionExpression",
+ "start": 5,
+ "end": 41,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "id": null,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 16,
+ "end": 41,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 20,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 12
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 24,
+ "end": 29,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 11
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 24,
+ "end": 25,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 7
+ },
+ "identifierName": "a"
+ },
+ "name": "a"
+ },
+ "init": {
+ "type": "NumericLiteral",
+ "start": 28,
+ "end": 29,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 10
+ },
+ "end": {
+ "line": 2,
+ "column": 11
+ }
+ },
+ "extra": {
+ "rawValue": 1,
+ "raw": "1"
+ },
+ "value": 1
+ }
+ }
+ ],
+ "kind": "var",
+ "trailingComments": [
+ {
+ "type": "CommentLine",
+ "value": " one",
+ "start": 33,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "directives": []
+ },
+ "trailingComments": [
+ {
+ "type": "CommentLine",
+ "value": " two",
+ "start": 42,
+ "end": 48,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 6
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "directives": []
+ },
+ "comments": [
+ {
+ "type": "CommentLine",
+ "value": " one",
+ "start": 33,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "CommentLine",
+ "value": " two",
+ "start": 42,
+ "end": 48,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 6
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/core/categorized/filename-specified/options.json b/packages/babel-parser/test/fixtures/core/categorized/filename-specified/options.json
index 400e29986a..c5c9564aed 100644
--- a/packages/babel-parser/test/fixtures/core/categorized/filename-specified/options.json
+++ b/packages/babel-parser/test/fixtures/core/categorized/filename-specified/options.json
@@ -1,3 +1,3 @@
{
"sourceFilename": "path/to/input-file.js"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/categorized/malformed-switch/options.json b/packages/babel-parser/test/fixtures/core/categorized/malformed-switch/options.json
index 0b22a698d6..a10e365ed5 100644
--- a/packages/babel-parser/test/fixtures/core/categorized/malformed-switch/options.json
+++ b/packages/babel-parser/test/fixtures/core/categorized/malformed-switch/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/.542/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/.542/options.json
index eb38d20599..4bbde67748 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/.542/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/.542/options.json
@@ -1,3 +1,3 @@
{
"throws": "getter should have no params (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/.543/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/.543/options.json
index dd62d74fb6..4e90617d9a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/.543/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/.543/options.json
@@ -1,3 +1,3 @@
{
"throws": "setter should have exactly one param (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/.544/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/.544/options.json
index dd62d74fb6..4e90617d9a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/.544/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/.544/options.json
@@ -1,3 +1,3 @@
{
"throws": "setter should have exactly one param (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/327/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/327/options.json
index 85f061e80b..596eb32c0c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/327/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/327/options.json
@@ -1,3 +1,3 @@
{
"allowReturnOutsideFunction": true
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/328/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/328/options.json
index 85f061e80b..596eb32c0c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/328/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/328/options.json
@@ -1,3 +1,3 @@
{
"allowReturnOutsideFunction": true
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/345/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/345/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/345/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/345/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/346/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/346/options.json
index 919c05ec87..ca189c74f6 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/346/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/346/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/347/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/347/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/347/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/347/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/348/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/348/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/348/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/348/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/349/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/349/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/349/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/349/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/350/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/350/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/350/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/350/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/351/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/351/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/351/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/351/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/352/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/352/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/352/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/352/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/353/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/353/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/353/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/353/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/354/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/354/options.json
index b4716df8c6..1a0693338e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/354/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/354/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 16 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/357/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/357/options.json
index aa61ff56c2..ee18527964 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/357/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/357/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/358/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/358/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/358/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/358/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/359/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/359/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/359/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/359/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/360/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/360/options.json
index a760565b1b..d732a16309 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/360/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/360/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated string constant (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/361/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/361/options.json
index d08f66903c..18c53b997b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/361/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/361/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expecting Unicode escape sequence \\uXXXX (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/362/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/362/options.json
index cd0024d9d9..ea7ba01dc6 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/362/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/362/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid Unicode escape (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/363/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/363/options.json
index cd0024d9d9..ea7ba01dc6 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/363/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/363/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid Unicode escape (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/364/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/364/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/364/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/364/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/365/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/365/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/365/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/365/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/367/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/367/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/367/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/367/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/368/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/368/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/368/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/368/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/369/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/369/options.json
index d8b91465e5..7c5f08eb9b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/369/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/369/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/370/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/370/options.json
index 57f8bee850..c09dac1301 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/370/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/370/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in postfix operation (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/371/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/371/options.json
index 57f8bee850..c09dac1301 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/371/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/371/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in postfix operation (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/372/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/372/options.json
index e58c443745..515e441e8e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/372/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/372/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in prefix operation (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/373/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/373/options.json
index e58c443745..515e441e8e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/373/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/373/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in prefix operation (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/374/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/374/options.json
index 83b3a8b5f3..f8560a7de9 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/374/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/374/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-in statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/375/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/375/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/375/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/375/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/376/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/376/options.json
index e68fbb6aec..10bd5624f0 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/376/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/376/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/377/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/377/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/377/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/377/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/379/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/379/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/379/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/379/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/380/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/380/options.json
index d5e4b52d5c..2fd762cd6a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/380/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/380/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/381/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/381/options.json
index 78a668d16d..9d0cd9237f 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/381/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/381/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated string constant (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/382/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/382/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/382/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/382/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/383/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/383/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/383/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/383/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/384/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/384/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/384/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/384/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/385/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/385/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/385/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/385/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/386/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/386/options.json
index 476d7fff91..782585ddcf 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/386/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/386/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (4:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/387/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/387/options.json
index 62cf5da64b..948a3306bf 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/387/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/387/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (4:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/388/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/388/options.json
index 6588607606..c4c1edaca3 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/388/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/388/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/389/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/389/options.json
index 6588607606..c4c1edaca3 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/389/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/389/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/390/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/390/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/390/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/390/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/391/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/391/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/391/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/391/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/395/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/395/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/395/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/395/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/397/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/397/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/397/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/397/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/398/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/398/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/398/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/398/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/399/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/399/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/399/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/399/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/400/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/400/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/400/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/400/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/401/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/401/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/401/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/401/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/402/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/402/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/402/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/402/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/403/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/403/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/403/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/403/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/404/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/404/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/404/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/404/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/405/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/405/options.json
index ff1ac8247e..a89de70c61 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/405/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/405/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/407/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/407/options.json
index ff1ac8247e..a89de70c61 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/407/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/407/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/408/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/408/options.json
index ff1ac8247e..a89de70c61 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/408/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/408/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/409/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/409/options.json
index 6ccbfe923d..701f9fe8f2 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/409/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/409/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/410/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/410/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/410/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/410/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/411/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/411/options.json
index 14a50290d0..de66853a7a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/411/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/411/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/412/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/412/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/412/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/412/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/413/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/413/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/413/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/413/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/414/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/414/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/414/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/414/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/417/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/417/options.json
index 83b3a8b5f3..f8560a7de9 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/417/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/417/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-in statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/418/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/418/options.json
index 83b3a8b5f3..f8560a7de9 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/418/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/418/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-in statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/419/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/419/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/419/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/419/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/420/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/420/options.json
index 0c5f4deed6..fa579aa831 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/420/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/420/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:24)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/421/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/421/options.json
index e68fbb6aec..10bd5624f0 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/421/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/421/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/422/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/422/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/422/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/422/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/423/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/423/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/423/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/423/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/424/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/424/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/424/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/424/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/425/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/425/options.json
index 9b3d4185f1..429d96ca3f 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/425/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/425/options.json
@@ -1,3 +1,3 @@
{
"throws": "Missing catch or finally clause (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/426/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/426/options.json
index 439961e8ea..5eb5666731 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/426/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/426/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '‿' (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/427/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/427/options.json
index 8ded4af443..aadfa63716 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/427/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/427/options.json
@@ -1,3 +1,3 @@
{
"throws": "Multiple default clauses (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/429/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/429/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/429/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/429/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/430/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/430/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/430/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/430/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/431/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/431/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/431/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/431/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/432/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/432/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/432/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/432/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/433/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/433/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/433/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/433/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/434/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/434/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/434/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/434/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/435/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/435/options.json
index 0361d7c7d2..7d847e99c8 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/435/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/435/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/436/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/436/options.json
index 0361d7c7d2..7d847e99c8 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/436/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/436/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/437/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/437/options.json
index 0361d7c7d2..7d847e99c8 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/437/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/437/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/438/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/438/options.json
index aa8239233c..c1ce88e361 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/438/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/438/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/439/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/439/options.json
index 0361d7c7d2..7d847e99c8 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/439/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/439/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/440/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/440/options.json
index aa8239233c..c1ce88e361 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/440/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/440/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/441/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/441/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/441/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/441/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/442/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/442/options.json
index aa8239233c..c1ce88e361 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/442/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/442/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/443/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/443/options.json
index 0b22a698d6..a10e365ed5 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/443/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/443/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/444/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/444/options.json
index 02c5500083..913ef7d74a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/444/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/444/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/445/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/445/options.json
index 02c5500083..913ef7d74a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/445/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/445/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/446/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/446/options.json
index c5a8baf2b8..381fd12ce2 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/446/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/446/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expecting Unicode escape sequence \\uXXXX (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/447/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/447/options.json
index b813254a65..82bcfe621c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/447/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/447/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid Unicode escape (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/448/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/448/options.json
index c5a8baf2b8..381fd12ce2 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/448/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/448/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expecting Unicode escape sequence \\uXXXX (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/449/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/449/options.json
index b813254a65..82bcfe621c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/449/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/449/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid Unicode escape (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/450/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/450/options.json
index 5fa9021849..94eb7376be 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/450/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/450/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '' (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/451/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/451/options.json
index 90935f68f4..c67d8bb8a9 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/451/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/451/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '' (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/452/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/452/options.json
index a760565b1b..d732a16309 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/452/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/452/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated string constant (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/453/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/453/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/453/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/453/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/454/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/454/options.json
index dececd0e83..f9d29c7f32 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/454/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/454/options.json
@@ -1,3 +1,3 @@
{
"throws": "'return' outside of function (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/455/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/455/options.json
index 6ccbfe923d..701f9fe8f2 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/455/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/455/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/456/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/456/options.json
index 14a50290d0..de66853a7a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/456/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/456/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/457/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/457/options.json
index 332366a21c..c726e8fa98 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/457/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/457/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/459/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/459/options.json
index 33bf5f84b8..070e662e80 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/459/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/459/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/460/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/460/options.json
index e75cfed858..2a2e15787a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/460/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/460/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/461/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/461/options.json
index 8008848be3..464af80a15 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/461/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/461/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/462/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/462/options.json
index f0faa7faaa..a056cb50e1 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/462/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/462/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/463/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/463/options.json
index 8008848be3..464af80a15 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/463/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/463/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/464/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/464/options.json
index f0faa7faaa..a056cb50e1 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/464/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/464/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/465/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/465/options.json
index a430baffb5..da7f2590db 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/465/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/465/options.json
@@ -1,3 +1,3 @@
{
"throws": "Label 'x' is already declared (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/466/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/466/options.json
index 8112470453..1517e17193 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/466/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/466/options.json
@@ -1,3 +1,3 @@
{
"throws": "Deleting local variable in strict mode (1:29)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/467/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/467/options.json
index 1b86ef2104..31b4c6d2a0 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/467/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/467/options.json
@@ -1,3 +1,3 @@
{
"throws": "'with' in strict mode (1:29)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/499/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/499/options.json
index 11a57d6c56..ae2bfab55c 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/499/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/499/options.json
@@ -1,3 +1,3 @@
{
"throws": "Octal literal in strict mode (1:35)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/500/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/500/options.json
index 3711f38eef..ec4ea95dc9 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/500/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/500/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/501/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/501/options.json
index 2984958689..7e50b5f916 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/501/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/501/options.json
@@ -1,3 +1,3 @@
{
"throws": "Octal literal in strict mode (1:38)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/502/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/502/options.json
index a864ada0fe..dd200e16e5 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/502/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/502/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:36)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/503/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/503/options.json
index e92ad336dd..8389b2c726 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/503/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/503/options.json
@@ -1,3 +1,3 @@
{
"throws": "Octal literal in strict mode (1:69)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/514/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/514/options.json
index 421c28bbd6..e23388601b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/514/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/514/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/517/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/517/options.json
index 9db3dfc50c..660e54ca2a 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/517/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/517/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:43)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/518/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/518/options.json
index 13e320a983..28545ded14 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/518/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/518/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/519/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/519/options.json
index 0e4f27a823..0f592c74a3 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/519/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/519/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:44)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/522/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/522/options.json
index 60bb6527f8..3696be182d 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/522/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/522/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:65)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/523/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/523/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/523/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/523/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/524/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/524/options.json
index 5ba39437b2..d07b41872b 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/524/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/524/options.json
@@ -1,3 +1,3 @@
{
"throws": "Illegal newline after throw (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/core/uncategorised/536/options.json b/packages/babel-parser/test/fixtures/core/uncategorised/536/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/core/uncategorised/536/options.json
+++ b/packages/babel-parser/test/fixtures/core/uncategorised/536/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-binary-left/options.json b/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-binary-left/options.json
index 410ecd16fd..e4ae9a99d0 100644
--- a/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-binary-left/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-binary-left/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-ternary-test/options.json b/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-ternary-test/options.json
index 410ecd16fd..e4ae9a99d0 100644
--- a/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-ternary-test/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/arrow-functions/no-ternary-test/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-generator-prototype/options.json b/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-generator-prototype/options.json
index 00c025e551..524ed587e1 100644
--- a/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-generator-prototype/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-generator-prototype/options.json
@@ -1,3 +1,3 @@
{
"throws": "Classes may not have static property named prototype (2:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-prototype/options.json b/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-prototype/options.json
index bc9a87203e..f30c8a49ab 100644
--- a/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-prototype/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/class-methods/disallow-static-prototype/options.json
@@ -1,3 +1,3 @@
{
"throws": "Classes may not have static property named prototype (2:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/class-methods/getter-signature/options.json b/packages/babel-parser/test/fixtures/es2015/class-methods/getter-signature/options.json
index e096100dcf..65bc24a66f 100644
--- a/packages/babel-parser/test/fixtures/es2015/class-methods/getter-signature/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/class-methods/getter-signature/options.json
@@ -1,3 +1,3 @@
{
"throws": "getter must not have any formal parameters (2:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/class-methods/malformed-super-expression/options.json b/packages/babel-parser/test/fixtures/es2015/class-methods/malformed-super-expression/options.json
index 451cd47516..dc41f0b14b 100644
--- a/packages/babel-parser/test/fixtures/es2015/class-methods/malformed-super-expression/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/class-methods/malformed-super-expression/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/class/division/input.js b/packages/babel-parser/test/fixtures/es2015/class/division/input.js
new file mode 100644
index 0000000000..590fe776ec
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2015/class/division/input.js
@@ -0,0 +1,9 @@
+x = class{} / foo
+
+x = class{}
+/ foo / g
+
+(x = class{} / foo)
+
+(x = class{}
+/ foo / g)
diff --git a/packages/babel-parser/test/fixtures/es2015/class/division/output.json b/packages/babel-parser/test/fixtures/es2015/class/division/output.json
new file mode 100644
index 0000000000..0a4a21ad4d
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2015/class/division/output.json
@@ -0,0 +1,561 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 10
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 10
+ }
+ },
+ "sourceType": "script",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ }
+ },
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 0,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ }
+ },
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 1,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 1
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "start": 4,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ }
+ },
+ "left": {
+ "type": "ClassExpression",
+ "start": 4,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ }
+ },
+ "id": null,
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 9,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ }
+ },
+ "body": []
+ }
+ },
+ "operator": "/",
+ "right": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ },
+ "identifierName": "foo"
+ },
+ "name": "foo"
+ }
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 19,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 10
+ }
+ },
+ "expression": {
+ "type": "AssignmentExpression",
+ "start": 19,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 10
+ }
+ },
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 19,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "start": 23,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 9,
+ "column": 10
+ }
+ },
+ "left": {
+ "type": "BinaryExpression",
+ "start": 23,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 5
+ }
+ },
+ "left": {
+ "type": "ClassExpression",
+ "start": 23,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 3,
+ "column": 11
+ }
+ },
+ "id": null,
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 28,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 9
+ },
+ "end": {
+ "line": 3,
+ "column": 11
+ }
+ },
+ "body": []
+ }
+ },
+ "operator": "/",
+ "right": {
+ "type": "Identifier",
+ "start": 33,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 2
+ },
+ "end": {
+ "line": 4,
+ "column": 5
+ },
+ "identifierName": "foo"
+ },
+ "name": "foo"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "type": "CallExpression",
+ "start": 39,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 8
+ },
+ "end": {
+ "line": 9,
+ "column": 10
+ }
+ },
+ "callee": {
+ "type": "CallExpression",
+ "start": 39,
+ "end": 61,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 8
+ },
+ "end": {
+ "line": 6,
+ "column": 19
+ }
+ },
+ "callee": {
+ "type": "Identifier",
+ "start": 39,
+ "end": 40,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 8
+ },
+ "end": {
+ "line": 4,
+ "column": 9
+ },
+ "identifierName": "g"
+ },
+ "name": "g"
+ },
+ "arguments": [
+ {
+ "type": "AssignmentExpression",
+ "start": 43,
+ "end": 60,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 18
+ }
+ },
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 43,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 1
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "start": 47,
+ "end": 60,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 5
+ },
+ "end": {
+ "line": 6,
+ "column": 18
+ }
+ },
+ "left": {
+ "type": "ClassExpression",
+ "start": 47,
+ "end": 54,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 5
+ },
+ "end": {
+ "line": 6,
+ "column": 12
+ }
+ },
+ "id": null,
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 52,
+ "end": 54,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 10
+ },
+ "end": {
+ "line": 6,
+ "column": 12
+ }
+ },
+ "body": []
+ }
+ },
+ "operator": "/",
+ "right": {
+ "type": "Identifier",
+ "start": 57,
+ "end": 60,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 15
+ },
+ "end": {
+ "line": 6,
+ "column": 18
+ },
+ "identifierName": "foo"
+ },
+ "name": "foo"
+ }
+ }
+ }
+ ]
+ },
+ "arguments": [
+ {
+ "type": "AssignmentExpression",
+ "start": 64,
+ "end": 85,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 1
+ },
+ "end": {
+ "line": 9,
+ "column": 9
+ }
+ },
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "start": 64,
+ "end": 65,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 1
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "start": 68,
+ "end": 85,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 9
+ }
+ },
+ "left": {
+ "type": "BinaryExpression",
+ "start": 68,
+ "end": 81,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 5
+ }
+ },
+ "left": {
+ "type": "ClassExpression",
+ "start": 68,
+ "end": 75,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 8,
+ "column": 12
+ }
+ },
+ "id": null,
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 73,
+ "end": 75,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 10
+ },
+ "end": {
+ "line": 8,
+ "column": 12
+ }
+ },
+ "body": []
+ }
+ },
+ "operator": "/",
+ "right": {
+ "type": "Identifier",
+ "start": 78,
+ "end": 81,
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 2
+ },
+ "end": {
+ "line": 9,
+ "column": 5
+ },
+ "identifierName": "foo"
+ },
+ "name": "foo"
+ }
+ },
+ "operator": "/",
+ "right": {
+ "type": "Identifier",
+ "start": 84,
+ "end": 85,
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 8
+ },
+ "end": {
+ "line": 9,
+ "column": 9
+ },
+ "identifierName": "g"
+ },
+ "name": "g"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-array/options.json b/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-array/options.json
index 8853dc92d1..dfcad1b5cb 100644
--- a/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-array/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-array/options.json
@@ -1,3 +1,3 @@
{
"throws": "You're trying to assign to a parenthesized expression, eg. instead of `([a]) = 0` use `([a] = 0)` (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-object/options.json b/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-object/options.json
index f0acf87342..d0fb489240 100644
--- a/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-object/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/destructuring/parenthesized-lhs-object/options.json
@@ -1,3 +1,3 @@
{
"throws": "You're trying to assign to a parenthesized expression, eg. instead of `({a}) = 0` use `({a} = 0)` (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/for-in/const-initializer/options.json b/packages/babel-parser/test/fixtures/es2015/for-in/const-initializer/options.json
index a7c6e79257..85e8252d6f 100644
--- a/packages/babel-parser/test/fixtures/es2015/for-in/const-initializer/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/for-in/const-initializer/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/for-in/let-initializer/options.json b/packages/babel-parser/test/fixtures/es2015/for-in/let-initializer/options.json
index bc625e0d0c..a717ca0fa7 100644
--- a/packages/babel-parser/test/fixtures/es2015/for-in/let-initializer/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/for-in/let-initializer/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/for-in/strict-initializer/options.json b/packages/babel-parser/test/fixtures/es2015/for-in/strict-initializer/options.json
index 983e17a01e..497c2b2bde 100644
--- a/packages/babel-parser/test/fixtures/es2015/for-in/strict-initializer/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/for-in/strict-initializer/options.json
@@ -1,3 +1,3 @@
{
"throws": "for-in initializer in strict mode (2:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/for-in/var-arraybindingpattern-initializer/options.json b/packages/babel-parser/test/fixtures/es2015/for-in/var-arraybindingpattern-initializer/options.json
index a7c6e79257..85e8252d6f 100644
--- a/packages/babel-parser/test/fixtures/es2015/for-in/var-arraybindingpattern-initializer/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/for-in/var-arraybindingpattern-initializer/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/for-in/var-objectbindingpattern-initializer/options.json b/packages/babel-parser/test/fixtures/es2015/for-in/var-objectbindingpattern-initializer/options.json
index a7c6e79257..85e8252d6f 100644
--- a/packages/babel-parser/test/fixtures/es2015/for-in/var-objectbindingpattern-initializer/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/for-in/var-objectbindingpattern-initializer/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/meta-properties/new-invalid-prop/options.json b/packages/babel-parser/test/fixtures/es2015/meta-properties/new-invalid-prop/options.json
index 91a5751e7f..8a88f91714 100644
--- a/packages/babel-parser/test/fixtures/es2015/meta-properties/new-invalid-prop/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/meta-properties/new-invalid-prop/options.json
@@ -1,3 +1,3 @@
{
"throws": "The only valid meta property for new is new.target (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/modules/duplicate-named-export-class-declaration/options.json b/packages/babel-parser/test/fixtures/es2015/modules/duplicate-named-export-class-declaration/options.json
index c58e1ea64f..3bdafe8932 100644
--- a/packages/babel-parser/test/fixtures/es2015/modules/duplicate-named-export-class-declaration/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/modules/duplicate-named-export-class-declaration/options.json
@@ -1,4 +1,3 @@
{
"throws": "`Foo` has already been exported. Exported identifiers must be unique. (2:0)"
}
-
diff --git a/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration/options.json b/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration/options.json
index 371aabd618..734063430a 100644
--- a/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Only expressions, functions or classes are allowed as the `default` export. (1:15)"
-}
\ No newline at end of file
+ "throws": "Only expressions, functions or classes are allowed as the `default` export. (1:15)"
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration2/options.json b/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration2/options.json
index 371aabd618..734063430a 100644
--- a/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration2/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration2/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Only expressions, functions or classes are allowed as the `default` export. (1:15)"
-}
\ No newline at end of file
+ "throws": "Only expressions, functions or classes are allowed as the `default` export. (1:15)"
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration3/options.json b/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration3/options.json
index 371aabd618..734063430a 100644
--- a/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration3/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/modules/export-default-variable-declaration3/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Only expressions, functions or classes are allowed as the `default` export. (1:15)"
-}
\ No newline at end of file
+ "throws": "Only expressions, functions or classes are allowed as the `default` export. (1:15)"
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/.260/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/.260/options.json
index 532b3a9472..4914c41568 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/.260/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/.260/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:36)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/.335/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/.335/options.json
index 6b856bb728..b497c0c832 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/.335/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/.335/options.json
@@ -1,3 +1,3 @@
{
"throws": "Binding yield (1:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/.343/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/.343/options.json
index 25c8cf7030..77b8139872 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/.343/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/.343/options.json
@@ -1,3 +1,3 @@
{
"throws": "Code point out of bounds (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/.345/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/.345/options.json
index 8b9f1dfe8a..d347764e91 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/.345/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/.345/options.json
@@ -1,3 +1,3 @@
{
"throws": "getter should have no params (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/.346/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/.346/options.json
index 1cddead191..74e0c74113 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/.346/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/.346/options.json
@@ -1,3 +1,3 @@
{
"throws": "setter should have exactly one param (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/125/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/125/options.json
index bbe7740f41..09e50a3d71 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/125/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/125/options.json
@@ -1,3 +1,3 @@
{
"throws": "Duplicate constructor in the same class (1:27)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/126/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/126/options.json
index 67e6a7ea52..38e87b0704 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/126/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/126/options.json
@@ -1,3 +1,3 @@
{
"throws": "Constructor can't have get/set modifier (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/127/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/127/options.json
index 282ca08232..becf560010 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/127/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/127/options.json
@@ -1,3 +1,3 @@
{
"throws": "Constructor can't be a generator (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/151/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/151/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/151/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/151/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/197/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/197/options.json
index e72f7dc61d..fbaba9a022 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/197/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/197/options.json
@@ -1,3 +1,3 @@
{
"ecmaVersion": 6
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/198/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/198/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/198/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/198/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/199/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/199/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/199/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/199/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/200/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/200/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/200/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/200/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/201/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/201/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/201/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/201/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/202/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/202/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/202/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/202/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/203/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/203/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/203/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/203/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/204/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/204/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/204/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/204/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/205/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/205/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/205/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/205/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/206/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/206/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/206/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/206/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/207/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/207/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/207/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/207/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/208/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/208/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/208/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/208/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/209/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/209/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/209/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/209/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/210/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/210/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/210/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/210/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/211/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/211/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/211/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/211/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/212/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/212/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/212/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/212/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/213/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/213/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/213/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/213/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/214/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/214/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/214/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/214/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/215/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/215/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/215/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/215/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/216/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/216/options.json
index 25c8cf7030..77b8139872 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/216/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/216/options.json
@@ -1,3 +1,3 @@
{
"throws": "Code point out of bounds (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/217/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/217/options.json
index 79accc993f..efaa7d304c 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/217/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/217/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/218/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/218/options.json
index 79accc993f..efaa7d304c 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/218/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/218/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/219/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/219/options.json
index 79accc993f..efaa7d304c 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/219/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/219/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/220/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/220/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/220/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/220/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/221/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/221/options.json
index d8b91465e5..7c5f08eb9b 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/221/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/221/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/222/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/222/options.json
index 033fe6edc6..e6630c3da3 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/222/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/222/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in object destructuring pattern (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/223/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/223/options.json
index e4a047907e..da1e107449 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/223/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/223/options.json
@@ -1,3 +1,3 @@
{
"throws": "Object pattern can't contain getter or setter (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/224/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/224/options.json
index 626e94c744..cd6a9c1b1a 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/224/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/224/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (2:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/225/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/225/options.json
index 236c59f885..42e596c50c 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/225/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/225/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (2:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/226/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/226/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/226/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/226/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/228/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/228/options.json
index c8e5ca6e76..9f34dba232 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/228/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/228/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:37)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/229/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/229/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/229/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/229/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/230/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/230/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/230/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/230/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/231/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/231/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/231/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/231/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/232/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/232/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/232/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/232/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/237/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/237/options.json
index 06a405c87b..e1e139e4ac 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/237/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/237/options.json
@@ -1,4 +1,4 @@
{
"sourceType": "module",
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/238/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/238/options.json
index 9a5aa6e3a4..b5dc7b8e07 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/238/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/238/options.json
@@ -1,4 +1,4 @@
{
"sourceType": "module",
"throws": "Unexpected token (1:19)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/239/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/239/options.json
index 2f4c86f4bc..aa3b1c4399 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/239/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/239/options.json
@@ -1,4 +1,4 @@
{
"sourceType": "module",
"throws": "Unexpected token (1:16)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/240/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/240/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/240/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/240/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/241/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/241/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/241/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/241/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/248/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/248/options.json
index 8d80c05650..6d0445e20e 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/248/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/248/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/249/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/249/options.json
index 2fdbbb1bc8..0f2c1bee90 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/249/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/249/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:21)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/250/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/250/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/250/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/250/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/251/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/251/options.json
index 419e8d307f..99ffc0de01 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/251/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/251/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in arrow function parameters (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/252/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/252/options.json
index 419e8d307f..99ffc0de01 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/252/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/252/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in arrow function parameters (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/264/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/264/options.json
index 182d155159..5162185002 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/264/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/264/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated template (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/273/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/273/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/273/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/273/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/275/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/275/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/275/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/275/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/276/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/276/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/276/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/276/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/280/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/280/options.json
index f048433215..0c0a9d0136 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/280/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/280/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:30)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/281/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/281/options.json
index 2ece69e863..4773c60e5b 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/281/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/281/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:47)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/284/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/284/options.json
index 70cf4c97fe..71f5061aff 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/284/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/284/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in arrow function parameters (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/285/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/285/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/285/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/285/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/290/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/290/options.json
index 8513ff0bed..473cd470d4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/290/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/290/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid escape sequence in template (1:23)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/291/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/291/options.json
index b857e8989a..ae24fbee33 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/291/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/291/options.json
@@ -1,3 +1,3 @@
{
"throws": "'import' and 'export' may only appear at the top level (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/293/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/293/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/293/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/293/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/294/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/294/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/294/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/294/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/298/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/298/options.json
index b16ca8e5ee..49d27a1476 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/298/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/298/options.json
@@ -1,3 +1,3 @@
{
"throws": "Object pattern can't contain getter or setter (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/301/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/301/options.json
index 54925950e0..2104ca4328 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/301/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/301/options.json
@@ -1,3 +1,3 @@
{
"sourceType": "module"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/311/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/311/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/311/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/311/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/312/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/312/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/312/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/312/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/317/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/317/options.json
index e72f7dc61d..fbaba9a022 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/317/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/317/options.json
@@ -1,3 +1,3 @@
{
"ecmaVersion": 6
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/324/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/324/options.json
index 7a85828469..d921abda8f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/324/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/324/options.json
@@ -1,3 +1,3 @@
{
"throws": "Complex binding patterns require an initialization value (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/325/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/325/options.json
index 7a85828469..d921abda8f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/325/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/325/options.json
@@ -1,3 +1,3 @@
{
"throws": "Complex binding patterns require an initialization value (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/326/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/326/options.json
index 0dd216ae8f..1c52234e73 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/326/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/326/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '𖫵' (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/327/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/327/options.json
index 5da67f4fd8..d7f3878c90 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/327/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/327/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '' (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/328/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/328/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/328/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/328/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/329/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/329/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/329/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/329/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/330/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/330/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/330/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/330/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/331/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/331/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/331/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/331/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/338/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/338/options.json
index 54925950e0..2104ca4328 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/338/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/338/options.json
@@ -1,3 +1,3 @@
{
"sourceType": "module"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/339/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/339/options.json
index 3ae5cb6c96..fd4da953a4 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/339/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/339/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid escape sequence in template (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/348/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/348/options.json
index 444a5fb35b..c1ac8e1d13 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/348/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/348/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/349/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/349/options.json
index 94976eca60..0d3bc321ef 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/349/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/349/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:19)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/354/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/354/options.json
index 54925950e0..2104ca4328 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/354/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/354/options.json
@@ -1,3 +1,3 @@
{
"sourceType": "module"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/37/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/37/options.json
index b5496da473..401518851f 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/37/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/37/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in arrow function parameters (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/38/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/38/options.json
index aca079ee39..0de5e62369 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/38/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/38/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:20)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/386/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/386/options.json
index 0d6f8c0674..9b76c337e1 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/386/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/386/options.json
@@ -2,4 +2,3 @@
"sourceType": "module",
"throws": "Unexpected token, expected \"{\" (1:7)"
}
-
diff --git a/packages/babel-parser/test/fixtures/es2015/uncategorised/84/options.json b/packages/babel-parser/test/fixtures/es2015/uncategorised/84/options.json
index 0639ae68d8..d56be40ce7 100644
--- a/packages/babel-parser/test/fixtures/es2015/uncategorised/84/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/uncategorised/84/options.json
@@ -1,4 +1,4 @@
{
"sourceType": "module",
"throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/function-name-function-declaration-inside-generator/options.json b/packages/babel-parser/test/fixtures/es2015/yield/function-name-function-declaration-inside-generator/options.json
index 4b0c86bb67..f14f9cb540 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/function-name-function-declaration-inside-generator/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/function-name-function-declaration-inside-generator/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (2:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/function-name-generator-expression/options.json b/packages/babel-parser/test/fixtures/es2015/yield/function-name-generator-expression/options.json
index 66bd72acf9..9a7dc6156a 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/function-name-generator-expression/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/function-name-generator-expression/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict-body/options.json b/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict-body/options.json
index 46f9bcac4a..cf06e871cc 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict-body/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict-body/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict/options.json b/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict/options.json
index b16b4e8cd5..18a54259fa 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/function-name-strict/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (2:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/in-global-scope/options.json b/packages/babel-parser/test/fixtures/es2015/yield/in-global-scope/options.json
index 6588607606..c4c1edaca3 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/in-global-scope/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/in-global-scope/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/in-plain-function/options.json b/packages/babel-parser/test/fixtures/es2015/yield/in-plain-function/options.json
index 84b618af52..63364a8e47 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/in-plain-function/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/in-plain-function/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:21)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-1/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-1/options.json
index f03cb0d173..695fe418b9 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-1/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-1/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-2/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-2/options.json
index ab6d176e8a..28b45c949d 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-2/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-2/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-3/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-3/options.json
index f03cb0d173..695fe418b9 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-3/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-3/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-4/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-4/options.json
index 2735e958a9..b0fd9b81d1 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-4/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-4/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-5/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-5/options.json
index 816f0c4579..a70dd2ba95 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-5/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-arrow-inside-generator-5/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator-method/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator-method/options.json
index 163f3e8629..6f5bd40fe3 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator-method/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator-method/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in generator parameters (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator/options.json
index 6803713092..dd9a684ef9 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-inside-generator/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in generator parameters (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-strict/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-strict/options.json
index 5c6c0a252a..4654361314 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-strict/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-default-strict/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (2:16)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-1/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-1/options.json
index cd9b403bd9..c636ce9902 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-1/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-1/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-2/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-2/options.json
index cd9b403bd9..c636ce9902 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-2/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-2/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-3/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-3/options.json
index 584d09b5ff..d82d23bca0 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-3/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-inside-generator-3/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (2:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-no-parens-inside-generator/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-no-parens-inside-generator/options.json
index e999fe365f..659fa230c4 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-no-parens-inside-generator/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-arrow-no-parens-inside-generator/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (2:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator-method/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator-method/options.json
index 66bd72acf9..9a7dc6156a 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator-method/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator-method/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator/options.json
index e7d3ccac20..6cd6ffe02c 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-generator/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict-body/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict-body/options.json
index 9abfaf5e09..37e79f9fb8 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict-body/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict-body/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict/options.json b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict/options.json
index cc99c7829c..e65626183c 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/parameter-name-strict/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (2:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2015/yield/yield-star-parameter-default-inside-generator/options.json b/packages/babel-parser/test/fixtures/es2015/yield/yield-star-parameter-default-inside-generator/options.json
index 6803713092..dd9a684ef9 100644
--- a/packages/babel-parser/test/fixtures/es2015/yield/yield-star-parameter-default-inside-generator/options.json
+++ b/packages/babel-parser/test/fixtures/es2015/yield/yield-star-parameter-default-inside-generator/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in generator parameters (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/export-async/options.json b/packages/babel-parser/test/fixtures/es2017/async-functions/export-async/options.json
index 8c70964e8c..9b76c337e1 100644
--- a/packages/babel-parser/test/fixtures/es2017/async-functions/export-async/options.json
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/export-async/options.json
@@ -1,4 +1,4 @@
{
"sourceType": "module",
- "throws": "Unexpected token, expected \"function\" (1:12)"
+ "throws": "Unexpected token, expected \"{\" (1:7)"
}
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/input.js b/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/input.js
new file mode 100644
index 0000000000..01c5415bc5
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/input.js
@@ -0,0 +1,2 @@
+export default async
+function bar() {}
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/options.json b/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/options.json
new file mode 100644
index 0000000000..2104ca4328
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/options.json
@@ -0,0 +1,3 @@
+{
+ "sourceType": "module"
+}
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/output.json b/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/output.json
new file mode 100644
index 0000000000..9179ea920b
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/export-default-newline/output.json
@@ -0,0 +1,119 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 38,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 38,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExportDefaultDeclaration",
+ "start": 0,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ }
+ },
+ "declaration": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ },
+ "identifierName": "async"
+ },
+ "name": "async"
+ }
+ },
+ {
+ "type": "FunctionDeclaration",
+ "start": 21,
+ "end": 38,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 30,
+ "end": 33,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 12
+ },
+ "identifierName": "bar"
+ },
+ "name": "bar"
+ },
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 36,
+ "end": 38,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "body": [],
+ "directives": []
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/export-invalid/input.js b/packages/babel-parser/test/fixtures/es2017/async-functions/export-invalid/input.js
new file mode 100644
index 0000000000..a7d31c894d
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/export-invalid/input.js
@@ -0,0 +1 @@
+export default async functionX () {}
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/export-invalid/options.json b/packages/babel-parser/test/fixtures/es2017/async-functions/export-invalid/options.json
new file mode 100644
index 0000000000..5da632286f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/export-invalid/options.json
@@ -0,0 +1,4 @@
+{
+ "sourceType": "module",
+ "throws": "Unexpected token, expected \"function\" (1:21)"
+}
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/newline-arrow/input.js b/packages/babel-parser/test/fixtures/es2017/async-functions/newline-arrow/input.js
new file mode 100644
index 0000000000..200a144766
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/newline-arrow/input.js
@@ -0,0 +1,2 @@
+async
+x => x
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/newline-arrow/output.json b/packages/babel-parser/test/fixtures/es2017/async-functions/newline-arrow/output.json
new file mode 100644
index 0000000000..4c44c11863
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/newline-arrow/output.json
@@ -0,0 +1,136 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 12,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 12,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ }
+ },
+ "sourceType": "script",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ }
+ },
+ "expression": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ },
+ "identifierName": "async"
+ },
+ "name": "async"
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 6,
+ "end": 12,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ }
+ },
+ "expression": {
+ "type": "ArrowFunctionExpression",
+ "start": 6,
+ "end": 12,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ }
+ },
+ "id": null,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "Identifier",
+ "start": 6,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ }
+ ],
+ "body": {
+ "type": "Identifier",
+ "start": 11,
+ "end": 12,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ }
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/newline/input.js b/packages/babel-parser/test/fixtures/es2017/async-functions/newline/input.js
new file mode 100644
index 0000000000..8bb94fe81d
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/newline/input.js
@@ -0,0 +1,2 @@
+async
+function foo() { }
diff --git a/packages/babel-parser/test/fixtures/es2017/async-functions/newline/output.json b/packages/babel-parser/test/fixtures/es2017/async-functions/newline/output.json
new file mode 100644
index 0000000000..bed2c37da9
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/es2017/async-functions/newline/output.json
@@ -0,0 +1,119 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 24,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 24,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ },
+ "sourceType": "script",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ }
+ },
+ "expression": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ },
+ "identifierName": "async"
+ },
+ "name": "async"
+ }
+ },
+ {
+ "type": "FunctionDeclaration",
+ "start": 6,
+ "end": 24,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 15,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 12
+ },
+ "identifierName": "foo"
+ },
+ "name": "foo"
+ },
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "start": 21,
+ "end": 24,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ },
+ "body": [],
+ "directives": []
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-array-binding-pattern/.invalid-elision-after-rest/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-array-binding-pattern/.invalid-elision-after-rest/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-array-binding-pattern/.invalid-elision-after-rest/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-array-binding-pattern/.invalid-elision-after-rest/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/invalid-line-terminator-arrow/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/invalid-line-terminator-arrow/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/invalid-line-terminator-arrow/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/invalid-line-terminator-arrow/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-arrow/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-arrow/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-arrow/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-arrow/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-rest/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-rest/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-rest/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/non-arrow-param-followed-by-rest/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/param-with-rest-without-arrow/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/param-with-rest-without-arrow/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/param-with-rest-without-arrow/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/param-with-rest-without-arrow/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/rest-without-arrow/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/rest-without-arrow/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/rest-without-arrow/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-arrow-function/rest-without-arrow/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-01/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-01/options.json
index 552c89da58..bf0f292caa 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-01/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-01/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in object destructuring pattern (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-02/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-02/options.json
index a457612ad3..2cfe61cdc0 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-02/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment-object-pattern/invalid-lhs-02/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in object destructuring pattern (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-cover-grammar/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-cover-grammar/options.json
index b23f881870..a015cd4108 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-cover-grammar/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-cover-grammar/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-group-assignment/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-group-assignment/options.json
index d8b91465e5..7c5f08eb9b 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-group-assignment/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-destructuring-assignment/invalid-group-assignment/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-missing-from-clause/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-missing-from-clause/options.json
index 65ef4a184a..9ce9658f7d 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-missing-from-clause/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-missing-from-clause/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-token/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-token/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-token/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-batch-token/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-equal/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-equal/options.json
index 7ca1e1ffbb..98d7123790 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-equal/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-equal/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-token/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-token/options.json
index 8bb9a5f99b..e806dd7b3a 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-token/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-export-declaration/invalid-export-default-token/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-for-of/invalid-lhs-init/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-for-of/invalid-lhs-init/options.json
index 29280a8d63..a4dd545935 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-for-of/invalid-lhs-init/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-for-of/invalid-lhs-init/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-of statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-for-of/unexpected-number/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-for-of/unexpected-number/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-for-of/unexpected-number/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-for-of/unexpected-number/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/.generator-parameter-binding-property-reserved/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/.generator-parameter-binding-property-reserved/options.json
index 26ddfc8190..cf2a6759bd 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/.generator-parameter-binding-property-reserved/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/.generator-parameter-binding-property-reserved/options.json
@@ -1,3 +1,3 @@
{
"throws": "Binding yield (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-element/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-element/options.json
index 690a8e9e31..9f8cd12d30 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-element/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-element/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-property/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-property/options.json
index 690a8e9e31..9f8cd12d30 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-property/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-binding-property/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-computed-property-name/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-computed-property-name/options.json
index 690a8e9e31..9f8cd12d30 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-computed-property-name/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-computed-property-name/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-element/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-element/options.json
index 38ea64b097..f45f06d72e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-element/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-element/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-property/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-property/options.json
index 38ea64b097..f45f06d72e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-property/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-binding-property/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-computed-property-name/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-computed-property-name/options.json
index 38ea64b097..f45f06d72e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-computed-property-name/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/generator-parameter-invalid-computed-property-name/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/incomplete-yield-delegate/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/incomplete-yield-delegate/options.json
index b23f881870..a015cd4108 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/incomplete-yield-delegate/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/incomplete-yield-delegate/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method-2/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method-2/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method-2/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method-2/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-generator/malformed-generator-method/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_function_wait/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_function_wait/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_function_wait/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_function_wait/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_lone_surrogate/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_lone_surrogate/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_lone_surrogate/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/.invalid_lone_surrogate/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_escaped_surrogate_pairs/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_escaped_surrogate_pairs/options.json
index 4bb33235bd..df97a8ee67 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_escaped_surrogate_pairs/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_escaped_surrogate_pairs/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid Unicode escape (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_expression_await/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_expression_await/options.json
index 6583569ead..afbed324e9 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_expression_await/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_expression_await/options.json
@@ -1,3 +1,3 @@
{
"throws": "'import' and 'export' may appear only with 'sourceType: \"module\"' (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_id_smp/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_id_smp/options.json
index 905116584b..0e85210242 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_id_smp/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_id_smp/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '🀒' (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_var_await/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_var_await/options.json
index 6583569ead..afbed324e9 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_var_await/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-identifier/invalid_var_await/options.json
@@ -1,3 +1,3 @@
{
"throws": "'import' and 'export' may appear only with 'sourceType: \"module\"' (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named-after-default/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named-after-default/options.json
index 8bb9a5f99b..e806dd7b3a 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named-after-default/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named-after-default/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-after-named/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-missing-module-specifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-missing-module-specifier/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-missing-module-specifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-missing-module-specifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-module-specifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-module-specifier/options.json
index 89e36d9013..4c07f39d17 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-module-specifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-default-module-specifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:16)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-comma/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-comma/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-comma/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-comma/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-module-specifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-module-specifier/options.json
index 1e730e1707..d5583f7bc5 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-module-specifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-missing-module-specifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:19)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-module-specifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-module-specifier/options.json
index 2a73699bc2..b8b06c3a03 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-module-specifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-module-specifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-named/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-named/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-named/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-named/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-namespace/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-namespace/options.json
index 7ca1e1ffbb..98d7123790 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-namespace/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-after-namespace/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-as-missing-from/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-as-missing-from/options.json
index 2ddc9e708f..562afcef48 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-as-missing-from/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-named-as-missing-from/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:23)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-after-named/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-after-named/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-after-named/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-after-named/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-missing-as/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-missing-as/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-missing-as/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/invalid-import-namespace-missing-as/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-lexical-declaration/invalid_complex_binding_without_init/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-lexical-declaration/invalid_complex_binding_without_init/options.json
index 8cb567ee77..57893e4eee 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-lexical-declaration/invalid_complex_binding_without_init/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-lexical-declaration/invalid_complex_binding_without_init/options.json
@@ -1,3 +1,3 @@
{
"throws": "Complex binding patterns require an initialization value (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/invalid-dots/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/invalid-dots/options.json
index 4e08e9340e..6079f138a6 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/invalid-dots/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/invalid-dots/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:29)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/unknown-property/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/unknown-property/options.json
index 2985f64e65..f1d291c3e4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/unknown-property/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-meta-property/unknown-property/options.json
@@ -1,3 +1,3 @@
{
"throws": "The only valid meta property for new is new.target (1:25)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-getter-literal-identifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-getter-literal-identifier/options.json
index 57e02d3bf4..de857a114a 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-getter-literal-identifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-getter-literal-identifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:39)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifier-literal/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifier-literal/options.json
index f36f2e1bd9..5c966843f4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifier-literal/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifier-literal/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:20)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifiers/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifiers/options.json
index f36f2e1bd9..5c966843f4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifiers/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-identifiers/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:20)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literal-identifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literal-identifier/options.json
index afd5a5116b..e19950ad14 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literal-identifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literal-identifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literals/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literals/options.json
index afd5a5116b..e19950ad14 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literals/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-literals/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-setter-literal-identifier/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-setter-literal-identifier/options.json
index cf57a1fa83..f364ee9184 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-setter-literal-identifier/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-object-initialiser/invalid-proto-setter-literal-identifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:42)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dot-dot/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dot-dot/options.json
index e68fbb6aec..10bd5624f0 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dot-dot/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dot-dot/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dots/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dots/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dots/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-dots/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-spreads/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-spreads/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-spreads/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-call-spreads/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dot-dot/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dot-dot/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dot-dot/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dot-dot/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dots/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dots/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dots/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-dots/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-spreads/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-spreads/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-spreads/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-spread-element/invalid-new-spreads/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.octal-literal/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.octal-literal/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.octal-literal/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.octal-literal/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.strict-octal-literal/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.strict-octal-literal/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.strict-octal-literal/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/.strict-octal-literal/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/invalid-escape/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/invalid-escape/options.json
index 3ae5cb6c96..fd4da953a4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/invalid-escape/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/invalid-escape/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid escape sequence in template (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/unclosed/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/unclosed/options.json
index 182d155159..5162185002 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/unclosed/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-template-literals/unclosed/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated template (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-expression/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-expression/options.json
index d73f4a2bec..640cd6c71b 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-expression/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-expression/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:20)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-default/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-default/options.json
index d84cec7b2d..1bc5667681 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-default/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-default/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (1:21)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameter/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameter/options.json
index e354d58b31..c9b7ef33bb 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameter/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameter/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (1:16)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameters/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameters/options.json
index 2c82a8fe86..65c34eefb4 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameters/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-arrow-parameters/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (1:25)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-export-default/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-export-default/options.json
index 6583569ead..afbed324e9 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-export-default/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-export-default/options.json
@@ -1,3 +1,3 @@
{
"throws": "'import' and 'export' may appear only with 'sourceType: \"module\"' (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-name/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-name/options.json
index 7c3fd48ca3..5dcc4a8923 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-name/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-name/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-parameter/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-parameter/options.json
index 4d161ba35a..0db4ce4adc 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-parameter/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-parameter/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-rest/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-rest/options.json
index 594d686a64..c689509a34 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-rest/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-expression-rest/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-member-expression/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-member-expression/options.json
index 870f2ec57d..f3780bda31 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-member-expression/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-member-expression/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:28)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-parameter/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-parameter/options.json
index 4d161ba35a..0db4ce4adc 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-parameter/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-parameter/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-rest/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-rest/options.json
index 853fd57f2e..3d2ca09a60 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-rest/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-generator-rest/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word inside generator functions (1:24)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-array-pattern/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-array-pattern/options.json
index 6478b65d8d..a2857a14ad 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-array-pattern/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-array-pattern/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (1:16)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-default/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-default/options.json
index 4a2737b8e9..1de2e87eff 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-default/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-default/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (1:19)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-name/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-name/options.json
index 5b44b14828..05cab66d4e 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-name/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/invalid-yield-strict-arrow-parameter-name/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is a reserved word in strict mode (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/es2015-yield/yield-generator-arrow-default/options.json b/packages/babel-parser/test/fixtures/esprima/es2015-yield/yield-generator-arrow-default/options.json
index d84cec7b2d..1bc5667681 100644
--- a/packages/babel-parser/test/fixtures/esprima/es2015-yield/yield-generator-arrow-default/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/es2015-yield/yield-generator-arrow-default/options.json
@@ -1,3 +1,3 @@
{
"throws": "yield is not allowed in the parameters of an arrow function inside a generator (1:21)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.GH-1106-09/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.GH-1106-09/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.GH-1106-09/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.GH-1106-09/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0033/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0033/options.json
index 65ef4a184a..9ce9658f7d 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0033/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0033/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0034/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0034/options.json
index 65ef4a184a..9ce9658f7d 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0034/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0034/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0035/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0035/options.json
index f8ff26aba2..3c289784c0 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0035/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0035/options.json
@@ -1,3 +1,3 @@
{
"throws": "Error parsing regular expression: Invalid regular expression: /(s/: Unterminated group (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0036/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0036/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0036/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0036/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0037/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0037/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0037/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0037/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0041/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0041/options.json
index 2a73699bc2..b8b06c3a03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0041/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0041/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0042/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0042/options.json
index 7ca1e1ffbb..98d7123790 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0042/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0042/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0043/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0043/options.json
index 8bb9a5f99b..e806dd7b3a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0043/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0043/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:17)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0044/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0044/options.json
index 2a73699bc2..b8b06c3a03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0044/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0044/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0048/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0048/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0048/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0048/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0049/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0049/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0049/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0049/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0050/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0050/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0050/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0050/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0051/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0051/options.json
index 65ef4a184a..9ce9658f7d 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0051/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0051/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0075/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0075/options.json
index 0341c5637c..e3a1ba7e82 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0075/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0075/options.json
@@ -1,3 +1,3 @@
{
"throws": "setter should have exactly one param (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0137/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0137/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0137/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0137/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0163/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0163/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0163/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0163/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0165/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0165/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0165/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0165/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0166/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0166/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0166/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0166/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0167/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0167/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0167/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0167/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0169/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0169/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0169/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0169/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0277/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0277/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0277/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/.migrated_0277/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-00/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-00/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-00/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-00/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-01/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-01/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-01/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-01/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-02/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-02/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-02/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-02/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-03/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-03/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-03/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-03/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-04/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-04/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-04/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-04/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-05/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-05/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-05/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-05/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-06/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-06/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-06/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-06/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-07/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-07/options.json
index 143c8be643..8e0dce66ef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-07/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/GH-1106-07/options.json
@@ -1,3 +1,3 @@
{
"throws": "Bad character escape sequence (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0000/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0000/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0000/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0000/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0001/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0001/options.json
index 919c05ec87..ca189c74f6 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0001/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0001/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0002/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0002/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0002/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0002/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0003/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0003/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0003/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0003/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0004/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0004/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0004/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0004/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0005/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0005/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0005/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0005/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0006/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0006/options.json
index cf3086295c..91bb1eef0c 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0006/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0006/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0007/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0007/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0007/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0007/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0008/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0008/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0008/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0008/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0009/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0009/options.json
index b4716df8c6..1a0693338e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0009/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0009/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 16 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0010/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0010/options.json
index aa61ff56c2..ee18527964 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0010/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0010/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0011/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0011/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0011/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0011/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0012/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0012/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0012/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0012/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0013/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0013/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0013/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0013/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0014/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0014/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0014/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0014/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0015/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0015/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0015/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0015/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0016/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0016/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0016/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0016/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0017/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0017/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0017/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0017/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0018/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0018/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0018/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0018/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0019/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0019/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0019/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0019/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0020/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0020/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0020/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0020/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0021/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0021/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0021/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0021/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0022/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0022/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0022/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0022/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0023/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0023/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0023/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0023/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0024/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0024/options.json
index d00691a137..40dc3da9a8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0024/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0024/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 2 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0025/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0025/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0025/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0025/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0026/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0026/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0026/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0026/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0027/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0027/options.json
index 5c0ca078e5..3f09c36a5f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0027/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0027/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expected number in radix 8 (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0028/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0028/options.json
index f313a1ab44..d52d9cfac4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0028/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0028/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0029/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0029/options.json
index b239abb159..c70fa099de 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0029/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0029/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0030/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0030/options.json
index f42de64632..dd76235059 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0030/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0030/options.json
@@ -1,3 +1,3 @@
{
"throws": "Identifier directly after number (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0031/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0031/options.json
index a760565b1b..d732a16309 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0031/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0031/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated string constant (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0032/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0032/options.json
index d08f66903c..18c53b997b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0032/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0032/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expecting Unicode escape sequence \\uXXXX (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0038/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0038/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0038/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0038/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0039/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0039/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0039/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0039/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0040/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0040/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0040/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0040/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0045/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0045/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0045/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0045/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0046/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0046/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0046/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0046/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0047/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0047/options.json
index d8b91465e5..7c5f08eb9b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0047/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0047/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0052/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0052/options.json
index 57f8bee850..c09dac1301 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0052/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0052/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in postfix operation (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0053/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0053/options.json
index 57f8bee850..c09dac1301 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0053/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0053/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in postfix operation (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0054/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0054/options.json
index e58c443745..515e441e8e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0054/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0054/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in prefix operation (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0055/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0055/options.json
index e58c443745..515e441e8e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0055/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0055/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in prefix operation (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0056/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0056/options.json
index 83b3a8b5f3..f8560a7de9 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0056/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0056/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-in statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0057/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0057/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0057/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0057/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0058/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0058/options.json
index e68fbb6aec..10bd5624f0 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0058/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0058/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0059/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0059/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0059/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0059/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0061/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0061/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0061/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0061/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0062/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0062/options.json
index d5e4b52d5c..2fd762cd6a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0062/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0062/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0063/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0063/options.json
index 78a668d16d..9d0cd9237f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0063/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0063/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated string constant (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0064/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0064/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0064/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0064/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0065/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0065/options.json
index 852d412611..895412e4e5 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0065/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0065/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected character '#' (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0066/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0066/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0066/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0066/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0067/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0067/options.json
index 740de73d85..6010e96ed1 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0067/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0067/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in assignment expression (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0068/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0068/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0068/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0068/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0069/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0069/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0069/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0069/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0070/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0070/options.json
index aa8239233c..c1ce88e361 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0070/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0070/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0071/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0071/options.json
index 6588607606..c4c1edaca3 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0071/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0071/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0072/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0072/options.json
index 6588607606..c4c1edaca3 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0072/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0072/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0073/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0073/options.json
index 328b1ddde8..89bfc2d73f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0073/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0073/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0074/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0074/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0074/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0074/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0082/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0082/options.json
index e68fbb6aec..10bd5624f0 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0082/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0082/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0085/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0085/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0085/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0085/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0086/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0086/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0086/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0086/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0093/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0093/options.json
index 8d80c05650..6d0445e20e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0093/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0093/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0094/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0094/options.json
index 2fdbbb1bc8..0f2c1bee90 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0094/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0094/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:21)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0095/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0095/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0095/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0095/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0096/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0096/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0096/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0096/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0097/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0097/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0097/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0097/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0098/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0098/options.json
index 419e8d307f..99ffc0de01 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0098/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0098/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in arrow function parameters (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0099/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0099/options.json
index 419e8d307f..99ffc0de01 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0099/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0099/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in arrow function parameters (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0103/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0103/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0103/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0103/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0104/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0104/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0104/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0104/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0105/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0105/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0105/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0105/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0106/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0106/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0106/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0106/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0107/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0107/options.json
index 3e33f7730f..cb6c66081e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0107/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0107/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0108/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0108/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0108/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0108/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0109/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0109/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0109/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0109/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0110/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0110/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0110/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0110/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0111/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0111/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0111/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0111/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0112/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0112/options.json
index ff1ac8247e..a89de70c61 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0112/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0112/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0114/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0114/options.json
index ff1ac8247e..a89de70c61 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0114/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0114/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0115/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0115/options.json
index ff1ac8247e..a89de70c61 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0115/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0115/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0116/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0116/options.json
index 6ccbfe923d..701f9fe8f2 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0116/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0116/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0117/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0117/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0117/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0117/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0118/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0118/options.json
index 14a50290d0..de66853a7a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0118/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0118/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0119/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0119/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0119/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0119/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0120/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0120/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0120/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0120/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0121/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0121/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0121/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0121/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0122/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0122/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0122/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0122/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0125/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0125/options.json
index 83b3a8b5f3..f8560a7de9 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0125/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0125/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-in statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0126/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0126/options.json
index 83b3a8b5f3..f8560a7de9 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0126/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0126/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid left-hand side in for-in statement (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0127/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0127/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0127/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0127/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0128/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0128/options.json
index 0c5f4deed6..fa579aa831 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0128/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0128/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:24)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0129/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0129/options.json
index e68fbb6aec..10bd5624f0 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0129/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0129/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0130/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0130/options.json
index 358068a16a..9e093bfdcd 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0130/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0130/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:12)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0131/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0131/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0131/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0131/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0132/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0132/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0132/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0132/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0133/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0133/options.json
index 9b3d4185f1..429d96ca3f 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0133/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0133/options.json
@@ -1,3 +1,3 @@
{
"throws": "Missing catch or finally clause (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0134/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0134/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0134/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0134/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0136/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0136/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0136/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0136/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0138/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0138/options.json
index 7ca1e1ffbb..98d7123790 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0138/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0138/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0139/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0139/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0139/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0139/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0140/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0140/options.json
index 167116741e..c958665c03 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0140/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0140/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:7)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0141/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0141/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0141/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0141/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0142/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0142/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0142/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0142/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0143/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0143/options.json
index 8ded4af443..aadfa63716 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0143/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0143/options.json
@@ -1,3 +1,3 @@
{
"throws": "Multiple default clauses (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0144/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0144/options.json
index 65ef4a184a..9ce9658f7d 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0144/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0144/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0145/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0145/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0145/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0145/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0146/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0146/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0146/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0146/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0147/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0147/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0147/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0147/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0148/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0148/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0148/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0148/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0149/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0149/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0149/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0149/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0150/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0150/options.json
index 228eff80e8..eb40f4f052 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0150/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0150/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated comment (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0151/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0151/options.json
index 919c05ec87..ca189c74f6 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0151/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0151/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0152/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0152/options.json
index 919c05ec87..ca189c74f6 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0152/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0152/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0153/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0153/options.json
index 919c05ec87..ca189c74f6 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0153/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0153/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0154/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0154/options.json
index 919c05ec87..ca189c74f6 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0154/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0154/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0155/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0155/options.json
index 0361d7c7d2..7d847e99c8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0155/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0155/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0156/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0156/options.json
index aa8239233c..c1ce88e361 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0156/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0156/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0157/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0157/options.json
index e07b72599f..66fb1cd63b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0157/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0157/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated regular expression (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0158/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0158/options.json
index aa8239233c..c1ce88e361 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0158/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0158/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0159/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0159/options.json
index 0b22a698d6..a10e365ed5 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0159/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0159/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (2:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0160/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0160/options.json
index 02c5500083..913ef7d74a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0160/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0160/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0161/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0161/options.json
index 02c5500083..913ef7d74a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0161/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0161/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (3:2)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0162/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0162/options.json
index c5a8baf2b8..381fd12ce2 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0162/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0162/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expecting Unicode escape sequence \\uXXXX (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0164/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0164/options.json
index c5a8baf2b8..381fd12ce2 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0164/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0164/options.json
@@ -1,3 +1,3 @@
{
"throws": "Expecting Unicode escape sequence \\uXXXX (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0168/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0168/options.json
index a760565b1b..d732a16309 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0168/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0168/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unterminated string constant (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0170/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0170/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0170/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0170/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0171/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0171/options.json
index dececd0e83..f9d29c7f32 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0171/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0171/options.json
@@ -1,3 +1,3 @@
{
"throws": "'return' outside of function (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0172/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0172/options.json
index 6ccbfe923d..701f9fe8f2 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0172/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0172/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0173/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0173/options.json
index 14a50290d0..de66853a7a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0173/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0173/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:0)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0174/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0174/options.json
index 332366a21c..c726e8fa98 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0174/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0174/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:22)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0176/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0176/options.json
index 33bf5f84b8..070e662e80 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0176/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0176/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0177/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0177/options.json
index e75cfed858..2a2e15787a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0177/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0177/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0178/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0178/options.json
index 8008848be3..464af80a15 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0178/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0178/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0179/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0179/options.json
index f0faa7faaa..a056cb50e1 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0179/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0179/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0180/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0180/options.json
index 8008848be3..464af80a15 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0180/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0180/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic break (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0181/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0181/options.json
index f0faa7faaa..a056cb50e1 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0181/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0181/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unsyntactic continue (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0182/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0182/options.json
index a430baffb5..da7f2590db 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0182/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0182/options.json
@@ -1,3 +1,3 @@
{
"throws": "Label 'x' is already declared (1:18)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0183/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0183/options.json
index 8112470453..1517e17193 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0183/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0183/options.json
@@ -1,3 +1,3 @@
{
"throws": "Deleting local variable in strict mode (1:29)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0184/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0184/options.json
index 1b86ef2104..31b4c6d2a0 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0184/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0184/options.json
@@ -1,3 +1,3 @@
{
"throws": "'with' in strict mode (1:29)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0217/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0217/options.json
index 11a57d6c56..ae2bfab55c 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0217/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0217/options.json
@@ -1,3 +1,3 @@
{
"throws": "Octal literal in strict mode (1:35)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0218/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0218/options.json
index 3711f38eef..ec4ea95dc9 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0218/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0218/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:33)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0219/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0219/options.json
index 2984958689..7e50b5f916 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0219/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0219/options.json
@@ -1,3 +1,3 @@
{
"throws": "Octal literal in strict mode (1:38)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0220/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0220/options.json
index a864ada0fe..dd200e16e5 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0220/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0220/options.json
@@ -1,3 +1,3 @@
{
"throws": "Invalid number (1:36)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0223/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0223/options.json
index e92ad336dd..8389b2c726 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0223/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0223/options.json
@@ -1,3 +1,3 @@
{
"throws": "Octal literal in strict mode (1:69)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0232/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0232/options.json
index 22d103a833..9fa1302689 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0232/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0232/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:37)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0238/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0238/options.json
index 9f7910a413..27a7b64d71 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0238/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0238/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0240/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0240/options.json
index 421c28bbd6..e23388601b 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0240/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0240/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0243/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0243/options.json
index 9db3dfc50c..660e54ca2a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0243/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0243/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:43)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0244/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0244/options.json
index 13e320a983..28545ded14 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0244/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0244/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:15)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0245/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0245/options.json
index 0e4f27a823..0f592c74a3 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0245/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0245/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:44)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0248/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0248/options.json
index bb0741872a..cb5abd9f74 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0248/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0248/options.json
@@ -1,3 +1,3 @@
{
"throws": "Label '__proto__' is already declared (1:11)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0249/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0249/options.json
index e887380a58..172760cf2c 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0249/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0249/options.json
@@ -1,3 +1,3 @@
{
"throws": "Argument name clash in strict mode (1:36)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0250/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0250/options.json
index ae09c6ae48..8e9b9f5859 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0250/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0250/options.json
@@ -1,3 +1,3 @@
{
"throws": "Redefinition of __proto__ property (1:21)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0252/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0252/options.json
index 3b5e811628..05dbd26b33 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0252/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0252/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0253/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0253/options.json
index 3b5e811628..05dbd26b33 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0253/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0253/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:3)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0254/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0254/options.json
index 0ab445fe47..91b308200e 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0254/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0254/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:5)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0255/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0255/options.json
index 515b971673..158f0af7b4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0255/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0255/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0256/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0256/options.json
index 1e730e1707..d5583f7bc5 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0256/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0256/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:19)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0257/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0257/options.json
index 7250ca6848..715f71e32a 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0257/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0257/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (1:16)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0266/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0266/options.json
index 93db7641c7..2a28555f76 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0266/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0266/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:9)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0269/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0269/options.json
index 51c483f3d3..d50e8469b8 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0269/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0269/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:14)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0272/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0272/options.json
index cbb8e10c8d..f4b1d256a4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0272/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0272/options.json
@@ -1,3 +1,3 @@
{
"throws": "Constructor can't have get/set modifier (1:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0273/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0273/options.json
index cbb8e10c8d..f4b1d256a4 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0273/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0273/options.json
@@ -1,3 +1,3 @@
{
"throws": "Constructor can't have get/set modifier (1:13)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0274/options.json b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0274/options.json
index cf2d761794..4d892adcef 100644
--- a/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0274/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/invalid-syntax/migrated_0274/options.json
@@ -1,3 +1,3 @@
{
"throws": "Duplicate constructor in the same class (1:25)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/rest-parameter/invalid-setter-rest/options.json b/packages/babel-parser/test/fixtures/esprima/rest-parameter/invalid-setter-rest/options.json
index c397e398c8..0006fbf98e 100644
--- a/packages/babel-parser/test/fixtures/esprima/rest-parameter/invalid-setter-rest/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/rest-parameter/invalid-setter-rest/options.json
@@ -1,3 +1,3 @@
{
- "throws": "setter function argument must not be a rest parameter (1:6)"
- }
+ "throws": "setter function argument must not be a rest parameter (1:6)"
+}
diff --git a/packages/babel-parser/test/fixtures/esprima/statement-variable/complex-pattern-requires-init/options.json b/packages/babel-parser/test/fixtures/esprima/statement-variable/complex-pattern-requires-init/options.json
index 8cb567ee77..57893e4eee 100644
--- a/packages/babel-parser/test/fixtures/esprima/statement-variable/complex-pattern-requires-init/options.json
+++ b/packages/babel-parser/test/fixtures/esprima/statement-variable/complex-pattern-requires-init/options.json
@@ -1,3 +1,3 @@
{
"throws": "Complex binding patterns require an initialization value (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-methods/combined/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-methods/combined/options.json
index 55a2c821d7..b69ee0b978 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-methods/combined/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-methods/combined/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["classProperties", "classPrivateProperties", "classPrivateMethods"]
+ "plugins": [
+ "classProperties",
+ "classPrivateProperties",
+ "classPrivateMethods"
+ ]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-name-constructor/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-name-constructor/options.json
index 1473a4f7a3..d702f4db97 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-name-constructor/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-name-constructor/options.json
@@ -1,4 +1,4 @@
{
"throws": "Classes may not have a private field named '#constructor' (2:2)",
- "plugins": [ "classPrivateMethods" ]
+ "plugins": ["classPrivateMethods"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-spaces/input.js b/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-spaces/input.js
new file mode 100644
index 0000000000..b49e1327f4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-spaces/input.js
@@ -0,0 +1,5 @@
+class Spaces {
+ # wrongSpaces() {
+ return fail();
+ }
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-spaces/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-spaces/options.json
new file mode 100644
index 0000000000..f8dba0c322
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-methods/failure-spaces/options.json
@@ -0,0 +1,4 @@
+{
+ "throws": "Unexpected space between # and identifier (2:5)",
+ "plugins": ["classPrivateMethods"]
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-computed/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-computed/options.json
index ef991ca761..d740be4d93 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-computed/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-computed/options.json
@@ -1,4 +1,4 @@
{
"throws": "Unexpected token (3:3)",
- "plugins": [ "classPrivateProperties" ]
+ "plugins": ["classPrivateProperties"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-delete-private-property/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-delete-private-property/options.json
index 009e1bf06e..e9f18e93d1 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-delete-private-property/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-delete-private-property/options.json
@@ -1,4 +1,4 @@
{
"throws": "Deleting a private field is not allowed (4:4)",
- "plugins": [ "classPrivateProperties" ]
+ "plugins": ["classPrivateProperties"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-name-constructor/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-name-constructor/options.json
index 3489ed65cb..51343aac3b 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-name-constructor/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-name-constructor/options.json
@@ -1,4 +1,4 @@
{
"throws": "Classes may not have a private field named '#constructor' (2:2)",
- "plugins": [ "classPrivateProperties" ]
+ "plugins": ["classPrivateProperties"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-shorthand/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-shorthand/options.json
index ff492563b6..1c13dabac2 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-shorthand/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-shorthand/options.json
@@ -1,4 +1,4 @@
{
"throws": "Unexpected token (4:11)",
- "plugins": [ "classPrivateProperties" ]
+ "plugins": ["classPrivateProperties"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-spaces/input.js b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-spaces/input.js
new file mode 100644
index 0000000000..023684c53e
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-spaces/input.js
@@ -0,0 +1,3 @@
+class Spaces {
+ # wrongSpaces;
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-spaces/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-spaces/options.json
new file mode 100644
index 0000000000..f8dba0c322
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-spaces/options.json
@@ -0,0 +1,4 @@
+{
+ "throws": "Unexpected space between # and identifier (2:5)",
+ "plugins": ["classPrivateMethods"]
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-string-literal/options.json b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-string-literal/options.json
index dfd75111a5..714877566f 100644
--- a/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-string-literal/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/class-private-properties/failure-string-literal/options.json
@@ -1,4 +1,4 @@
{
"throws": "Unexpected token (2:3)",
- "plugins": [ "classPrivateProperties" ]
+ "plugins": ["classPrivateProperties"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/class-property/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/class-property/options.json
index 806b2fc7ca..21fa2f7d9b 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/class-property/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/class-property/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["classProperties", "classPrivateProperties", "decorators"]
+ "plugins": [
+ "classProperties",
+ "classPrivateProperties",
+ ["decorators", { "decoratorsBeforeExport": false }]
+ ]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/compued-property/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/compued-property/options.json
index 49038f416f..1ec7ff9a42 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/compued-property/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/compued-property/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["decorators", "classProperties"]
+ "plugins": [
+ ["decorators", { "decoratorsBeforeExport": false }],
+ "classProperties"
+ ]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-boolean/input.js b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-boolean/input.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-boolean/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-boolean/options.json
new file mode 100644
index 0000000000..2397f70ee6
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-boolean/options.json
@@ -0,0 +1,4 @@
+{
+ "plugins": [["decorators", { "decoratorsBeforeExport": "yes" }]],
+ "throws": "'decoratorsBeforeExport' must be a boolean."
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-with-parens/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-with-parens/options.json
index 8dcb89f00f..3d20bee945 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-with-parens/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-with-parens/options.json
@@ -1,6 +1,4 @@
{
"sourceType": "module",
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ]
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-without-parens/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-without-parens/options.json
index 19ed49f042..39592e4eb2 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-without-parens/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default-decorated-expression-without-parens/options.json
@@ -1,7 +1,5 @@
{
"sourceType": "module",
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ],
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]],
"throws": "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax (1:15)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default/options.json
index 8dcb89f00f..3d20bee945 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export-default/options.json
@@ -1,6 +1,4 @@
{
"sourceType": "module",
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ]
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export/options.json
index 8dcb89f00f..3d20bee945 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-export/options.json
@@ -1,6 +1,4 @@
{
"sourceType": "module",
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ]
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-required/input.js b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-required/input.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-required/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-required/options.json
new file mode 100644
index 0000000000..3a1e80661a
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-required/options.json
@@ -0,0 +1,4 @@
+{
+ "plugins": ["decorators"],
+ "throws": "The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'."
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-true-decorator-after-export/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-true-decorator-after-export/options.json
index 8d1cb160da..8fc06b1b8c 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-true-decorator-after-export/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/decoratorsBeforeExport-true-decorator-after-export/options.json
@@ -1,7 +1,5 @@
{
"sourceType": "module",
- "plugins": [
- ["decorators", { "decoratorsBeforeExport": true }]
- ],
+ "plugins": [["decorators", { "decoratorsBeforeExport": true }]],
"throws": "Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax (1:7)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/options.json
index d760b0afda..6c9cc72327 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["decorators"]
+ "plugins": [["decorators", { "decoratorsBeforeExport": false }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/private-property/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/private-property/options.json
index 806b2fc7ca..21fa2f7d9b 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/private-property/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/private-property/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["classProperties", "classPrivateProperties", "decorators"]
+ "plugins": [
+ "classProperties",
+ "classPrivateProperties",
+ ["decorators", { "decoratorsBeforeExport": false }]
+ ]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/decorators-2/static-property/options.json b/packages/babel-parser/test/fixtures/experimental/decorators-2/static-property/options.json
index b508cf45fd..4ee4c94460 100644
--- a/packages/babel-parser/test/fixtures/experimental/decorators-2/static-property/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/decorators-2/static-property/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["classProperties", "decorators"]
+ "plugins": [
+ "classProperties",
+ ["decorators", { "decoratorsBeforeExport": false }]
+ ]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/do-expressions/options.json b/packages/babel-parser/test/fixtures/experimental/do-expressions/options.json
index 294598f215..c3943b1e75 100644
--- a/packages/babel-parser/test/fixtures/experimental/do-expressions/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/do-expressions/options.json
@@ -1,3 +1,3 @@
{
"plugins": ["doExpressions"]
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/do-expressions/with-jsx/options.json b/packages/babel-parser/test/fixtures/experimental/do-expressions/with-jsx/options.json
index e74b82b101..8c6f67aa6a 100644
--- a/packages/babel-parser/test/fixtures/experimental/do-expressions/with-jsx/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/do-expressions/with-jsx/options.json
@@ -1,3 +1,3 @@
{
"plugins": ["jsx", "doExpressions"]
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/dynamic-import/direct-calls-only/options.json b/packages/babel-parser/test/fixtures/experimental/dynamic-import/direct-calls-only/options.json
index 468132c26a..599298db46 100644
--- a/packages/babel-parser/test/fixtures/experimental/dynamic-import/direct-calls-only/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/dynamic-import/direct-calls-only/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Dynamic imports require a parameter: import('a.js').then (2:9)"
+ "throws": "Dynamic imports require a parameter: import('a.js') (2:9)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json b/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json
index 50ce42c71f..5956ed25f3 100644
--- a/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/import-meta/without-plugin/options.json
@@ -1,4 +1,4 @@
{
"throws": "This experimental syntax requires enabling the parser plugin: 'importMeta' (1:7)",
"plugins": []
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/json-strings/directive-line-separator/output.json b/packages/babel-parser/test/fixtures/experimental/json-strings/directive-line-separator/output.json
index 0a597e8063..8bf9f02e87 100644
--- a/packages/babel-parser/test/fixtures/experimental/json-strings/directive-line-separator/output.json
+++ b/packages/babel-parser/test/fixtures/experimental/json-strings/directive-line-separator/output.json
@@ -8,7 +8,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 82
}
},
@@ -22,7 +22,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 82
}
},
@@ -40,7 +40,7 @@
"column": 0
},
"end": {
- "line": 1,
+ "line": 2,
"column": 15
}
},
@@ -54,7 +54,7 @@
"column": 0
},
"end": {
- "line": 1,
+ "line": 2,
"column": 14
}
},
@@ -72,11 +72,11 @@
"end": 98,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 82
}
}
@@ -93,11 +93,11 @@
"end": 98,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 82
}
}
diff --git a/packages/babel-parser/test/fixtures/experimental/json-strings/directive-paragraph-separator/output.json b/packages/babel-parser/test/fixtures/experimental/json-strings/directive-paragraph-separator/output.json
index ad5a48a14c..f83d867447 100644
--- a/packages/babel-parser/test/fixtures/experimental/json-strings/directive-paragraph-separator/output.json
+++ b/packages/babel-parser/test/fixtures/experimental/json-strings/directive-paragraph-separator/output.json
@@ -8,7 +8,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 87
}
},
@@ -22,7 +22,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 87
}
},
@@ -40,7 +40,7 @@
"column": 0
},
"end": {
- "line": 1,
+ "line": 2,
"column": 15
}
},
@@ -54,7 +54,7 @@
"column": 0
},
"end": {
- "line": 1,
+ "line": 2,
"column": 14
}
},
@@ -72,11 +72,11 @@
"end": 103,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 87
}
}
@@ -93,11 +93,11 @@
"end": 103,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 87
}
}
diff --git a/packages/babel-parser/test/fixtures/experimental/json-strings/string-line-separator/output.json b/packages/babel-parser/test/fixtures/experimental/json-strings/string-line-separator/output.json
index 7dde2fc8ab..388733cc20 100644
--- a/packages/babel-parser/test/fixtures/experimental/json-strings/string-line-separator/output.json
+++ b/packages/babel-parser/test/fixtures/experimental/json-strings/string-line-separator/output.json
@@ -8,7 +8,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 83
}
},
@@ -22,7 +22,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 83
}
},
@@ -39,7 +39,7 @@
"column": 0
},
"end": {
- "line": 1,
+ "line": 2,
"column": 17
}
},
@@ -53,7 +53,7 @@
"column": 1
},
"end": {
- "line": 1,
+ "line": 2,
"column": 15
}
},
@@ -73,11 +73,11 @@
"end": 101,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 83
}
}
@@ -95,11 +95,11 @@
"end": 101,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 83
}
}
diff --git a/packages/babel-parser/test/fixtures/experimental/json-strings/string-paragraph-separator/output.json b/packages/babel-parser/test/fixtures/experimental/json-strings/string-paragraph-separator/output.json
index d7dab40405..a482ccfb26 100644
--- a/packages/babel-parser/test/fixtures/experimental/json-strings/string-paragraph-separator/output.json
+++ b/packages/babel-parser/test/fixtures/experimental/json-strings/string-paragraph-separator/output.json
@@ -8,7 +8,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 88
}
},
@@ -22,7 +22,7 @@
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 88
}
},
@@ -39,7 +39,7 @@
"column": 0
},
"end": {
- "line": 1,
+ "line": 2,
"column": 17
}
},
@@ -53,7 +53,7 @@
"column": 1
},
"end": {
- "line": 1,
+ "line": 2,
"column": 15
}
},
@@ -73,11 +73,11 @@
"end": 106,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 88
}
}
@@ -95,11 +95,11 @@
"end": 106,
"loc": {
"start": {
- "line": 2,
+ "line": 3,
"column": 0
},
"end": {
- "line": 2,
+ "line": 3,
"column": 88
}
}
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/options.json
index e70662682b..1bb4736991 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["nullishCoalescingOperator"]
}
-
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/associativity/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/associativity/options.json
index e70662682b..1bb4736991 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/associativity/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/associativity/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["nullishCoalescingOperator"]
}
-
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/multiline/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/multiline/options.json
index e70662682b..1bb4736991 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/multiline/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/multiline/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["nullishCoalescingOperator"]
}
-
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json
index e70662682b..1bb4736991 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["nullishCoalescingOperator"]
}
-
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json
index e70662682b..1bb4736991 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["nullishCoalescingOperator"]
}
-
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json
index e70662682b..1bb4736991 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["nullishCoalescingOperator"]
}
-
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/options.json b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/options.json
index 7a167840fb..790c3f234b 100644
--- a/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["nullishCoalescingOperator", ["pipelineOperator", { "proposal": "minimal" }]]
+ "plugins": [
+ "nullishCoalescingOperator",
+ ["pipelineOperator", { "proposal": "minimal" }]
+ ]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/11/options.json b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/11/options.json
index b70f9f128f..b382a06ac5 100644
--- a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/11/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/11/options.json
@@ -2,4 +2,3 @@
"sourceType": "module",
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:23)"
}
-
diff --git a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/12/options.json b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/12/options.json
index 21dc6a7cc6..d6149ed845 100644
--- a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/12/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/12/options.json
@@ -2,4 +2,3 @@
"sourceType": "module",
"throws": "`bar` has already been exported. Exported identifiers must be unique. (2:13)"
}
-
diff --git a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/13/options.json b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/13/options.json
index 4c8f1eb7bd..8daa306ff7 100644
--- a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/13/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/13/options.json
@@ -2,4 +2,3 @@
"sourceType": "module",
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:30)"
}
-
diff --git a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/14/options.json b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/14/options.json
index 4a117168dc..a87b46d55a 100644
--- a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/14/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/14/options.json
@@ -2,4 +2,3 @@
"sourceType": "module",
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:29)"
}
-
diff --git a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/15/options.json b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/15/options.json
index 4c8f1eb7bd..8daa306ff7 100644
--- a/packages/babel-parser/test/fixtures/experimental/object-rest-spread/15/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/object-rest-spread/15/options.json
@@ -2,4 +2,3 @@
"sourceType": "module",
"throws": "`foo` has already been exported. Exported identifiers must be unique. (2:30)"
}
-
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optioanl-chain-expression/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optioanl-chain-expression/options.json
index ec2042c932..fd201c1bdb 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optioanl-chain-expression/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optioanl-chain-expression/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["optionalChaining"]
-}
\ No newline at end of file
+ "plugins": ["optionalChaining"]
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-constructor/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-constructor/options.json
index ada2df9c64..10cef4d480 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-constructor/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-constructor/options.json
@@ -1,4 +1,4 @@
{
- "plugins": ["optionalChaining"],
- "throws": "constructors in/after an Optional Chain are not allowed (1:7)"
- }
+ "plugins": ["optionalChaining"],
+ "throws": "constructors in/after an Optional Chain are not allowed (1:7)"
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property-class/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property-class/options.json
index 0bbb2f11ba..86849e8c46 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property-class/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property-class/options.json
@@ -1,4 +1,4 @@
{
- "plugins":["optionalChaining"],
- "throws": "Unexpected token (3:20)"
-}
\ No newline at end of file
+ "plugins": ["optionalChaining"],
+ "throws": "Unexpected token (3:20)"
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property/options.json
index 0bbb2f11ba..86849e8c46 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-super-property/options.json
@@ -1,4 +1,4 @@
{
- "plugins":["optionalChaining"],
- "throws": "Unexpected token (3:20)"
-}
\ No newline at end of file
+ "plugins": ["optionalChaining"],
+ "throws": "Unexpected token (3:20)"
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-tagged-template-literals/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-tagged-template-literals/options.json
index fb1568dfd1..631741b044 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-tagged-template-literals/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/optional-tagged-template-literals/options.json
@@ -1,4 +1,4 @@
{
- "plugins" : ["optionalChaining"],
- "throws" : "Tagged Template Literals are not allowed in optionalChain (1:0)"
-}
\ No newline at end of file
+ "plugins": ["optionalChaining"],
+ "throws": "Tagged Template Literals are not allowed in optionalChain (1:0)"
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/parenthised-chain/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/parenthised-chain/options.json
index f19632ef9d..fd201c1bdb 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/parenthised-chain/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/parenthised-chain/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["optionalChaining"]
+ "plugins": ["optionalChaining"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/optional-chaining/super-method-class/options.json b/packages/babel-parser/test/fixtures/experimental/optional-chaining/super-method-class/options.json
index 1655838858..fd201c1bdb 100644
--- a/packages/babel-parser/test/fixtures/experimental/optional-chaining/super-method-class/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/optional-chaining/super-method-class/options.json
@@ -1,3 +1,3 @@
{
- "plugins":["optionalChaining"]
-}
\ No newline at end of file
+ "plugins": ["optionalChaining"]
+}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens-with-parend-args/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens-with-parend-args/options.json
index b4e236359d..a281f6face 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens-with-parend-args/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens-with-parend-args/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ],
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]],
"throws": "Unexpected token, expected \";\" (1:10)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens/options.json
index 551ef0ba6c..c89b7d0c25 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-arrow-requires-parens/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ],
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]],
"throws": "Unexpected token, expected \";\" (1:8)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-await-requires-parens/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-await-requires-parens/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-await-requires-parens/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-await-requires-parens/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await-f/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await-f/options.json
index 126164b9ee..98b0d71d08 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await-f/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await-f/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ],
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]],
"throws": "Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal (2:14)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await/options.json
index 126164b9ee..98b0d71d08 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-ban-await/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ],
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]],
"throws": "Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal (2:14)"
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-base/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-base/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-base/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-base/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-chain/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-chain/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-chain/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-chain/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-multiline/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-multiline/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-multiline/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-multiline/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-precedence/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-precedence/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-precedence/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-precedence/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow-parend-params/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow-parend-params/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow-parend-params/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow-parend-params/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow/options.json b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow/options.json
index f96a57c748..a474f3dd50 100644
--- a/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/pipeline-operator/proposal-minimal-with-arrow/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["pipelineOperator", { "proposal": "minimal" }]
- ]
+ "plugins": [["pipelineOperator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/uncategorised/47/options.json b/packages/babel-parser/test/fixtures/experimental/uncategorised/47/options.json
index de6bb29dad..cbe3cf4d61 100644
--- a/packages/babel-parser/test/fixtures/experimental/uncategorised/47/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/uncategorised/47/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "classProperties",
- "decorators-legacy"
- ]
+ "plugins": ["classProperties", "decorators-legacy"]
}
diff --git a/packages/babel-parser/test/fixtures/experimental/uncategorised/48/options.json b/packages/babel-parser/test/fixtures/experimental/uncategorised/48/options.json
index de6bb29dad..cbe3cf4d61 100644
--- a/packages/babel-parser/test/fixtures/experimental/uncategorised/48/options.json
+++ b/packages/babel-parser/test/fixtures/experimental/uncategorised/48/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "classProperties",
- "decorators-legacy"
- ]
+ "plugins": ["classProperties", "decorators-legacy"]
}
diff --git a/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_14/input.js b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_14/input.js
new file mode 100644
index 0000000000..7d3fa382c4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_14/input.js
@@ -0,0 +1 @@
+type T = Array<(string) => number>
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_14/output.json b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_14/output.json
new file mode 100644
index 0000000000..3b566aaa7f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_14/output.json
@@ -0,0 +1,183 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "TypeAlias",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 5,
+ "end": 6,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 6
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "GenericTypeAnnotation",
+ "start": 9,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ }
+ },
+ "typeParameters": {
+ "type": "TypeParameterInstantiation",
+ "start": 14,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 1,
+ "column": 34
+ }
+ },
+ "params": [
+ {
+ "type": "FunctionTypeAnnotation",
+ "start": 15,
+ "end": 33,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 1,
+ "column": 33
+ }
+ },
+ "params": [
+ {
+ "type": "FunctionTypeParam",
+ "start": 16,
+ "end": 22,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 22
+ }
+ },
+ "name": null,
+ "optional": false,
+ "typeAnnotation": {
+ "type": "StringTypeAnnotation",
+ "start": 16,
+ "end": 22,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 22
+ }
+ }
+ }
+ }
+ ],
+ "rest": null,
+ "returnType": {
+ "type": "NumberTypeAnnotation",
+ "start": 27,
+ "end": 33,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 27
+ },
+ "end": {
+ "line": 1,
+ "column": 33
+ }
+ }
+ },
+ "typeParameters": null
+ }
+ ]
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 9,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ },
+ "identifierName": "Array"
+ },
+ "name": "Array"
+ }
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_15/input.js b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_15/input.js
new file mode 100644
index 0000000000..f275738965
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_15/input.js
@@ -0,0 +1 @@
+let x = (): Array<(string) => number> => []
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_15/output.json b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_15/output.json
new file mode 100644
index 0000000000..fb3eb337bc
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/anonymous-function-no-parens-types/good_15/output.json
@@ -0,0 +1,251 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 0,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 4,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "init": {
+ "type": "ArrowFunctionExpression",
+ "start": 8,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "predicate": null,
+ "returnType": {
+ "type": "TypeAnnotation",
+ "start": 10,
+ "end": 37,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 10
+ },
+ "end": {
+ "line": 1,
+ "column": 37
+ }
+ },
+ "typeAnnotation": {
+ "type": "GenericTypeAnnotation",
+ "start": 12,
+ "end": 37,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 12
+ },
+ "end": {
+ "line": 1,
+ "column": 37
+ }
+ },
+ "typeParameters": {
+ "type": "TypeParameterInstantiation",
+ "start": 17,
+ "end": 37,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 17
+ },
+ "end": {
+ "line": 1,
+ "column": 37
+ }
+ },
+ "params": [
+ {
+ "type": "FunctionTypeAnnotation",
+ "start": 18,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 18
+ },
+ "end": {
+ "line": 1,
+ "column": 36
+ }
+ },
+ "params": [
+ {
+ "type": "FunctionTypeParam",
+ "start": 19,
+ "end": 25,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 19
+ },
+ "end": {
+ "line": 1,
+ "column": 25
+ }
+ },
+ "name": null,
+ "optional": false,
+ "typeAnnotation": {
+ "type": "StringTypeAnnotation",
+ "start": 19,
+ "end": 25,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 19
+ },
+ "end": {
+ "line": 1,
+ "column": 25
+ }
+ }
+ }
+ }
+ ],
+ "rest": null,
+ "returnType": {
+ "type": "NumberTypeAnnotation",
+ "start": 30,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 30
+ },
+ "end": {
+ "line": 1,
+ "column": 36
+ }
+ }
+ },
+ "typeParameters": null
+ }
+ ]
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 12,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 12
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ },
+ "identifierName": "Array"
+ },
+ "name": "Array"
+ }
+ }
+ },
+ "id": null,
+ "generator": false,
+ "async": false,
+ "params": [],
+ "body": {
+ "type": "ArrayExpression",
+ "start": 41,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 41
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "elements": []
+ }
+ }
+ }
+ ],
+ "kind": "let"
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/call-properties/1/output.json b/packages/babel-parser/test/fixtures/flow/call-properties/1/output.json
index f106eb4dc3..41dbc2be10 100644
--- a/packages/babel-parser/test/fixtures/flow/call-properties/1/output.json
+++ b/packages/babel-parser/test/fixtures/flow/call-properties/1/output.json
@@ -156,7 +156,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/call-properties/2/output.json b/packages/babel-parser/test/fixtures/flow/call-properties/2/output.json
index bdd238b298..9b2e1c34ab 100644
--- a/packages/babel-parser/test/fixtures/flow/call-properties/2/output.json
+++ b/packages/babel-parser/test/fixtures/flow/call-properties/2/output.json
@@ -156,7 +156,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/call-properties/3/output.json b/packages/babel-parser/test/fixtures/flow/call-properties/3/output.json
index b37fa63355..edb622d15e 100644
--- a/packages/babel-parser/test/fixtures/flow/call-properties/3/output.json
+++ b/packages/babel-parser/test/fixtures/flow/call-properties/3/output.json
@@ -308,7 +308,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/call-properties/4/output.json b/packages/babel-parser/test/fixtures/flow/call-properties/4/output.json
index 6f1b515556..718dab3195 100644
--- a/packages/babel-parser/test/fixtures/flow/call-properties/4/output.json
+++ b/packages/babel-parser/test/fixtures/flow/call-properties/4/output.json
@@ -256,7 +256,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/class-private-property/1/input.js b/packages/babel-parser/test/fixtures/flow/class-private-property/1/input.js
new file mode 100644
index 0000000000..0ad82dd437
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/class-private-property/1/input.js
@@ -0,0 +1,4 @@
+class A {
+ #prop1: string;
+ #prop2: number = value;
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/class-private-property/1/output.json b/packages/babel-parser/test/fixtures/flow/class-private-property/1/output.json
new file mode 100644
index 0000000000..a00beeae9d
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/class-private-property/1/output.json
@@ -0,0 +1,261 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 55,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 55,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ClassDeclaration",
+ "start": 0,
+ "end": 55,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ },
+ "identifierName": "A"
+ },
+ "name": "A"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 8,
+ "end": 55,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "body": [
+ {
+ "type": "ClassPrivateProperty",
+ "start": 12,
+ "end": 27,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "static": false,
+ "key": {
+ "type": "PrivateName",
+ "start": 12,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ },
+ "identifierName": "prop1"
+ },
+ "name": "prop1"
+ }
+ },
+ "variance": null,
+ "typeAnnotation": {
+ "type": "TypeAnnotation",
+ "start": 18,
+ "end": 26,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 8
+ },
+ "end": {
+ "line": 2,
+ "column": 16
+ }
+ },
+ "typeAnnotation": {
+ "type": "StringTypeAnnotation",
+ "start": 20,
+ "end": 26,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 10
+ },
+ "end": {
+ "line": 2,
+ "column": 16
+ }
+ }
+ }
+ },
+ "value": null
+ },
+ {
+ "type": "ClassPrivateProperty",
+ "start": 30,
+ "end": 53,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 25
+ }
+ },
+ "static": false,
+ "key": {
+ "type": "PrivateName",
+ "start": 30,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 31,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ },
+ "identifierName": "prop2"
+ },
+ "name": "prop2"
+ }
+ },
+ "variance": null,
+ "typeAnnotation": {
+ "type": "TypeAnnotation",
+ "start": 36,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 8
+ },
+ "end": {
+ "line": 3,
+ "column": 16
+ }
+ },
+ "typeAnnotation": {
+ "type": "NumberTypeAnnotation",
+ "start": 38,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 10
+ },
+ "end": {
+ "line": 3,
+ "column": 16
+ }
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "start": 47,
+ "end": 52,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 24
+ },
+ "identifierName": "value"
+ },
+ "name": "value"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/class-private-property/2/input.js b/packages/babel-parser/test/fixtures/flow/class-private-property/2/input.js
new file mode 100644
index 0000000000..1586a6cc47
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/class-private-property/2/input.js
@@ -0,0 +1,4 @@
+class A {
+ #prop1: string;
+ #prop2: number;
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/class-private-property/2/output.json b/packages/babel-parser/test/fixtures/flow/class-private-property/2/output.json
new file mode 100644
index 0000000000..ab488ef216
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/class-private-property/2/output.json
@@ -0,0 +1,245 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 47,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 47,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ClassDeclaration",
+ "start": 0,
+ "end": 47,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ },
+ "identifierName": "A"
+ },
+ "name": "A"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 8,
+ "end": 47,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 4,
+ "column": 1
+ }
+ },
+ "body": [
+ {
+ "type": "ClassPrivateProperty",
+ "start": 12,
+ "end": 27,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "static": false,
+ "key": {
+ "type": "PrivateName",
+ "start": 12,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ },
+ "identifierName": "prop1"
+ },
+ "name": "prop1"
+ }
+ },
+ "variance": null,
+ "typeAnnotation": {
+ "type": "TypeAnnotation",
+ "start": 18,
+ "end": 26,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 8
+ },
+ "end": {
+ "line": 2,
+ "column": 16
+ }
+ },
+ "typeAnnotation": {
+ "type": "StringTypeAnnotation",
+ "start": 20,
+ "end": 26,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 10
+ },
+ "end": {
+ "line": 2,
+ "column": 16
+ }
+ }
+ }
+ },
+ "value": null
+ },
+ {
+ "type": "ClassPrivateProperty",
+ "start": 30,
+ "end": 45,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 17
+ }
+ },
+ "static": false,
+ "key": {
+ "type": "PrivateName",
+ "start": 30,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 31,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ },
+ "identifierName": "prop2"
+ },
+ "name": "prop2"
+ }
+ },
+ "variance": null,
+ "typeAnnotation": {
+ "type": "TypeAnnotation",
+ "start": 36,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 8
+ },
+ "end": {
+ "line": 3,
+ "column": 16
+ }
+ },
+ "typeAnnotation": {
+ "type": "NumberTypeAnnotation",
+ "start": 38,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 10
+ },
+ "end": {
+ "line": 3,
+ "column": 16
+ }
+ }
+ }
+ },
+ "value": null
+ }
+ ]
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/class-private-property/options.json b/packages/babel-parser/test/fixtures/flow/class-private-property/options.json
new file mode 100644
index 0000000000..d533f640ef
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/class-private-property/options.json
@@ -0,0 +1,4 @@
+{
+ "sourceType": "module",
+ "plugins": ["flow", "classPrivateProperties"]
+}
diff --git a/packages/babel-parser/test/fixtures/flow/comment/02-type-include/output.json b/packages/babel-parser/test/fixtures/flow/comment/02-type-include/output.json
index 81661e9066..0eb104082d 100644
--- a/packages/babel-parser/test/fixtures/flow/comment/02-type-include/output.json
+++ b/packages/babel-parser/test/fixtures/flow/comment/02-type-include/output.json
@@ -239,7 +239,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/comment/03-type-flow-include/output.json b/packages/babel-parser/test/fixtures/flow/comment/03-type-flow-include/output.json
index 3a740e6c1c..5b41ff77f7 100644
--- a/packages/babel-parser/test/fixtures/flow/comment/03-type-flow-include/output.json
+++ b/packages/babel-parser/test/fixtures/flow/comment/03-type-flow-include/output.json
@@ -239,7 +239,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/declare-module/10/output.json b/packages/babel-parser/test/fixtures/flow/declare-module/10/output.json
index 563b25f29e..84347d7d56 100644
--- a/packages/babel-parser/test/fixtures/flow/declare-module/10/output.json
+++ b/packages/babel-parser/test/fixtures/flow/declare-module/10/output.json
@@ -146,7 +146,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
}
diff --git a/packages/babel-parser/test/fixtures/flow/declare-module/6/output.json b/packages/babel-parser/test/fixtures/flow/declare-module/6/output.json
index 33f1898db5..e2a2f288cb 100644
--- a/packages/babel-parser/test/fixtures/flow/declare-module/6/output.json
+++ b/packages/babel-parser/test/fixtures/flow/declare-module/6/output.json
@@ -192,7 +192,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
}
diff --git a/packages/babel-parser/test/fixtures/flow/declare-statements/14/output.json b/packages/babel-parser/test/fixtures/flow/declare-statements/14/output.json
index b34f2531a1..a7b76763db 100644
--- a/packages/babel-parser/test/fixtures/flow/declare-statements/14/output.json
+++ b/packages/babel-parser/test/fixtures/flow/declare-statements/14/output.json
@@ -243,7 +243,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/declare-statements/class-multiple-extends-invalid/options.json b/packages/babel-parser/test/fixtures/flow/declare-statements/class-multiple-extends-invalid/options.json
index 22fd395994..9cc0ebdae0 100644
--- a/packages/babel-parser/test/fixtures/flow/declare-statements/class-multiple-extends-invalid/options.json
+++ b/packages/babel-parser/test/fixtures/flow/declare-statements/class-multiple-extends-invalid/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Unexpected token, expected \"{\" (1:25)"
+ "throws": "Unexpected token, expected \"{\" (1:25)"
}
diff --git a/packages/babel-parser/test/fixtures/flow/def-site-variance/1/output.json b/packages/babel-parser/test/fixtures/flow/def-site-variance/1/output.json
index 8455526f65..938196ebcd 100644
--- a/packages/babel-parser/test/fixtures/flow/def-site-variance/1/output.json
+++ b/packages/babel-parser/test/fixtures/flow/def-site-variance/1/output.json
@@ -422,7 +422,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects1/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects1/input.js
new file mode 100644
index 0000000000..c3ef0ff532
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects1/input.js
@@ -0,0 +1,4 @@
+//@flow
+declare class A {
+ ...;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects1/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects1/options.json
new file mode 100644
index 0000000000..c9188366d4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects1/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (3:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects2/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects2/input.js
new file mode 100644
index 0000000000..fcc33d36c0
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects2/input.js
@@ -0,0 +1,5 @@
+//@flow
+declare class B {
+ foo: number;
+ ...;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects2/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects2/options.json
new file mode 100644
index 0000000000..658f8c4347
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects2/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (4:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects3/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects3/input.js
new file mode 100644
index 0000000000..1f5df6b39f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects3/input.js
@@ -0,0 +1,5 @@
+//@flow
+declare class C {
+ ...;
+ foo: number;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects3/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects3/options.json
new file mode 100644
index 0000000000..c9188366d4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects3/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (3:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects4/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects4/input.js
new file mode 100644
index 0000000000..7d0e44fc00
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects4/input.js
@@ -0,0 +1,6 @@
+//@flow
+declare class D {
+ foo: number;
+ ...;
+ bar: number;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects4/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects4/options.json
new file mode 100644
index 0000000000..658f8c4347
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects4/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (4:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/input.js
new file mode 100644
index 0000000000..938efa8b57
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/input.js
@@ -0,0 +1,5 @@
+//@flow
+interface F {
+ foo: number;
+ ...;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/options.json
new file mode 100644
index 0000000000..658f8c4347
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects5/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (4:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/input.js
new file mode 100644
index 0000000000..59c4a399c3
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/input.js
@@ -0,0 +1,5 @@
+//@flow
+interface G {
+ ...;
+ foo: number;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/options.json
new file mode 100644
index 0000000000..c9188366d4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects6/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (3:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/input.js
new file mode 100644
index 0000000000..4dde1fd3b0
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/input.js
@@ -0,0 +1,6 @@
+//@flow
+interface H {
+ foo: number;
+ ...;
+ bar: number;
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/options.json
new file mode 100644
index 0000000000..658f8c4347
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_disallowed_in_non_objects7/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Spread operator cannot appear in class or interface definitions (4:2)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_forbidden_in_exact/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_forbidden_in_exact/input.js
new file mode 100644
index 0000000000..289513d4e4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_forbidden_in_exact/input.js
@@ -0,0 +1,2 @@
+//@flow
+type T = {| foo: number, ... |}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_forbidden_in_exact/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_forbidden_in_exact/options.json
new file mode 100644
index 0000000000..49936ac949
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_forbidden_in_exact/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Explicit inexact syntax cannot appear inside an explicit exact object type (2:29)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_must_appear_last/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_must_appear_last/input.js
new file mode 100644
index 0000000000..93c854cac2
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_must_appear_last/input.js
@@ -0,0 +1,2 @@
+//@flow
+type T = {..., foo: number};
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_must_appear_last/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_must_appear_last/options.json
new file mode 100644
index 0000000000..ebb74417a5
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_must_appear_last/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Explicit inexact syntax must appear at the end of an inexact object (2:15)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object/input.js
new file mode 100644
index 0000000000..2fb3e72495
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object/input.js
@@ -0,0 +1,4 @@
+//@flow
+type T = {...};
+type U = {x: number, ...};
+type V = {x: number, ...V, ...U};
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object/output.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object/output.json
new file mode 100644
index 0000000000..7e32ace815
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object/output.json
@@ -0,0 +1,437 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 84,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 33
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 84,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 33
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "TypeAlias",
+ "start": 8,
+ "end": 23,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 15
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 17,
+ "end": 22,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ }
+ },
+ "callProperties": [],
+ "properties": [],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": true
+ },
+ "leadingComments": [
+ {
+ "type": "CommentLine",
+ "value": "@flow",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "TypeAlias",
+ "start": 24,
+ "end": 50,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 26
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 29,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 6
+ },
+ "identifierName": "U"
+ },
+ "name": "U"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 33,
+ "end": 49,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 9
+ },
+ "end": {
+ "line": 3,
+ "column": 25
+ }
+ },
+ "callProperties": [],
+ "properties": [
+ {
+ "type": "ObjectTypeProperty",
+ "start": 34,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 10
+ },
+ "end": {
+ "line": 3,
+ "column": 19
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 34,
+ "end": 35,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 10
+ },
+ "end": {
+ "line": 3,
+ "column": 11
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "static": false,
+ "proto": false,
+ "kind": "init",
+ "method": false,
+ "value": {
+ "type": "NumberTypeAnnotation",
+ "start": 37,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 13
+ },
+ "end": {
+ "line": 3,
+ "column": 19
+ }
+ }
+ },
+ "variance": null,
+ "optional": false
+ }
+ ],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": true
+ }
+ },
+ {
+ "type": "TypeAlias",
+ "start": 51,
+ "end": 84,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 33
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 56,
+ "end": 57,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 6
+ },
+ "identifierName": "V"
+ },
+ "name": "V"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 60,
+ "end": 83,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 9
+ },
+ "end": {
+ "line": 4,
+ "column": 32
+ }
+ },
+ "callProperties": [],
+ "properties": [
+ {
+ "type": "ObjectTypeProperty",
+ "start": 61,
+ "end": 70,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 10
+ },
+ "end": {
+ "line": 4,
+ "column": 19
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 61,
+ "end": 62,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 10
+ },
+ "end": {
+ "line": 4,
+ "column": 11
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "static": false,
+ "proto": false,
+ "kind": "init",
+ "method": false,
+ "value": {
+ "type": "NumberTypeAnnotation",
+ "start": 64,
+ "end": 70,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 13
+ },
+ "end": {
+ "line": 4,
+ "column": 19
+ }
+ }
+ },
+ "variance": null,
+ "optional": false
+ },
+ {
+ "type": "ObjectTypeSpreadProperty",
+ "start": 72,
+ "end": 76,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 21
+ },
+ "end": {
+ "line": 4,
+ "column": 25
+ }
+ },
+ "argument": {
+ "type": "GenericTypeAnnotation",
+ "start": 75,
+ "end": 76,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 24
+ },
+ "end": {
+ "line": 4,
+ "column": 25
+ }
+ },
+ "typeParameters": null,
+ "id": {
+ "type": "Identifier",
+ "start": 75,
+ "end": 76,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 24
+ },
+ "end": {
+ "line": 4,
+ "column": 25
+ },
+ "identifierName": "V"
+ },
+ "name": "V"
+ }
+ }
+ },
+ {
+ "type": "ObjectTypeSpreadProperty",
+ "start": 78,
+ "end": 82,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 27
+ },
+ "end": {
+ "line": 4,
+ "column": 31
+ }
+ },
+ "argument": {
+ "type": "GenericTypeAnnotation",
+ "start": 81,
+ "end": 82,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 30
+ },
+ "end": {
+ "line": 4,
+ "column": 31
+ }
+ },
+ "typeParameters": null,
+ "id": {
+ "type": "Identifier",
+ "start": 81,
+ "end": 82,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 30
+ },
+ "end": {
+ "line": 4,
+ "column": 31
+ },
+ "identifierName": "U"
+ },
+ "name": "U"
+ }
+ }
+ }
+ ],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": false
+ }
+ }
+ ],
+ "directives": []
+ },
+ "comments": [
+ {
+ "type": "CommentLine",
+ "value": "@flow",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid1/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid1/input.js
new file mode 100644
index 0000000000..84742c4659
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid1/input.js
@@ -0,0 +1,2 @@
+//@flow
+type T = {x: number, ..., y: number};
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid1/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid1/options.json
new file mode 100644
index 0000000000..6d703769bf
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid1/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Explicit inexact syntax must appear at the end of an inexact object (2:26)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid2/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid2/input.js
new file mode 100644
index 0000000000..15e4d01a74
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid2/input.js
@@ -0,0 +1,2 @@
+//@flow
+type U = {x: number, ..., ...};
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid2/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid2/options.json
new file mode 100644
index 0000000000..6d703769bf
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid2/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Explicit inexact syntax must appear at the end of an inexact object (2:26)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid3/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid3/input.js
new file mode 100644
index 0000000000..d9037ecf24
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid3/input.js
@@ -0,0 +1,2 @@
+//@flow
+type V = {x: number, ..., ...X};
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid3/options.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid3/options.json
new file mode 100644
index 0000000000..6d703769bf
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_object_invalid3/options.json
@@ -0,0 +1,5 @@
+{
+ "sourceType": "module",
+ "plugins": ["jsx", "flow"],
+ "throws": "Explicit inexact syntax must appear at the end of an inexact object (2:26)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_trailing_comma/input.js b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_trailing_comma/input.js
new file mode 100644
index 0000000000..2b439cf934
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_trailing_comma/input.js
@@ -0,0 +1,11 @@
+//@flow
+type T = { ..., };
+type U = { ...; };
+type V = {
+ x: number,
+ ...,
+};
+type W = {
+ x: number;
+ ...;
+};
diff --git a/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_trailing_comma/output.json b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_trailing_comma/output.json
new file mode 100644
index 0000000000..3c39bdc107
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/explicit-inexact-object/explicit_inexact_trailing_comma/output.json
@@ -0,0 +1,395 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 113,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 2
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 113,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 2
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "TypeAlias",
+ "start": 8,
+ "end": 26,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 13,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 6
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 17,
+ "end": 25,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "callProperties": [],
+ "properties": [],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": true
+ },
+ "leadingComments": [
+ {
+ "type": "CommentLine",
+ "value": "@flow",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "TypeAlias",
+ "start": 27,
+ "end": 45,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 18
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 32,
+ "end": 33,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 6
+ },
+ "identifierName": "U"
+ },
+ "name": "U"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 36,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 9
+ },
+ "end": {
+ "line": 3,
+ "column": 17
+ }
+ },
+ "callProperties": [],
+ "properties": [],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": true
+ }
+ },
+ {
+ "type": "TypeAlias",
+ "start": 46,
+ "end": 79,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 51,
+ "end": 52,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 4,
+ "column": 6
+ },
+ "identifierName": "V"
+ },
+ "name": "V"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 55,
+ "end": 78,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 9
+ },
+ "end": {
+ "line": 7,
+ "column": 1
+ }
+ },
+ "callProperties": [],
+ "properties": [
+ {
+ "type": "ObjectTypeProperty",
+ "start": 59,
+ "end": 68,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 5,
+ "column": 11
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 59,
+ "end": 60,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 2
+ },
+ "end": {
+ "line": 5,
+ "column": 3
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "static": false,
+ "proto": false,
+ "kind": "init",
+ "method": false,
+ "value": {
+ "type": "NumberTypeAnnotation",
+ "start": 62,
+ "end": 68,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 11
+ }
+ }
+ },
+ "variance": null,
+ "optional": false
+ }
+ ],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": true
+ }
+ },
+ {
+ "type": "TypeAlias",
+ "start": 80,
+ "end": 113,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 2
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 85,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 8,
+ "column": 6
+ },
+ "identifierName": "W"
+ },
+ "name": "W"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "ObjectTypeAnnotation",
+ "start": 89,
+ "end": 112,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 9
+ },
+ "end": {
+ "line": 11,
+ "column": 1
+ }
+ },
+ "callProperties": [],
+ "properties": [
+ {
+ "type": "ObjectTypeProperty",
+ "start": 93,
+ "end": 102,
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 2
+ },
+ "end": {
+ "line": 9,
+ "column": 11
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 93,
+ "end": 94,
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 2
+ },
+ "end": {
+ "line": 9,
+ "column": 3
+ },
+ "identifierName": "x"
+ },
+ "name": "x"
+ },
+ "static": false,
+ "proto": false,
+ "kind": "init",
+ "method": false,
+ "value": {
+ "type": "NumberTypeAnnotation",
+ "start": 96,
+ "end": 102,
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 11
+ }
+ }
+ },
+ "variance": null,
+ "optional": false
+ }
+ ],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false,
+ "inexact": true
+ }
+ }
+ ],
+ "directives": []
+ },
+ "comments": [
+ {
+ "type": "CommentLine",
+ "value": "@flow",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/identifier-named-static-method/input.js b/packages/babel-parser/test/fixtures/flow/interface-types/identifier-named-static-method/input.js
new file mode 100644
index 0000000000..cac2ca368b
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/interface-types/identifier-named-static-method/input.js
@@ -0,0 +1 @@
+type T = interface { static(): number }
diff --git a/packages/babel-parser/test/fixtures/flow/interface-types/identifier-named-static-method/output.json b/packages/babel-parser/test/fixtures/flow/interface-types/identifier-named-static-method/output.json
new file mode 100644
index 0000000000..73f418d338
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/interface-types/identifier-named-static-method/output.json
@@ -0,0 +1,175 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "TypeAlias",
+ "start": 0,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 5,
+ "end": 6,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 6
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ },
+ "typeParameters": null,
+ "right": {
+ "type": "InterfaceTypeAnnotation",
+ "start": 9,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "extends": [],
+ "body": {
+ "type": "ObjectTypeAnnotation",
+ "start": 19,
+ "end": 39,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 19
+ },
+ "end": {
+ "line": 1,
+ "column": 39
+ }
+ },
+ "callProperties": [],
+ "properties": [
+ {
+ "type": "ObjectTypeProperty",
+ "start": 21,
+ "end": 37,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 21
+ },
+ "end": {
+ "line": 1,
+ "column": 37
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 21,
+ "end": 27,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 21
+ },
+ "end": {
+ "line": 1,
+ "column": 27
+ },
+ "identifierName": "static"
+ },
+ "name": "static"
+ },
+ "static": false,
+ "proto": false,
+ "kind": "init",
+ "method": true,
+ "value": {
+ "type": "FunctionTypeAnnotation",
+ "start": 21,
+ "end": 37,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 21
+ },
+ "end": {
+ "line": 1,
+ "column": 37
+ }
+ },
+ "params": [],
+ "rest": null,
+ "typeParameters": null,
+ "returnType": {
+ "type": "NumberTypeAnnotation",
+ "start": 31,
+ "end": 37,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 31
+ },
+ "end": {
+ "line": 1,
+ "column": 37
+ }
+ }
+ }
+ },
+ "optional": false
+ }
+ ],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false
+ }
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/input.js b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/input.js
index c12feec022..6e53bcc6a8 100644
--- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/input.js
+++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/input.js
@@ -1,5 +1,4 @@
interface IFoo {
x: boolean;
static (): void;
- static y: boolean;
}
diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json
index c582203ef1..32bec330e5 100644
--- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json
+++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/10/output.json
@@ -1,28 +1,28 @@
{
"type": "File",
"start": 0,
- "end": 72,
+ "end": 51,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
- "line": 5,
+ "line": 4,
"column": 1
}
},
"program": {
"type": "Program",
"start": 0,
- "end": 72,
+ "end": 51,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
- "line": 5,
+ "line": 4,
"column": 1
}
},
@@ -32,14 +32,14 @@
{
"type": "InterfaceDeclaration",
"start": 0,
- "end": 72,
+ "end": 51,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
- "line": 5,
+ "line": 4,
"column": 1
}
},
@@ -67,68 +67,18 @@
"body": {
"type": "ObjectTypeAnnotation",
"start": 15,
- "end": 72,
+ "end": 51,
"loc": {
"start": {
"line": 1,
"column": 15
},
"end": {
- "line": 5,
+ "line": 4,
"column": 1
}
},
- "callProperties": [
- {
- "type": "ObjectTypeCallProperty",
- "start": 33,
- "end": 48,
- "loc": {
- "start": {
- "line": 3,
- "column": 2
- },
- "end": {
- "line": 3,
- "column": 17
- }
- },
- "static": true,
- "value": {
- "type": "FunctionTypeAnnotation",
- "start": 40,
- "end": 48,
- "loc": {
- "start": {
- "line": 3,
- "column": 9
- },
- "end": {
- "line": 3,
- "column": 17
- }
- },
- "params": [],
- "rest": null,
- "typeParameters": null,
- "returnType": {
- "type": "VoidTypeAnnotation",
- "start": 44,
- "end": 48,
- "loc": {
- "start": {
- "line": 3,
- "column": 13
- },
- "end": {
- "line": 3,
- "column": 17
- }
- }
- }
- }
- }
- ],
+ "callProperties": [],
"properties": [
{
"type": "ObjectTypeProperty",
@@ -185,55 +135,72 @@
},
{
"type": "ObjectTypeProperty",
- "start": 52,
- "end": 69,
+ "start": 33,
+ "end": 48,
"loc": {
"start": {
- "line": 4,
+ "line": 3,
"column": 2
},
"end": {
- "line": 4,
- "column": 19
+ "line": 3,
+ "column": 17
}
},
"key": {
"type": "Identifier",
- "start": 59,
- "end": 60,
+ "start": 33,
+ "end": 39,
"loc": {
"start": {
- "line": 4,
- "column": 9
+ "line": 3,
+ "column": 2
},
"end": {
- "line": 4,
- "column": 10
+ "line": 3,
+ "column": 8
},
- "identifierName": "y"
+ "identifierName": "static"
},
- "name": "y"
+ "name": "static"
},
- "static": true,
+ "static": false,
"proto": false,
"kind": "init",
- "method": false,
+ "method": true,
"value": {
- "type": "BooleanTypeAnnotation",
- "start": 62,
- "end": 69,
+ "type": "FunctionTypeAnnotation",
+ "start": 33,
+ "end": 48,
"loc": {
"start": {
- "line": 4,
- "column": 12
+ "line": 3,
+ "column": 2
},
"end": {
- "line": 4,
- "column": 19
+ "line": 3,
+ "column": 17
+ }
+ },
+ "params": [],
+ "rest": null,
+ "typeParameters": null,
+ "returnType": {
+ "type": "VoidTypeAnnotation",
+ "start": 44,
+ "end": 48,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 13
+ },
+ "end": {
+ "line": 3,
+ "column": 17
+ }
}
}
},
- "variance": null,
"optional": false
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/options.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/options.json
index 293efb5d9d..b67b9224d4 100644
--- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/options.json
+++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/id-reserved-type-invalid/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Cannot overwrite primitive type string (1:10)"
+ "throws": "Cannot overwrite primitive type string (1:10)"
}
diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/input.js b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/input.js
new file mode 100644
index 0000000000..65af58e636
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/input.js
@@ -0,0 +1 @@
+interface A { static(): number }
diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json
new file mode 100644
index 0000000000..3ec979ff2b
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/identifier-named-static-method/output.json
@@ -0,0 +1,162 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "InterfaceDeclaration",
+ "start": 0,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 10,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 10
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ },
+ "identifierName": "A"
+ },
+ "name": "A"
+ },
+ "typeParameters": null,
+ "extends": [],
+ "implements": [],
+ "mixins": [],
+ "body": {
+ "type": "ObjectTypeAnnotation",
+ "start": 12,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 12
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "callProperties": [],
+ "properties": [
+ {
+ "type": "ObjectTypeProperty",
+ "start": 14,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 14,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ },
+ "identifierName": "static"
+ },
+ "name": "static"
+ },
+ "static": false,
+ "proto": false,
+ "kind": "init",
+ "method": true,
+ "value": {
+ "type": "FunctionTypeAnnotation",
+ "start": 14,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ },
+ "params": [],
+ "rest": null,
+ "typeParameters": null,
+ "returnType": {
+ "type": "NumberTypeAnnotation",
+ "start": 24,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 24
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ }
+ }
+ },
+ "optional": false
+ }
+ ],
+ "indexers": [],
+ "internalSlots": [],
+ "exact": false
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-reserved-type-invalid/options.json b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-reserved-type-invalid/options.json
index 976b966edc..3eddc82b13 100644
--- a/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-reserved-type-invalid/options.json
+++ b/packages/babel-parser/test/fixtures/flow/interfaces-module-and-script/implements-reserved-type-invalid/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Cannot overwrite primitive type string (1:21)"
+ "throws": "Cannot overwrite primitive type string (1:21)"
}
diff --git a/packages/babel-parser/test/fixtures/flow/internal-slot/object-method/output.json b/packages/babel-parser/test/fixtures/flow/internal-slot/object-method/output.json
index 2be1cc35f8..b42f9eacce 100644
--- a/packages/babel-parser/test/fixtures/flow/internal-slot/object-method/output.json
+++ b/packages/babel-parser/test/fixtures/flow/internal-slot/object-method/output.json
@@ -166,7 +166,8 @@
}
}
],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/internal-slot/object-optional/output.json b/packages/babel-parser/test/fixtures/flow/internal-slot/object-optional/output.json
index 9a422ace0d..605db54c85 100644
--- a/packages/babel-parser/test/fixtures/flow/internal-slot/object-optional/output.json
+++ b/packages/babel-parser/test/fixtures/flow/internal-slot/object-optional/output.json
@@ -148,7 +148,8 @@
}
}
],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/internal-slot/object/output.json b/packages/babel-parser/test/fixtures/flow/internal-slot/object/output.json
index dd474f9d39..6ff31113bc 100644
--- a/packages/babel-parser/test/fixtures/flow/internal-slot/object/output.json
+++ b/packages/babel-parser/test/fixtures/flow/internal-slot/object/output.json
@@ -147,7 +147,8 @@
}
}
],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/iterator/12/output.json b/packages/babel-parser/test/fixtures/flow/iterator/12/output.json
index 523dd9f5cb..865bb50328 100644
--- a/packages/babel-parser/test/fixtures/flow/iterator/12/output.json
+++ b/packages/babel-parser/test/fixtures/flow/iterator/12/output.json
@@ -168,7 +168,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
"body": {
diff --git a/packages/babel-parser/test/fixtures/flow/iterator/13/output.json b/packages/babel-parser/test/fixtures/flow/iterator/13/output.json
index 7162d07e7f..a21fcad31e 100644
--- a/packages/babel-parser/test/fixtures/flow/iterator/13/output.json
+++ b/packages/babel-parser/test/fixtures/flow/iterator/13/output.json
@@ -168,7 +168,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
"body": {
diff --git a/packages/babel-parser/test/fixtures/flow/object-types/complex-param-types/output.json b/packages/babel-parser/test/fixtures/flow/object-types/complex-param-types/output.json
index 4bd3e696e5..c6357989dc 100644
--- a/packages/babel-parser/test/fixtures/flow/object-types/complex-param-types/output.json
+++ b/packages/babel-parser/test/fixtures/flow/object-types/complex-param-types/output.json
@@ -233,7 +233,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/opaque-type-alias/reserved-type-invalid/options.json b/packages/babel-parser/test/fixtures/flow/opaque-type-alias/reserved-type-invalid/options.json
index 55b6b62222..6bf62df4a9 100644
--- a/packages/babel-parser/test/fixtures/flow/opaque-type-alias/reserved-type-invalid/options.json
+++ b/packages/babel-parser/test/fixtures/flow/opaque-type-alias/reserved-type-invalid/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Cannot overwrite primitive type string (1:12)"
+ "throws": "Cannot overwrite primitive type string (1:12)"
}
diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-58-ambiguous/options.json b/packages/babel-parser/test/fixtures/flow/regression/issue-58-ambiguous/options.json
index b1f344213d..49dc6c3d5a 100644
--- a/packages/babel-parser/test/fixtures/flow/regression/issue-58-ambiguous/options.json
+++ b/packages/babel-parser/test/fixtures/flow/regression/issue-58-ambiguous/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate. (4:4)"
-}
\ No newline at end of file
+ "throws": "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate. (4:4)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-1/options.json b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-1/options.json
index fcc81471ca..2151995904 100644
--- a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-1/options.json
+++ b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-1/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Invalid left-hand side in arrow function parameters (2:11)"
-}
\ No newline at end of file
+ "throws": "Invalid left-hand side in arrow function parameters (2:11)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-2/options.json b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-2/options.json
index 26b1d53e8d..36a678e0e5 100644
--- a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-2/options.json
+++ b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-2/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Invalid left-hand side in arrow function parameters (2:8)"
-}
\ No newline at end of file
+ "throws": "Invalid left-hand side in arrow function parameters (2:8)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-3/options.json b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-3/options.json
index 830b8f6bc7..2fc0696df3 100644
--- a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-3/options.json
+++ b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-3/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Invalid left-hand side in arrow function parameters (2:5)"
-}
\ No newline at end of file
+ "throws": "Invalid left-hand side in arrow function parameters (2:5)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-4/options.json b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-4/options.json
index fcc81471ca..2151995904 100644
--- a/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-4/options.json
+++ b/packages/babel-parser/test/fixtures/flow/regression/issue-58-failing-4/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Invalid left-hand side in arrow function parameters (2:11)"
-}
\ No newline at end of file
+ "throws": "Invalid left-hand side in arrow function parameters (2:11)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/type-alias/4/output.json b/packages/babel-parser/test/fixtures/flow/type-alias/4/output.json
index c7bc622454..a1ff7e2786 100644
--- a/packages/babel-parser/test/fixtures/flow/type-alias/4/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-alias/4/output.json
@@ -153,7 +153,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
},
{
"type": "ObjectTypeAnnotation",
@@ -232,7 +233,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
]
}
@@ -626,7 +628,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
},
{
"type": "ObjectTypeAnnotation",
@@ -705,7 +708,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
]
},
@@ -715,7 +719,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
@@ -893,7 +898,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
},
{
"type": "ObjectTypeAnnotation",
@@ -972,7 +978,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
]
},
@@ -982,7 +989,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/108/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/108/output.json
index 59d32d37d0..a3e8ba642b 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/108/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/108/output.json
@@ -213,7 +213,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": true
+ "exact": true,
+ "inexact": false
}
}
},
@@ -532,7 +533,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": true
+ "exact": true,
+ "inexact": false
}
}
},
@@ -744,7 +746,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": true
+ "exact": true,
+ "inexact": false
}
}
},
@@ -1003,7 +1006,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": true
+ "exact": true,
+ "inexact": false
},
"variance": null,
"optional": false
@@ -1064,7 +1068,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
@@ -1537,7 +1542,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
},
"variance": null,
"optional": false
@@ -1598,7 +1604,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": true
+ "exact": true,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/110/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/110/output.json
index 4929bc3d47..4b3587d4c8 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/110/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/110/output.json
@@ -166,7 +166,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/111/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/111/output.json
index afb693e336..ec02ec5739 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/111/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/111/output.json
@@ -166,7 +166,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/114/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/114/output.json
index 0cb28d6e0f..ed63013702 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/114/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/114/output.json
@@ -195,7 +195,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/115/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/115/output.json
index da040897ad..df1f40c306 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/115/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/115/output.json
@@ -195,7 +195,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/127/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/127/output.json
index 4d08cf6244..165aac2e4c 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/127/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/127/output.json
@@ -128,7 +128,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/128/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/128/output.json
index cf23e569d2..345675c7e1 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/128/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/128/output.json
@@ -160,7 +160,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/135/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/135/output.json
index aa8891c0b7..ce7e04fe78 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/135/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/135/output.json
@@ -110,7 +110,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/136/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/136/output.json
index f2a1f069cf..bdd81eaa2c 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/136/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/136/output.json
@@ -130,7 +130,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
},
"variance": null,
"optional": false
@@ -167,13 +168,15 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/138/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/138/output.json
index 1987550217..6e48beeb05 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/138/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/138/output.json
@@ -276,7 +276,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/139/options.json b/packages/babel-parser/test/fixtures/flow/type-annotations/139/options.json
index 835e923674..2b0782bcbc 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/139/options.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/139/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Spread properties cannot have variance (3:1)"
-}
\ No newline at end of file
+ "throws": "Spread properties cannot have variance (3:1)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/16/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/16/output.json
index 4db03aa8f5..59fe3a8d36 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/16/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/16/output.json
@@ -96,7 +96,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
"body": {
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/32/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/32/output.json
index 6e85ab61db..70cbbd4fef 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/32/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/32/output.json
@@ -160,7 +160,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/33/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/33/output.json
index 5b4664821d..1ef29b3b8b 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/33/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/33/output.json
@@ -160,7 +160,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/34/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/34/output.json
index e0cef862f3..b389c49201 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/34/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/34/output.json
@@ -225,7 +225,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/35/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/35/output.json
index 42d9e07ef5..cc227490d3 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/35/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/35/output.json
@@ -174,7 +174,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
}
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/36/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/36/output.json
index fee4f6be45..431aa501bc 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/36/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/36/output.json
@@ -213,7 +213,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/37/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/37/output.json
index 24897a890d..428bb08cb9 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/37/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/37/output.json
@@ -211,7 +211,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
},
"variance": null,
"optional": false
@@ -219,7 +220,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/38/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/38/output.json
index 537525fd50..0e133ba1cf 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/38/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/38/output.json
@@ -225,7 +225,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
"variance": null,
@@ -234,7 +235,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/39/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/39/output.json
index fe3cbacc4b..03cc703ab8 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/39/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/39/output.json
@@ -213,7 +213,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/40/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/40/output.json
index ed33244fe9..2cfc8de959 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/40/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/40/output.json
@@ -213,7 +213,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/41/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/41/output.json
index 9e2c759153..2f073e822e 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/41/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/41/output.json
@@ -235,7 +235,8 @@
}
],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/42/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/42/output.json
index 446275326e..b918a1e51b 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/42/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/42/output.json
@@ -322,7 +322,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/43/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/43/output.json
index 027091719c..05ff2466b9 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/43/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/43/output.json
@@ -295,7 +295,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/60/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/60/output.json
index 1f013f7840..cfa5f6db54 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/60/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/60/output.json
@@ -215,7 +215,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/61/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/61/output.json
index c26e02abf8..25d46071b8 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/61/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/61/output.json
@@ -215,7 +215,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/63/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/63/output.json
index 7311b8c241..e9fb827b5b 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/63/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/63/output.json
@@ -220,7 +220,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
}
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/98/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/98/output.json
index 669cab2fd5..6a24cf2f1e 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/98/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/98/output.json
@@ -266,7 +266,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
},
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/invalid-line-terminator-arrow/options.json b/packages/babel-parser/test/fixtures/flow/type-annotations/invalid-line-terminator-arrow/options.json
index a659adb24d..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/invalid-line-terminator-arrow/options.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/invalid-line-terminator-arrow/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Unexpected token (1:1)"
+ "throws": "Unexpected token (1:1)"
}
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/object-type-method/output.json b/packages/babel-parser/test/fixtures/flow/type-annotations/object-type-method/output.json
index 61c974a718..f72e8ff175 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/object-type-method/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/object-type-method/output.json
@@ -151,7 +151,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
@@ -309,7 +310,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
@@ -433,7 +435,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
@@ -590,7 +593,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
@@ -693,7 +697,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
@@ -896,7 +901,8 @@
"properties": [],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
{
diff --git a/packages/babel-parser/test/fixtures/flow/type-annotations/with-default-invalid/options.json b/packages/babel-parser/test/fixtures/flow/type-annotations/with-default-invalid/options.json
index 95ca28398b..24792311b3 100644
--- a/packages/babel-parser/test/fixtures/flow/type-annotations/with-default-invalid/options.json
+++ b/packages/babel-parser/test/fixtures/flow/type-annotations/with-default-invalid/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25` (1:20)"
-}
\ No newline at end of file
+ "throws": "Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25` (1:20)"
+}
diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/arrow_without_jsx/options.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/arrow_without_jsx/options.json
index ccabc4fdd6..66dd3748d6 100644
--- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/arrow_without_jsx/options.json
+++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/arrow_without_jsx/options.json
@@ -1,4 +1,3 @@
{
"plugins": ["flow"]
}
-
diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-getter/options.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-getter/options.json
index fee1459767..0123986cbe 100644
--- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-getter/options.json
+++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-getter/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \"(\" (2:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-setter/options.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-setter/options.json
index fee1459767..0123986cbe 100644
--- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-setter/options.json
+++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/invalid-setter/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \"(\" (2:10)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/type-object-reserved-word/output.json b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/type-object-reserved-word/output.json
index 0b9e5fd724..d817f6ed47 100644
--- a/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/type-object-reserved-word/output.json
+++ b/packages/babel-parser/test/fixtures/flow/type-parameter-declaration/type-object-reserved-word/output.json
@@ -492,7 +492,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
}
],
diff --git a/packages/babel-parser/test/fixtures/flow/typecasts/2/output.json b/packages/babel-parser/test/fixtures/flow/typecasts/2/output.json
index 45638f476d..4d9f9da74b 100644
--- a/packages/babel-parser/test/fixtures/flow/typecasts/2/output.json
+++ b/packages/babel-parser/test/fixtures/flow/typecasts/2/output.json
@@ -323,7 +323,8 @@
],
"indexers": [],
"internalSlots": [],
- "exact": false
+ "exact": false,
+ "inexact": false
}
},
"extra": {
diff --git a/packages/babel-parser/test/fixtures/jsx/errors/unicode-escape-in-identifier/options.json b/packages/babel-parser/test/fixtures/jsx/errors/unicode-escape-in-identifier/options.json
index 04b967a2ee..b5b75f4187 100644
--- a/packages/babel-parser/test/fixtures/jsx/errors/unicode-escape-in-identifier/options.json
+++ b/packages/babel-parser/test/fixtures/jsx/errors/unicode-escape-in-identifier/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token (1:1)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/arrow-function/generic-tsx/options.json b/packages/babel-parser/test/fixtures/typescript/arrow-function/generic-tsx/options.json
index 6e5bbd52f8..aa8780ac51 100644
--- a/packages/babel-parser/test/fixtures/typescript/arrow-function/generic-tsx/options.json
+++ b/packages/babel-parser/test/fixtures/typescript/arrow-function/generic-tsx/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["jsx", "typescript"]
-}
\ No newline at end of file
+ "plugins": ["jsx", "typescript"]
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/class/property-optional-definite-assignment-not-allowed/options.json b/packages/babel-parser/test/fixtures/typescript/class/property-optional-definite-assignment-not-allowed/options.json
index 626e94c744..cd6a9c1b1a 100644
--- a/packages/babel-parser/test/fixtures/typescript/class/property-optional-definite-assignment-not-allowed/options.json
+++ b/packages/babel-parser/test/fixtures/typescript/class/property-optional-definite-assignment-not-allowed/options.json
@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \";\" (2:4)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments-invalid/input.js b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments-invalid/input.js
new file mode 100644
index 0000000000..5a4b902e4d
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments-invalid/input.js
@@ -0,0 +1,2 @@
+@decorator
+class Test {}
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments-invalid/options.json b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments-invalid/options.json
new file mode 100644
index 0000000000..02d8a1c26f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments-invalid/options.json
@@ -0,0 +1,7 @@
+{
+ "plugins": [
+ "typescript",
+ ["decorators", { "decoratorsBeforeExport": true }]
+ ],
+ "throws": "Unexpected token, expected \"(\" (2:0)"
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/input.js b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/input.js
new file mode 100644
index 0000000000..cb1c5dd447
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/input.js
@@ -0,0 +1,2 @@
+@decorator()
+class Test {}
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/options.json b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/options.json
new file mode 100644
index 0000000000..714918723f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/options.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ "typescript",
+ ["decorators", { "decoratorsBeforeExport": true }]
+ ]
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/output.json b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/output.json
new file mode 100644
index 0000000000..91add31ed1
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/decorators/type-arguments/output.json
@@ -0,0 +1,166 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ClassDeclaration",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "decorators": [
+ {
+ "type": "Decorator",
+ "start": 0,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ }
+ },
+ "expression": {
+ "type": "CallExpression",
+ "start": 1,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ }
+ },
+ "callee": {
+ "type": "Identifier",
+ "start": 1,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ },
+ "identifierName": "decorator"
+ },
+ "name": "decorator"
+ },
+ "arguments": [],
+ "typeParameters": {
+ "type": "TSTypeParameterInstantiation",
+ "start": 10,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 10
+ },
+ "end": {
+ "line": 1,
+ "column": 18
+ }
+ },
+ "params": [
+ {
+ "type": "TSStringKeyword",
+ "start": 11,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 11
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "id": {
+ "type": "Identifier",
+ "start": 27,
+ "end": 31,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 10
+ },
+ "identifierName": "Test"
+ },
+ "name": "Test"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 32,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "body": []
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/interface/export/input.js b/packages/babel-parser/test/fixtures/typescript/interface/export/input.js
index 509789ea6f..7049da8742 100644
--- a/packages/babel-parser/test/fixtures/typescript/interface/export/input.js
+++ b/packages/babel-parser/test/fixtures/typescript/interface/export/input.js
@@ -1,2 +1,2 @@
export interface I {}
-// `export default` does not work with interfaces
+export default interface A {}
diff --git a/packages/babel-parser/test/fixtures/typescript/interface/export/output.json b/packages/babel-parser/test/fixtures/typescript/interface/export/output.json
index 5d74c76817..1ad5c8ab4d 100644
--- a/packages/babel-parser/test/fixtures/typescript/interface/export/output.json
+++ b/packages/babel-parser/test/fixtures/typescript/interface/export/output.json
@@ -1,7 +1,7 @@
{
"type": "File",
"start": 0,
- "end": 71,
+ "end": 51,
"loc": {
"start": {
"line": 1,
@@ -9,13 +9,13 @@
},
"end": {
"line": 2,
- "column": 49
+ "column": 29
}
},
"program": {
"type": "Program",
"start": 0,
- "end": 71,
+ "end": 51,
"loc": {
"start": {
"line": 1,
@@ -23,7 +23,7 @@
},
"end": {
"line": 2,
- "column": 49
+ "column": 29
}
},
"sourceType": "module",
@@ -92,45 +92,72 @@
},
"body": []
}
+ }
+ },
+ {
+ "type": "ExportDefaultDeclaration",
+ "start": 22,
+ "end": 51,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 29
+ }
},
- "trailingComments": [
- {
- "type": "CommentLine",
- "value": " `export default` does not work with interfaces",
- "start": 22,
- "end": 71,
+ "declaration": {
+ "type": "TSInterfaceDeclaration",
+ "start": 37,
+ "end": 51,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 29
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 47,
+ "end": 48,
"loc": {
"start": {
"line": 2,
- "column": 0
+ "column": 25
},
"end": {
"line": 2,
- "column": 49
+ "column": 26
+ },
+ "identifierName": "A"
+ },
+ "name": "A"
+ },
+ "body": {
+ "type": "TSInterfaceBody",
+ "start": 49,
+ "end": 51,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 27
+ },
+ "end": {
+ "line": 2,
+ "column": 29
}
- }
+ },
+ "body": []
}
- ]
+ }
}
],
"directives": []
- },
- "comments": [
- {
- "type": "CommentLine",
- "value": " `export default` does not work with interfaces",
- "start": 22,
- "end": 71,
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 49
- }
- }
- }
- ]
+ }
}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/abstract-class/input.js b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/abstract-class/input.js
similarity index 100%
rename from packages/babel-parser/test/fixtures/typescript/decorators/abstract-class/input.js
rename to packages/babel-parser/test/fixtures/typescript/legacy-decorators/abstract-class/input.js
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/abstract-class/options.json b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/abstract-class/options.json
similarity index 100%
rename from packages/babel-parser/test/fixtures/typescript/decorators/abstract-class/options.json
rename to packages/babel-parser/test/fixtures/typescript/legacy-decorators/abstract-class/options.json
diff --git a/packages/babel-parser/test/fixtures/typescript/decorators/abstract-class/output.json b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/abstract-class/output.json
similarity index 100%
rename from packages/babel-parser/test/fixtures/typescript/decorators/abstract-class/output.json
rename to packages/babel-parser/test/fixtures/typescript/legacy-decorators/abstract-class/output.json
diff --git a/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/input.js b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/input.js
new file mode 100644
index 0000000000..cb1c5dd447
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/input.js
@@ -0,0 +1,2 @@
+@decorator()
+class Test {}
diff --git a/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/options.json b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/options.json
new file mode 100644
index 0000000000..b95c143bc2
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["typescript", "decorators-legacy"]
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/output.json b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/output.json
new file mode 100644
index 0000000000..91add31ed1
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/legacy-decorators/type-arguments/output.json
@@ -0,0 +1,166 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ClassDeclaration",
+ "start": 0,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "decorators": [
+ {
+ "type": "Decorator",
+ "start": 0,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ }
+ },
+ "expression": {
+ "type": "CallExpression",
+ "start": 1,
+ "end": 20,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ }
+ },
+ "callee": {
+ "type": "Identifier",
+ "start": 1,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ },
+ "identifierName": "decorator"
+ },
+ "name": "decorator"
+ },
+ "arguments": [],
+ "typeParameters": {
+ "type": "TSTypeParameterInstantiation",
+ "start": 10,
+ "end": 18,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 10
+ },
+ "end": {
+ "line": 1,
+ "column": 18
+ }
+ },
+ "params": [
+ {
+ "type": "TSStringKeyword",
+ "start": 11,
+ "end": 17,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 11
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "id": {
+ "type": "Identifier",
+ "start": 27,
+ "end": 31,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 10
+ },
+ "identifierName": "Test"
+ },
+ "name": "Test"
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "start": 32,
+ "end": 34,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "body": []
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/regression/is-default-export/options.json b/packages/babel-parser/test/fixtures/typescript/regression/is-default-export/options.json
index 21e26c84a8..009c01f8ac 100644
--- a/packages/babel-parser/test/fixtures/typescript/regression/is-default-export/options.json
+++ b/packages/babel-parser/test/fixtures/typescript/regression/is-default-export/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["exportDefaultFrom", "typescript"]
+ "plugins": ["exportDefaultFrom", "typescript"]
}
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/new-false-positive-2/options.json b/packages/babel-parser/test/fixtures/typescript/type-arguments/new-false-positive-2/options.json
index 07d136e203..9ce9658f7d 100644
--- a/packages/babel-parser/test/fixtures/typescript/type-arguments/new-false-positive-2/options.json
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/new-false-positive-2/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Unexpected token (1:8)"
-}
\ No newline at end of file
+ "throws": "Unexpected token (1:8)"
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template-no-asi/input.js b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template-no-asi/input.js
new file mode 100644
index 0000000000..b540adf24f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template-no-asi/input.js
@@ -0,0 +1,2 @@
+new C
+``
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template-no-asi/output.json b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template-no-asi/output.json
new file mode 100644
index 0000000000..8721061b7f
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template-no-asi/output.json
@@ -0,0 +1,185 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "expression": {
+ "type": "NewExpression",
+ "start": 0,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "callee": {
+ "type": "TaggedTemplateExpression",
+ "start": 4,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "tag": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ },
+ "identifierName": "C"
+ },
+ "name": "C"
+ },
+ "quasi": {
+ "type": "TemplateLiteral",
+ "start": 9,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 10,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 1
+ }
+ },
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true
+ }
+ ]
+ },
+ "typeParameters": {
+ "type": "TSTypeParameterInstantiation",
+ "start": 5,
+ "end": 8,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 8
+ }
+ },
+ "params": [
+ {
+ "type": "TSTypeReference",
+ "start": 6,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ },
+ "typeName": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ }
+ }
+ ]
+ }
+ },
+ "arguments": []
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template/input.js b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template/input.js
new file mode 100644
index 0000000000..53bbc3e3ed
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template/input.js
@@ -0,0 +1 @@
+f``;
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template/output.json b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template/output.json
new file mode 100644
index 0000000000..c8b549d700
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tagged-template/output.json
@@ -0,0 +1,169 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 7,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ },
+ "expression": {
+ "type": "TaggedTemplateExpression",
+ "start": 0,
+ "end": 6,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 6
+ }
+ },
+ "tag": {
+ "type": "Identifier",
+ "start": 0,
+ "end": 1,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 1
+ },
+ "identifierName": "f"
+ },
+ "name": "f"
+ },
+ "quasi": {
+ "type": "TemplateLiteral",
+ "start": 4,
+ "end": 6,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 6
+ }
+ },
+ "expressions": [],
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "start": 5,
+ "end": 5,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 5
+ }
+ },
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true
+ }
+ ]
+ },
+ "typeParameters": {
+ "type": "TSTypeParameterInstantiation",
+ "start": 1,
+ "end": 4,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 4
+ }
+ },
+ "params": [
+ {
+ "type": "TSTypeReference",
+ "start": 2,
+ "end": 3,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 2
+ },
+ "end": {
+ "line": 1,
+ "column": 3
+ }
+ },
+ "typeName": {
+ "type": "Identifier",
+ "start": 2,
+ "end": 3,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 2
+ },
+ "end": {
+ "line": 1,
+ "column": 3
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/input.js b/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/input.js
new file mode 100644
index 0000000000..520e35ee90
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/input.js
@@ -0,0 +1,2 @@
+> ;
+/>;
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/options.json b/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/options.json
new file mode 100644
index 0000000000..aa8780ac51
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["jsx", "typescript"]
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/output.json b/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/output.json
new file mode 100644
index 0000000000..15f1e7ebde
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/output.json
@@ -0,0 +1,259 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "start": 0,
+ "end": 16,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 16
+ }
+ },
+ "expression": {
+ "type": "JSXElement",
+ "start": 0,
+ "end": 15,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15
+ }
+ },
+ "openingElement": {
+ "type": "JSXOpeningElement",
+ "start": 0,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ }
+ },
+ "name": {
+ "type": "JSXIdentifier",
+ "start": 1,
+ "end": 2,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 1
+ },
+ "end": {
+ "line": 1,
+ "column": 2
+ }
+ },
+ "name": "C"
+ },
+ "typeParameters": {
+ "type": "TSTypeParameterInstantiation",
+ "start": 2,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 2
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ }
+ },
+ "params": [
+ {
+ "type": "TSNumberKeyword",
+ "start": 3,
+ "end": 9,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 3
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ }
+ }
+ ]
+ },
+ "attributes": [],
+ "selfClosing": false
+ },
+ "closingElement": {
+ "type": "JSXClosingElement",
+ "start": 11,
+ "end": 15,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 11
+ },
+ "end": {
+ "line": 1,
+ "column": 15
+ }
+ },
+ "name": {
+ "type": "JSXIdentifier",
+ "start": 13,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 13
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ },
+ "name": "C"
+ }
+ },
+ "children": []
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "start": 17,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 13
+ }
+ },
+ "expression": {
+ "type": "JSXElement",
+ "start": 17,
+ "end": 29,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 12
+ }
+ },
+ "openingElement": {
+ "type": "JSXOpeningElement",
+ "start": 17,
+ "end": 29,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 12
+ }
+ },
+ "name": {
+ "type": "JSXIdentifier",
+ "start": 18,
+ "end": 19,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 1
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "name": "C"
+ },
+ "typeParameters": {
+ "type": "TSTypeParameterInstantiation",
+ "start": 19,
+ "end": 27,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 10
+ }
+ },
+ "params": [
+ {
+ "type": "TSNumberKeyword",
+ "start": 20,
+ "end": 26,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 2,
+ "column": 9
+ }
+ }
+ }
+ ]
+ },
+ "attributes": [],
+ "selfClosing": true
+ },
+ "closingElement": null,
+ "children": []
+ }
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/types/keywords/input.js b/packages/babel-parser/test/fixtures/typescript/types/keywords/input.js
index d2ddfb94bb..0fec8f608a 100644
--- a/packages/babel-parser/test/fixtures/typescript/types/keywords/input.js
+++ b/packages/babel-parser/test/fixtures/typescript/types/keywords/input.js
@@ -1,4 +1,5 @@
let a: any;
+let un: unknown;
let b: boolean;
let ne: never;
let nul: null;
diff --git a/packages/babel-parser/test/fixtures/typescript/types/keywords/output.json b/packages/babel-parser/test/fixtures/typescript/types/keywords/output.json
index 3057fdf2b2..b223120ab5 100644
--- a/packages/babel-parser/test/fixtures/typescript/types/keywords/output.json
+++ b/packages/babel-parser/test/fixtures/typescript/types/keywords/output.json
@@ -1,28 +1,28 @@
{
"type": "File",
"start": 0,
- "end": 152,
+ "end": 169,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
- "line": 10,
+ "line": 11,
"column": 12
}
},
"program": {
"type": "Program",
"start": 0,
- "end": 152,
+ "end": 169,
"loc": {
"start": {
"line": 1,
"column": 0
},
"end": {
- "line": 10,
+ "line": 11,
"column": 12
}
},
@@ -113,7 +113,7 @@
{
"type": "VariableDeclaration",
"start": 12,
- "end": 27,
+ "end": 28,
"loc": {
"start": {
"line": 2,
@@ -121,308 +121,65 @@
},
"end": {
"line": 2,
- "column": 15
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "start": 16,
- "end": 26,
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "id": {
- "type": "Identifier",
- "start": 16,
- "end": 26,
- "loc": {
- "start": {
- "line": 2,
- "column": 4
- },
- "end": {
- "line": 2,
- "column": 14
- },
- "identifierName": "b"
- },
- "name": "b",
- "typeAnnotation": {
- "type": "TSTypeAnnotation",
- "start": 17,
- "end": 26,
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "typeAnnotation": {
- "type": "TSBooleanKeyword",
- "start": 19,
- "end": 26,
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 14
- }
- }
- }
- }
- },
- "init": null
- }
- ],
- "kind": "let"
- },
- {
- "type": "VariableDeclaration",
- "start": 28,
- "end": 42,
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "start": 32,
- "end": 41,
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "id": {
- "type": "Identifier",
- "start": 32,
- "end": 41,
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 3,
- "column": 13
- },
- "identifierName": "ne"
- },
- "name": "ne",
- "typeAnnotation": {
- "type": "TSTypeAnnotation",
- "start": 34,
- "end": 41,
- "loc": {
- "start": {
- "line": 3,
- "column": 6
- },
- "end": {
- "line": 3,
- "column": 13
- }
- },
- "typeAnnotation": {
- "type": "TSNeverKeyword",
- "start": 36,
- "end": 41,
- "loc": {
- "start": {
- "line": 3,
- "column": 8
- },
- "end": {
- "line": 3,
- "column": 13
- }
- }
- }
- }
- },
- "init": null
- }
- ],
- "kind": "let"
- },
- {
- "type": "VariableDeclaration",
- "start": 43,
- "end": 57,
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 14
- }
- },
- "declarations": [
- {
- "type": "VariableDeclarator",
- "start": 47,
- "end": 56,
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "id": {
- "type": "Identifier",
- "start": 47,
- "end": 56,
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 13
- },
- "identifierName": "nul"
- },
- "name": "nul",
- "typeAnnotation": {
- "type": "TSTypeAnnotation",
- "start": 50,
- "end": 56,
- "loc": {
- "start": {
- "line": 4,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 13
- }
- },
- "typeAnnotation": {
- "type": "TSNullKeyword",
- "start": 52,
- "end": 56,
- "loc": {
- "start": {
- "line": 4,
- "column": 9
- },
- "end": {
- "line": 4,
- "column": 13
- }
- }
- }
- }
- },
- "init": null
- }
- ],
- "kind": "let"
- },
- {
- "type": "VariableDeclaration",
- "start": 58,
- "end": 74,
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
"column": 16
}
},
"declarations": [
{
"type": "VariableDeclarator",
- "start": 62,
- "end": 73,
+ "start": 16,
+ "end": 27,
"loc": {
"start": {
- "line": 5,
+ "line": 2,
"column": 4
},
"end": {
- "line": 5,
+ "line": 2,
"column": 15
}
},
"id": {
"type": "Identifier",
- "start": 62,
- "end": 73,
+ "start": 16,
+ "end": 27,
"loc": {
"start": {
- "line": 5,
+ "line": 2,
"column": 4
},
"end": {
- "line": 5,
+ "line": 2,
"column": 15
},
- "identifierName": "num"
+ "identifierName": "un"
},
- "name": "num",
+ "name": "un",
"typeAnnotation": {
"type": "TSTypeAnnotation",
- "start": 65,
- "end": 73,
+ "start": 18,
+ "end": 27,
"loc": {
"start": {
- "line": 5,
- "column": 7
+ "line": 2,
+ "column": 6
},
"end": {
- "line": 5,
+ "line": 2,
"column": 15
}
},
"typeAnnotation": {
- "type": "TSNumberKeyword",
- "start": 67,
- "end": 73,
+ "type": "TSUnknownKeyword",
+ "start": 20,
+ "end": 27,
"loc": {
"start": {
- "line": 5,
- "column": 9
+ "line": 2,
+ "column": 8
},
"end": {
- "line": 5,
+ "line": 2,
"column": 15
}
}
@@ -436,74 +193,155 @@
},
{
"type": "VariableDeclaration",
- "start": 75,
- "end": 89,
+ "start": 29,
+ "end": 44,
"loc": {
"start": {
- "line": 6,
+ "line": 3,
"column": 0
},
"end": {
- "line": 6,
+ "line": 3,
+ "column": 15
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 33,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 33,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ },
+ "identifierName": "b"
+ },
+ "name": "b",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 34,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSBooleanKeyword",
+ "start": 36,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 7
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ }
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 45,
+ "end": 59,
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
"column": 14
}
},
"declarations": [
{
"type": "VariableDeclarator",
- "start": 79,
- "end": 88,
+ "start": 49,
+ "end": 58,
"loc": {
"start": {
- "line": 6,
+ "line": 4,
"column": 4
},
"end": {
- "line": 6,
+ "line": 4,
"column": 13
}
},
"id": {
"type": "Identifier",
- "start": 79,
- "end": 88,
+ "start": 49,
+ "end": 58,
"loc": {
"start": {
- "line": 6,
+ "line": 4,
"column": 4
},
"end": {
- "line": 6,
+ "line": 4,
"column": 13
},
- "identifierName": "o"
+ "identifierName": "ne"
},
- "name": "o",
+ "name": "ne",
"typeAnnotation": {
"type": "TSTypeAnnotation",
- "start": 80,
- "end": 88,
+ "start": 51,
+ "end": 58,
"loc": {
"start": {
- "line": 6,
- "column": 5
+ "line": 4,
+ "column": 6
},
"end": {
- "line": 6,
+ "line": 4,
"column": 13
}
},
"typeAnnotation": {
- "type": "TSObjectKeyword",
- "start": 82,
- "end": 88,
+ "type": "TSNeverKeyword",
+ "start": 53,
+ "end": 58,
"loc": {
"start": {
- "line": 6,
- "column": 7
+ "line": 4,
+ "column": 8
},
"end": {
- "line": 6,
+ "line": 4,
"column": 13
}
}
@@ -517,8 +355,170 @@
},
{
"type": "VariableDeclaration",
- "start": 90,
- "end": 105,
+ "start": 60,
+ "end": 74,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 14
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 64,
+ "end": 73,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 13
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 64,
+ "end": 73,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 13
+ },
+ "identifierName": "nul"
+ },
+ "name": "nul",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 67,
+ "end": 73,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 7
+ },
+ "end": {
+ "line": 5,
+ "column": 13
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSNullKeyword",
+ "start": 69,
+ "end": 73,
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 9
+ },
+ "end": {
+ "line": 5,
+ "column": 13
+ }
+ }
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 75,
+ "end": 91,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 16
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 79,
+ "end": 90,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 4
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 79,
+ "end": 90,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 4
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ },
+ "identifierName": "num"
+ },
+ "name": "num",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 82,
+ "end": 90,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 7
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSNumberKeyword",
+ "start": 84,
+ "end": 90,
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 9
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ }
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 92,
+ "end": 106,
"loc": {
"start": {
"line": 7,
@@ -526,14 +526,14 @@
},
"end": {
"line": 7,
- "column": 15
+ "column": 14
}
},
"declarations": [
{
"type": "VariableDeclarator",
- "start": 94,
- "end": 104,
+ "start": 96,
+ "end": 105,
"loc": {
"start": {
"line": 7,
@@ -541,13 +541,13 @@
},
"end": {
"line": 7,
- "column": 14
+ "column": 13
}
},
"id": {
"type": "Identifier",
- "start": 94,
- "end": 104,
+ "start": 96,
+ "end": 105,
"loc": {
"start": {
"line": 7,
@@ -555,6 +555,87 @@
},
"end": {
"line": 7,
+ "column": 13
+ },
+ "identifierName": "o"
+ },
+ "name": "o",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 97,
+ "end": 105,
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 5
+ },
+ "end": {
+ "line": 7,
+ "column": 13
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSObjectKeyword",
+ "start": 99,
+ "end": 105,
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 7
+ },
+ "end": {
+ "line": 7,
+ "column": 13
+ }
+ }
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ },
+ {
+ "type": "VariableDeclaration",
+ "start": 107,
+ "end": 122,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 15
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 111,
+ "end": 121,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 4
+ },
+ "end": {
+ "line": 8,
+ "column": 14
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 111,
+ "end": 121,
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 4
+ },
+ "end": {
+ "line": 8,
"column": 14
},
"identifierName": "st"
@@ -562,29 +643,29 @@
"name": "st",
"typeAnnotation": {
"type": "TSTypeAnnotation",
- "start": 96,
- "end": 104,
+ "start": 113,
+ "end": 121,
"loc": {
"start": {
- "line": 7,
+ "line": 8,
"column": 6
},
"end": {
- "line": 7,
+ "line": 8,
"column": 14
}
},
"typeAnnotation": {
"type": "TSStringKeyword",
- "start": 98,
- "end": 104,
+ "start": 115,
+ "end": 121,
"loc": {
"start": {
- "line": 7,
+ "line": 8,
"column": 8
},
"end": {
- "line": 7,
+ "line": 8,
"column": 14
}
}
@@ -598,44 +679,44 @@
},
{
"type": "VariableDeclaration",
- "start": 106,
- "end": 121,
+ "start": 123,
+ "end": 138,
"loc": {
"start": {
- "line": 8,
+ "line": 9,
"column": 0
},
"end": {
- "line": 8,
+ "line": 9,
"column": 15
}
},
"declarations": [
{
"type": "VariableDeclarator",
- "start": 110,
- "end": 120,
+ "start": 127,
+ "end": 137,
"loc": {
"start": {
- "line": 8,
+ "line": 9,
"column": 4
},
"end": {
- "line": 8,
+ "line": 9,
"column": 14
}
},
"id": {
"type": "Identifier",
- "start": 110,
- "end": 120,
+ "start": 127,
+ "end": 137,
"loc": {
"start": {
- "line": 8,
+ "line": 9,
"column": 4
},
"end": {
- "line": 8,
+ "line": 9,
"column": 14
},
"identifierName": "sy"
@@ -643,29 +724,29 @@
"name": "sy",
"typeAnnotation": {
"type": "TSTypeAnnotation",
- "start": 112,
- "end": 120,
+ "start": 129,
+ "end": 137,
"loc": {
"start": {
- "line": 8,
+ "line": 9,
"column": 6
},
"end": {
- "line": 8,
+ "line": 9,
"column": 14
}
},
"typeAnnotation": {
"type": "TSSymbolKeyword",
- "start": 114,
- "end": 120,
+ "start": 131,
+ "end": 137,
"loc": {
"start": {
- "line": 8,
+ "line": 9,
"column": 8
},
"end": {
- "line": 8,
+ "line": 9,
"column": 14
}
}
@@ -679,44 +760,44 @@
},
{
"type": "VariableDeclaration",
- "start": 122,
- "end": 139,
+ "start": 139,
+ "end": 156,
"loc": {
"start": {
- "line": 9,
+ "line": 10,
"column": 0
},
"end": {
- "line": 9,
+ "line": 10,
"column": 17
}
},
"declarations": [
{
"type": "VariableDeclarator",
- "start": 126,
- "end": 138,
+ "start": 143,
+ "end": 155,
"loc": {
"start": {
- "line": 9,
+ "line": 10,
"column": 4
},
"end": {
- "line": 9,
+ "line": 10,
"column": 16
}
},
"id": {
"type": "Identifier",
- "start": 126,
- "end": 138,
+ "start": 143,
+ "end": 155,
"loc": {
"start": {
- "line": 9,
+ "line": 10,
"column": 4
},
"end": {
- "line": 9,
+ "line": 10,
"column": 16
},
"identifierName": "u"
@@ -724,29 +805,29 @@
"name": "u",
"typeAnnotation": {
"type": "TSTypeAnnotation",
- "start": 127,
- "end": 138,
+ "start": 144,
+ "end": 155,
"loc": {
"start": {
- "line": 9,
+ "line": 10,
"column": 5
},
"end": {
- "line": 9,
+ "line": 10,
"column": 16
}
},
"typeAnnotation": {
"type": "TSUndefinedKeyword",
- "start": 129,
- "end": 138,
+ "start": 146,
+ "end": 155,
"loc": {
"start": {
- "line": 9,
+ "line": 10,
"column": 7
},
"end": {
- "line": 9,
+ "line": 10,
"column": 16
}
}
@@ -760,44 +841,44 @@
},
{
"type": "VariableDeclaration",
- "start": 140,
- "end": 152,
+ "start": 157,
+ "end": 169,
"loc": {
"start": {
- "line": 10,
+ "line": 11,
"column": 0
},
"end": {
- "line": 10,
+ "line": 11,
"column": 12
}
},
"declarations": [
{
"type": "VariableDeclarator",
- "start": 144,
- "end": 151,
+ "start": 161,
+ "end": 168,
"loc": {
"start": {
- "line": 10,
+ "line": 11,
"column": 4
},
"end": {
- "line": 10,
+ "line": 11,
"column": 11
}
},
"id": {
"type": "Identifier",
- "start": 144,
- "end": 151,
+ "start": 161,
+ "end": 168,
"loc": {
"start": {
- "line": 10,
+ "line": 11,
"column": 4
},
"end": {
- "line": 10,
+ "line": 11,
"column": 11
},
"identifierName": "v"
@@ -805,29 +886,29 @@
"name": "v",
"typeAnnotation": {
"type": "TSTypeAnnotation",
- "start": 145,
- "end": 151,
+ "start": 162,
+ "end": 168,
"loc": {
"start": {
- "line": 10,
+ "line": 11,
"column": 5
},
"end": {
- "line": 10,
+ "line": 11,
"column": 11
}
},
"typeAnnotation": {
"type": "TSVoidKeyword",
- "start": 147,
- "end": 151,
+ "start": 164,
+ "end": 168,
"loc": {
"start": {
- "line": 10,
+ "line": 11,
"column": 7
},
"end": {
- "line": 10,
+ "line": 11,
"column": 11
}
}
diff --git a/packages/babel-parser/test/fixtures/typescript/types/object-shorthand/input.js b/packages/babel-parser/test/fixtures/typescript/types/object-shorthand/input.js
new file mode 100644
index 0000000000..62012de4eb
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/object-shorthand/input.js
@@ -0,0 +1,5 @@
+const table = {
+ put(value: T) {
+ // actually put.
+ }
+};
diff --git a/packages/babel-parser/test/fixtures/typescript/types/object-shorthand/output.json b/packages/babel-parser/test/fixtures/typescript/types/object-shorthand/output.json
new file mode 100644
index 0000000000..875a3e53d0
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/object-shorthand/output.json
@@ -0,0 +1,372 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 87,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 87,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 0,
+ "end": 87,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 2
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 6,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 5,
+ "column": 1
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 6,
+ "end": 11,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ },
+ "identifierName": "table"
+ },
+ "name": "table"
+ },
+ "init": {
+ "type": "ObjectExpression",
+ "start": 14,
+ "end": 86,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 5,
+ "column": 1
+ }
+ },
+ "properties": [
+ {
+ "type": "ObjectMethod",
+ "start": 18,
+ "end": 84,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 4,
+ "column": 3
+ }
+ },
+ "method": true,
+ "key": {
+ "type": "Identifier",
+ "start": 18,
+ "end": 21,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 5
+ },
+ "identifierName": "put"
+ },
+ "name": "put"
+ },
+ "computed": false,
+ "typeParameters": {
+ "type": "TSTypeParameterDeclaration",
+ "start": 21,
+ "end": 47,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 31
+ }
+ },
+ "params": [
+ {
+ "type": "TSTypeParameter",
+ "start": 22,
+ "end": 46,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 30
+ }
+ },
+ "name": "T",
+ "constraint": {
+ "type": "TSTypeLiteral",
+ "start": 32,
+ "end": 46,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 30
+ }
+ },
+ "members": [
+ {
+ "type": "TSPropertySignature",
+ "start": 34,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 18
+ },
+ "end": {
+ "line": 2,
+ "column": 28
+ }
+ },
+ "key": {
+ "type": "Identifier",
+ "start": 34,
+ "end": 36,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 18
+ },
+ "end": {
+ "line": 2,
+ "column": 20
+ },
+ "identifierName": "id"
+ },
+ "name": "id"
+ },
+ "computed": false,
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 36,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 20
+ },
+ "end": {
+ "line": 2,
+ "column": 28
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSStringKeyword",
+ "start": 38,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 22
+ },
+ "end": {
+ "line": 2,
+ "column": 28
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "kind": "method",
+ "id": null,
+ "generator": false,
+ "async": false,
+ "params": [
+ {
+ "type": "Identifier",
+ "start": 48,
+ "end": 56,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 32
+ },
+ "end": {
+ "line": 2,
+ "column": 40
+ },
+ "identifierName": "value"
+ },
+ "name": "value",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 53,
+ "end": 56,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 37
+ },
+ "end": {
+ "line": 2,
+ "column": 40
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSTypeReference",
+ "start": 55,
+ "end": 56,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 39
+ },
+ "end": {
+ "line": 2,
+ "column": 40
+ }
+ },
+ "typeName": {
+ "type": "Identifier",
+ "start": 55,
+ "end": 56,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 39
+ },
+ "end": {
+ "line": 2,
+ "column": 40
+ },
+ "identifierName": "T"
+ },
+ "name": "T"
+ }
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "start": 58,
+ "end": 84,
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 42
+ },
+ "end": {
+ "line": 4,
+ "column": 3
+ }
+ },
+ "body": [],
+ "directives": [],
+ "innerComments": [
+ {
+ "type": "CommentLine",
+ "value": " actually put.",
+ "start": 64,
+ "end": 80,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 3,
+ "column": 20
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "kind": "const"
+ }
+ ],
+ "directives": []
+ },
+ "comments": [
+ {
+ "type": "CommentLine",
+ "value": " actually put.",
+ "start": 64,
+ "end": 80,
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 3,
+ "column": 20
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple-empty/input.js b/packages/babel-parser/test/fixtures/typescript/types/tuple-empty/input.js
new file mode 100644
index 0000000000..f7cd7b5a0e
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple-empty/input.js
@@ -0,0 +1 @@
+let x: [];
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple-empty/output.json b/packages/babel-parser/test/fixtures/typescript/types/tuple-empty/output.json
new file mode 100644
index 0000000000..667ffcb301
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple-empty/output.json
@@ -0,0 +1,117 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 0,
+ "end": 10,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 4,
+ "end": 9,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 9,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ },
+ "identifierName": "x"
+ },
+ "name": "x",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 5,
+ "end": 9,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSTupleType",
+ "start": 7,
+ "end": 9,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ },
+ "elementTypes": []
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple-optional/input.js b/packages/babel-parser/test/fixtures/typescript/types/tuple-optional/input.js
new file mode 100644
index 0000000000..3b8d21ba95
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple-optional/input.js
@@ -0,0 +1 @@
+let x: [string, number?, (string | number)?]
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple-optional/output.json b/packages/babel-parser/test/fixtures/typescript/types/tuple-optional/output.json
new file mode 100644
index 0000000000..90aaa9bc8a
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple-optional/output.json
@@ -0,0 +1,240 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 0,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 4,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ },
+ "identifierName": "x"
+ },
+ "name": "x",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 5,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSTupleType",
+ "start": 7,
+ "end": 44,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "elementTypes": [
+ {
+ "type": "TSStringKeyword",
+ "start": 8,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "TSOptionalType",
+ "start": 16,
+ "end": 23,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 23
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSNumberKeyword",
+ "start": 16,
+ "end": 22,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 22
+ }
+ }
+ }
+ },
+ {
+ "type": "TSOptionalType",
+ "start": 25,
+ "end": 43,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 25
+ },
+ "end": {
+ "line": 1,
+ "column": 43
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSParenthesizedType",
+ "start": 25,
+ "end": 42,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 25
+ },
+ "end": {
+ "line": 1,
+ "column": 42
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSUnionType",
+ "start": 26,
+ "end": 41,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 26
+ },
+ "end": {
+ "line": 1,
+ "column": 41
+ }
+ },
+ "types": [
+ {
+ "type": "TSStringKeyword",
+ "start": 26,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 26
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "TSNumberKeyword",
+ "start": 35,
+ "end": 41,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 35
+ },
+ "end": {
+ "line": 1,
+ "column": 41
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ }
+ ],
+ "directives": []
+ }
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple-rest/input.js b/packages/babel-parser/test/fixtures/typescript/types/tuple-rest/input.js
new file mode 100644
index 0000000000..d7719b2cb4
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple-rest/input.js
@@ -0,0 +1 @@
+let x: [string, ...number[]]
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple-rest/output.json b/packages/babel-parser/test/fixtures/typescript/types/tuple-rest/output.json
new file mode 100644
index 0000000000..fd5b5999c5
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple-rest/output.json
@@ -0,0 +1,178 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 0,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 4,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ },
+ "identifierName": "x"
+ },
+ "name": "x",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 5,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSTupleType",
+ "start": 7,
+ "end": 28,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "elementTypes": [
+ {
+ "type": "TSStringKeyword",
+ "start": 8,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "TSRestType",
+ "start": 16,
+ "end": 27,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 27
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSArrayType",
+ "start": 19,
+ "end": 27,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 19
+ },
+ "end": {
+ "line": 1,
+ "column": 27
+ }
+ },
+ "elementType": {
+ "type": "TSNumberKeyword",
+ "start": 19,
+ "end": 25,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 19
+ },
+ "end": {
+ "line": 1,
+ "column": 25
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ }
+ ],
+ "directives": []
+ }
+}
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple/input.js b/packages/babel-parser/test/fixtures/typescript/types/tuple/input.js
new file mode 100644
index 0000000000..53c8e72ec9
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple/input.js
@@ -0,0 +1 @@
+let x: [number, number, number];
diff --git a/packages/babel-parser/test/fixtures/typescript/types/tuple/output.json b/packages/babel-parser/test/fixtures/typescript/types/tuple/output.json
new file mode 100644
index 0000000000..5b6c0e2cff
--- /dev/null
+++ b/packages/babel-parser/test/fixtures/typescript/types/tuple/output.json
@@ -0,0 +1,163 @@
+{
+ "type": "File",
+ "start": 0,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "program": {
+ "type": "Program",
+ "start": 0,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "sourceType": "module",
+ "interpreter": null,
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "start": 0,
+ "end": 32,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ },
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "start": 4,
+ "end": 31,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 31
+ }
+ },
+ "id": {
+ "type": "Identifier",
+ "start": 4,
+ "end": 31,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 31
+ },
+ "identifierName": "x"
+ },
+ "name": "x",
+ "typeAnnotation": {
+ "type": "TSTypeAnnotation",
+ "start": 5,
+ "end": 31,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 31
+ }
+ },
+ "typeAnnotation": {
+ "type": "TSTupleType",
+ "start": 7,
+ "end": 31,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 1,
+ "column": 31
+ }
+ },
+ "elementTypes": [
+ {
+ "type": "TSNumberKeyword",
+ "start": 8,
+ "end": 14,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "TSNumberKeyword",
+ "start": 16,
+ "end": 22,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 1,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "TSNumberKeyword",
+ "start": 24,
+ "end": 30,
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 24
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "init": null
+ }
+ ],
+ "kind": "let"
+ }
+ ],
+ "directives": []
+ }
+}
\ No newline at end of file
diff --git a/packages/babel-parser/test/fixtures/typescript/variable-declarator/definite-assignment-not-allowed/options.json b/packages/babel-parser/test/fixtures/typescript/variable-declarator/definite-assignment-not-allowed/options.json
index 8cb567ee77..57893e4eee 100644
--- a/packages/babel-parser/test/fixtures/typescript/variable-declarator/definite-assignment-not-allowed/options.json
+++ b/packages/babel-parser/test/fixtures/typescript/variable-declarator/definite-assignment-not-allowed/options.json
@@ -1,3 +1,3 @@
{
"throws": "Complex binding patterns require an initialization value (1:6)"
-}
\ No newline at end of file
+}
diff --git a/packages/babel-parser/test/plugin-options.js b/packages/babel-parser/test/plugin-options.js
index a2f29026b6..44e6cb26ae 100644
--- a/packages/babel-parser/test/plugin-options.js
+++ b/packages/babel-parser/test/plugin-options.js
@@ -9,19 +9,56 @@ describe("plugin options", function() {
// NOTE: This test is not specific about decorators, it can be applied
// to any plugin with options.
- const NAME = "decorators";
- const OPT_1 = [NAME, { decoratorsBeforeExport: true }];
- const OPT_2 = [NAME, { decoratorsBeforeExport: false }];
- const SYNTAX_1 = "@dec export class C {}";
- const SYNTAX_2 = "export @dec class C {}";
- const SYNTAX_DEFAULT = "export @dec class C {}";
-
it("when they aren't specified", function() {
- expect(getParser(SYNTAX_DEFAULT, [NAME, OPT_1])).not.toThrow();
- expect(getParser(SYNTAX_DEFAULT, [NAME, OPT_2])).not.toThrow();
+ const WITHOUT_FLAG = "flow";
+ const WITH_FLAG = ["flow", { all: true }];
+
+ const CODE = "new Foo(y)";
+
+ const AST_WITHOUT_FLAG = {
+ type: "BinaryExpression",
+ operator: ">",
+ left: {
+ type: "BinaryExpression",
+ operator: "<",
+ left: { type: "NewExpression" },
+ right: { type: "Identifier" },
+ },
+ right: { type: "Identifier", extra: { parenthesized: true } },
+ };
+
+ const AST_WITH_FLAG = {
+ type: "NewExpression",
+ callee: { type: "Identifier" },
+ arguments: [{ type: "Identifier" }],
+ typeArguments: {
+ type: "TypeParameterInstantiation",
+ params: [
+ { type: "GenericTypeAnnotation", id: { type: "Identifier" } },
+ ],
+ },
+ };
+
+ expect(
+ getParser(CODE, [WITHOUT_FLAG, WITH_FLAG])().program.body[0].expression,
+ ).toMatchObject(AST_WITHOUT_FLAG);
+
+ expect(
+ getParser(CODE, [WITHOUT_FLAG])().program.body[0].expression,
+ ).toMatchObject(AST_WITHOUT_FLAG);
+
+ expect(
+ getParser(CODE, [WITH_FLAG])().program.body[0].expression,
+ ).toMatchObject(AST_WITH_FLAG);
});
it("when they are specified", function() {
+ const NAME = "decorators";
+ const OPT_1 = [NAME, { decoratorsBeforeExport: true }];
+ const OPT_2 = [NAME, { decoratorsBeforeExport: false }];
+ const SYNTAX_1 = "@dec export class C {}";
+ const SYNTAX_2 = "export @dec class C {}";
+
expect(getParser(SYNTAX_1, [OPT_1, OPT_2])).not.toThrow();
expect(getParser(SYNTAX_2, [OPT_2, OPT_1])).not.toThrow();
expect(getParser(SYNTAX_1, [OPT_2, OPT_1])).toThrow();
diff --git a/packages/babel-parser/typings/babel-parser.d.ts b/packages/babel-parser/typings/babel-parser.d.ts
new file mode 100644
index 0000000000..752fc365f0
--- /dev/null
+++ b/packages/babel-parser/typings/babel-parser.d.ts
@@ -0,0 +1,109 @@
+// Type definitions for @babel/parser
+// Project: https://github.com/babel/babel/tree/master/packages/babel-parser
+// Definitions by: Troy Gerwien
+// Marvin Hagemeister
+// Avi Vahl
+// TypeScript Version: 2.9
+
+/**
+ * Parse the provided code as an entire ECMAScript program.
+ */
+export function parse(input: string, options?: ParserOptions): import('@babel/types').File;
+
+/**
+ * Parse the provided code as a single expression.
+ */
+export function parseExpression(input: string, options?: ParserOptions): import('@babel/types').Expression;
+
+export interface ParserOptions {
+ /**
+ * By default, import and export declarations can only appear at a program's top level.
+ * Setting this option to true allows them anywhere where a statement is allowed.
+ */
+ allowImportExportEverywhere?: boolean;
+
+ /**
+ * By default, await use is not allowed outside of an async function.
+ * Set this to true to accept such code.
+ */
+ allowAwaitOutsideFunction?: boolean;
+
+ /**
+ * By default, a return statement at the top level raises an error.
+ * Set this to true to accept such code.
+ */
+ allowReturnOutsideFunction?: boolean;
+
+ allowSuperOutsideMethod?: boolean;
+
+ /**
+ * Indicate the mode the code should be parsed in.
+ * Can be one of "script", "module", or "unambiguous". Defaults to "script".
+ * "unambiguous" will make @babel/parser attempt to guess, based on the presence
+ * of ES6 import or export statements.
+ * Files with ES6 imports and exports are considered "module" and are otherwise "script".
+ */
+ sourceType?: 'script' | 'module' | 'unambiguous';
+
+ /**
+ * Correlate output AST nodes with their source filename.
+ * Useful when generating code and source maps from the ASTs of multiple input files.
+ */
+ sourceFilename?: string;
+
+ /**
+ * By default, the first line of code parsed is treated as line 1.
+ * You can provide a line number to alternatively start with.
+ * Useful for integration with other source tools.
+ */
+ startLine?: number;
+
+ /**
+ * Array containing the plugins that you want to enable.
+ */
+ plugins?: ParserPlugin[];
+
+ /**
+ * Should the parser work in strict mode.
+ * Defaults to true if sourceType === 'module'. Otherwise, false.
+ */
+ strictMode?: boolean;
+
+ /**
+ * Adds a ranges property to each node: [node.start, node.end]
+ */
+ ranges?: boolean;
+
+ /**
+ * Adds all parsed tokens to a tokens property on the File node.
+ */
+ tokens?: boolean;
+}
+
+export type ParserPlugin =
+ 'estree' |
+ 'jsx' |
+ 'flow' |
+ 'flowComments' |
+ 'typescript' |
+ 'doExpressions' |
+ 'objectRestSpread' |
+ 'decorators' |
+ 'decorators-legacy' |
+ 'classProperties' |
+ 'classPrivateProperties' |
+ 'classPrivateMethods' |
+ 'exportDefaultFrom' |
+ 'exportNamespaceFrom' |
+ 'asyncGenerators' |
+ 'functionBind' |
+ 'functionSent' |
+ 'dynamicImport' |
+ 'numericSeparator' |
+ 'optionalChaining' |
+ 'importMeta' |
+ 'bigInt' |
+ 'optionalCatchBinding' |
+ 'throwExpressions' |
+ 'pipelineOperator' |
+ 'nullishCoalescingOperator';
diff --git a/packages/babel-plugin-external-helpers/package.json b/packages/babel-plugin-external-helpers/package.json
index bef5a893dc..ab266e231c 100644
--- a/packages/babel-plugin-external-helpers/package.json
+++ b/packages/babel-plugin-external-helpers/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-external-helpers",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "This plugin contains helper functions that’ll be placed at the top of the generated code",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-external-helpers",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-external-helpers/src/index.js b/packages/babel-plugin-external-helpers/src/index.js
index 219da24f9b..089986cd24 100644
--- a/packages/babel-plugin-external-helpers/src/index.js
+++ b/packages/babel-plugin-external-helpers/src/index.js
@@ -1,12 +1,46 @@
import { declare } from "@babel/helper-plugin-utils";
import { types as t } from "@babel/core";
-export default declare(api => {
+export default declare((api, options) => {
api.assertVersion(7);
+ const { helperVersion = "7.0.0-beta.0", whitelist = false } = options;
+
+ if (
+ whitelist !== false &&
+ (!Array.isArray(whitelist) || whitelist.some(w => typeof w !== "string"))
+ ) {
+ throw new Error(
+ ".whitelist must be undefined, false, or an array of strings",
+ );
+ }
+
+ const helperWhitelist = whitelist ? new Set(whitelist) : null;
+
return {
pre(file) {
- file.set("helpersNamespace", t.identifier("babelHelpers"));
+ file.set("helperGenerator", name => {
+ // If the helper didn't exist yet at the version given, we bail
+ // out and let Babel either insert it directly, or throw an error
+ // so that plugins can handle that case properly.
+ if (
+ file.availableHelper &&
+ !file.availableHelper(name, helperVersion)
+ ) {
+ return;
+ }
+
+ // babelCore.buildExternalHelpers() allows a whitelist of helpers that
+ // will be inserted into the external helpers list. That same whitelist
+ // should be passed into the plugin here in that case, so that we can
+ // avoid referencing 'babelHelpers.XX' when the helper does not exist.
+ if (helperWhitelist && !helperWhitelist.has(name)) return;
+
+ return t.memberExpression(
+ t.identifier("babelHelpers"),
+ t.identifier(name),
+ );
+ });
},
};
});
diff --git a/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/input.js b/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/input.js
new file mode 100644
index 0000000000..e7d671375f
--- /dev/null
+++ b/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/input.js
@@ -0,0 +1,3 @@
+class Foo {
+ method(){}
+}
diff --git a/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/options.json b/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/options.json
new file mode 100644
index 0000000000..9b2aa21198
--- /dev/null
+++ b/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/options.json
@@ -0,0 +1,11 @@
+{
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "whitelist": ["createClass"]
+ }
+ ],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/output.js b/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/output.js
new file mode 100644
index 0000000000..34a0d30fb1
--- /dev/null
+++ b/packages/babel-plugin-external-helpers/test/fixtures/opts/whitelist/output.js
@@ -0,0 +1,17 @@
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+let Foo =
+/*#__PURE__*/
+function () {
+ "use strict";
+
+ function Foo() {
+ _classCallCheck(this, Foo);
+ }
+
+ babelHelpers.createClass(Foo, [{
+ key: "method",
+ value: function method() {}
+ }]);
+ return Foo;
+}();
diff --git a/packages/babel-plugin-external-helpers/test/index.js b/packages/babel-plugin-external-helpers/test/index.js
new file mode 100644
index 0000000000..1b534b8fc6
--- /dev/null
+++ b/packages/babel-plugin-external-helpers/test/index.js
@@ -0,0 +1,3 @@
+import runner from "@babel/helper-plugin-test-runner";
+
+runner(__dirname);
diff --git a/packages/babel-plugin-proposal-async-generator-functions/package.json b/packages/babel-plugin-proposal-async-generator-functions/package.json
index 4dbc2746d2..a83971f738 100644
--- a/packages/babel-plugin-proposal-async-generator-functions/package.json
+++ b/packages/babel-plugin-proposal-async-generator-functions/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-proposal-async-generator-functions",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Turn async generator functions into ES2015 generators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-async-generator-functions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-remap-async-to-generator": "7.0.0-beta.52",
- "@babel/plugin-syntax-async-generators": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0",
+ "@babel/plugin-syntax-async-generators": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/options.json b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/options.json
index 5adee4863d..7812af170d 100644
--- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/options.json
+++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "external-helpers",
- "proposal-async-generator-functions"
- ]
+ "plugins": ["external-helpers", "proposal-async-generator-functions"]
}
diff --git a/packages/babel-plugin-proposal-class-properties/package.json b/packages/babel-plugin-proposal-class-properties/package.json
index 42734fef06..02d1fe8f25 100644
--- a/packages/babel-plugin-proposal-class-properties/package.json
+++ b/packages/babel-plugin-proposal-class-properties/package.json
@@ -1,26 +1,29 @@
{
"name": "@babel/plugin-proposal-class-properties",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "This plugin transforms static class properties as well as properties declared with the property initializer syntax",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-class-properties",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-function-name": "7.0.0-beta.52",
- "@babel/helper-member-expression-to-functions": "7.0.0-beta.52",
- "@babel/helper-optimise-call-expression": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-replace-supers": "7.0.0-beta.52",
- "@babel/plugin-syntax-class-properties": "7.0.0-beta.52"
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-member-expression-to-functions": "^7.0.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0",
+ "@babel/plugin-syntax-class-properties": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-class-properties/src/index.js b/packages/babel-plugin-proposal-class-properties/src/index.js
index d3c833c5e5..70a21da854 100644
--- a/packages/babel-plugin-proposal-class-properties/src/index.js
+++ b/packages/babel-plugin-proposal-class-properties/src/index.js
@@ -39,7 +39,10 @@ export default declare((api, options) => {
const classFieldDefinitionEvaluationTDZVisitor = traverse.visitors.merge([
{
ReferencedIdentifier(path) {
- if (this.classRef === path.scope.getBinding(path.node.name)) {
+ if (
+ this.classBinding &&
+ this.classBinding === path.scope.getBinding(path.node.name)
+ ) {
const classNameTDZError = this.file.addHelper("classNameTDZError");
const throwNode = t.callExpression(classNameTDZError, [
t.stringLiteral(path.node.name),
@@ -157,6 +160,33 @@ export default declare((api, options) => {
},
};
+ const staticPrivatePropertyHandlerSpec = {
+ ...privateNameHandlerSpec,
+
+ get(member) {
+ const { file, privateId, classRef } = this;
+
+ return t.callExpression(
+ file.addHelper("classStaticPrivateFieldSpecGet"),
+ [this.receiver(member), t.cloneNode(classRef), t.cloneNode(privateId)],
+ );
+ },
+
+ set(member, value) {
+ const { file, privateId, classRef } = this;
+
+ return t.callExpression(
+ file.addHelper("classStaticPrivateFieldSpecSet"),
+ [
+ this.receiver(member),
+ t.cloneNode(classRef),
+ t.cloneNode(privateId),
+ value,
+ ],
+ );
+ },
+ };
+
function buildClassPropertySpec(ref, path, state) {
const { scope } = path;
const { key, value, computed } = path.node;
@@ -201,14 +231,21 @@ export default declare((api, options) => {
// Must be late evaluated in case it references another private field.
return () =>
- template.statement`MAP.set(REF, VALUE);`({
+ template.statement`
+ MAP.set(REF, {
+ // configurable is always false for private elements
+ // enumerable is always false for private elements
+ writable: true,
+ value: VALUE
+ });
+ `({
MAP: map,
REF: ref,
VALUE: path.node.value || scope.buildUndefinedNode(),
});
}
- function buildClassPrivatePropertyLoose(ref, path, initNodes, state) {
+ function buildClassPrivatePropertyLooseHelper(ref, path, state) {
const { parentPath, scope } = path;
const { name } = path.node.key.id;
@@ -221,28 +258,69 @@ export default declare((api, options) => {
...privateNameHandlerLoose,
});
- initNodes.push(
- template.statement`var PROP = HELPER(NAME);`({
+ return {
+ keyDecl: template.statement`var PROP = HELPER(NAME);`({
PROP: prop,
HELPER: state.addHelper("classPrivateFieldLooseKey"),
NAME: t.stringLiteral(name),
}),
+ // Must be late evaluated in case it references another private field.
+ buildInit: () =>
+ template.statement.ast`
+ Object.defineProperty(${ref}, ${prop}, {
+ // configurable is false by default
+ // enumerable is false by default
+ writable: true,
+ value: ${path.node.value || scope.buildUndefinedNode()}
+ });
+ `,
+ };
+ }
+
+ function buildClassInstancePrivatePropertyLoose(ref, path, initNodes, state) {
+ const { keyDecl, buildInit } = buildClassPrivatePropertyLooseHelper(
+ ref,
+ path,
+ state,
);
- // Must be late evaluated in case it references another private field.
- return () =>
- template.statement`
- Object.defineProperty(REF, PROP, {
- // configurable is false by default
- // enumerable is false by default
- writable: true,
- value: VALUE
- });
- `({
- REF: ref,
- PROP: prop,
- VALUE: path.node.value || scope.buildUndefinedNode(),
- });
+ initNodes.push(keyDecl);
+ return buildInit;
+ }
+
+ function buildClassStaticPrivatePropertyLoose(ref, path, state) {
+ const { keyDecl, buildInit } = buildClassPrivatePropertyLooseHelper(
+ ref,
+ path,
+ state,
+ );
+
+ return [keyDecl, buildInit()];
+ }
+
+ function buildClassStaticPrivatePropertySpec(ref, path, state) {
+ const { parentPath, scope } = path;
+ const { name } = path.node.key.id;
+
+ const privateId = scope.generateUidIdentifier(name);
+ memberExpressionToFunctions(parentPath, privateNameVisitor, {
+ name,
+ privateId,
+ classRef: ref,
+ file: state,
+ ...staticPrivatePropertyHandlerSpec,
+ });
+
+ return [
+ template.statement.ast`
+ var ${privateId} = {
+ // configurable is always false for private elements
+ // enumerable is always false for private elements
+ writable: true,
+ value: ${path.node.value || scope.buildUndefinedNode()}
+ }
+ `,
+ ];
}
const buildClassProperty = loose
@@ -250,9 +328,13 @@ export default declare((api, options) => {
: buildClassPropertySpec;
const buildClassPrivateProperty = loose
- ? buildClassPrivatePropertyLoose
+ ? buildClassInstancePrivatePropertyLoose
: buildClassPrivatePropertySpec;
+ const buildClassStaticPrivateProperty = loose
+ ? buildClassStaticPrivatePropertyLoose
+ : buildClassStaticPrivatePropertySpec;
+
return {
inherits: syntaxClassProperties,
@@ -278,17 +360,11 @@ export default declare((api, options) => {
if (path.isClassPrivateProperty()) {
const {
- static: isStatic,
key: {
id: { name },
},
} = path.node;
- if (isStatic) {
- throw path.buildCodeFrameError(
- "Static class fields are not spec'ed yet.",
- );
- }
if (privateNames.has(name)) {
throw path.buildCodeFrameError("Duplicate private field");
}
@@ -305,7 +381,6 @@ export default declare((api, options) => {
if (!props.length) return;
let ref;
-
if (path.isClassExpression() || !path.node.id) {
nameFunction(path);
ref = path.scope.generateUidIdentifier("class");
@@ -320,7 +395,8 @@ export default declare((api, options) => {
for (const computedPath of computedPaths) {
computedPath.traverse(classFieldDefinitionEvaluationTDZVisitor, {
- classRef: path.scope.getBinding(ref.name),
+ classBinding:
+ path.node.id && path.scope.getBinding(path.node.id.name),
file: this.file,
});
@@ -344,7 +420,7 @@ export default declare((api, options) => {
const privateMaps = [];
const privateMapInits = [];
for (const prop of props) {
- if (prop.isPrivate()) {
+ if (prop.isPrivate() && !prop.node.static) {
const inits = [];
privateMapInits.push(inits);
@@ -353,11 +429,22 @@ export default declare((api, options) => {
);
}
}
-
let p = 0;
for (const prop of props) {
if (prop.node.static) {
- staticNodes.push(buildClassProperty(t.cloneNode(ref), prop, state));
+ if (prop.isPrivate()) {
+ staticNodes.push(
+ ...buildClassStaticPrivateProperty(
+ t.cloneNode(ref),
+ prop,
+ state,
+ ),
+ );
+ } else {
+ staticNodes.push(
+ buildClassProperty(t.cloneNode(ref), prop, state),
+ );
+ }
} else if (prop.isPrivate()) {
instanceBody.push(privateMaps[p]());
staticNodes.push(...privateMapInits[p]);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/compile-to-class/constructor-collision-ignores-types-loose/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/compile-to-class/constructor-collision-ignores-types-loose/options.json
index 9b2fcd6e21..8dcbd70928 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/compile-to-class/constructor-collision-ignores-types-loose/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/compile-to-class/constructor-collision-ignores-types-loose/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["transform-typescript", ["proposal-class-properties", {"loose": true }]]
+ "plugins": [
+ "transform-typescript",
+ ["proposal-class-properties", { "loose": true }]
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/nested-class/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/nested-class/options.json
index e0264b98ba..0326c24fae 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/nested-class/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/nested-class/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-classes"]
+ "plugins": [
+ "external-helpers",
+ "proposal-class-properties",
+ "transform-classes"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/foobar/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/foobar/options.json
index 7968f50cf1..002b4aa0d5 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/foobar/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/foobar/options.json
@@ -1,6 +1,3 @@
{
- "presets": [
- ["stage-0", { "decoratorsLegacy": true, "pipelineProposal": "minimal" }],
- "env"
- ]
+ "presets": ["env"]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/output.js
new file mode 100644
index 0000000000..33bfbfeff1
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/native-classes/output.js
@@ -0,0 +1,32 @@
+class Foo {
+ constructor() {
+ Object.defineProperty(this, _bar, {
+ writable: true,
+ value: "bar"
+ });
+ }
+
+ static test() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _foo)[_foo];
+ }
+
+ test() {
+ return babelHelpers.classPrivateFieldLooseBase(this, _bar)[_bar];
+ }
+
+}
+
+var _foo = babelHelpers.classPrivateFieldLooseKey("foo");
+
+Object.defineProperty(Foo, _foo, {
+ writable: true,
+ value: "foo"
+});
+
+var _bar = babelHelpers.classPrivateFieldLooseKey("bar");
+
+var f = new Foo();
+expect("foo" in Foo).toBe(false);
+expect("bar" in f).toBe(false);
+expect(Foo.test()).toBe("foo");
+expect(f.test()).toBe("bar");
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/output.mjs b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/output.mjs
new file mode 100644
index 0000000000..ba8c7b5fab
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/non-block-arrow-func/output.mjs
@@ -0,0 +1,16 @@
+export default (param => {
+ var _class, _temp, _props;
+
+ return _temp = _class = class App {
+ getParam() {
+ return param;
+ }
+
+ }, _props = babelHelpers.classPrivateFieldLooseKey("props"), Object.defineProperty(_class, _props, {
+ writable: true,
+ value: {
+ prop1: 'prop1',
+ prop2: 'prop2'
+ }
+ }), _temp;
+});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/options.json
index 38f1a44c55..5e00622446 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/options.json
@@ -1,3 +1,14 @@
{
- "plugins": ["external-helpers",["proposal-class-properties", { "loose": true }], "transform-classes", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/output.js
new file mode 100644
index 0000000000..2324c4ee3e
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/reevaluated/output.js
@@ -0,0 +1,49 @@
+function classFactory() {
+ var _class, _temp, _foo, _bar;
+
+ return _temp = _class = class Foo {
+ constructor() {
+ Object.defineProperty(this, _foo, {
+ writable: true,
+ value: "foo"
+ });
+ }
+
+ instance() {
+ return babelHelpers.classPrivateFieldLooseBase(this, _foo)[_foo];
+ }
+
+ static() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
+ }
+
+ static instance(inst) {
+ return babelHelpers.classPrivateFieldLooseBase(inst, _foo)[_foo];
+ }
+
+ static static() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
+ }
+
+ }, _foo = babelHelpers.classPrivateFieldLooseKey("foo"), _bar = babelHelpers.classPrivateFieldLooseKey("bar"), Object.defineProperty(_class, _bar, {
+ writable: true,
+ value: "bar"
+ }), _temp;
+}
+
+var Foo1 = classFactory();
+var Foo2 = classFactory();
+var f1 = new Foo1();
+var f2 = new Foo2();
+expect(f1.instance()).toBe("foo");
+expect(f1.static()).toBe("bar");
+expect(f2.instance()).toBe("foo");
+expect(f2.static()).toBe("bar");
+expect(Foo1.instance(f1)).toBe("foo");
+expect(Foo1.static()).toBe("bar");
+expect(Foo2.instance(f2)).toBe("foo");
+expect(Foo2.static()).toBe("bar");
+assert.throws(() => f1.instance.call(f2));
+assert.throws(() => f2.instance.call(f1));
+assert.throws(() => Foo1.instance(f2));
+assert.throws(() => Foo2.instance(f1));
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/exec.js
new file mode 100644
index 0000000000..a35aa6ade8
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/exec.js
@@ -0,0 +1,13 @@
+class Foo {
+ static #foo = function(x) {
+ return x;
+ }
+
+ test(x) {
+ return Foo.#foo(x);
+ }
+}
+
+const f = new Foo;
+const test = f.test();
+expect(f.test("bar")).toBe("bar");
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/input.js
new file mode 100644
index 0000000000..9c6e3a2872
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/input.js
@@ -0,0 +1,10 @@
+class Foo {
+ static #foo = function(x) {
+ return x;
+ }
+
+ test(x) {
+ return Foo.#foo(x);
+ }
+}
+
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/output.js
new file mode 100644
index 0000000000..e130e89295
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-call/output.js
@@ -0,0 +1,26 @@
+var Foo =
+/*#__PURE__*/
+function () {
+ "use strict";
+
+ function Foo() {
+ babelHelpers.classCallCheck(this, Foo);
+ }
+
+ babelHelpers.createClass(Foo, [{
+ key: "test",
+ value: function test(x) {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _foo)[_foo](x);
+ }
+ }]);
+ return Foo;
+}();
+
+var _foo = babelHelpers.classPrivateFieldLooseKey("foo");
+
+Object.defineProperty(Foo, _foo, {
+ writable: true,
+ value: function (x) {
+ return x;
+ }
+});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/output.mjs b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/output.mjs
new file mode 100644
index 0000000000..53baaa40d1
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-export/output.mjs
@@ -0,0 +1,16 @@
+export class MyClass {}
+
+var _property = babelHelpers.classPrivateFieldLooseKey("property");
+
+Object.defineProperty(MyClass, _property, {
+ writable: true,
+ value: value
+});
+export default class MyClass2 {}
+
+var _property2 = babelHelpers.classPrivateFieldLooseKey("property");
+
+Object.defineProperty(MyClass2, _property2, {
+ writable: true,
+ value: value
+});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/output.js
new file mode 100644
index 0000000000..1728effa52
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-infer-name/output.js
@@ -0,0 +1,6 @@
+var _class, _temp, _num;
+
+var Foo = (_temp = _class = class Foo {}, _num = babelHelpers.classPrivateFieldLooseKey("num"), Object.defineProperty(_class, _num, {
+ writable: true,
+ value: 0
+}), _temp);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/exec.js
new file mode 100644
index 0000000000..11fa8ce294
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/exec.js
@@ -0,0 +1,69 @@
+class Base {
+ static #foo = 1;
+
+ static getThis() {
+ return this.#foo;
+ }
+
+ static updateThis(val) {
+ return (this.#foo = val);
+ }
+
+ static getClass() {
+ return Base.#foo;
+ }
+
+ static updateClass(val) {
+ return (Base.#foo = val);
+ }
+}
+
+class Sub1 extends Base {
+ static #foo = 2;
+
+ static update(val) {
+ return (this.#foo = val);
+ }
+}
+
+class Sub2 extends Base {}
+
+expect(Base.getThis()).toBe(1);
+expect(Base.getClass()).toBe(1);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(1);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(1);
+
+expect(Sub1.update(3)).toBe(3);
+expect(Base.getThis()).toBe(1);
+expect(Base.getClass()).toBe(1);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(1);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(1);
+
+expect(Base.updateThis(4)).toBe(4);
+expect(Base.getThis()).toBe(4);
+expect(Base.getClass()).toBe(4);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(4);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(4);
+
+expect(Base.updateClass(5)).toBe(5);
+expect(Base.getThis()).toBe(5);
+expect(Base.getClass()).toBe(5);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(5);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(5);
+
+expect(() => Sub2.updateThis(6)).toThrow();
+expect(Sub2.updateClass(7)).toBe(7);
+expect(Base.getThis()).toBe(7);
+expect(Base.getClass()).toBe(7);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(7);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(7);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/input.js
index 66202d9f9d..d20e166098 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/input.js
@@ -6,7 +6,7 @@ class Base {
}
static updateThis(val) {
- return this.#foo = val;
+ return (this.#foo = val);
}
static getClass() {
@@ -14,7 +14,7 @@ class Base {
}
static updateClass(val) {
- return Base.#foo = val;
+ return (Base.#foo = val);
}
}
@@ -22,49 +22,8 @@ class Sub1 extends Base {
static #foo = 2;
static update(val) {
- return this.#foo = val;
+ return (this.#foo = val);
}
}
-class Sub2 extends Base {
-}
-
-expect(Base.getThis()).toBe(1);
-expect(Base.getClass()).toBe(1);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(1);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(1);
-
-expect(Sub1.update(3)).toBe(3);
-expect(Base.getThis()).toBe(1);
-expect(Base.getClass()).toBe(1);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(1);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(1);
-
-expect(Base.updateThis(4)).toBe(4);
-expect(Base.getThis()).toBe(4);
-expect(Base.getClass()).toBe(4);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(4);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(4);
-
-expect(Base.updateClass(5)).toBe(5);
-expect(Base.getThis()).toBe(5);
-expect(Base.getClass()).toBe(5);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(5);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(5);
-
-assert.throws(() => Sub2.updateThis(6));
-expect(Sub2.updateClass(7)).toBe(7);
-expect(Base.getThis()).toBe(7);
-expect(Base.getClass()).toBe(7);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(7);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(7);
+class Sub2 extends Base {}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/output.js
new file mode 100644
index 0000000000..0dbe51081f
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-inherited/output.js
@@ -0,0 +1,41 @@
+class Base {
+ static getThis() {
+ return babelHelpers.classPrivateFieldLooseBase(this, _foo)[_foo];
+ }
+
+ static updateThis(val) {
+ return babelHelpers.classPrivateFieldLooseBase(this, _foo)[_foo] = val;
+ }
+
+ static getClass() {
+ return babelHelpers.classPrivateFieldLooseBase(Base, _foo)[_foo];
+ }
+
+ static updateClass(val) {
+ return babelHelpers.classPrivateFieldLooseBase(Base, _foo)[_foo] = val;
+ }
+
+}
+
+var _foo = babelHelpers.classPrivateFieldLooseKey("foo");
+
+Object.defineProperty(Base, _foo, {
+ writable: true,
+ value: 1
+});
+
+class Sub1 extends Base {
+ static update(val) {
+ return babelHelpers.classPrivateFieldLooseBase(this, _foo2)[_foo2] = val;
+ }
+
+}
+
+var _foo2 = babelHelpers.classPrivateFieldLooseKey("foo");
+
+Object.defineProperty(Sub1, _foo2, {
+ writable: true,
+ value: 2
+});
+
+class Sub2 extends Base {}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/exec.js
new file mode 100644
index 0000000000..e607ac72e7
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/exec.js
@@ -0,0 +1,15 @@
+class Foo {
+ static #bar;
+
+ static test() {
+ return Foo.#bar;
+ }
+
+ test() {
+ return Foo.#bar;
+ }
+}
+
+expect("bar" in Foo).toBe(false);
+expect(Foo.test()).toBe(undefined);
+expect(Foo.test()).toBe(undefined);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/input.js
index d639688898..1f475fcdab 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/input.js
@@ -9,7 +9,3 @@ class Foo {
return Foo.#bar;
}
}
-
-expect("bar" in Foo).toBe(false)
-expect(Foo.test()).toBe(undefined)
-expect(Foo.test()).toBe(undefined)
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/output.js
new file mode 100644
index 0000000000..7f147ae78e
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static-undefined/output.js
@@ -0,0 +1,17 @@
+class Foo {
+ static test() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
+ }
+
+ test() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
+ }
+
+}
+
+var _bar = babelHelpers.classPrivateFieldLooseKey("bar");
+
+Object.defineProperty(Foo, _bar, {
+ writable: true,
+ value: void 0
+});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/exec.js
new file mode 100644
index 0000000000..e7ceb271af
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/exec.js
@@ -0,0 +1,15 @@
+class Foo {
+ static #bar = "foo";
+
+ static test() {
+ return Foo.#bar;
+ }
+
+ test() {
+ return Foo.#bar;
+ }
+}
+
+expect("bar" in Foo).toBe(false);
+expect(Foo.test()).toBe("foo");
+expect(Foo.test()).toBe("foo");
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/input.js
index c905fa85d5..3497e0c62c 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/input.js
@@ -9,7 +9,3 @@ class Foo {
return Foo.#bar;
}
}
-
-expect("bar" in Foo).toBe(false)
-expect(Foo.test()).toBe("foo")
-expect(Foo.test()).toBe("foo")
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/options.json
index 03872554af..a9b6f71fec 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/output.js
new file mode 100644
index 0000000000..18bcaf0c42
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private-loose/static/output.js
@@ -0,0 +1,17 @@
+class Foo {
+ static test() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
+ }
+
+ test() {
+ return babelHelpers.classPrivateFieldLooseBase(Foo, _bar)[_bar];
+ }
+
+}
+
+var _bar = babelHelpers.classPrivateFieldLooseKey("bar");
+
+Object.defineProperty(Foo, _bar, {
+ writable: true,
+ value: "foo"
+});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/assignment/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/assignment/output.js
index bf56ee4e34..09f9f0b622 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/assignment/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/assignment/output.js
@@ -6,7 +6,10 @@ function () {
function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _foo.set(this, 0);
+ _foo.set(this, {
+ writable: true,
+ value: 0
+ });
}
babelHelpers.createClass(Foo, [{
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/call/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/call/output.js
index cc609c1f73..575d880c79 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/call/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/call/output.js
@@ -6,8 +6,11 @@ function () {
function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _foo.set(this, function () {
- return this;
+ _foo.set(this, {
+ writable: true,
+ value: function () {
+ return this;
+ }
});
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/canonical/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/canonical/output.js
index 1075fa4c44..4c9d083cef 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/canonical/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/canonical/output.js
@@ -6,9 +6,15 @@ function () {
function Point(_x2 = 0, _y2 = 0) {
babelHelpers.classCallCheck(this, Point);
- _x.set(this, void 0);
+ _x.set(this, {
+ writable: true,
+ value: void 0
+ });
- _y.set(this, void 0);
+ _y.set(this, {
+ writable: true,
+ value: void 0
+ });
babelHelpers.classPrivateFieldSet(this, _x, +_x2);
babelHelpers.classPrivateFieldSet(this, _y, +_y2);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/constructor-collision/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/constructor-collision/output.js
index 2bdbd6dd6b..c77f5b8f74 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/constructor-collision/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/constructor-collision/output.js
@@ -5,7 +5,10 @@ var Foo = function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _bar.set(this, foo);
+ _bar.set(this, {
+ writable: true,
+ value: foo
+ });
var _foo = "foo";
};
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/declaration-order/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/declaration-order/output.js
index 641d0e5370..06b09aad32 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/declaration-order/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/declaration-order/output.js
@@ -4,7 +4,10 @@ var C = function C() {
babelHelpers.classCallCheck(this, C);
babelHelpers.defineProperty(this, "y", babelHelpers.classPrivateFieldGet(this, _x));
- _x.set(this, void 0);
+ _x.set(this, {
+ writable: true,
+ value: void 0
+ });
};
var _x = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived-multiple-supers/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived-multiple-supers/output.js
index 3b8c665873..9b46f9b9e4 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived-multiple-supers/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived-multiple-supers/output.js
@@ -13,11 +13,17 @@ function (_Bar) {
if (condition) {
_this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Foo).call(this));
- _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this))), "foo");
+ _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this))), {
+ writable: true,
+ value: "foo"
+ });
} else {
_this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Foo).call(this));
- _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this))), "foo");
+ _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this))), {
+ writable: true,
+ value: "foo"
+ });
}
return babelHelpers.possibleConstructorReturn(_this);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived/output.js
index 3fa6186f61..c21d6c3186 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/derived/output.js
@@ -3,7 +3,10 @@ var Foo = function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _prop.set(this, "foo");
+ _prop.set(this, {
+ writable: true,
+ value: "foo"
+ });
};
var _prop = new WeakMap();
@@ -21,7 +24,10 @@ function (_Foo) {
babelHelpers.classCallCheck(this, Bar);
_this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Bar).call(this, ...args));
- _prop2.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), "bar");
+ _prop2.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), {
+ writable: true,
+ value: "bar"
+ });
return _this;
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/extracted-this/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/extracted-this/output.js
index 1da67d41c1..6d741a859b 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/extracted-this/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/extracted-this/output.js
@@ -5,9 +5,15 @@ var Foo = function Foo(_foo) {
babelHelpers.classCallCheck(this, Foo);
- _bar.set(this, this);
+ _bar.set(this, {
+ writable: true,
+ value: this
+ });
- _baz.set(this, foo);
+ _baz.set(this, {
+ writable: true,
+ value: foo
+ });
};
var _bar = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/foobar/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/foobar/output.js
index efe70074ff..f518512133 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/foobar/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/foobar/output.js
@@ -11,8 +11,11 @@ function (_Parent) {
babelHelpers.classCallCheck(this, Child);
_this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Child).call(this));
- _scopedFunctionWithThis.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), () => {
- _this.name = {};
+ _scopedFunctionWithThis.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), {
+ writable: true,
+ value: () => {
+ _this.name = {};
+ }
});
return _this;
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance-undefined/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance-undefined/output.js
index 883eae5647..935e466d2a 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance-undefined/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance-undefined/output.js
@@ -3,7 +3,10 @@ var Foo = function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _bar.set(this, void 0);
+ _bar.set(this, {
+ writable: true,
+ value: void 0
+ });
};
var _bar = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/options.json
index da21c5605a..d19c321985 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/options.json
@@ -1,3 +1,15 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-classes", "transform-block-scoping", "syntax-class-properties", "transform-exponentiation-operator"]
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties",
+ "transform-exponentiation-operator"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/output.js
index 33c04bf680..2b1562a16e 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/instance/output.js
@@ -3,7 +3,10 @@ var Foo = function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _bar.set(this, "foo");
+ _bar.set(this, {
+ writable: true,
+ value: "foo"
+ });
};
var _bar = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/multiple/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/multiple/output.js
index 6b96ca95f7..4f2428c717 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/multiple/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/multiple/output.js
@@ -3,9 +3,15 @@ var Foo = function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _x.set(this, 0);
+ _x.set(this, {
+ writable: true,
+ value: 0
+ });
- _y.set(this, babelHelpers.classPrivateFieldGet(this, _x));
+ _y.set(this, {
+ writable: true,
+ value: babelHelpers.classPrivateFieldGet(this, _x)
+ });
};
var _x = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/exec.js
new file mode 100644
index 0000000000..e0c4dfe70b
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/exec.js
@@ -0,0 +1,18 @@
+class Foo {
+ static #foo = "foo";
+ #bar = "bar";
+
+ static test() {
+ return Foo.#foo;
+ }
+
+ test() {
+ return this.#bar;
+ }
+}
+
+const f = new Foo();
+expect("foo" in Foo).toBe(false)
+expect("bar" in f).toBe(false)
+expect(Foo.test()).toBe("foo")
+expect(f.test()).toBe("bar")
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/input.js
index e0c4dfe70b..38d9087340 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/input.js
@@ -10,9 +10,3 @@ class Foo {
return this.#bar;
}
}
-
-const f = new Foo();
-expect("foo" in Foo).toBe(false)
-expect("bar" in f).toBe(false)
-expect(Foo.test()).toBe("foo")
-expect(f.test()).toBe("bar")
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/output.js
new file mode 100644
index 0000000000..72ca92a92b
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/native-classes/output.js
@@ -0,0 +1,24 @@
+class Foo {
+ constructor() {
+ _bar.set(this, {
+ writable: true,
+ value: "bar"
+ });
+ }
+
+ static test() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _foo);
+ }
+
+ test() {
+ return babelHelpers.classPrivateFieldGet(this, _bar);
+ }
+
+}
+
+var _foo = {
+ writable: true,
+ value: "foo"
+};
+
+var _bar = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/output.mjs b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/output.mjs
new file mode 100644
index 0000000000..bc605408a7
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/non-block-arrow-func/output.mjs
@@ -0,0 +1,16 @@
+export default (param => {
+ var _class, _temp, _props;
+
+ return _temp = _class = class App {
+ getParam() {
+ return param;
+ }
+
+ }, _props = {
+ writable: true,
+ value: {
+ prop1: 'prop1',
+ prop2: 'prop2'
+ }
+ }, _temp;
+});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/options.json
index 9aefe6206b..beb3d1d5c5 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/options.json
@@ -1,3 +1,14 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-classes", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/private-in-derived/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/private-in-derived/output.js
index 8f7b2ea3ad..0ca02451bd 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/private-in-derived/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/private-in-derived/output.js
@@ -3,7 +3,10 @@ var Outer = function Outer() {
babelHelpers.classCallCheck(this, Outer);
- _outer.set(this, void 0);
+ _outer.set(this, {
+ writable: true,
+ value: void 0
+ });
var Test =
/*#__PURE__*/
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/exec.js
new file mode 100644
index 0000000000..407881827c
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/exec.js
@@ -0,0 +1,51 @@
+function classFactory() {
+ return class Foo {
+ #foo = "foo";
+ static #bar = "bar";
+
+ instance() {
+ return this.#foo;
+ }
+
+ static() {
+ return Foo.#bar;
+ }
+
+ static instance(inst) {
+ return inst.#foo;
+ }
+
+ static static() {
+ return Foo.#bar;
+ }
+ };
+}
+
+const Foo1 = classFactory();
+const Foo2 = classFactory();
+
+const f1 = new Foo1();
+const f2 = new Foo2();
+
+expect(f1.instance()).toBe("foo");
+expect(f1.static()).toBe("bar");
+expect(f2.instance()).toBe("foo");
+expect(f2.static()).toBe("bar");
+
+expect(Foo1.instance(f1)).toBe("foo");
+expect(Foo1.static()).toBe("bar");
+expect(Foo2.instance(f2)).toBe("foo");
+expect(Foo2.static()).toBe("bar");
+
+expect(() => {
+ f1.instance.call(f2), undefined;
+}).toThrow();
+expect(() => {
+ f2.instance.call(f1), undefined;
+}).toThrow();
+expect(() => {
+ Foo1.instance(f2), undefined;
+}).toThrow();
+expect(() => {
+ Foo2.instance(f1), undefined;
+}).toThrow();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/input.js
index 9e8222eb71..1adebbee27 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/input.js
@@ -18,34 +18,5 @@ function classFactory() {
static static() {
return Foo.#bar;
}
- }
+ };
}
-
-const Foo1 = classFactory();
-const Foo2 = classFactory();
-
-const f1 = new Foo1;
-const f2 = new Foo2;
-
-expect(f1.instance()).toBe("foo");
-expect(f1.static()).toBe("bar");
-expect(f2.instance()).toBe("foo");
-expect(f2.static()).toBe("bar");
-
-expect(Foo1.instance(f1)).toBe("foo");
-expect(Foo1.static()).toBe("bar");
-expect(Foo2.instance(f2)).toBe("foo");
-expect(Foo2.static()).toBe("bar");
-
-assert.throws(() => {
- f1.instance.call(f2), undefined;
-});
-assert.throws(() => {
- f2.instance.call(f1), undefined;
-});
-assert.throws(() => {
- Foo1.instance(f2), undefined;
-});
-assert.throws(() => {
- Foo2.instance(f1), undefined;
-});
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/output.js
new file mode 100644
index 0000000000..e708fd2236
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reevaluated/output.js
@@ -0,0 +1,32 @@
+function classFactory() {
+ var _class, _temp, _foo, _bar;
+
+ return _temp = _class = class Foo {
+ constructor() {
+ _foo.set(this, {
+ writable: true,
+ value: "foo"
+ });
+ }
+
+ instance() {
+ return babelHelpers.classPrivateFieldGet(this, _foo);
+ }
+
+ static() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, _class, _bar);
+ }
+
+ static instance(inst) {
+ return babelHelpers.classPrivateFieldGet(inst, _foo);
+ }
+
+ static static() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, _class, _bar);
+ }
+
+ }, _foo = new WeakMap(), _bar = {
+ writable: true,
+ value: "bar"
+ }, _temp;
+}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reference-in-other-property/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reference-in-other-property/output.js
index 890181b195..74a5672ddd 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reference-in-other-property/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/reference-in-other-property/output.js
@@ -4,13 +4,22 @@ var Foo = function Foo() {
babelHelpers.classCallCheck(this, Foo);
babelHelpers.defineProperty(this, "one", babelHelpers.classPrivateFieldGet(this, _private));
- _two.set(this, babelHelpers.classPrivateFieldGet(this, _private));
+ _two.set(this, {
+ writable: true,
+ value: babelHelpers.classPrivateFieldGet(this, _private)
+ });
- _private.set(this, 0);
+ _private.set(this, {
+ writable: true,
+ value: 0
+ });
babelHelpers.defineProperty(this, "three", babelHelpers.classPrivateFieldGet(this, _private));
- _four.set(this, babelHelpers.classPrivateFieldGet(this, _private));
+ _four.set(this, {
+ writable: true,
+ value: babelHelpers.classPrivateFieldGet(this, _private)
+ });
};
var _two = new WeakMap();
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/output.mjs b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/output.mjs
new file mode 100644
index 0000000000..e3f239e102
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T2983/output.mjs
@@ -0,0 +1,12 @@
+var _class, _temp, _test;
+
+call((_temp = _class = class {}, _test = {
+ writable: true,
+ value: true
+}, _temp));
+export default class _class2 {}
+var _test2 = {
+ writable: true,
+ value: true
+};
+;
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/output.js
new file mode 100644
index 0000000000..18507b822b
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T6719/output.js
@@ -0,0 +1,14 @@
+function withContext(ComposedComponent) {
+ var _class, _temp, _propTypes;
+
+ return _temp = _class = class WithContext extends Component {}, _propTypes = {
+ writable: true,
+ value: {
+ context: PropTypes.shape({
+ addCss: PropTypes.func,
+ setTitle: PropTypes.func,
+ setMeta: PropTypes.func
+ })
+ }
+ }, _temp;
+}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/options.json
index 70ad9aef82..1a8c5001e5 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/options.json
@@ -1,3 +1,14 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-block-scoping", "syntax-class-properties", "transform-async-to-generator"]
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties",
+ "transform-async-to-generator"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/output.mjs b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/output.mjs
index d56a5d7366..7afab86019 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/output.mjs
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/regression-T7364/output.mjs
@@ -4,11 +4,18 @@ class MyClass {
constructor() {
var _this = this;
- _myAsyncMethod.set(this,
- /*#__PURE__*/
- babelHelpers.asyncToGenerator(function* () {
- console.log(_this);
- }));
+ _myAsyncMethod.set(this, {
+ writable: true,
+ value: function () {
+ var _ref = babelHelpers.asyncToGenerator(function* () {
+ console.log(_this);
+ });
+
+ return function value() {
+ return _ref.apply(this, arguments);
+ };
+ }()
+ });
}
}
@@ -19,11 +26,18 @@ _class = class MyClass2 {
constructor() {
var _this2 = this;
- _myAsyncMethod2.set(this,
- /*#__PURE__*/
- babelHelpers.asyncToGenerator(function* () {
- console.log(_this2);
- }));
+ _myAsyncMethod2.set(this, {
+ writable: true,
+ value: function () {
+ var _ref2 = babelHelpers.asyncToGenerator(function* () {
+ console.log(_this2);
+ });
+
+ return function value() {
+ return _ref2.apply(this, arguments);
+ };
+ }()
+ });
}
};
@@ -34,11 +48,18 @@ export default class MyClass3 {
constructor() {
var _this3 = this;
- _myAsyncMethod3.set(this,
- /*#__PURE__*/
- babelHelpers.asyncToGenerator(function* () {
- console.log(_this3);
- }));
+ _myAsyncMethod3.set(this, {
+ writable: true,
+ value: function () {
+ var _ref3 = babelHelpers.asyncToGenerator(function* () {
+ console.log(_this3);
+ });
+
+ return function value() {
+ return _ref3.apply(this, arguments);
+ };
+ }()
+ });
}
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/exec.js
new file mode 100644
index 0000000000..a35aa6ade8
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/exec.js
@@ -0,0 +1,13 @@
+class Foo {
+ static #foo = function(x) {
+ return x;
+ }
+
+ test(x) {
+ return Foo.#foo(x);
+ }
+}
+
+const f = new Foo;
+const test = f.test();
+expect(f.test("bar")).toBe("bar");
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/input.js
new file mode 100644
index 0000000000..9c6e3a2872
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/input.js
@@ -0,0 +1,10 @@
+class Foo {
+ static #foo = function(x) {
+ return x;
+ }
+
+ test(x) {
+ return Foo.#foo(x);
+ }
+}
+
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/output.js
new file mode 100644
index 0000000000..615955221a
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-call/output.js
@@ -0,0 +1,24 @@
+var Foo =
+/*#__PURE__*/
+function () {
+ "use strict";
+
+ function Foo() {
+ babelHelpers.classCallCheck(this, Foo);
+ }
+
+ babelHelpers.createClass(Foo, [{
+ key: "test",
+ value: function test(x) {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _foo).call(Foo, x);
+ }
+ }]);
+ return Foo;
+}();
+
+var _foo = {
+ writable: true,
+ value: function (x) {
+ return x;
+ }
+};
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/output.mjs b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/output.mjs
new file mode 100644
index 0000000000..cc34988585
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-export/output.mjs
@@ -0,0 +1,10 @@
+export class MyClass {}
+var _property = {
+ writable: true,
+ value: value
+};
+export default class MyClass2 {}
+var _property2 = {
+ writable: true,
+ value: value
+};
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/output.js
new file mode 100644
index 0000000000..9d86499946
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-infer-name/output.js
@@ -0,0 +1,6 @@
+var _class, _temp, _num;
+
+var Foo = (_temp = _class = class Foo {}, _num = {
+ writable: true,
+ value: 0
+}, _temp);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/exec.js
new file mode 100644
index 0000000000..11fa8ce294
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/exec.js
@@ -0,0 +1,69 @@
+class Base {
+ static #foo = 1;
+
+ static getThis() {
+ return this.#foo;
+ }
+
+ static updateThis(val) {
+ return (this.#foo = val);
+ }
+
+ static getClass() {
+ return Base.#foo;
+ }
+
+ static updateClass(val) {
+ return (Base.#foo = val);
+ }
+}
+
+class Sub1 extends Base {
+ static #foo = 2;
+
+ static update(val) {
+ return (this.#foo = val);
+ }
+}
+
+class Sub2 extends Base {}
+
+expect(Base.getThis()).toBe(1);
+expect(Base.getClass()).toBe(1);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(1);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(1);
+
+expect(Sub1.update(3)).toBe(3);
+expect(Base.getThis()).toBe(1);
+expect(Base.getClass()).toBe(1);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(1);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(1);
+
+expect(Base.updateThis(4)).toBe(4);
+expect(Base.getThis()).toBe(4);
+expect(Base.getClass()).toBe(4);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(4);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(4);
+
+expect(Base.updateClass(5)).toBe(5);
+expect(Base.getThis()).toBe(5);
+expect(Base.getClass()).toBe(5);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(5);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(5);
+
+expect(() => Sub2.updateThis(6)).toThrow();
+expect(Sub2.updateClass(7)).toBe(7);
+expect(Base.getThis()).toBe(7);
+expect(Base.getClass()).toBe(7);
+expect(() => Sub1.getThis()).toThrow();
+expect(Sub1.getClass()).toBe(7);
+expect(() => Sub2.getThis()).toThrow();
+expect(Sub2.getClass()).toBe(7);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/input.js
index 66202d9f9d..d20e166098 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/input.js
@@ -6,7 +6,7 @@ class Base {
}
static updateThis(val) {
- return this.#foo = val;
+ return (this.#foo = val);
}
static getClass() {
@@ -14,7 +14,7 @@ class Base {
}
static updateClass(val) {
- return Base.#foo = val;
+ return (Base.#foo = val);
}
}
@@ -22,49 +22,8 @@ class Sub1 extends Base {
static #foo = 2;
static update(val) {
- return this.#foo = val;
+ return (this.#foo = val);
}
}
-class Sub2 extends Base {
-}
-
-expect(Base.getThis()).toBe(1);
-expect(Base.getClass()).toBe(1);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(1);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(1);
-
-expect(Sub1.update(3)).toBe(3);
-expect(Base.getThis()).toBe(1);
-expect(Base.getClass()).toBe(1);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(1);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(1);
-
-expect(Base.updateThis(4)).toBe(4);
-expect(Base.getThis()).toBe(4);
-expect(Base.getClass()).toBe(4);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(4);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(4);
-
-expect(Base.updateClass(5)).toBe(5);
-expect(Base.getThis()).toBe(5);
-expect(Base.getClass()).toBe(5);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(5);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(5);
-
-assert.throws(() => Sub2.updateThis(6));
-expect(Sub2.updateClass(7)).toBe(7);
-expect(Base.getThis()).toBe(7);
-expect(Base.getClass()).toBe(7);
-assert.throws(() => Sub1.getThis());
-expect(Sub1.getClass()).toBe(7);
-assert.throws(() => Sub2.getThis());
-expect(Sub2.getClass()).toBe(7);
+class Sub2 extends Base {}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/output.js
new file mode 100644
index 0000000000..61521c339b
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-inherited/output.js
@@ -0,0 +1,37 @@
+class Base {
+ static getThis() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(this, Base, _foo);
+ }
+
+ static updateThis(val) {
+ return babelHelpers.classStaticPrivateFieldSpecSet(this, Base, _foo, val);
+ }
+
+ static getClass() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Base, Base, _foo);
+ }
+
+ static updateClass(val) {
+ return babelHelpers.classStaticPrivateFieldSpecSet(Base, Base, _foo, val);
+ }
+
+}
+
+var _foo = {
+ writable: true,
+ value: 1
+};
+
+class Sub1 extends Base {
+ static update(val) {
+ return babelHelpers.classStaticPrivateFieldSpecSet(this, Sub1, _foo2, val);
+ }
+
+}
+
+var _foo2 = {
+ writable: true,
+ value: 2
+};
+
+class Sub2 extends Base {}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/exec.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/exec.js
new file mode 100644
index 0000000000..e607ac72e7
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/exec.js
@@ -0,0 +1,15 @@
+class Foo {
+ static #bar;
+
+ static test() {
+ return Foo.#bar;
+ }
+
+ test() {
+ return Foo.#bar;
+ }
+}
+
+expect("bar" in Foo).toBe(false);
+expect(Foo.test()).toBe(undefined);
+expect(Foo.test()).toBe(undefined);
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/input.js
index d639688898..1f475fcdab 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/input.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/input.js
@@ -9,7 +9,3 @@ class Foo {
return Foo.#bar;
}
}
-
-expect("bar" in Foo).toBe(false)
-expect(Foo.test()).toBe(undefined)
-expect(Foo.test()).toBe(undefined)
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/output.js
new file mode 100644
index 0000000000..6d9c997d15
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static-undefined/output.js
@@ -0,0 +1,15 @@
+class Foo {
+ static test() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _bar);
+ }
+
+ test() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _bar);
+ }
+
+}
+
+var _bar = {
+ writable: true,
+ value: void 0
+};
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/options.json
index 03872554af..668d1445ba 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/options.json
@@ -1,3 +1,13 @@
{
- "throws": "Static class fields are not spec'ed yet."
+ "plugins": [
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.0.2"
+ }
+ ],
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/output.js
new file mode 100644
index 0000000000..af08e35726
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/static/output.js
@@ -0,0 +1,18 @@
+class Foo {
+ static test() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _bar);
+ }
+
+ test() {
+ return babelHelpers.classStaticPrivateFieldSpecGet(Foo, Foo, _bar);
+ }
+
+}
+
+var _bar = {
+ writable: true,
+ value: "foo"
+};
+expect("bar" in Foo).toBe(false);
+expect(Foo.test()).toBe("foo");
+expect(Foo.test()).toBe("foo");
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-call/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-call/output.js
index 7afb77a02d..09e9c4b9e1 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-call/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-call/output.js
@@ -29,7 +29,10 @@ function (_A) {
babelHelpers.classCallCheck(this, B);
_this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(B).call(this, ...args));
- _foo.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), babelHelpers.get(babelHelpers.getPrototypeOf(B.prototype), "foo", babelHelpers.assertThisInitialized(_this)).call(babelHelpers.assertThisInitialized(_this)));
+ _foo.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), {
+ writable: true,
+ value: babelHelpers.get(babelHelpers.getPrototypeOf(B.prototype), "foo", babelHelpers.assertThisInitialized(_this)).call(babelHelpers.assertThisInitialized(_this))
+ });
return _this;
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-expression/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-expression/output.js
index 9884d2534a..c887562842 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-expression/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-expression/output.js
@@ -9,7 +9,10 @@ function (_Bar) {
var _temp, _this;
babelHelpers.classCallCheck(this, Foo);
- foo((_temp = _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Foo).call(this)), _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), "foo"), _temp));
+ foo((_temp = _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Foo).call(this)), _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), {
+ writable: true,
+ value: "foo"
+ }), _temp));
return _this;
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-statement/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-statement/output.js
index 4221053b3f..ecb55ffde5 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-statement/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/super-statement/output.js
@@ -11,7 +11,10 @@ function (_Bar) {
babelHelpers.classCallCheck(this, Foo);
_this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(Foo).call(this));
- _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), "foo");
+ _bar.set(babelHelpers.assertThisInitialized(babelHelpers.assertThisInitialized(_this)), {
+ writable: true,
+ value: "foo"
+ });
return _this;
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/update/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/update/output.js
index ae86f6bdba..059ef2a091 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/private/update/output.js
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/private/update/output.js
@@ -6,7 +6,10 @@ function () {
function Foo() {
babelHelpers.classCallCheck(this, Foo);
- _foo.set(this, 0);
+ _foo.set(this, {
+ writable: true,
+ value: 0
+ });
}
babelHelpers.createClass(Foo, [{
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-static-this-without-transform/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-static-this-without-transform/options.json
index f2532d47d9..49c2c86404 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-static-this-without-transform/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-static-this-without-transform/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-arrow-functions", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ "transform-arrow-functions",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-this-without-transform/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-this-without-transform/options.json
index 83a71b9161..451abead87 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-this-without-transform/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/arrow-this-without-transform/options.json
@@ -1,4 +1,8 @@
{
- "plugins": ["external-helpers", "transform-arrow-functions", "syntax-class-properties"],
+ "plugins": [
+ "external-helpers",
+ "transform-arrow-functions",
+ "syntax-class-properties"
+ ],
"throws": "Unable to transform arrow inside class property"
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/foobar/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/foobar/options.json
index 4472ee6e57..f43ead744a 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/foobar/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/foobar/options.json
@@ -1,7 +1,7 @@
{
- "plugins": ["external-helpers", ["proposal-class-properties", {"loose": true}]],
- "presets": [
- ["stage-0", { "decoratorsLegacy": true, "pipelineProposal": "minimal" }],
- "env"
- ]
+ "plugins": [
+ "external-helpers",
+ ["proposal-class-properties", { "loose": true }]
+ ],
+ "presets": ["env"]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/options.json
index de267e5044..524cdc3142 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", ["proposal-class-properties", {"loose": true}], "transform-classes", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ ["proposal-class-properties", { "loose": true }],
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/regression-T7364/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/regression-T7364/options.json
index baedce5591..e53ef86354 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/regression-T7364/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public-loose/regression-T7364/options.json
@@ -2,6 +2,6 @@
"plugins": [
"external-helpers",
"transform-async-to-generator",
- ["proposal-class-properties", {"loose": true}]
+ ["proposal-class-properties", { "loose": true }]
]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-static-this-without-transform/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-static-this-without-transform/options.json
index f2532d47d9..49c2c86404 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-static-this-without-transform/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-static-this-without-transform/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-arrow-functions", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ "transform-arrow-functions",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-this-without-transform/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-this-without-transform/options.json
index 83a71b9161..451abead87 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-this-without-transform/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/arrow-this-without-transform/options.json
@@ -1,4 +1,8 @@
{
- "plugins": ["external-helpers", "transform-arrow-functions", "syntax-class-properties"],
+ "plugins": [
+ "external-helpers",
+ "transform-arrow-functions",
+ "syntax-class-properties"
+ ],
"throws": "Unable to transform arrow inside class property"
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/foobar/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/foobar/options.json
index 195ad04836..5d764ec745 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/foobar/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/foobar/options.json
@@ -1,7 +1,4 @@
{
"plugins": ["external-helpers", "proposal-class-properties"],
- "presets": [
- ["stage-0", { "decoratorsLegacy": true, "pipelineProposal": "minimal" }],
- "env"
- ]
+ "presets": ["env"]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/native-classes/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/native-classes/options.json
index c19c65ddf9..89a37faa03 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/native-classes/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/native-classes/options.json
@@ -1,4 +1,9 @@
{
"minNodeVersion": "6.0.0",
- "plugins": ["external-helpers", "proposal-class-properties", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ "proposal-class-properties",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/options.json
index 9aefe6206b..d19c255940 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-classes", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ "proposal-class-properties",
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6153/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6153/options.json
index 77632408b3..0f5988fe52 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6153/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6153/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-arrow-functions"]
+ "plugins": [
+ "external-helpers",
+ "proposal-class-properties",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6154/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6154/options.json
index 934c425065..f79fa70719 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6154/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/6154/options.json
@@ -1,6 +1,4 @@
{
- "presets": [
- "env",
- ["stage-2", { "decoratorsLegacy": true }]
- ]
+ "presets": ["env"],
+ "plugins": ["proposal-class-properties"]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/7371/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/7371/options.json
index 77632408b3..0f5988fe52 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/7371/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/7371/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "proposal-class-properties", "transform-arrow-functions"]
+ "plugins": [
+ "external-helpers",
+ "proposal-class-properties",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T2983/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T2983/options.json
index 56e1d64791..524cdc3142 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T2983/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T2983/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", ["proposal-class-properties", {"loose": true}], "transform-classes", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ ["proposal-class-properties", { "loose": true }],
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T6719/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T6719/options.json
index 56e1d64791..524cdc3142 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T6719/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T6719/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", ["proposal-class-properties", {"loose": true}], "transform-classes", "transform-block-scoping", "syntax-class-properties"]
+ "plugins": [
+ "external-helpers",
+ ["proposal-class-properties", { "loose": true }],
+ "transform-classes",
+ "transform-block-scoping",
+ "syntax-class-properties"
+ ]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/options.json
index baedce5591..e53ef86354 100644
--- a/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/options.json
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/regression/T7364/options.json
@@ -2,6 +2,6 @@
"plugins": [
"external-helpers",
"transform-async-to-generator",
- ["proposal-class-properties", {"loose": true}]
+ ["proposal-class-properties", { "loose": true }]
]
}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/input.js
new file mode 100644
index 0000000000..200ded9025
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/input.js
@@ -0,0 +1,7 @@
+function dec() {}
+
+class A {
+ @dec a;
+
+ [Symbol.search]() {}
+}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/options.json
new file mode 100644
index 0000000000..8c83198953
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/options.json
@@ -0,0 +1,7 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "legacy": true }],
+ ["proposal-class-properties", { "loose": true }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/output.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/output.js
new file mode 100644
index 0000000000..70334680ce
--- /dev/null
+++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/static-property-tdz/decorator-interop/output.js
@@ -0,0 +1,39 @@
+var _class, _descriptor, _class2, _Symbol$search, _temp;
+
+function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
+
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+
+function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object['ke' + 'ys'](descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object['define' + 'Property'](target, property, desc); desc = null; } return desc; }
+
+function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.'); }
+
+function dec() {}
+
+let A = (_class = (_temp = (_Symbol$search = Symbol.search, _class2 =
+/*#__PURE__*/
+function () {
+ "use strict";
+
+ function A() {
+ _classCallCheck(this, A);
+
+ _initializerDefineProperty(this, "a", _descriptor, this);
+ }
+
+ _createClass(A, [{
+ key: _Symbol$search,
+ value: function () {}
+ }]);
+
+ return A;
+}()), _temp), (_descriptor = _applyDecoratedDescriptor(_class.prototype, "a", [dec], {
+ configurable: true,
+ enumerable: true,
+ writable: true,
+ initializer: null
+})), _class);
diff --git a/packages/babel-plugin-proposal-decorators/package.json b/packages/babel-plugin-proposal-decorators/package.json
index 99e28fa320..acd14f3473 100644
--- a/packages/babel-plugin-proposal-decorators/package.json
+++ b/packages/babel-plugin-proposal-decorators/package.json
@@ -1,8 +1,11 @@
{
"name": "@babel/plugin-proposal-decorators",
- "version": "7.0.0-beta.52",
+ "version": "7.1.2",
"author": "Logan Smyth ",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"description": "Compile class and object decorators to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-decorators",
"main": "lib/index.js",
@@ -12,14 +15,16 @@
"decorators"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-decorators": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/plugin-syntax-decorators": "^7.1.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-decorators/src/index.js b/packages/babel-plugin-proposal-decorators/src/index.js
index 3c242ec4a0..5467f115eb 100644
--- a/packages/babel-plugin-proposal-decorators/src/index.js
+++ b/packages/babel-plugin-proposal-decorators/src/index.js
@@ -6,20 +6,21 @@ import legacyVisitor from "./transformer-legacy";
export default declare((api, options) => {
api.assertVersion(7);
- const { legacy = false, decoratorsBeforeExport } = options;
+ const { legacy = false } = options;
if (typeof legacy !== "boolean") {
throw new Error("'legacy' must be a boolean.");
}
- if (legacy !== true) {
- throw new Error(
- "The new decorators proposal is not supported yet." +
- ' You must pass the `"legacy": true` option to' +
- " @babel/plugin-proposal-decorators",
- );
- }
-
- if (decoratorsBeforeExport !== undefined) {
+ const { decoratorsBeforeExport } = options;
+ if (decoratorsBeforeExport === undefined) {
+ if (!legacy) {
+ throw new Error(
+ "The decorators plugin requires a 'decoratorsBeforeExport' option," +
+ " whose value must be a boolean. If you want to use the legacy" +
+ " decorators semantics, you can set the 'legacy: true' option.",
+ );
+ }
+ } else {
if (legacy) {
throw new Error(
"'decoratorsBeforeExport' can't be used with legacy decorators.",
diff --git a/packages/babel-plugin-proposal-decorators/src/transformer-legacy.js b/packages/babel-plugin-proposal-decorators/src/transformer-legacy.js
index 6c01069b1a..0eb0ebdbd8 100644
--- a/packages/babel-plugin-proposal-decorators/src/transformer-legacy.js
+++ b/packages/babel-plugin-proposal-decorators/src/transformer-legacy.js
@@ -168,10 +168,18 @@ function applyTargetDecorators(path, state, decoratedProps) {
decorators.map(dec => t.cloneNode(dec.expression)),
),
t.objectExpression([
+ t.objectProperty(
+ t.identifier("configurable"),
+ t.booleanLiteral(true),
+ ),
t.objectProperty(
t.identifier("enumerable"),
t.booleanLiteral(true),
),
+ t.objectProperty(
+ t.identifier("writable"),
+ t.booleanLiteral(true),
+ ),
t.objectProperty(t.identifier("initializer"), initializer),
]),
]),
diff --git a/packages/babel-plugin-proposal-decorators/src/transformer.js b/packages/babel-plugin-proposal-decorators/src/transformer.js
index 8dab9cadab..22a493183a 100644
--- a/packages/babel-plugin-proposal-decorators/src/transformer.js
+++ b/packages/babel-plugin-proposal-decorators/src/transformer.js
@@ -1,3 +1,235 @@
-// Not implemented yet
+import { types as t, template } from "@babel/core";
+import splitExportDeclaration from "@babel/helper-split-export-declaration";
+import ReplaceSupers from "@babel/helper-replace-supers";
-export default {};
+function prop(key, value) {
+ if (!value) return null;
+ return t.objectProperty(t.identifier(key), value);
+}
+
+function value(body, params = [], async, generator) {
+ const method = t.objectMethod("method", t.identifier("value"), params, body);
+ method.async = !!async;
+ method.generator = !!generator;
+ return method;
+}
+
+function hasDecorators({ node }) {
+ if (node.decorators && node.decorators.length > 0) return true;
+
+ const body = node.body.body;
+ for (let i = 0; i < body.length; i++) {
+ const method = body[i];
+ if (method.decorators && method.decorators.length > 0) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+function takeDecorators({ node }) {
+ let result;
+ if (node.decorators && node.decorators.length > 0) {
+ result = t.arrayExpression(
+ node.decorators.map(decorator => decorator.expression),
+ );
+ }
+ node.decorators = undefined;
+ return result;
+}
+
+function getKey(node) {
+ if (node.computed) {
+ return node.key;
+ } else if (t.isIdentifier(node.key)) {
+ return t.stringLiteral(node.key.name);
+ } else {
+ return t.stringLiteral(String(node.key.value));
+ }
+}
+
+function getSingleElementDefinition(path, superRef, classRef, file) {
+ const { node, scope } = path;
+ const isMethod = path.isClassMethod();
+
+ if (path.isPrivate()) {
+ throw path.buildCodeFrameError(
+ `Private ${
+ isMethod ? "methods" : "fields"
+ } in decorated classes are not supported yet.`,
+ );
+ }
+
+ new ReplaceSupers(
+ {
+ methodPath: path,
+ methodNode: node,
+ objectRef: classRef,
+ isStatic: node.static,
+ superRef,
+ scope,
+ file,
+ },
+ true,
+ ).replace();
+
+ const properties = [
+ prop("kind", t.stringLiteral(isMethod ? node.kind : "field")),
+ prop("decorators", takeDecorators(path)),
+ prop("static", node.static && t.booleanLiteral(true)),
+ prop("key", getKey(node)),
+ isMethod
+ ? value(node.body, node.params, node.async, node.generator)
+ : node.value
+ ? value(template.ast`{ return ${node.value} }`)
+ : prop("value", scope.buildUndefinedNode()),
+ ].filter(Boolean);
+
+ return t.objectExpression(properties);
+}
+
+function getElementsDefinitions(path, fId, file) {
+ const elements = [];
+ for (const p of path.get("body.body")) {
+ if (!p.isClassMethod({ kind: "constructor" })) {
+ elements.push(
+ getSingleElementDefinition(p, path.node.superClass, fId, file),
+ );
+ p.remove();
+ }
+ }
+
+ return t.arrayExpression(elements);
+}
+
+function getConstructorPath(path) {
+ return path
+ .get("body.body")
+ .find(path => path.isClassMethod({ kind: "constructor" }));
+}
+
+const bareSupersVisitor = {
+ CallExpression(path, { initializeInstanceElements }) {
+ if (path.get("callee").isSuper()) {
+ path.insertAfter(t.cloneNode(initializeInstanceElements));
+ }
+ },
+ Function(path) {
+ if (!path.isArrowFunctionExpression()) path.skip();
+ },
+};
+
+function insertInitializeInstanceElements(path, initializeInstanceId) {
+ const isBase = !path.node.superClass;
+ const initializeInstanceElements = t.callExpression(initializeInstanceId, [
+ t.thisExpression(),
+ ]);
+
+ const constructorPath = getConstructorPath(path);
+ if (constructorPath) {
+ if (isBase) {
+ constructorPath
+ .get("body")
+ .unshiftContainer("body", [
+ t.expressionStatement(initializeInstanceElements),
+ ]);
+ } else {
+ constructorPath.traverse(bareSupersVisitor, {
+ initializeInstanceElements,
+ });
+ }
+ } else {
+ const constructor = isBase
+ ? t.classMethod(
+ "constructor",
+ t.identifier("constructor"),
+ [],
+ t.blockStatement([t.expressionStatement(initializeInstanceElements)]),
+ )
+ : t.classMethod(
+ "constructor",
+ t.identifier("constructor"),
+ [t.restElement(t.identifier("args"))],
+ t.blockStatement([
+ t.expressionStatement(
+ t.callExpression(t.Super(), [
+ t.spreadElement(t.identifier("args")),
+ ]),
+ ),
+ t.expressionStatement(initializeInstanceElements),
+ ]),
+ );
+ path.node.body.body.push(constructor);
+ }
+}
+
+function transformClass(path, file) {
+ const isDeclaration = path.node.id && path.isDeclaration();
+ const isStrict = path.isInStrictMode();
+ const { superClass } = path.node;
+
+ path.node.type = "ClassDeclaration";
+ if (!path.node.id) path.node.id = path.scope.generateUidIdentifier("class");
+
+ const initializeId = path.scope.generateUidIdentifier("initialize");
+ const superId =
+ superClass &&
+ path.scope.generateUidIdentifierBasedOnNode(path.node.superClass, "super");
+
+ if (superClass) path.node.superClass = superId;
+
+ const classDecorators = takeDecorators(path);
+ const definitions = getElementsDefinitions(path, path.node.id, file);
+
+ insertInitializeInstanceElements(path, initializeId);
+
+ const expr = template.expression.ast`
+ ${addDecorateHelper(file)}(
+ ${classDecorators || t.nullLiteral()},
+ function (${initializeId}, ${superClass ? superId : null}) {
+ ${path.node}
+ return { F: ${t.cloneNode(path.node.id)}, d: ${definitions} };
+ },
+ ${superClass}
+ )
+ `;
+ if (!isStrict) {
+ expr.arguments[1].body.directives.push(
+ t.directive(t.directiveLiteral("use strict")),
+ );
+ }
+
+ return isDeclaration ? template.ast`let ${path.node.id} = ${expr}` : expr;
+}
+
+function addDecorateHelper(file) {
+ try {
+ return file.addHelper("decorate");
+ } catch (err) {
+ if (err.code === "BABEL_HELPER_UNKNOWN") {
+ err.message +=
+ "\n '@babel/plugin-transform-decorators' in non-legacy mode" +
+ " requires '@babel/core' version ^7.0.2 and you appear to be using" +
+ " an older version.";
+ }
+ throw err;
+ }
+}
+
+export default {
+ ExportDefaultDeclaration(path) {
+ let decl = path.get("declaration");
+ if (!decl.isClassDeclaration() || !hasDecorators(decl)) return;
+
+ if (decl.node.id) decl = splitExportDeclaration(path);
+
+ decl.replaceWith(transformClass(decl, this.file));
+ },
+
+ Class(path) {
+ if (hasDecorators(path)) {
+ path.replaceWith(transformClass(path, this.file));
+ }
+ },
+};
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/coalesce-get-set/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/coalesce-get-set/exec.js
new file mode 100644
index 0000000000..ff096295c5
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/coalesce-get-set/exec.js
@@ -0,0 +1,22 @@
+var el, el1;
+
+@(_ => el = _)
+class A {
+ @(_ => el1 = _)
+ get foo() { return 1; }
+
+ set foo(x) { return 2; }
+}
+
+expect(el.elements).toHaveLength(1);
+
+expect(el1).toEqual(expect.objectContaining({
+ descriptor: expect.objectContaining({
+ get: expect.any(Function),
+ set: expect.any(Function)
+ })
+}));
+
+var desc = Object.getOwnPropertyDescriptor(A.prototype, "foo");
+expect(desc.get()).toBe(1);
+expect(desc.set()).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/exec.js
new file mode 100644
index 0000000000..3a314e78ca
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/exec.js
@@ -0,0 +1,28 @@
+var i = 0;
+
+function getKey() {
+ return (i++).toString();
+}
+
+var desc;
+
+@(_ => desc = _)
+class Foo {
+ [getKey()]() {
+ return 1;
+ }
+
+ [getKey()]() {
+ return 2;
+ }
+}
+
+expect(desc.elements).toHaveLength(2);
+
+expect(desc.elements[0].key).toBe("0");
+expect(desc.elements[0].descriptor.value()).toBe(1);
+
+expect(desc.elements[1].key).toBe("1");
+expect(desc.elements[1].descriptor.value()).toBe(2);
+
+expect(i).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/input.js
new file mode 100644
index 0000000000..af96205034
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/input.js
@@ -0,0 +1,10 @@
+@(_ => desc = _)
+class Foo {
+ [getKey()]() {
+ return 1;
+ }
+
+ [getKey()]() {
+ return 2;
+ }
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/output.js
new file mode 100644
index 0000000000..a08d2e1db8
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-ast/output.js
@@ -0,0 +1,31 @@
+let Foo = babelHelpers.decorate([_ => desc = _], function (_initialize) {
+ "use strict";
+
+ class Foo {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: Foo,
+ d: [{
+ kind: "method",
+ key: getKey(),
+
+ value() {
+ return 1;
+ }
+
+ }, {
+ kind: "method",
+ key: getKey(),
+
+ value() {
+ return 2;
+ }
+
+ }]
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/exec.js
new file mode 100644
index 0000000000..48a03a2eb8
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/exec.js
@@ -0,0 +1,30 @@
+var i = 0;
+var j = 0;
+
+function getKeyI() {
+ return (i++).toString();
+}
+function getKeyJ() {
+ return (j++).toString();
+}
+
+var desc;
+
+@(_ => desc = _)
+class Foo {
+ [getKeyI()]() {
+ return 1;
+ }
+
+ [getKeyJ()]() {
+ return 2;
+ }
+}
+
+expect(desc.elements).toHaveLength(1);
+
+expect(desc.elements[0].key).toBe("0");
+expect(desc.elements[0].descriptor.value()).toBe(2);
+
+expect(i).toBe(1);
+expect(j).toBe(1);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/input.js
new file mode 100644
index 0000000000..8ce01d7f50
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/input.js
@@ -0,0 +1,10 @@
+@(_ => desc = _)
+class Foo {
+ [getKeyI()]() {
+ return 1;
+ }
+
+ [getKeyJ()]() {
+ return 2;
+ }
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/output.js
new file mode 100644
index 0000000000..bffa9e17a1
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/computed-keys-same-value/output.js
@@ -0,0 +1,31 @@
+let Foo = babelHelpers.decorate([_ => desc = _], function (_initialize) {
+ "use strict";
+
+ class Foo {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: Foo,
+ d: [{
+ kind: "method",
+ key: getKeyI(),
+
+ value() {
+ return 1;
+ }
+
+ }, {
+ kind: "method",
+ key: getKeyJ(),
+
+ value() {
+ return 2;
+ }
+
+ }]
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-from-class-decorator/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-from-class-decorator/exec.js
new file mode 100644
index 0000000000..878af82f5a
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-from-class-decorator/exec.js
@@ -0,0 +1,21 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+expect(() => {
+ @pushElement({
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ }
+ })
+ class A {
+ foo() {}
+ }
+}).toThrow(TypeError);
+
+
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-from-method-decorator/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-from-method-decorator/exec.js
new file mode 100644
index 0000000000..49ccffb251
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-from-method-decorator/exec.js
@@ -0,0 +1,23 @@
+function decorate() {
+ return {
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ }
+ };
+}
+
+expect(() => {
+ class A {
+ @decorate
+ bar() {}
+
+ foo() {}
+ }
+}).toThrow(TypeError);
+
+
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-with-extras/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-with-extras/exec.js
new file mode 100644
index 0000000000..683f9876e4
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/create-existing-element-with-extras/exec.js
@@ -0,0 +1,25 @@
+function decorate(el) {
+ el.extras = [{
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ }
+ }];
+
+ return el;
+}
+
+expect(() => {
+ class A {
+ @decorate
+ bar() {}
+
+ foo() {}
+ }
+}).toThrow(TypeError);
+
+
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/extras-duplicated/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/extras-duplicated/exec.js
new file mode 100644
index 0000000000..84ba83f7d2
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/extras-duplicated/exec.js
@@ -0,0 +1,32 @@
+function decorate(el) {
+ el.extras = [{
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ }
+ }, {
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ }
+ }];
+
+ return el;
+}
+
+expect(() => {
+ class A {
+ @decorate
+ method() {}
+ }
+}).toThrow(TypeError);
+
+
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/extras-same-as-return/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/extras-same-as-return/exec.js
new file mode 100644
index 0000000000..9254ae4e7e
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/extras-same-as-return/exec.js
@@ -0,0 +1,31 @@
+function decorate(el) {
+ return {
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ },
+ extras: [{
+ kind: "method",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: function() {},
+ }
+ }]
+ };
+}
+
+expect(() => {
+ class A {
+ @decorate
+ method() {}
+ }
+}).toThrow(TypeError);
+
+
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/get-set-both-decorated/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/get-set-both-decorated/exec.js
new file mode 100644
index 0000000000..6fbc663f5a
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/get-set-both-decorated/exec.js
@@ -0,0 +1,11 @@
+function dec(el) { return el }
+
+expect(() => {
+ class A {
+ @dec
+ get foo() {}
+
+ @dec
+ set foo(x) {}
+ }
+}).toThrow(ReferenceError);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/moved-and-created/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/moved-and-created/exec.js
new file mode 100644
index 0000000000..af42307cbc
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/moved-and-created/exec.js
@@ -0,0 +1,33 @@
+var value1, value2 = {};
+
+function makeStatic(el) {
+ el.placement = "static";
+ return el;
+}
+
+function defineBar(el) {
+ el.extras = [{
+ key: "bar",
+ kind: "method",
+ placement: "prototype",
+ descriptor: {
+ value: value2,
+ },
+ }];
+ return el;
+}
+
+function storeValue(el) {
+ value1 = el.descriptor.value;
+ return el;
+}
+
+class Foo {
+ @defineBar
+ @makeStatic
+ @storeValue
+ bar() {}
+}
+
+expect(Foo.bar).toBe(value1);
+expect(Foo.prototype.bar).toBe(value2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/options.json
new file mode 100644
index 0000000000..0fbe73eecd
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-both-decorated/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-both-decorated/exec.js
new file mode 100644
index 0000000000..c9593b343a
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-both-decorated/exec.js
@@ -0,0 +1,13 @@
+expect(() => {
+ class A {
+ @(el => el)
+ method() {
+ return 1;
+ }
+
+ @(el => el)
+ method() {
+ return 2;
+ }
+ }
+}).toThrow(ReferenceError);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-first-decorated/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-first-decorated/exec.js
new file mode 100644
index 0000000000..9ae41d96fa
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-first-decorated/exec.js
@@ -0,0 +1,12 @@
+expect(() => {
+ class A {
+ method() {
+ return 1;
+ }
+
+ @(el => el)
+ method() {
+ return 2;
+ }
+ }
+}).toThrow(ReferenceError);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-no-decorators/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-no-decorators/exec.js
new file mode 100644
index 0000000000..4cf8763819
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-no-decorators/exec.js
@@ -0,0 +1,16 @@
+var el;
+
+@(_ => el = _)
+class A {
+ method() {
+ return 1;
+ }
+
+ method() {
+ return 2;
+ }
+}
+
+expect(el.elements).toHaveLength(1);
+
+expect(A.prototype.method()).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-second-decorated/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-second-decorated/exec.js
new file mode 100644
index 0000000000..bf38611a23
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-overwritten-second-decorated/exec.js
@@ -0,0 +1,12 @@
+expect(() => {
+ class A {
+ @(el => el)
+ method() {
+ return 1;
+ }
+
+ method() {
+ return 2;
+ }
+ }
+}).toThrow(ReferenceError);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-prototype-and-static/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-prototype-and-static/exec.js
new file mode 100644
index 0000000000..bf72a77ae3
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/duplicated-keys/original-method-prototype-and-static/exec.js
@@ -0,0 +1,17 @@
+var el;
+
+@(_ => el = _)
+class A {
+ method() {
+ return 1;
+ }
+
+ static method() {
+ return 2;
+ }
+}
+
+expect(el.elements).toHaveLength(2);
+
+expect(A.prototype.method()).toBe(1);
+expect(A.method()).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-own-field/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-own-field/exec.js
new file mode 100644
index 0000000000..d91d2d9973
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-own-field/exec.js
@@ -0,0 +1,30 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+var value = {};
+
+@pushElement({
+ kind: "field",
+ placement: "own",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ },
+ initializer() {
+ return value;
+ }
+})
+class A {}
+
+expect(A).not.toHaveProperty("foo");
+expect(A.prototype).not.toHaveProperty("foo");
+
+expect(Object.getOwnPropertyDescriptor(new A(), "foo")).toEqual({
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value,
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-own-method/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-own-method/exec.js
new file mode 100644
index 0000000000..8c562448cc
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-own-method/exec.js
@@ -0,0 +1,28 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+function method() {}
+
+@pushElement({
+ kind: "method",
+ placement: "own",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: method,
+ }
+})
+class A {}
+
+expect(A).not.toHaveProperty("foo");
+expect(A.prototype).not.toHaveProperty("foo");
+
+expect(Object.getOwnPropertyDescriptor(new A(), "foo")).toEqual({
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: method,
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-prototype-field/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-prototype-field/exec.js
new file mode 100644
index 0000000000..fdb65df542
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-prototype-field/exec.js
@@ -0,0 +1,29 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+var value = {};
+
+@pushElement({
+ kind: "field",
+ placement: "prototype",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ },
+ initializer() {
+ return value;
+ }
+})
+class A {}
+
+expect(A).not.toHaveProperty("foo");
+
+expect(Object.getOwnPropertyDescriptor(A.prototype, "foo")).toEqual({
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value,
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-prototype-method/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-prototype-method/exec.js
new file mode 100644
index 0000000000..3346f4d3f2
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-prototype-method/exec.js
@@ -0,0 +1,27 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+function method() {}
+
+@pushElement({
+ kind: "method",
+ placement: "prototype",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: method,
+ }
+})
+class A {}
+
+expect(A).not.toHaveProperty("foo");
+
+expect(Object.getOwnPropertyDescriptor(A.prototype, "foo")).toEqual({
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: method,
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-static-field/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-static-field/exec.js
new file mode 100644
index 0000000000..efebd91796
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-static-field/exec.js
@@ -0,0 +1,30 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+var value = {};
+
+@pushElement({
+ kind: "field",
+ placement: "static",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ },
+ initializer() {
+ return value;
+ }
+})
+class A {}
+
+expect(A.prototype).not.toHaveProperty("foo");
+expect(new A()).not.toHaveProperty("foo");
+
+expect(Object.getOwnPropertyDescriptor(A, "foo")).toEqual({
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value,
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-static-method/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-static-method/exec.js
new file mode 100644
index 0000000000..2919a1c824
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/created-static-method/exec.js
@@ -0,0 +1,28 @@
+function pushElement(e) {
+ return function (c) { c.elements.push(e); return c };
+}
+
+function method() {}
+
+@pushElement({
+ kind: "method",
+ placement: "static",
+ key: "foo",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: method,
+ }
+})
+class A {}
+
+expect(A.prototype).not.toHaveProperty("foo");
+expect(new A()).not.toHaveProperty("foo");
+
+expect(Object.getOwnPropertyDescriptor(A, "foo")).toEqual({
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: method,
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/default/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/default/exec.js
new file mode 100644
index 0000000000..8c5c80a518
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/default/exec.js
@@ -0,0 +1,14 @@
+function decorate(el) {
+ el.descriptor.value = 2;
+}
+
+var Foo;
+
+expect(() => {
+ Foo = @(() => void 0) class Foo {
+ @decorate
+ bar() {}
+ }
+}).not.toThrow();
+
+expect(Foo.prototype.bar).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-class/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-class/exec.js
new file mode 100644
index 0000000000..72803f2356
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-class/exec.js
@@ -0,0 +1,8 @@
+var dec1, dec2;
+
+@(_ => dec1 = _)
+@(_ => dec2 = _)
+class A {}
+
+expect(dec1).toEqual(dec2);
+expect(dec1).not.toBe(dec2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-field/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-field/exec.js
new file mode 100644
index 0000000000..827d1864ea
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-field/exec.js
@@ -0,0 +1,13 @@
+var dec1, dec2;
+
+class A {
+ @(_ => dec1 = _)
+ @(_ => dec2 = _)
+ field = {}
+}
+
+expect(dec1).toEqual(dec2);
+expect(dec1).not.toBe(dec2);
+expect(dec1.descriptor).toEqual(dec2.descriptor);
+expect(dec1.descriptor).not.toBe(dec2.descriptor);
+expect(dec1.initializer).toBe(dec2.initializer);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-method/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-method/exec.js
new file mode 100644
index 0000000000..c4cf0708f1
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/not-reused-method/exec.js
@@ -0,0 +1,13 @@
+var dec1, dec2;
+
+class A {
+ @(_ => dec1 = _)
+ @(_ => dec2 = _)
+ fn() {}
+}
+
+expect(dec1).toEqual(dec2);
+expect(dec1).not.toBe(dec2);
+expect(dec1.descriptor).toEqual(dec2.descriptor);
+expect(dec1.descriptor).not.toBe(dec2.descriptor);
+expect(dec1.descriptor.value).toBe(dec2.descriptor.value);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/options.json
new file mode 100644
index 0000000000..0fbe73eecd
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-class/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-class/exec.js
new file mode 100644
index 0000000000..d2770fd577
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-class/exec.js
@@ -0,0 +1,19 @@
+var el = null;
+
+@(_ => el = _)
+class A {}
+
+expect(el).toEqual(Object.defineProperty({
+ kind: "class",
+ elements: []
+}, Symbol.toStringTag, { value: "Descriptor" }));
+
+@(_ => el = _)
+class B {
+ foo = 2;
+ static bar() {}
+ get baz() {}
+ set baz(x) {}
+}
+
+expect(el.elements).toHaveLength(3);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-own-field-without-initiailzer/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-own-field-without-initiailzer/exec.js
new file mode 100644
index 0000000000..1fbbbebda7
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-own-field-without-initiailzer/exec.js
@@ -0,0 +1,18 @@
+var el = null;
+
+class A {
+ @(_ => el = _)
+ foo;
+}
+
+expect(el).toEqual(Object.defineProperty({
+ kind: "field",
+ key: "foo",
+ placement: "own",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ },
+ initializer: undefined,
+}, Symbol.toStringTag, { value: "Descriptor" }));
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-own-field/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-own-field/exec.js
new file mode 100644
index 0000000000..b71f4551c2
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-own-field/exec.js
@@ -0,0 +1,21 @@
+var el = null;
+var val = {};
+
+class A {
+ @(_ => el = _)
+ foo = val;
+}
+
+expect(el).toEqual(Object.defineProperty({
+ kind: "field",
+ key: "foo",
+ placement: "own",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ },
+ initializer: expect.any(Function),
+}, Symbol.toStringTag, { value: "Descriptor" }));
+
+expect(el.initializer()).toBe(val);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-prototype-method/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-prototype-method/exec.js
new file mode 100644
index 0000000000..9e58df2b15
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-prototype-method/exec.js
@@ -0,0 +1,18 @@
+var el = null;
+
+class A {
+ @(_ => el = _)
+ foo() {}
+}
+
+expect(el).toEqual(Object.defineProperty({
+ kind: "method",
+ key: "foo",
+ placement: "prototype",
+ descriptor: {
+ enumerable: false,
+ configurable: true,
+ writable: true,
+ value: A.prototype.foo,
+ },
+}, Symbol.toStringTag, { value: "Descriptor" }));
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-static-field/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-static-field/exec.js
new file mode 100644
index 0000000000..01a66d0842
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-static-field/exec.js
@@ -0,0 +1,21 @@
+var el = null;
+var val = { foo: 2 };
+
+class A {
+ @(_ => el = _)
+ static foo = val;
+}
+
+expect(el).toEqual(Object.defineProperty({
+ kind: "field",
+ key: "foo",
+ placement: "static",
+ descriptor: {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ },
+ initializer: expect.any(Function),
+}, Symbol.toStringTag, { value: "Descriptor" }));
+
+expect(el.initializer()).toBe(val);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-static-method/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-static-method/exec.js
new file mode 100644
index 0000000000..d55a51f082
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/element-descriptors/original-static-method/exec.js
@@ -0,0 +1,18 @@
+var el = null;
+
+class A {
+ @(_ => el = _)
+ static foo() {}
+}
+
+expect(el).toEqual(Object.defineProperty({
+ kind: "method",
+ key: "foo",
+ placement: "static",
+ descriptor: {
+ enumerable: false,
+ configurable: true,
+ writable: true,
+ value: A.foo,
+ },
+}, Symbol.toStringTag, { value: "Descriptor" }));
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/class-as-parameter/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/class-as-parameter/exec.js
new file mode 100644
index 0000000000..46b15e6845
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/class-as-parameter/exec.js
@@ -0,0 +1,16 @@
+var C;
+
+function decorator(el) {
+ return Object.assign(el, {
+ finisher(Class) {
+ C = Class;
+ },
+ });
+}
+
+class A {
+ @decorator
+ foo() {}
+}
+
+expect(C).toBe(A);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/no-in-extras/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/no-in-extras/exec.js
new file mode 100644
index 0000000000..cab527c82d
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/no-in-extras/exec.js
@@ -0,0 +1,21 @@
+class C {}
+
+function decorator(el) {
+ return Object.assign(el, {
+ extras: [
+ Object.assign({}, el, {
+ key: "bar",
+ finisher() {
+ return C;
+ }
+ })
+ ]
+ });
+}
+
+expect(() => {
+ class A {
+ @decorator
+ foo() {}
+ }
+}).toThrow();
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/options.json
new file mode 100644
index 0000000000..0fbe73eecd
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/return-class/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/return-class/exec.js
new file mode 100644
index 0000000000..34623728f7
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/finishers/return-class/exec.js
@@ -0,0 +1,16 @@
+class C {}
+
+function decorator(el) {
+ return Object.assign(el, {
+ finisher() {
+ return C;
+ },
+ });
+}
+
+class A {
+ @decorator
+ foo() {}
+}
+
+expect(A).toBe(C);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/mutate-descriptor/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/mutate-descriptor/exec.js
index a037b2abc6..e03bc98fab 100644
--- a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/mutate-descriptor/exec.js
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/mutate-descriptor/exec.js
@@ -16,6 +16,16 @@ function dec(target, name, descriptor) {
});
}
+function plainDec(target, name, descriptor) {
+ expect(target).toBeTruthy();
+ expect(typeof name).toBe("string");
+ expect(typeof descriptor).toBe("object");
+
+ target.decoratedProps = (target.decoratedProps || []).concat([name]);
+
+ return descriptor;
+}
+
class Example {
@dec
enumconfwrite = 1;
@@ -40,6 +50,9 @@ class Example {
@dec
_ = 8;
+
+ @plainDec
+ plain = 9;
}
const inst = new Example();
@@ -54,6 +67,7 @@ expect(inst.decoratedProps).toEqual([
"conf",
"write",
"_",
+ "plain",
]);
const descs = Object.getOwnPropertyDescriptors(inst);
@@ -97,3 +111,8 @@ expect(descs._.enumerable).toBe(false);
expect(descs._.writable).toBe(false);
expect(descs._.configurable).toBe(false);
expect(inst._).toBe("__8__");
+
+expect(descs.plain.enumerable).toBeTruthy();
+expect(descs.plain.writable).toBeTruthy();
+expect(descs.plain.configurable).toBeTruthy();
+expect(inst.plain).toBe(9);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/properties-without-initializer/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/properties-without-initializer/exec.js
index 85a042a1ed..9b3cff3f6a 100644
--- a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/properties-without-initializer/exec.js
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-class-prototype-properties/properties-without-initializer/exec.js
@@ -1,5 +1,11 @@
function dec(target, name, descriptor) {
+ expect(target).toBeTruthy();
+ expect(typeof name).toBe("string");
+ expect(typeof descriptor).toBe("object");
+ target.decoratedProps = (target.decoratedProps || []).concat([name]);
+
+ return descriptor;
}
class Example {
@@ -7,5 +13,17 @@ class Example {
}
let inst = new Example();
+
+expect(Example.prototype).toHaveProperty("decoratedProps");
+expect(inst.decoratedProps).toEqual([
+ "prop",
+]);
+
expect(inst).toHaveProperty("prop");
expect(inst.prop).toBeUndefined();
+
+const descs = Object.getOwnPropertyDescriptors(inst);
+
+expect(descs.prop.enumerable).toBeTruthy();
+expect(descs.prop.writable).toBeTruthy();
+expect(descs.prop.configurable).toBeTruthy();
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-decl-to-expression/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-decl-to-expression/options.json
index ea69269c5d..3269632a3f 100644
--- a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-decl-to-expression/options.json
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-decl-to-expression/options.json
@@ -1,4 +1,4 @@
{
"presets": [],
"plugins": [["proposal-decorators", { "legacy": true }]]
-}
\ No newline at end of file
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/7030/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/7030/options.json
index ff0a5398e9..002b4aa0d5 100644
--- a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/7030/options.json
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/7030/options.json
@@ -1,6 +1,3 @@
{
- "presets": [
- "env",
- ["stage-0", { "decoratorsLegacy": true, "pipelineProposal": "minimal" }]
- ]
+ "presets": ["env"]
}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/8512/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/8512/exec.js
new file mode 100644
index 0000000000..93e39c5153
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/8512/exec.js
@@ -0,0 +1,8 @@
+function dec(Class, key, desc) {
+ return desc;
+}
+
+class Foo {
+ @dec
+ get bar() {}
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/8512/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/8512/options.json
new file mode 100644
index 0000000000..92ce979119
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/legacy-regression/8512/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["proposal-decorators", { "legacy": true }]]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/misc/method-name/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/misc/method-name/exec.js
new file mode 100644
index 0000000000..5e4dcb9892
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/misc/method-name/exec.js
@@ -0,0 +1,8 @@
+function decorator() {}
+
+@decorator
+class Foo {
+ method() {}
+}
+
+expect(Foo.prototype.method.name).toBe("method");
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/misc/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/misc/options.json
new file mode 100644
index 0000000000..0fbe73eecd
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/misc/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/misc/to-primitive/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/misc/to-primitive/exec.js
new file mode 100644
index 0000000000..698b3e7049
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/misc/to-primitive/exec.js
@@ -0,0 +1,16 @@
+let calls = 0;
+const baz = {
+ [Symbol.toPrimitive]() {
+ calls++;
+ return "baz";
+ }
+}
+
+function dec() {}
+
+@dec
+class A {
+ [baz]() {}
+}
+
+expect(calls).toBe(1);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/decorators/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/decorators/exec.js
new file mode 100644
index 0000000000..8e7cc41e16
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/decorators/exec.js
@@ -0,0 +1,31 @@
+var log = [];
+
+function push(x) { log.push(x); return x; }
+
+function logDecoratorRun(a, b) {
+ push(a);
+ return function (el) { push(b); return el; };
+}
+
+@logDecoratorRun(0, 23)
+@logDecoratorRun(1, 22)
+class A {
+ @logDecoratorRun(2, 15)
+ @logDecoratorRun(3, 14)
+ [push(4)] = "4";
+
+ @logDecoratorRun(5, 17)
+ @logDecoratorRun(6, 16)
+ static [push(7)]() {}
+
+ @logDecoratorRun(8, 19)
+ @logDecoratorRun(9, 18)
+ static [push(10)] = "10";
+
+ @logDecoratorRun(11, 21)
+ @logDecoratorRun(12, 20)
+ [push(13)]() {}
+}
+
+var numsFrom0to23 = Array.from({ length: 24 }, (_, i) => i);
+expect(log).toEqual(numsFrom0to23);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/field-initializers-after-methods/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/field-initializers-after-methods/exec.js
new file mode 100644
index 0000000000..46e71f7281
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/field-initializers-after-methods/exec.js
@@ -0,0 +1,27 @@
+var counter = 0;
+
+@(x => x)
+class A {
+ foo = (() => {
+ counter++;
+ expect(typeof this.method).toBe("function");
+ expect(this.foo).toBeUndefined();
+ expect(this.bar).toBeUndefined();
+ return "foo";
+ })();
+
+ method() {}
+
+ bar = (() => {
+ counter++;
+ expect(typeof this.method).toBe("function");
+ expect(this.foo).toBe("foo");
+ expect(this.bar).toBeUndefined();
+ })();
+}
+
+expect(counter).toBe(0);
+
+new A();
+
+expect(counter).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/finishers/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/finishers/exec.js
new file mode 100644
index 0000000000..0e8094b637
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/finishers/exec.js
@@ -0,0 +1,34 @@
+var log = [];
+
+function push(x) { log.push(x); return x; }
+
+function logFinisher(x) {
+ return function (el) {
+ return Object.assign(el, {
+ finisher() { push(x); }
+ });
+ };
+}
+
+@logFinisher(9)
+@logFinisher(8)
+class A {
+ @logFinisher(1)
+ @logFinisher(0)
+ foo;
+
+ @logFinisher(3)
+ @logFinisher(2)
+ static bar() {}
+
+ @logFinisher(5)
+ @logFinisher(4)
+ static baz;
+
+ @logFinisher(7)
+ @logFinisher(6)
+ asd() {}
+}
+
+var numsFrom0to9 = Array.from({ length: 10 }, (_, i) => i);
+expect(log).toEqual(numsFrom0to9);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/options.json
new file mode 100644
index 0000000000..0fbe73eecd
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/static-field-initializers-after-methods/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/static-field-initializers-after-methods/exec.js
new file mode 100644
index 0000000000..0703f091cc
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/ordering/static-field-initializers-after-methods/exec.js
@@ -0,0 +1,23 @@
+var counter = 0;
+
+@(x => x)
+class A {
+ static foo = (() => {
+ counter++;
+ expect(typeof this.method).toBe("function");
+ expect(this.foo).toBeUndefined();
+ expect(this.bar).toBeUndefined();
+ return "foo";
+ })();
+
+ static method() {}
+
+ static bar = (() => {
+ counter++;
+ expect(typeof this.method).toBe("function");
+ expect(this.foo).toBe("foo");
+ expect(this.bar).toBeUndefined();
+ })();
+}
+
+expect(counter).toBe(2);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/arguments/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/arguments/input.js
new file mode 100644
index 0000000000..2ba5ec0e6f
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/arguments/input.js
@@ -0,0 +1,4 @@
+@dec(a, b, ...c)
+class A {
+ @dec(a, b, ...c) method() {}
+}
\ No newline at end of file
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/arguments/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/arguments/output.js
new file mode 100644
index 0000000000..d8a47bf3a1
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/arguments/output.js
@@ -0,0 +1,22 @@
+let A = babelHelpers.decorate([dec(a, b, ...c)], function (_initialize) {
+ "use strict";
+
+ class A {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: A,
+ d: [{
+ kind: "method",
+ decorators: [dec(a, b, ...c)],
+ key: "method",
+
+ value() {}
+
+ }]
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/input.js
new file mode 100644
index 0000000000..be2fdae25d
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/input.js
@@ -0,0 +1,8 @@
+@decorator
+class Foo {
+ async f1() {}
+
+ *f2() {}
+
+ async *f3() {}
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/options.json
new file mode 100644
index 0000000000..a3587a401c
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/options.json
@@ -0,0 +1,8 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ "syntax-async-generators",
+ ["external-helpers", { "helperVersion": "7.1.5" }]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/output.js
new file mode 100644
index 0000000000..75ce76d3f1
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/async-generator-method/output.js
@@ -0,0 +1,33 @@
+let Foo = babelHelpers.decorate([decorator], function (_initialize) {
+ "use strict";
+
+ class Foo {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: Foo,
+ d: [{
+ kind: "method",
+ key: "f1",
+
+ async value() {}
+
+ }, {
+ kind: "method",
+ key: "f2",
+
+ *value() {}
+
+ }, {
+ kind: "method",
+ key: "f3",
+
+ async *value() {}
+
+ }]
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/input.js
new file mode 100644
index 0000000000..60d93582dc
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/input.js
@@ -0,0 +1,5 @@
+async function* f() {
+ @(yield dec1)
+ @(await dec2)
+ class A {}
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/options.json
new file mode 100644
index 0000000000..7879b5a667
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/options.json
@@ -0,0 +1,13 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ],
+ "syntax-async-generators"
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/output.js
new file mode 100644
index 0000000000..9404e8efe1
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/class-decorators-yield-await/output.js
@@ -0,0 +1,17 @@
+async function* f() {
+ let A = babelHelpers.decorate([yield dec1, await dec2], function (_initialize) {
+ "use strict";
+
+ class A {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: A,
+ d: []
+ };
+ });
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/declaration/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/declaration/input.js
new file mode 100644
index 0000000000..8a7b27d874
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/declaration/input.js
@@ -0,0 +1,2 @@
+@dec()
+class A {}
\ No newline at end of file
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/declaration/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/declaration/output.js
new file mode 100644
index 0000000000..6a8ce61553
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/declaration/output.js
@@ -0,0 +1,15 @@
+let A = babelHelpers.decorate([dec()], function (_initialize) {
+ "use strict";
+
+ class A {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: A,
+ d: []
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-anonymous/input.mjs b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-anonymous/input.mjs
new file mode 100644
index 0000000000..532836c73d
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-anonymous/input.mjs
@@ -0,0 +1 @@
+export default @dec() class {}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-anonymous/output.mjs b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-anonymous/output.mjs
new file mode 100644
index 0000000000..e196ff96ff
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-anonymous/output.mjs
@@ -0,0 +1,13 @@
+export default babelHelpers.decorate([dec()], function (_initialize) {
+ class _class {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: _class,
+ d: []
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-named/input.mjs b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-named/input.mjs
new file mode 100644
index 0000000000..1eda2dacb8
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-named/input.mjs
@@ -0,0 +1 @@
+export default @dec() class Foo {}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-named/output.mjs b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-named/output.mjs
new file mode 100644
index 0000000000..6cf30240e0
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/export-default-named/output.mjs
@@ -0,0 +1,14 @@
+let Foo = babelHelpers.decorate([dec()], function (_initialize) {
+ class Foo {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: Foo,
+ d: []
+ };
+});
+export { Foo as default };
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/expression/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/expression/input.js
new file mode 100644
index 0000000000..34278333fc
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/expression/input.js
@@ -0,0 +1 @@
+(@dec() class {});
\ No newline at end of file
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/expression/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/expression/output.js
new file mode 100644
index 0000000000..7f99d76bd0
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/expression/output.js
@@ -0,0 +1,15 @@
+babelHelpers.decorate([dec()], function (_initialize) {
+ "use strict";
+
+ class _class {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: _class,
+ d: []
+ };
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-await/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-await/input.js
new file mode 100644
index 0000000000..f8fd41ae16
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-await/input.js
@@ -0,0 +1,3 @@
+async function g() {
+ @dec class A extends (await B) {}
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-await/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-await/output.js
new file mode 100644
index 0000000000..707d643923
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-await/output.js
@@ -0,0 +1,19 @@
+async function g() {
+ let A = babelHelpers.decorate([dec], function (_initialize, _super) {
+ "use strict";
+
+ class A extends _super {
+ constructor(...args) {
+ super(...args);
+
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: A,
+ d: []
+ };
+ }, (await B));
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-yield/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-yield/input.js
new file mode 100644
index 0000000000..0a5c39de2f
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-yield/input.js
@@ -0,0 +1,3 @@
+function* g() {
+ @dec class A extends (yield B) {}
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-yield/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-yield/output.js
new file mode 100644
index 0000000000..2ccc1e94ac
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends-yield/output.js
@@ -0,0 +1,19 @@
+function* g() {
+ let A = babelHelpers.decorate([dec], function (_initialize, _super) {
+ "use strict";
+
+ class A extends _super {
+ constructor(...args) {
+ super(...args);
+
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: A,
+ d: []
+ };
+ }, (yield B));
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/exec.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/exec.js
new file mode 100644
index 0000000000..e9e275b8f1
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/exec.js
@@ -0,0 +1,7 @@
+class B {}
+
+@(_ => _)
+class A extends B {}
+
+expect(new A).toBeInstanceOf(A);
+expect(new A).toBeInstanceOf(B);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/input.js
new file mode 100644
index 0000000000..e7cdf6b53f
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/input.js
@@ -0,0 +1 @@
+@dec class A extends B {}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/output.js
new file mode 100644
index 0000000000..eeef5ffce4
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/extends/output.js
@@ -0,0 +1,17 @@
+let A = babelHelpers.decorate([dec], function (_initialize, _B) {
+ "use strict";
+
+ class A extends _B {
+ constructor(...args) {
+ super(...args);
+
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: A,
+ d: []
+ };
+}, B);
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/only-decorated/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/only-decorated/input.js
new file mode 100644
index 0000000000..bcf77fe882
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/only-decorated/input.js
@@ -0,0 +1,4 @@
+class B {
+ foo = 2;
+ bar() {}
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/only-decorated/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/only-decorated/output.js
new file mode 100644
index 0000000000..2d487fa2b9
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/only-decorated/output.js
@@ -0,0 +1,8 @@
+class B {
+ constructor() {
+ babelHelpers.defineProperty(this, "foo", 2);
+ }
+
+ bar() {}
+
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/options.json b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/options.json
new file mode 100644
index 0000000000..0fbe73eecd
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ ["proposal-decorators", { "decoratorsBeforeExport": false }],
+ "proposal-class-properties",
+ [
+ "external-helpers",
+ {
+ "helperVersion": "7.1.5"
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/strict-directive/input.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/strict-directive/input.js
new file mode 100644
index 0000000000..85c55957e8
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/strict-directive/input.js
@@ -0,0 +1,15 @@
+(() => {
+ "use strict";
+
+ @dec
+ class Foo {
+ method() {}
+ }
+});
+
+(() => {
+ @dec
+ class Foo {
+ method() {}
+ }
+});
diff --git a/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/strict-directive/output.js b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/strict-directive/output.js
new file mode 100644
index 0000000000..65f4fbb073
--- /dev/null
+++ b/packages/babel-plugin-proposal-decorators/test/fixtures/transformation/strict-directive/output.js
@@ -0,0 +1,47 @@
+() => {
+ "use strict";
+
+ let Foo = babelHelpers.decorate([dec], function (_initialize) {
+ class Foo {
+ constructor() {
+ _initialize(this);
+ }
+
+ }
+
+ return {
+ F: Foo,
+ d: [{
+ kind: "method",
+ key: "method",
+
+ value() {}
+
+ }]
+ };
+ });
+};
+
+() => {
+ let Foo = babelHelpers.decorate([dec], function (_initialize2) {
+ "use strict";
+
+ class Foo {
+ constructor() {
+ _initialize2(this);
+ }
+
+ }
+
+ return {
+ F: Foo,
+ d: [{
+ kind: "method",
+ key: "method",
+
+ value() {}
+
+ }]
+ };
+ });
+};
diff --git a/packages/babel-plugin-proposal-do-expressions/package.json b/packages/babel-plugin-proposal-do-expressions/package.json
index 0b4f3f7578..567e498ca7 100644
--- a/packages/babel-plugin-proposal-do-expressions/package.json
+++ b/packages/babel-plugin-proposal-do-expressions/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-do-expressions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile do expressions to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-do-expressions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-do-expressions": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-do-expressions": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-export-default-from/package.json b/packages/babel-plugin-proposal-export-default-from/package.json
index b482927abe..3513efb416 100644
--- a/packages/babel-plugin-proposal-export-default-from/package.json
+++ b/packages/babel-plugin-proposal-export-default-from/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-export-default-from",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile export default to ES2015",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-export-default-from",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-export-default-from": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-export-default-from": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-export-namespace-from/package.json b/packages/babel-plugin-proposal-export-namespace-from/package.json
index f1a001008c..3f3e2982e4 100644
--- a/packages/babel-plugin-proposal-export-namespace-from/package.json
+++ b/packages/babel-plugin-proposal-export-namespace-from/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-export-namespace-from",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile export namespace to ES2015",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-export-namespace-from",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-export-namespace-from": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-function-bind/package.json b/packages/babel-plugin-proposal-function-bind/package.json
index 12266f06b6..f72052e7c8 100644
--- a/packages/babel-plugin-proposal-function-bind/package.json
+++ b/packages/babel-plugin-proposal-function-bind/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-function-bind",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile function bind operator to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-function-bind",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-function-bind": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-function-bind": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-function-sent/package.json b/packages/babel-plugin-proposal-function-sent/package.json
index c170ab6db6..45f8a6f0d4 100644
--- a/packages/babel-plugin-proposal-function-sent/package.json
+++ b/packages/babel-plugin-proposal-function-sent/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-proposal-function-sent",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Compile the function.sent meta propety to valid ES2015 code",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-function-sent",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-wrap-function": "7.0.0-beta.52",
- "@babel/plugin-syntax-function-sent": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-wrap-function": "^7.1.0",
+ "@babel/plugin-syntax-function-sent": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/options.json b/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/options.json
index f5009e557f..bf1a4ba1e0 100644
--- a/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/options.json
+++ b/packages/babel-plugin-proposal-function-sent/test/fixtures/generator-kinds/async-generator/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "proposal-function-sent", "proposal-async-generator-functions" ]
+ "plugins": ["proposal-function-sent", "proposal-async-generator-functions"]
}
diff --git a/packages/babel-plugin-proposal-json-strings/package.json b/packages/babel-plugin-proposal-json-strings/package.json
index 1f161ef256..12cf7d55dd 100644
--- a/packages/babel-plugin-proposal-json-strings/package.json
+++ b/packages/babel-plugin-proposal-json-strings/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-json-strings",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Escape U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-json-strings",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-json-strings": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-json-strings": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-logical-assignment-operators/package.json b/packages/babel-plugin-proposal-logical-assignment-operators/package.json
index 7c528c028a..e5de458d7e 100644
--- a/packages/babel-plugin-proposal-logical-assignment-operators/package.json
+++ b/packages/babel-plugin-proposal-logical-assignment-operators/package.json
@@ -1,24 +1,27 @@
{
"name": "@babel/plugin-proposal-logical-assignment-operators",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Transforms logical assignment operators into short-circuited assignments",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-logical-assignment-operators",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-logical-assignment-operators": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/plugin-proposal-nullish-coalescing-operator": "7.0.0-beta.52",
- "@babel/plugin-syntax-nullish-coalescing-operator": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing-without-other/options.json b/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing-without-other/options.json
index e6559faadb..8507a894f7 100644
--- a/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing-without-other/options.json
+++ b/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing-without-other/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["proposal-logical-assignment-operators", "syntax-nullish-coalescing-operator"]
+ "plugins": [
+ "proposal-logical-assignment-operators",
+ "syntax-nullish-coalescing-operator"
+ ]
}
diff --git a/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing/options.json b/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing/options.json
index e7a7bc2afe..f834cea898 100644
--- a/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing/options.json
+++ b/packages/babel-plugin-proposal-logical-assignment-operators/test/fixtures/logical-assignment/null-coalescing/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["proposal-logical-assignment-operators", "proposal-nullish-coalescing-operator"]
+ "plugins": [
+ "proposal-logical-assignment-operators",
+ "proposal-nullish-coalescing-operator"
+ ]
}
diff --git a/packages/babel-plugin-proposal-nullish-coalescing-operator/package.json b/packages/babel-plugin-proposal-nullish-coalescing-operator/package.json
index a54231535c..179d4ed423 100644
--- a/packages/babel-plugin-proposal-nullish-coalescing-operator/package.json
+++ b/packages/babel-plugin-proposal-nullish-coalescing-operator/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-nullish-coalescing-operator",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Remove nullish coalescing operator",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-nullish-coalescing-opearator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-nullish-coalescing-operator": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-nullish-coalescing-operator/test/fixtures/nullish-coalescing/transform-loose/options.json b/packages/babel-plugin-proposal-nullish-coalescing-operator/test/fixtures/nullish-coalescing/transform-loose/options.json
index be527140f4..3073b9b403 100644
--- a/packages/babel-plugin-proposal-nullish-coalescing-operator/test/fixtures/nullish-coalescing/transform-loose/options.json
+++ b/packages/babel-plugin-proposal-nullish-coalescing-operator/test/fixtures/nullish-coalescing/transform-loose/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["proposal-nullish-coalescing-operator", {"loose":true}]]
+ "plugins": [["proposal-nullish-coalescing-operator", { "loose": true }]]
}
diff --git a/packages/babel-plugin-proposal-numeric-separator/package.json b/packages/babel-plugin-proposal-numeric-separator/package.json
index 798b411f8c..6cf59792bc 100644
--- a/packages/babel-plugin-proposal-numeric-separator/package.json
+++ b/packages/babel-plugin-proposal-numeric-separator/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-numeric-separator",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Remove numeric separators from Decimal, Binary, Hex and Octal literals",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-numeric-separator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-numeric-separator": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/package.json b/packages/babel-plugin-proposal-object-rest-spread/package.json
index b3f061dcd2..5181f6b0a0 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/package.json
+++ b/packages/babel-plugin-proposal-object-rest-spread/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-object-rest-spread",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile object rest and spread to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/src/index.js b/packages/babel-plugin-proposal-object-rest-spread/src/index.js
index ca8e53b24f..0103816a23 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/src/index.js
+++ b/packages/babel-plugin-proposal-object-rest-spread/src/index.js
@@ -96,10 +96,14 @@ export default declare((api, opts) => {
const bindings = path.getOuterBindingIdentifierPaths();
Object.keys(bindings).forEach(bindingName => {
- if (path.scope.getBinding(bindingName).references > 1) {
+ const bindingParentPath = bindings[bindingName].parentPath;
+ if (
+ path.scope.getBinding(bindingName).references > 1 ||
+ !bindingParentPath.isObjectProperty()
+ ) {
return;
}
- bindings[bindingName].parentPath.remove();
+ bindingParentPath.remove();
});
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/options.json
index fc3756652a..ac791b82ac 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/options.json
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/options.json
@@ -2,6 +2,6 @@
"plugins": [
"syntax-async-generators",
"proposal-object-rest-spread",
- "external-helpers"
+ ["external-helpers", { "helperVersion": "7.1.5" }]
]
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json
index 6e91f57cf5..9fd3882905 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-rest/symbol-exec/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [ "transform-destructuring", "proposal-object-rest-spread" ]
+ "plugins": ["transform-destructuring", "proposal-object-rest-spread"]
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-spread/loose-mode/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-spread/loose-mode/options.json
index 7f3c40b6a6..036ba18ea6 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-spread/loose-mode/options.json
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/object-spread/loose-mode/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["proposal-object-rest-spread", { "loose": true }]
- ]
+ "plugins": [["proposal-object-rest-spread", { "loose": true }]]
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-7304/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-7304/options.json
index e1a96432fa..f236fc3b4c 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-7304/options.json
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-7304/options.json
@@ -1,14 +1,15 @@
{
"presets": [
- ["env", {
- "shippedProposals": true,
- "targets": {
- "node": 8
- },
- "useBuiltIns": "usage"
- }]
+ [
+ "env",
+ {
+ "shippedProposals": true,
+ "targets": {
+ "node": 8
+ },
+ "useBuiltIns": "usage"
+ }
+ ]
],
- "plugins": [
- "external-helpers"
- ]
+ "plugins": ["external-helpers"]
}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/input.js b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/input.js
new file mode 100644
index 0000000000..fc0991bbf7
--- /dev/null
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/input.js
@@ -0,0 +1,8 @@
+const get = () => {
+ fireTheMissiles();
+ return 3;
+};
+
+const f = ({ a = get(), b, c, ...z }) => {
+ const v = b + 3;
+};
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/options.json
new file mode 100644
index 0000000000..f51a6dc18a
--- /dev/null
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/options.json
@@ -0,0 +1,4 @@
+{
+ "presets": [["env", { "targets": { "node": "8" } }]],
+ "plugins": [["proposal-object-rest-spread", { "loose": true }]]
+}
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/output.js b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/output.js
new file mode 100644
index 0000000000..62b6e704ab
--- /dev/null
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/gh-8323/output.js
@@ -0,0 +1,16 @@
+function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
+
+const get = () => {
+ fireTheMissiles();
+ return 3;
+};
+
+const f = (_ref) => {
+ let {
+ a = get(),
+ b
+ } = _ref,
+ z = _objectWithoutPropertiesLoose(_ref, ["a", "b", "c"]);
+
+ const v = b + 3;
+};
diff --git a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/options.json b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/options.json
index 87c519b954..ba364f44b0 100644
--- a/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/options.json
+++ b/packages/babel-plugin-proposal-object-rest-spread/test/fixtures/regression/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "proposal-object-rest-spread",
- "external-helpers"
- ]
+ "plugins": ["proposal-object-rest-spread", "external-helpers"]
}
diff --git a/packages/babel-plugin-proposal-optional-catch-binding/package.json b/packages/babel-plugin-proposal-optional-catch-binding/package.json
index abdb9e31f2..fd43aef13a 100644
--- a/packages/babel-plugin-proposal-optional-catch-binding/package.json
+++ b/packages/babel-plugin-proposal-optional-catch-binding/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-optional-catch-binding",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile optional catch bindings",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-catch-binding",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-optional-chaining/package.json b/packages/babel-plugin-proposal-optional-chaining/package.json
index c3dd6fb171..8a32612fc9 100644
--- a/packages/babel-plugin-proposal-optional-chaining/package.json
+++ b/packages/babel-plugin-proposal-optional-chaining/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-proposal-optional-chaining",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Transform optional chaining operators into a series of nil checks",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-chaining",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-optional-chaining": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoping": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/function-call-loose/options.json b/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/function-call-loose/options.json
index 31050b6834..39ea3f99c7 100644
--- a/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/function-call-loose/options.json
+++ b/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/function-call-loose/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["proposal-optional-chaining", {"loose": true}]]
+ "plugins": [["proposal-optional-chaining", { "loose": true }]]
}
diff --git a/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/memoize-loose/options.json b/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/memoize-loose/options.json
index 31050b6834..39ea3f99c7 100644
--- a/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/memoize-loose/options.json
+++ b/packages/babel-plugin-proposal-optional-chaining/test/fixtures/general/memoize-loose/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["proposal-optional-chaining", {"loose": true}]]
+ "plugins": [["proposal-optional-chaining", { "loose": true }]]
}
diff --git a/packages/babel-plugin-proposal-pipeline-operator/package.json b/packages/babel-plugin-proposal-pipeline-operator/package.json
index 86b144a3af..cdd13ef14a 100644
--- a/packages/babel-plugin-proposal-pipeline-operator/package.json
+++ b/packages/babel-plugin-proposal-pipeline-operator/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-pipeline-operator",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Transform pipeline operator into call expressions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-pipeline-operator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-pipeline-operator": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-pipeline-operator": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-pipeline-operator/test/fixtures/pipeline-operator/options.json b/packages/babel-plugin-proposal-pipeline-operator/test/fixtures/pipeline-operator/options.json
index 0a1dc4d010..ce2c6e0ddc 100644
--- a/packages/babel-plugin-proposal-pipeline-operator/test/fixtures/pipeline-operator/options.json
+++ b/packages/babel-plugin-proposal-pipeline-operator/test/fixtures/pipeline-operator/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["proposal-pipeline-operator", { "proposal": "minimal" }]
- ]
+ "plugins": [["proposal-pipeline-operator", { "proposal": "minimal" }]]
}
diff --git a/packages/babel-plugin-proposal-throw-expressions/package.json b/packages/babel-plugin-proposal-throw-expressions/package.json
index 85815624cf..453b6b388a 100644
--- a/packages/babel-plugin-proposal-throw-expressions/package.json
+++ b/packages/babel-plugin-proposal-throw-expressions/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-proposal-throw-expressions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Wraps Throw Expressions in an IIFE",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-throw-expressions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-throw-expressions": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-throw-expressions": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-unicode-property-regex/package.json b/packages/babel-plugin-proposal-unicode-property-regex/package.json
index 99bd0217f5..91eea88bda 100644
--- a/packages/babel-plugin-proposal-unicode-property-regex/package.json
+++ b/packages/babel-plugin-proposal-unicode-property-regex/package.json
@@ -1,9 +1,12 @@
{
"name": "@babel/plugin-proposal-unicode-property-regex",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile Unicode property escapes in Unicode regular expressions to ES5.",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"engines": {
"node": ">=4"
@@ -19,15 +22,15 @@
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex",
"bugs": "https://github.com/babel/babel/issues",
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-regex": "7.0.0-beta.52",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
"regexpu-core": "^4.2.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json
index 22a50010a4..09f2f73ab8 100644
--- a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json
+++ b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/with-unicode-flag/options.json
@@ -1,7 +1,10 @@
{
"plugins": [
- ["proposal-unicode-property-regex", {
- "useUnicodeFlag": true
- }]
+ [
+ "proposal-unicode-property-regex",
+ {
+ "useUnicodeFlag": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json
index 755ed1dae5..a78ced443e 100644
--- a/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json
+++ b/packages/babel-plugin-proposal-unicode-property-regex/test/fixtures/without-unicode-flag/options.json
@@ -1,7 +1,10 @@
{
"plugins": [
- ["proposal-unicode-property-regex", {
- "useUnicodeFlag": false
- }]
+ [
+ "proposal-unicode-property-regex",
+ {
+ "useUnicodeFlag": false
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-syntax-async-generators/package.json b/packages/babel-plugin-syntax-async-generators/package.json
index 1d1a42aa17..76d42df805 100644
--- a/packages/babel-plugin-syntax-async-generators/package.json
+++ b/packages/babel-plugin-syntax-async-generators/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-async-generators",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of async generator functions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-bigint/package.json b/packages/babel-plugin-syntax-bigint/package.json
index 5c5ab85e85..bb82f45cc5 100644
--- a/packages/babel-plugin-syntax-bigint/package.json
+++ b/packages/babel-plugin-syntax-bigint/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-bigint",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of BigInt literals",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-bigint",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-class-properties/package.json b/packages/babel-plugin-syntax-class-properties/package.json
index c9f7e734e4..6177dcfc6b 100644
--- a/packages/babel-plugin-syntax-class-properties/package.json
+++ b/packages/babel-plugin-syntax-class-properties/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-class-properties",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of class properties",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-class-properties",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-decorators/package.json b/packages/babel-plugin-syntax-decorators/package.json
index 279541a01b..67ab13ed28 100644
--- a/packages/babel-plugin-syntax-decorators/package.json
+++ b/packages/babel-plugin-syntax-decorators/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-decorators",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Allow parsing of decorators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-decorators",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-decorators/src/index.js b/packages/babel-plugin-syntax-decorators/src/index.js
index 7c2a454c94..5185a067f9 100644
--- a/packages/babel-plugin-syntax-decorators/src/index.js
+++ b/packages/babel-plugin-syntax-decorators/src/index.js
@@ -8,16 +8,17 @@ export default declare((api, options) => {
throw new Error("'legacy' must be a boolean.");
}
- if (legacy !== true) {
- throw new Error(
- "The new decorators proposal is not supported yet." +
- ' You must pass the `"legacy": true` option to' +
- " @babel/plugin-syntax-decorators",
- );
- }
-
const { decoratorsBeforeExport } = options;
- if (decoratorsBeforeExport !== undefined) {
+ if (decoratorsBeforeExport === undefined) {
+ if (!legacy) {
+ throw new Error(
+ "The '@babel/plugin-syntax-decorators' plugin requires a" +
+ " 'decoratorsBeforeExport' option, whose value must be a boolean." +
+ " If you want to use the legacy decorators semantics, you can set" +
+ " the 'legacy: true' option.",
+ );
+ }
+ } else {
if (legacy) {
throw new Error(
"'decoratorsBeforeExport' can't be used with legacy decorators.",
diff --git a/packages/babel-plugin-syntax-decorators/test/index.js b/packages/babel-plugin-syntax-decorators/test/index.js
index 4ff1679172..d84797d7bb 100644
--- a/packages/babel-plugin-syntax-decorators/test/index.js
+++ b/packages/babel-plugin-syntax-decorators/test/index.js
@@ -15,7 +15,7 @@ describe("'legacy' option", function() {
expect(makeParser("", { legacy: "legacy" })).toThrow();
});
- test.skip("'legacy': false", function() {
+ test("'legacy': false", function() {
expect(makeParser("({ @dec fn() {} })", { legacy: false })).toThrow();
});
@@ -23,20 +23,20 @@ describe("'legacy' option", function() {
expect(makeParser("({ @dec fn() {} })", { legacy: true })).not.toThrow();
});
- test.skip("defaults to 'false'", function() {
+ test("defaults to 'false'", function() {
expect(makeParser("({ @dec fn() {} })", {})).toThrow();
});
-
- test("it must be true", function() {
- expect(makeParser("", { legacy: false })).toThrow();
- });
});
describe("'decoratorsBeforeExport' option", function() {
- test.skip("must be boolean", function() {
+ test("must be boolean", function() {
expect(makeParser("", { decoratorsBeforeExport: "before" })).toThrow();
});
+ test.skip("is required", function() {
+ expect(makeParser("", { legacy: false })).toThrow(/decoratorsBeforeExport/);
+ });
+
test("is incompatible with legacy", function() {
expect(
makeParser("", { decoratorsBeforeExport: false, legacy: true }),
@@ -47,8 +47,6 @@ describe("'decoratorsBeforeExport' option", function() {
const AFTER = "export @dec class Foo {}";
// These are skipped
- run(BEFORE, undefined, true);
- run(AFTER, undefined, false);
run(BEFORE, true, false);
run(AFTER, true, true);
run(BEFORE, false, true);
@@ -61,7 +59,7 @@ describe("'decoratorsBeforeExport' option", function() {
(code === BEFORE ? "before" : "after") +
"export";
- test.skip(name, function() {
+ test(name, function() {
const expectTheParser = expect(
makeParser(code, { decoratorsBeforeExport: before }),
);
diff --git a/packages/babel-plugin-syntax-do-expressions/package.json b/packages/babel-plugin-syntax-do-expressions/package.json
index a0aa1fbd6a..6cf5d051c4 100644
--- a/packages/babel-plugin-syntax-do-expressions/package.json
+++ b/packages/babel-plugin-syntax-do-expressions/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-do-expressions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of do expressions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-do-expressions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-dynamic-import/package.json b/packages/babel-plugin-syntax-dynamic-import/package.json
index 6f75a74614..b9fe124240 100644
--- a/packages/babel-plugin-syntax-dynamic-import/package.json
+++ b/packages/babel-plugin-syntax-dynamic-import/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-dynamic-import",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of import()",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-export-default-from/package.json b/packages/babel-plugin-syntax-export-default-from/package.json
index 3777bb5095..59282ced98 100644
--- a/packages/babel-plugin-syntax-export-default-from/package.json
+++ b/packages/babel-plugin-syntax-export-default-from/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-export-default-from",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of export default from",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-default-from",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-export-namespace-from/package.json b/packages/babel-plugin-syntax-export-namespace-from/package.json
index 82ff039065..9c6a6a20dc 100644
--- a/packages/babel-plugin-syntax-export-namespace-from/package.json
+++ b/packages/babel-plugin-syntax-export-namespace-from/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-export-namespace-from",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of export namespace from",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-export-namespace-from",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-flow/package.json b/packages/babel-plugin-syntax-flow/package.json
index 8b8e86432d..409a14de8f 100644
--- a/packages/babel-plugin-syntax-flow/package.json
+++ b/packages/babel-plugin-syntax-flow/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-flow",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of the flow syntax",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-flow",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-function-bind/package.json b/packages/babel-plugin-syntax-function-bind/package.json
index d1f614488c..b1391f57f8 100644
--- a/packages/babel-plugin-syntax-function-bind/package.json
+++ b/packages/babel-plugin-syntax-function-bind/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-function-bind",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of function bind",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-function-bind",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-function-sent/package.json b/packages/babel-plugin-syntax-function-sent/package.json
index 64de4fe435..2b1b6ce7d0 100644
--- a/packages/babel-plugin-syntax-function-sent/package.json
+++ b/packages/babel-plugin-syntax-function-sent/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-function-sent",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of the function.sent meta property",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-function-sent",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-import-meta/package.json b/packages/babel-plugin-syntax-import-meta/package.json
index 79f63e81a5..95482ff5a6 100644
--- a/packages/babel-plugin-syntax-import-meta/package.json
+++ b/packages/babel-plugin-syntax-import-meta/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-import-meta",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of import.meta",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-import-meta",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-json-strings/package.json b/packages/babel-plugin-syntax-json-strings/package.json
index 942e71ec43..807e4a45b5 100644
--- a/packages/babel-plugin-syntax-json-strings/package.json
+++ b/packages/babel-plugin-syntax-json-strings/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-json-strings",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of the U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-jsx/package.json b/packages/babel-plugin-syntax-jsx/package.json
index 3960863d79..f574ff3289 100644
--- a/packages/babel-plugin-syntax-jsx/package.json
+++ b/packages/babel-plugin-syntax-jsx/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-jsx",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of jsx",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-logical-assignment-operators/package.json b/packages/babel-plugin-syntax-logical-assignment-operators/package.json
index f4ca6896b6..5d0520e9ef 100644
--- a/packages/babel-plugin-syntax-logical-assignment-operators/package.json
+++ b/packages/babel-plugin-syntax-logical-assignment-operators/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-logical-assignment-operators",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of the logical assignment operators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-logical-assignment-operators",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-nullish-coalescing-operator/package.json b/packages/babel-plugin-syntax-nullish-coalescing-operator/package.json
index e91c936914..c95bee0059 100644
--- a/packages/babel-plugin-syntax-nullish-coalescing-operator/package.json
+++ b/packages/babel-plugin-syntax-nullish-coalescing-operator/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-nullish-coalescing-operator",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of the nullish-coalescing operator",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-numeric-separator/package.json b/packages/babel-plugin-syntax-numeric-separator/package.json
index 4ecc73e6dc..8843365333 100644
--- a/packages/babel-plugin-syntax-numeric-separator/package.json
+++ b/packages/babel-plugin-syntax-numeric-separator/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-numeric-separator",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of Decimal, Binary, Hex and Octal literals that contain a Numeric Literal Separator",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-numeric-separator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-object-rest-spread/package.json b/packages/babel-plugin-syntax-object-rest-spread/package.json
index cbe46ecfb8..19ca84f4d8 100644
--- a/packages/babel-plugin-syntax-object-rest-spread/package.json
+++ b/packages/babel-plugin-syntax-object-rest-spread/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-object-rest-spread",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of object rest/spread",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-optional-catch-binding/package.json b/packages/babel-plugin-syntax-optional-catch-binding/package.json
index f890870d08..4888105a3c 100644
--- a/packages/babel-plugin-syntax-optional-catch-binding/package.json
+++ b/packages/babel-plugin-syntax-optional-catch-binding/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-optional-catch-binding",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of optional catch bindings",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-optional-chaining/package.json b/packages/babel-plugin-syntax-optional-chaining/package.json
index 59d54c8cb8..59927aeeac 100644
--- a/packages/babel-plugin-syntax-optional-chaining/package.json
+++ b/packages/babel-plugin-syntax-optional-chaining/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-optional-chaining",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of optional properties",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-pipeline-operator/package.json b/packages/babel-plugin-syntax-pipeline-operator/package.json
index 9a70ecec99..a456a64e55 100644
--- a/packages/babel-plugin-syntax-pipeline-operator/package.json
+++ b/packages/babel-plugin-syntax-pipeline-operator/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-pipeline-operator",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of the pipeline operator",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-pipeline-operator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-throw-expressions/package.json b/packages/babel-plugin-syntax-throw-expressions/package.json
index 9eb6db0974..775c233027 100644
--- a/packages/babel-plugin-syntax-throw-expressions/package.json
+++ b/packages/babel-plugin-syntax-throw-expressions/package.json
@@ -1,20 +1,23 @@
{
"name": "@babel/plugin-syntax-throw-expressions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of Throw Expressions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-throw-expressions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-syntax-typescript/package.json b/packages/babel-plugin-syntax-typescript/package.json
index 8031d23b8f..b87262f0ba 100644
--- a/packages/babel-plugin-syntax-typescript/package.json
+++ b/packages/babel-plugin-syntax-typescript/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-syntax-typescript",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Allow parsing of TypeScript syntax",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-typescript",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin",
"typescript"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-arrow-functions/package.json b/packages/babel-plugin-transform-arrow-functions/package.json
index a887c4ee08..ad3838f459 100644
--- a/packages/babel-plugin-transform-arrow-functions/package.json
+++ b/packages/babel-plugin-transform-arrow-functions/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-arrow-functions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 arrow functions to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-arrow-functions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/traverse": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/traverse": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/destructuring-parameters/options.json b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/destructuring-parameters/options.json
index b8b142e856..f4a63e2537 100644
--- a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/destructuring-parameters/options.json
+++ b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/destructuring-parameters/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-destructuring", "transform-parameters", "transform-arrow-functions"]
+ "plugins": [
+ "transform-destructuring",
+ "transform-parameters",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/self-referential/options.json b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/self-referential/options.json
index 476e663a3f..925d855b5e 100644
--- a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/self-referential/options.json
+++ b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/self-referential/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", ["transform-arrow-functions", { "spec": false }], "transform-function-name"]
+ "plugins": [
+ "external-helpers",
+ ["transform-arrow-functions", { "spec": false }],
+ "transform-function-name"
+ ]
}
diff --git a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-naming/options.json b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-naming/options.json
index 942b61bd06..50c8c58f0c 100644
--- a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-naming/options.json
+++ b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-naming/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-arrow-functions", { "spec": true }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-arrow-functions", { "spec": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-self-referential/options.json b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-self-referential/options.json
index 660f9d7503..edcdc8224c 100644
--- a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-self-referential/options.json
+++ b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec-self-referential/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", ["transform-arrow-functions", { "spec": true }], "transform-function-name"]
+ "plugins": [
+ "external-helpers",
+ ["transform-arrow-functions", { "spec": true }],
+ "transform-function-name"
+ ]
}
diff --git a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec/options.json b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec/options.json
index 942b61bd06..50c8c58f0c 100644
--- a/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec/options.json
+++ b/packages/babel-plugin-transform-arrow-functions/test/fixtures/arrow-functions/spec/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-arrow-functions", { "spec": true }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-arrow-functions", { "spec": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/package.json b/packages/babel-plugin-transform-async-to-generator/package.json
index 77a246b1f9..0c33ab5d28 100644
--- a/packages/babel-plugin-transform-async-to-generator/package.json
+++ b/packages/babel-plugin-transform-async-to-generator/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-async-to-generator",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Turn async functions into ES2015 generators",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-module-imports": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-remap-async-to-generator": "7.0.0-beta.52"
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-remap-async-to-generator": "^7.1.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator-spec/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator-spec/options.json
index 6eae662831..cf84ec89ad 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator-spec/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator-spec/options.json
@@ -1,8 +1,8 @@
{
- "plugins": [
- ["transform-arrow-functions", { "spec": true }],
- "transform-regenerator",
- "transform-async-to-generator",
- "external-helpers"
- ]
+ "plugins": [
+ ["transform-arrow-functions", { "spec": true }],
+ "transform-regenerator",
+ "transform-async-to-generator",
+ "external-helpers"
+ ]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator/options.json
index d924af2adf..6d8f7fa0e0 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/async-iife-with-regenerator/options.json
@@ -1,8 +1,8 @@
{
- "plugins": [
- "transform-arrow-functions",
- "transform-regenerator",
- "transform-async-to-generator",
- "external-helpers"
- ]
+ "plugins": [
+ "transform-arrow-functions",
+ "transform-regenerator",
+ "transform-async-to-generator",
+ "external-helpers"
+ ]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/options.json
index 2373e1598f..93f5d722d8 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/function-arity/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-async-to-generator",
- "external-helpers"
- ]
-}
\ No newline at end of file
+ "plugins": ["transform-async-to-generator", "external-helpers"]
+}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-super/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-super/options.json
index 791b275929..93f5d722d8 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-super/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/object-method-with-super/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-async-to-generator",
- "external-helpers"
- ]
+ "plugins": ["transform-async-to-generator", "external-helpers"]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/options.json
index 84679ca3cf..0d67235e87 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-import/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-async-to-generator"
- ]
+ "plugins": ["transform-async-to-generator"]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/options.json
index 84679ca3cf..0d67235e87 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise-nested/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-async-to-generator"
- ]
+ "plugins": ["transform-async-to-generator"]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/options.json
index 84679ca3cf..0d67235e87 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/async-to-generator/shadowed-promise/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-async-to-generator"
- ]
+ "plugins": ["transform-async-to-generator"]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/options.json
index f178c0253e..a5852f1fd4 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/bluebird-coroutines/options.json
@@ -1,9 +1,12 @@
{
"plugins": [
"external-helpers",
- ["transform-async-to-generator", {
- "module": "bluebird",
- "method": "coroutine"
- }]
+ [
+ "transform-async-to-generator",
+ {
+ "module": "bluebird",
+ "method": "coroutine"
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/options.json
index f8294ae93a..b6ae56ff6d 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/export-async/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-modules-commonjs", "transform-async-to-generator"]
+ "plugins": [
+ "external-helpers",
+ "transform-modules-commonjs",
+ "transform-async-to-generator"
+ ]
}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/gh-6923/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/gh-6923/options.json
index 6f43f7581b..e1a1dd1ff2 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/gh-6923/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/gh-6923/options.json
@@ -1,12 +1,15 @@
{
"presets": [
- ["env", {
- "targets": {
- "chrome": "62",
- "edge": "15",
- "firefox": "52",
- "safari": "11"
+ [
+ "env",
+ {
+ "targets": {
+ "chrome": "62",
+ "edge": "15",
+ "firefox": "52",
+ "safari": "11"
+ }
}
- }]
+ ]
]
-}
\ No newline at end of file
+}
diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/options.json b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/options.json
index 6b5744a918..54b64ad0fb 100644
--- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/options.json
+++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "external-helpers",
- "transform-async-to-generator"
- ]
+ "plugins": ["external-helpers", "transform-async-to-generator"]
}
diff --git a/packages/babel-plugin-transform-block-scoped-functions/package.json b/packages/babel-plugin-transform-block-scoped-functions/package.json
index ac38399a05..13203de429 100644
--- a/packages/babel-plugin-transform-block-scoped-functions/package.json
+++ b/packages/babel-plugin-transform-block-scoped-functions/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-block-scoped-functions",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel plugin to ensure function declarations at the block level are block scoped",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoped-functions",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-block-scoping/package.json b/packages/babel-plugin-transform-block-scoping/package.json
index c9f533b2a9..a0af9db80e 100644
--- a/packages/babel-plugin-transform-block-scoping/package.json
+++ b/packages/babel-plugin-transform-block-scoping/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-block-scoping",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 block scoping (const and let) to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "lodash": "^4.17.5"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "lodash": "^4.17.10"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-block-scoping/src/index.js b/packages/babel-plugin-transform-block-scoping/src/index.js
index 560368cf0f..a72bd1a28e 100644
--- a/packages/babel-plugin-transform-block-scoping/src/index.js
+++ b/packages/babel-plugin-transform-block-scoping/src/index.js
@@ -289,7 +289,7 @@ const loopVisitor = {
},
"BreakStatement|ContinueStatement|ReturnStatement"(path, state) {
- const { node, parent, scope } = path;
+ const { node, scope } = path;
if (node[this.LOOP_IGNORE]) return;
let replace;
@@ -309,7 +309,7 @@ const loopVisitor = {
if (state.ignoreLabeless) return;
// break statements mean something different in this context
- if (t.isBreakStatement(node) && t.isSwitchCase(parent)) return;
+ if (t.isBreakStatement(node) && state.inSwitchCase) return;
}
state.hasBreakContinue = true;
@@ -460,7 +460,9 @@ class BlockScoping {
remap() {
const letRefs = this.letReferences;
+ const outsideLetRefs = this.outsideLetReferences;
const scope = this.scope;
+ const blockPathScope = this.blockPath.scope;
// alright, so since we aren't wrapping this block in a closure
// we have to check if any of our let variables collide with
@@ -481,11 +483,20 @@ class BlockScoping {
scope.rename(ref.name);
}
- if (this.blockPath.scope.hasOwnBinding(key)) {
- this.blockPath.scope.rename(ref.name);
+ if (blockPathScope.hasOwnBinding(key)) {
+ blockPathScope.rename(ref.name);
}
}
}
+
+ for (const key in outsideLetRefs) {
+ const ref = letRefs[key];
+ // check for collisions with a for loop's init variable and the enclosing scope's bindings
+ // https://github.com/babel/babel/issues/8498
+ if (isInLoop(this.blockPath) && blockPathScope.hasOwnBinding(key)) {
+ blockPathScope.rename(ref.name);
+ }
+ }
}
wrapClosure() {
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/.fail/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/.fail/options.json
index 98d224a2a3..8f3a07a363 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/.fail/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/.fail/options.json
@@ -1,4 +1,9 @@
{
- "plugins": ["transform-block-scoping", "transform-parameters", "transform-destructuring", "transform-modules-commonjs"],
+ "plugins": [
+ "transform-block-scoping",
+ "transform-parameters",
+ "transform-destructuring",
+ "transform-modules-commonjs"
+ ],
"throws": "is not defined - temporal dead zone"
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/options.json
index effa53fbb0..cca3c79215 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-for-of", "transform-arrow-functions", "transform-destructuring", "transform-block-scoping"]
+ "plugins": [
+ "transform-for-of",
+ "transform-arrow-functions",
+ "transform-destructuring",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/switch-labeled-break.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/switch-labeled-break.js
new file mode 100644
index 0000000000..a819961842
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/exec/switch-labeled-break.js
@@ -0,0 +1,14 @@
+// it shouldn't break on a case-break statement
+var i;
+the_loop: for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 3: {
+ break the_loop;
+ }
+ }
+
+ const z = 3; // to force the plugin to convert to loop function call
+ () => z;
+}
+
+expect(i).toBe(3);
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/exec.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/exec.js
new file mode 100644
index 0000000000..6ab05df069
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/exec.js
@@ -0,0 +1,51 @@
+// it shouldn't break on a case-break statement
+var i;
+for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 1: {
+ break;
+ }
+ }
+
+ const z = 3; // to force the plugin to convert to loop function call
+ () => z;
+}
+
+expect(i).toBe(10);
+
+// it should continue on continue statements within switch
+var j = 0;
+for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 0: {
+ continue;
+ }
+ }
+ j++;
+
+ const z = 3;
+ () => z;
+}
+
+expect(j).toBe(9);
+
+// it should work with loops nested within switch
+j = 0;
+for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 0: {
+ for (var k = 0; k < 10; k++) {
+ const z = 3;
+ () => z;
+ j++;
+ break;
+ }
+ break;
+ }
+ }
+
+ const z = 3;
+ () => z;
+}
+
+expect(j).toBe(1);
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/input.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/input.js
new file mode 100644
index 0000000000..39e162890d
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/input.js
@@ -0,0 +1,48 @@
+// it shouldn't break on a case-break statement
+var i;
+for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 1:
+ break;
+ }
+
+ const z = 3; // to force the plugin to convert to loop function call
+ () => z;
+}
+
+expect(i).toBe(10);
+
+// it should continue on continue statements within switch
+var j = 0;
+for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 0:
+ continue;
+ }
+ j++;
+
+ const z = 3;
+ () => z;
+}
+
+expect(j).toBe(9);
+
+// it should work with loops nested within switch
+j = 0;
+for (i = 0; i < 10; i++) {
+ switch (i) {
+ case 0:
+ for (var k = 0; k < 10; k++) {
+ const z = 3;
+ () => z;
+ j++;
+ break;
+ }
+ break;
+ }
+
+ const z = 3;
+ () => z;
+}
+
+expect(j).toBe(1);
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/output.js
new file mode 100644
index 0000000000..2e502dabfa
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/block-inside-switch-inside-loop/output.js
@@ -0,0 +1,85 @@
+// it shouldn't break on a case-break statement
+var i;
+
+var _loop = function () {
+ switch (i) {
+ case 1:
+ break;
+ }
+
+ var z = 3; // to force the plugin to convert to loop function call
+
+ (function () {
+ return z;
+ });
+};
+
+for (i = 0; i < 10; i++) {
+ _loop();
+}
+
+expect(i).toBe(10); // it should continue on continue statements within switch
+
+var j = 0;
+
+var _loop2 = function () {
+ switch (i) {
+ case 0:
+ return "continue";
+ }
+
+ j++;
+ var z = 3;
+
+ (function () {
+ return z;
+ });
+};
+
+for (i = 0; i < 10; i++) {
+ var _ret = _loop2();
+
+ if (_ret === "continue") continue;
+}
+
+expect(j).toBe(9); // it should work with loops nested within switch
+
+j = 0;
+
+var _loop3 = function () {
+ switch (i) {
+ case 0:
+ var _loop4 = function () {
+ var z = 3;
+
+ (function () {
+ return z;
+ });
+
+ j++;
+ return "break";
+ };
+
+ for (k = 0; k < 10; k++) {
+ var _ret2 = _loop4();
+
+ if (_ret2 === "break") break;
+ }
+
+ break;
+ }
+
+ var z = 3;
+
+ (function () {
+ return z;
+ });
+};
+
+for (i = 0; i < 10; i++) {
+ var k;
+
+ _loop3();
+}
+
+expect(j).toBe(1);
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/hoisting/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/hoisting/options.json
index 86250d3fcd..c1b2fe494b 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/hoisting/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/hoisting/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["transform-block-scoping", "syntax-jsx", "transform-react-jsx", "transform-block-scoped-functions", "transform-for-of"]
+ "plugins": [
+ "transform-block-scoping",
+ "syntax-jsx",
+ "transform-react-jsx",
+ "transform-block-scoped-functions",
+ "transform-for-of"
+ ]
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/input.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/input.js
new file mode 100644
index 0000000000..7d59ce437b
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/input.js
@@ -0,0 +1,7 @@
+for (let a, { b } = {};;) {
+ let a, { b } = {};
+
+ {
+ let a, { b } = {};
+ }
+}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/options.json
new file mode 100644
index 0000000000..9df3780bbc
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-destructuring", "transform-block-scoping"]
+}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/output.js
new file mode 100644
index 0000000000..d69de3a075
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision-destructuring/output.js
@@ -0,0 +1,11 @@
+for (var a, _ref = {}, b = _ref.b;;) {
+ var _a = void 0,
+ _ref2 = {},
+ _b = _ref2.b;
+
+ {
+ var _a2 = void 0,
+ _ref3 = {},
+ _b2 = _ref3.b;
+ }
+}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision/input.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision/input.js
new file mode 100644
index 0000000000..9a2f0f21ec
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision/input.js
@@ -0,0 +1,8 @@
+for (let i = 0; i < 3; i++) {
+ let i = 'abc';
+ console.log(i);
+
+ {
+ let i = "hello";
+ }
+}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision/output.js b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision/output.js
new file mode 100644
index 0000000000..a08721ee5e
--- /dev/null
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/issue-8498-loop-init-collision/output.js
@@ -0,0 +1,7 @@
+for (var i = 0; i < 3; i++) {
+ var _i = 'abc';
+ console.log(_i);
+ {
+ var _i2 = "hello";
+ }
+}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/options.json
index 4e3ea80c6b..d480b6d0ab 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/general/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/general/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["transform-block-scoping", "syntax-jsx", "transform-react-jsx", "transform-block-scoped-functions", "transform-arrow-functions"]
+ "plugins": [
+ "transform-block-scoping",
+ "syntax-jsx",
+ "transform-react-jsx",
+ "transform-block-scoped-functions",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/pass/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/pass/options.json
index 3d39d4c9ac..a08731896b 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/pass/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/pass/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-block-scoping", "transform-parameters", "transform-destructuring", "transform-modules-commonjs"]
+ "plugins": [
+ "transform-block-scoping",
+ "transform-parameters",
+ "transform-destructuring",
+ "transform-modules-commonjs"
+ ]
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/block-ref-function-call/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/block-ref-function-call/options.json
index d121887b64..7a63bc19c6 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/block-ref-function-call/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/block-ref-function-call/options.json
@@ -1,3 +1,3 @@
{
- "throws": "f is not defined - temporal dead zone"
+ "throws": "f is not defined - temporal dead zone"
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/destructured-self-reference/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/destructured-self-reference/options.json
index 3aaa2434ab..e727ad851d 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/destructured-self-reference/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/destructured-self-reference/options.json
@@ -1,3 +1,3 @@
{
- "throws": "d is not defined - temporal dead zone"
+ "throws": "d is not defined - temporal dead zone"
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/options.json
index e2bba884ad..07942e513e 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-block-scoping",{"tdz": true}]]
+ "plugins": [["transform-block-scoping", { "tdz": true }]]
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/self-reference/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/self-reference/options.json
index 1ed16a0c18..9bf6222fbc 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/self-reference/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/self-reference/options.json
@@ -1,3 +1,3 @@
{
- "throws": "x is not defined - temporal dead zone"
+ "throws": "x is not defined - temporal dead zone"
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/shadow-outer-var/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/shadow-outer-var/options.json
index 57b4f10104..c97e0b72d0 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/shadow-outer-var/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/shadow-outer-var/options.json
@@ -1,3 +1,3 @@
{
- "throws": "a is not defined - temporal dead zone"
+ "throws": "a is not defined - temporal dead zone"
}
diff --git a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/simple-reference/options.json b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/simple-reference/options.json
index 8a451235db..7983b36175 100644
--- a/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/simple-reference/options.json
+++ b/packages/babel-plugin-transform-block-scoping/test/fixtures/tdz/simple-reference/options.json
@@ -1,3 +1,3 @@
{
- "throws": "i is not defined - temporal dead zone"
+ "throws": "i is not defined - temporal dead zone"
}
diff --git a/packages/babel-plugin-transform-classes/package.json b/packages/babel-plugin-transform-classes/package.json
index dab636137e..0aa40aaead 100644
--- a/packages/babel-plugin-transform-classes/package.json
+++ b/packages/babel-plugin-transform-classes/package.json
@@ -1,28 +1,31 @@
{
"name": "@babel/plugin-transform-classes",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Compile ES2015 classes to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.52",
- "@babel/helper-define-map": "7.0.0-beta.52",
- "@babel/helper-function-name": "7.0.0-beta.52",
- "@babel/helper-optimise-call-expression": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-replace-supers": "7.0.0-beta.52",
- "@babel/helper-split-export-declaration": "7.0.0-beta.52",
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-define-map": "^7.1.0",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-optimise-call-expression": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
"globals": "^11.1.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-classes/src/lib/memoise-decorators.js b/packages/babel-plugin-transform-classes/src/lib/memoise-decorators.js
deleted file mode 100644
index 40f258f532..0000000000
--- a/packages/babel-plugin-transform-classes/src/lib/memoise-decorators.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import type { Scope } from "@babel/traverse";
-import { types as t } from "@babel/core";
-
-export default function(
- decorators: Array,
- scope: Scope,
-): Array {
- for (const decorator of decorators) {
- const expression = decorator.expression;
- if (!t.isMemberExpression(expression)) continue;
-
- const temp = scope.maybeGenerateMemoised(expression.object);
- let ref;
-
- const nodes = [];
-
- if (temp) {
- ref = temp;
- nodes.push(t.assignmentExpression("=", temp, expression.object));
- } else {
- ref = expression.object;
- }
-
- nodes.push(
- t.callExpression(
- t.memberExpression(
- t.memberExpression(ref, expression.property, expression.computed),
- t.identifier("bind"),
- ),
- [ref],
- ),
- );
-
- if (nodes.length === 1) {
- decorator.expression = nodes[0];
- } else {
- decorator.expression = t.sequenceExpression(nodes);
- }
- }
-
- return decorators;
-}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/exec/options.json b/packages/babel-plugin-transform-classes/test/fixtures/exec/options.json
index cee9d5b8a7..055fdcded2 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/exec/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/exec/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-classes", "transform-block-scoping", "transform-typeof-symbol"]
+ "plugins": [
+ "transform-classes",
+ "transform-block-scoping",
+ "transform-typeof-symbol"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/imported_babel-plugin-transform-builtin-classes/options.json b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/imported_babel-plugin-transform-builtin-classes/options.json
index 0dfc820234..5d03380e6f 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/imported_babel-plugin-transform-builtin-classes/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/imported_babel-plugin-transform-builtin-classes/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["transform-classes","transform-block-scoping"]
+ "plugins": ["transform-classes", "transform-block-scoping"]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/loose/output.js b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/loose/output.js
index dbe4978d71..e41d1690f6 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/loose/output.js
+++ b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/loose/output.js
@@ -1,11 +1,13 @@
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
-function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null) return null; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
+function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
+function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/spec/output.js b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/spec/output.js
index d060a29402..8128d008f6 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/spec/output.js
+++ b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/spec/output.js
@@ -6,12 +6,14 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null) return null; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
+function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
+function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/super-called/options.json b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/super-called/options.json
index 0dfc820234..5d03380e6f 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/super-called/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/super-called/options.json
@@ -1,3 +1,3 @@
{
- "plugins": ["transform-classes","transform-block-scoping"]
+ "plugins": ["transform-classes", "transform-block-scoping"]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/wrap-native-super/options.json b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/wrap-native-super/options.json
index bc16727e57..55e74be7ce 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/wrap-native-super/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/extend-builtins/wrap-native-super/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-classes","transform-block-scoping","external-helpers"]
+ "plugins": [
+ "transform-classes",
+ "transform-block-scoping",
+ "external-helpers"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/options.json b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/options.json
index a5decfd973..2b25ef710b 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/get-set-loose/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-classes", {"loose": true}]]
+ "plugins": [["transform-classes", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose-classCallCheck/options.json b/packages/babel-plugin-transform-classes/test/fixtures/loose-classCallCheck/options.json
index 5c81b3488d..b5a4d55d5b 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/loose-classCallCheck/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/loose-classCallCheck/options.json
@@ -1,7 +1,10 @@
{
"plugins": [
- ["transform-classes", {
- "loose": true
- }]
+ [
+ "transform-classes",
+ {
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/method-return-type-annotation/options.json b/packages/babel-plugin-transform-classes/test/fixtures/loose/method-return-type-annotation/options.json
index f61933a17e..1f9617ec39 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/loose/method-return-type-annotation/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/method-return-type-annotation/options.json
@@ -1,3 +1,10 @@
{
- "plugins": ["external-helpers", "transform-function-name", ["transform-classes", { "loose": true }], "transform-spread", "transform-block-scoping", "syntax-flow"]
+ "plugins": [
+ "external-helpers",
+ "transform-function-name",
+ ["transform-classes", { "loose": true }],
+ "transform-spread",
+ "transform-block-scoping",
+ "syntax-flow"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/exec.js b/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/exec.js
new file mode 100644
index 0000000000..45af5099a9
--- /dev/null
+++ b/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/exec.js
@@ -0,0 +1,17 @@
+// Pretend that `Reflect.construct` isn't supported.
+this.Reflect = undefined;
+
+this.HTMLElement = function() {
+ // Here, `this.HTMLElement` is this function, not the original HTMLElement
+ // constructor. `this.constructor` should be this function too, but isn't.
+ constructor = this.constructor;
+};
+
+var constructor;
+
+class CustomElement extends HTMLElement {};
+new CustomElement();
+
+expect(constructor).toBe(CustomElement);
+
+
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/input.js b/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/input.js
new file mode 100644
index 0000000000..45af5099a9
--- /dev/null
+++ b/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/input.js
@@ -0,0 +1,17 @@
+// Pretend that `Reflect.construct` isn't supported.
+this.Reflect = undefined;
+
+this.HTMLElement = function() {
+ // Here, `this.HTMLElement` is this function, not the original HTMLElement
+ // constructor. `this.constructor` should be this function too, but isn't.
+ constructor = this.constructor;
+};
+
+var constructor;
+
+class CustomElement extends HTMLElement {};
+new CustomElement();
+
+expect(constructor).toBe(CustomElement);
+
+
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/output.js b/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/output.js
new file mode 100644
index 0000000000..b14eb42353
--- /dev/null
+++ b/packages/babel-plugin-transform-classes/test/fixtures/regression/8499/output.js
@@ -0,0 +1,29 @@
+// Pretend that `Reflect.construct` isn't supported.
+this.Reflect = undefined;
+
+this.HTMLElement = function () {
+ // Here, `this.HTMLElement` is this function, not the original HTMLElement
+ // constructor. `this.constructor` should be this function too, but isn't.
+ constructor = this.constructor;
+};
+
+var constructor;
+
+var CustomElement =
+/*#__PURE__*/
+function (_HTMLElement) {
+ "use strict";
+
+ babelHelpers.inherits(CustomElement, _HTMLElement);
+
+ function CustomElement() {
+ babelHelpers.classCallCheck(this, CustomElement);
+ return babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(CustomElement).apply(this, arguments));
+ }
+
+ return CustomElement;
+}(babelHelpers.wrapNativeSuper(HTMLElement));
+
+;
+new CustomElement();
+expect(constructor).toBe(CustomElement);
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/regression/T6755/options.json b/packages/babel-plugin-transform-classes/test/fixtures/regression/T6755/options.json
index 12ccccf683..2b25ef710b 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/regression/T6755/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/regression/T6755/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["transform-classes", { "loose": true }]
- ]
+ "plugins": [["transform-classes", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/regression/T7010/options.json b/packages/babel-plugin-transform-classes/test/fixtures/regression/T7010/options.json
index 2c628e9f43..aec48c2b7d 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/regression/T7010/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/regression/T7010/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-classes",
- "external-helpers"
- ]
+ "plugins": ["transform-classes", "external-helpers"]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/method-return-type-annotation/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/method-return-type-annotation/options.json
index ab9705ebc4..208e8b0ff0 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/spec/method-return-type-annotation/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/method-return-type-annotation/options.json
@@ -1,3 +1,10 @@
{
- "plugins": ["external-helpers", "transform-function-name", "transform-classes", "transform-spread", "transform-block-scoping", "syntax-flow"]
+ "plugins": [
+ "external-helpers",
+ "transform-function-name",
+ "transform-classes",
+ "transform-spread",
+ "transform-block-scoping",
+ "syntax-flow"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/name-method-collision/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/name-method-collision/options.json
index 072488946a..143e6342c2 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/spec/name-method-collision/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/name-method-collision/options.json
@@ -1,3 +1,10 @@
{
- "plugins": ["external-helpers", "transform-function-name", "transform-classes", "transform-spread", "transform-block-scoping", "transform-modules-commonjs"]
+ "plugins": [
+ "external-helpers",
+ "transform-function-name",
+ "transform-classes",
+ "transform-spread",
+ "transform-block-scoping",
+ "transform-modules-commonjs"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/options.json
index c2c6be1e6b..8d402a794c 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/spec/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", "transform-function-name", "transform-classes", "transform-spread", "transform-block-scoping"]
+ "plugins": [
+ "external-helpers",
+ "transform-function-name",
+ "transform-classes",
+ "transform-spread",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json
index 111b0a6091..93725c3c0e 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-2/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-classes", "transform-block-scoping"]
+ "plugins": [
+ "external-helpers",
+ "transform-classes",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-3/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-3/options.json
index 111b0a6091..93725c3c0e 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-3/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda-3/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-classes", "transform-block-scoping"]
+ "plugins": [
+ "external-helpers",
+ "transform-classes",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json
index 111b0a6091..93725c3c0e 100644
--- a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json
+++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-reference-before-in-lambda/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-classes", "transform-block-scoping"]
+ "plugins": [
+ "external-helpers",
+ "transform-classes",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-computed-properties/package.json b/packages/babel-plugin-transform-computed-properties/package.json
index cb1b3b63e5..8df20722c1 100644
--- a/packages/babel-plugin-transform-computed-properties/package.json
+++ b/packages/babel-plugin-transform-computed-properties/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-computed-properties",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 computed properties to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-computed-properties",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-computed-properties/test/fixtures/loose/options.json b/packages/babel-plugin-transform-computed-properties/test/fixtures/loose/options.json
index 323353b457..4a3f9912c7 100644
--- a/packages/babel-plugin-transform-computed-properties/test/fixtures/loose/options.json
+++ b/packages/babel-plugin-transform-computed-properties/test/fixtures/loose/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-computed-properties", { "loose": true }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-computed-properties", { "loose": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-destructuring/package.json b/packages/babel-plugin-transform-destructuring/package.json
index c07d36509f..e8c19251a4 100644
--- a/packages/babel-plugin-transform-destructuring/package.json
+++ b/packages/babel-plugin-transform-destructuring/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-destructuring",
- "version": "7.0.0-beta.52",
+ "version": "7.1.3",
"description": "Compile ES2015 destructuring to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-destructuring/src/index.js b/packages/babel-plugin-transform-destructuring/src/index.js
index b706ed5bea..9d58303612 100644
--- a/packages/babel-plugin-transform-destructuring/src/index.js
+++ b/packages/babel-plugin-transform-destructuring/src/index.js
@@ -44,13 +44,23 @@ export default declare((api, options) => {
return false;
}
- const arrayUnpackVisitor = {
- ReferencedIdentifier(path, state) {
- if (state.bindings[path.node.name]) {
- state.deopt = true;
- path.stop();
- }
- },
+ const STOP_TRAVERSAL = {};
+
+ // NOTE: This visitor is meant to be used via t.traverse
+ const arrayUnpackVisitor = (node, ancestors, state) => {
+ if (!ancestors.length) {
+ // Top-level node: this is the array literal.
+ return;
+ }
+
+ if (
+ t.isIdentifier(node) &&
+ t.isReferenced(node, ancestors[ancestors.length - 1]) &&
+ state.bindings[node.name]
+ ) {
+ state.deopt = true;
+ throw STOP_TRAVERSAL;
+ }
};
class DestructuringTransformer {
@@ -160,7 +170,8 @@ export default declare((api, options) => {
pushObjectRest(pattern, objRef, spreadProp, spreadPropIndex) {
// get all the keys that appear in this object before the current spread
- let keys = [];
+ const keys = [];
+ let allLiteral = true;
for (let i = 0; i < pattern.properties.length; i++) {
const prop = pattern.properties[i];
@@ -172,11 +183,15 @@ export default declare((api, options) => {
// ignore other spread properties
if (t.isRestElement(prop)) continue;
- let key = prop.key;
+ const key = prop.key;
if (t.isIdentifier(key) && !prop.computed) {
- key = t.stringLiteral(prop.key.name);
+ keys.push(t.stringLiteral(key.name));
+ } else if (t.isLiteral(key)) {
+ keys.push(t.stringLiteral(String(key.value)));
+ } else {
+ keys.push(t.cloneNode(key));
+ allLiteral = false;
}
- keys.push(t.cloneNode(key));
}
let value;
@@ -186,11 +201,18 @@ export default declare((api, options) => {
t.cloneNode(objRef),
]);
} else {
- keys = t.arrayExpression(keys);
+ let keyExpression = t.arrayExpression(keys);
+
+ if (!allLiteral) {
+ keyExpression = t.callExpression(
+ t.memberExpression(keyExpression, t.identifier("map")),
+ [this.addHelper("toPropertyKey")],
+ );
+ }
value = t.callExpression(
this.addHelper(`objectWithoutProperties${loose ? "Loose" : ""}`),
- [t.cloneNode(objRef), keys],
+ [t.cloneNode(objRef), keyExpression],
);
}
@@ -282,7 +304,13 @@ export default declare((api, options) => {
// deopt on reference to left side identifiers
const bindings = t.getBindingIdentifiers(pattern);
const state = { deopt: false, bindings };
- this.scope.traverse(arr, arrayUnpackVisitor, state);
+
+ try {
+ t.traverse(arr, arrayUnpackVisitor, state);
+ } catch (e) {
+ if (e !== STOP_TRAVERSAL) throw e;
+ }
+
return !state.deopt;
}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/options.json
index a4a5f2d213..9b67610435 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/options.json
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/options.json
@@ -1,6 +1,6 @@
{
"plugins": [
- "external-helpers",
+ ["external-helpers", { "helperVersion": "7.1.5" }],
["transform-destructuring", { "useBuiltIns": true }],
"transform-spread",
"transform-parameters",
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/output.js b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/output.js
index 8e8f967908..8dcd578573 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/output.js
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-builtins/output.js
@@ -6,7 +6,7 @@ var _z2 = z,
y = babelHelpers.objectWithoutProperties(_z2, ["x"]);
var _z3 = z,
x = _z3[x],
- y = babelHelpers.objectWithoutProperties(_z3, [x]);
+ y = babelHelpers.objectWithoutProperties(_z3, [x].map(babelHelpers.toPropertyKey));
(function (_ref) {
var x = _ref.x,
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/options.json
index 30b537ae91..ec06f619d0 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/options.json
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/options.json
@@ -1,6 +1,7 @@
{
"plugins": [
["transform-destructuring", { "loose": true }],
- "proposal-object-rest-spread"
+ "proposal-object-rest-spread",
+ ["external-helpers", { "helperVersion": "7.1.5" }]
]
}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/output.js b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/output.js
index 50093aa172..e202791b6f 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/output.js
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest-loose/output.js
@@ -1,27 +1,20 @@
-function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
-
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
-
var z = {};
-
var _z = z,
- x = _extends({}, _z);
-
+ x = babelHelpers.extends({}, _z);
var _z2 = z,
x = _z2.x,
- y = _objectWithoutPropertiesLoose(_z2, ["x"]);
-
+ y = babelHelpers.objectWithoutPropertiesLoose(_z2, ["x"]);
var _z3 = z,
x = _z3[x],
- y = _objectWithoutPropertiesLoose(_z3, [x]);
+ y = babelHelpers.objectWithoutPropertiesLoose(_z3, [x].map(babelHelpers.toPropertyKey));
(function (_ref) {
let x = _ref.x,
- y = _objectWithoutPropertiesLoose(_ref, ["x"]);
+ y = babelHelpers.objectWithoutPropertiesLoose(_ref, ["x"]);
});
var _o = o;
x = _o.x;
y = _o.y;
-z = _objectWithoutPropertiesLoose(_o, ["x", "y"]);
+z = babelHelpers.objectWithoutPropertiesLoose(_o, ["x", "y"]);
_o;
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest/output.js b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest/output.js
index 0729c49dd0..c4af22047a 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest/output.js
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/es7-object-rest/output.js
@@ -6,7 +6,7 @@ var _z2 = z,
y = babelHelpers.objectWithoutProperties(_z2, ["x"]);
var _z3 = z,
x = _z3[x],
- y = babelHelpers.objectWithoutProperties(_z3, [x]);
+ y = babelHelpers.objectWithoutProperties(_z3, [x].map(babelHelpers.toPropertyKey));
(function (_ref) {
var x = _ref.x,
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/function-key-with-object-rest-spread/exec.js b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/function-key-with-object-rest-spread/exec.js
new file mode 100644
index 0000000000..fc8ae90c74
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/function-key-with-object-rest-spread/exec.js
@@ -0,0 +1,4 @@
+const { [(() => 1)()]: a, ...rest } = { 1: "a" };
+
+expect(a).toBe("a");
+expect(rest).toEqual({});
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/function-key-with-object-rest-spread/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/function-key-with-object-rest-spread/options.json
new file mode 100644
index 0000000000..9fd3882905
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/function-key-with-object-rest-spread/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-destructuring", "proposal-object-rest-spread"]
+}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/issue-5628/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/issue-5628/options.json
index 2d4a820338..4e36a37876 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/issue-5628/options.json
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/issue-5628/options.json
@@ -1,3 +1,12 @@
{
- "plugins": ["external-helpers", "transform-arrow-functions", "transform-destructuring", "transform-spread", "transform-parameters", "transform-block-scoping", "proposal-object-rest-spread", "transform-regenerator"]
+ "plugins": [
+ "external-helpers",
+ "transform-arrow-functions",
+ "transform-destructuring",
+ "transform-spread",
+ "transform-parameters",
+ "transform-block-scoping",
+ "proposal-object-rest-spread",
+ "transform-regenerator"
+ ]
}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/number-key-with-object-rest-spread/exec.js b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/number-key-with-object-rest-spread/exec.js
new file mode 100644
index 0000000000..fe160adb01
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/number-key-with-object-rest-spread/exec.js
@@ -0,0 +1,10 @@
+const foo = {
+ 1: "a",
+ 2: "b",
+ 3: "c",
+};
+
+const { [1]: bar, ...rest } = foo;
+
+expect(bar).toBe("a");
+expect(rest).toEqual({ 2: "b", 3: "c" });
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/number-key-with-object-rest-spread/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/number-key-with-object-rest-spread/options.json
new file mode 100644
index 0000000000..9fd3882905
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/number-key-with-object-rest-spread/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-destructuring", "proposal-object-rest-spread"]
+}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/options.json
index 61c6a85c26..780d83b9b4 100644
--- a/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/options.json
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/destructuring/options.json
@@ -1,3 +1,11 @@
{
- "plugins": ["external-helpers", "transform-destructuring", "transform-spread", "transform-parameters", "transform-block-scoping", "proposal-object-rest-spread", "transform-regenerator"]
+ "plugins": [
+ ["external-helpers", { "helperVersion": "7.1.5" }],
+ "transform-destructuring",
+ "transform-spread",
+ "transform-parameters",
+ "transform-block-scoping",
+ "proposal-object-rest-spread",
+ "transform-regenerator"
+ ]
}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/input.js b/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/input.js
new file mode 100644
index 0000000000..9c6f1a1839
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/input.js
@@ -0,0 +1,4 @@
+function isBetween(x, a, b) {
+ if (a > b) [a, b] = [b, a];
+ return x > a && x < b;
+}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/options.json b/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/options.json
new file mode 100644
index 0000000000..84e28c07f5
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-destructuring"]
+}
diff --git a/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/output.js b/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/output.js
new file mode 100644
index 0000000000..9546a2734c
--- /dev/null
+++ b/packages/babel-plugin-transform-destructuring/test/fixtures/regression/8528/output.js
@@ -0,0 +1,9 @@
+function isBetween(x, a, b) {
+ if (a > b) {
+ var _ref = [b, a];
+ a = _ref[0];
+ b = _ref[1];
+ }
+
+ return x > a && x < b;
+}
diff --git a/packages/babel-plugin-transform-dotall-regex/package.json b/packages/babel-plugin-transform-dotall-regex/package.json
index 00678214ed..14b5707a46 100644
--- a/packages/babel-plugin-transform-dotall-regex/package.json
+++ b/packages/babel-plugin-transform-dotall-regex/package.json
@@ -1,9 +1,12 @@
{
"name": "@babel/plugin-transform-dotall-regex",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile regular expressions using the `s` (`dotAll`) flag to ES5.",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"engines": {
"node": ">=4"
@@ -21,15 +24,15 @@
},
"bugs": "https://github.com/babel/babel/issues",
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-regex": "7.0.0-beta.52",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
"regexpu-core": "^4.1.3"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-duplicate-keys/package.json b/packages/babel-plugin-transform-duplicate-keys/package.json
index dee0ad781f..63ba036fc0 100644
--- a/packages/babel-plugin-transform-duplicate-keys/package.json
+++ b/packages/babel-plugin-transform-duplicate-keys/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-duplicate-keys",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile objects with duplicate keys to valid strict ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-duplicate-keys",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-duplicate-keys/test/fixtures/combination/options.json b/packages/babel-plugin-transform-duplicate-keys/test/fixtures/combination/options.json
index 492e90417d..62e2b15a57 100644
--- a/packages/babel-plugin-transform-duplicate-keys/test/fixtures/combination/options.json
+++ b/packages/babel-plugin-transform-duplicate-keys/test/fixtures/combination/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-duplicate-keys", "transform-computed-properties"]
+ "plugins": [
+ "external-helpers",
+ "transform-duplicate-keys",
+ "transform-computed-properties"
+ ]
}
diff --git a/packages/babel-plugin-transform-exponentiation-operator/package.json b/packages/babel-plugin-transform-exponentiation-operator/package.json
index 34e7be9207..2e491e58c5 100644
--- a/packages/babel-plugin-transform-exponentiation-operator/package.json
+++ b/packages/babel-plugin-transform-exponentiation-operator/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-exponentiation-operator",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Compile exponentiation operator to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-flow-comments/package.json b/packages/babel-plugin-transform-flow-comments/package.json
index e2d38457ef..f676786cd9 100644
--- a/packages/babel-plugin-transform-flow-comments/package.json
+++ b/packages/babel-plugin-transform-flow-comments/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-flow-comments",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Turn flow type annotations into comments",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-flow-comments",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-flow": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-2/options.json b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-2/options.json
index 384e6d0f25..76e3f90b12 100644
--- a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-2/options.json
+++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-2/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-flow-comments"
- ]
+ "plugins": ["transform-flow-comments"]
}
diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-3/options.json b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-3/options.json
index 967b6754da..5320a9ef86 100644
--- a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-3/options.json
+++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values-3/options.json
@@ -1,6 +1,6 @@
{
"plugins": [
"transform-flow-comments",
- ["proposal-class-properties", {"loose": true}]
+ ["proposal-class-properties", { "loose": true }]
]
}
diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json
index 9f385a20d2..1aab50afbd 100644
--- a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json
+++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-flow-comments",
- "syntax-class-properties"
- ]
+ "plugins": ["transform-flow-comments", "syntax-class-properties"]
}
diff --git a/packages/babel-plugin-transform-flow-strip-types/package.json b/packages/babel-plugin-transform-flow-strip-types/package.json
index 10e1129c5d..cf4d090b24 100644
--- a/packages/babel-plugin-transform-flow-strip-types/package.json
+++ b/packages/babel-plugin-transform-flow-strip-types/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-flow-strip-types",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Strip flow type annotations from your output code.",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-flow-strip-types",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-flow": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-flow-strip-types/src/index.js b/packages/babel-plugin-transform-flow-strip-types/src/index.js
index 063319cf9d..294ff7be1a 100644
--- a/packages/babel-plugin-transform-flow-strip-types/src/index.js
+++ b/packages/babel-plugin-transform-flow-strip-types/src/index.js
@@ -76,6 +76,11 @@ export default declare(api => {
if (!path.node.value) path.remove();
},
+ ClassPrivateProperty(path) {
+ if (skipStrip) return;
+ path.node.typeAnnotation = null;
+ },
+
Class(path) {
if (skipStrip) return;
path.node.implements = null;
diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/arrow-type-declaration/options.json b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/arrow-type-declaration/options.json
index 8352026a9b..d42eaa2130 100644
--- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/arrow-type-declaration/options.json
+++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/arrow-type-declaration/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-flow-strip-types"
- ]
+ "plugins": ["transform-flow-strip-types"]
}
diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json
index e4f98ec829..56245d91c6 100644
--- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json
+++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-flow-strip-types",
- "syntax-class-properties"
- ]
+ "plugins": ["transform-flow-strip-types", "syntax-class-properties"]
}
diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/input.mjs b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/input.mjs
index a9aec24aa5..2d40466b5b 100644
--- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/input.mjs
+++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/input.mjs
@@ -69,6 +69,10 @@ class Foo10 {
static prop1: string;
prop2: number;
}
+class Foo11 {
+ #prop1: string;
+ #prop2: number;
+}
var x: number | string = 4;
class Array { concat(items:number | string) {}; }
var x: () => number | () => string = fn;
diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/options.json b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/options.json
new file mode 100644
index 0000000000..8bbb3f309f
--- /dev/null
+++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/options.json
@@ -0,0 +1 @@
+{ "plugins": ["transform-flow-strip-types", "syntax-class-properties"] }
diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/output.mjs b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/output.mjs
index 9f1fe551ff..74989f4e7e 100644
--- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/output.mjs
+++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-type-annotations/output.mjs
@@ -123,6 +123,11 @@ class Foo9 {}
class Foo10 {}
+class Foo11 {
+ #prop1;
+ #prop2;
+}
+
var x = 4;
class Array {
diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-typeapp-call/options.json b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-typeapp-call/options.json
index 06f4fa1ede..81c1ea3a22 100644
--- a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-typeapp-call/options.json
+++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/strip-types/strip-typeapp-call/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["syntax-jsx", "syntax-optional-chaining", "transform-flow-strip-types"]
+ "plugins": [
+ "syntax-jsx",
+ "syntax-optional-chaining",
+ "transform-flow-strip-types"
+ ]
}
diff --git a/packages/babel-plugin-transform-for-of/package.json b/packages/babel-plugin-transform-for-of/package.json
index 59a449f720..eda8d9c39c 100644
--- a/packages/babel-plugin-transform-for-of/package.json
+++ b/packages/babel-plugin-transform-for-of/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-for-of",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 for...of to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-for-of",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-for-of/test/fixtures/error/invalid-option/options.json b/packages/babel-plugin-transform-for-of/test/fixtures/error/invalid-option/options.json
index bdd6772e84..2f5c6598ef 100644
--- a/packages/babel-plugin-transform-for-of/test/fixtures/error/invalid-option/options.json
+++ b/packages/babel-plugin-transform-for-of/test/fixtures/error/invalid-option/options.json
@@ -1,4 +1,4 @@
{
- "plugins": [["transform-for-of", { "assumeArray": true, "loose": true}]],
+ "plugins": [["transform-for-of", { "assumeArray": true, "loose": true }]],
"throws": "The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of"
}
diff --git a/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-amd/options.json b/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-amd/options.json
index 9277b9005c..89a0601dc9 100644
--- a/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-amd/options.json
+++ b/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-amd/options.json
@@ -1,7 +1,11 @@
{
- "plugins": [["transform-for-of", {
- "assumeArray": true
- }],
+ "plugins": [
+ [
+ "transform-for-of",
+ {
+ "assumeArray": true
+ }
+ ],
["transform-modules-amd"]
]
}
diff --git a/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-commonjs/options.json b/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-commonjs/options.json
index 867a058d6a..855454080e 100644
--- a/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-commonjs/options.json
+++ b/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/for-of-import-commonjs/options.json
@@ -1,7 +1,11 @@
{
- "plugins": [["transform-for-of", {
- "assumeArray": true
- }],
+ "plugins": [
+ [
+ "transform-for-of",
+ {
+ "assumeArray": true
+ }
+ ],
["transform-modules-commonjs"]
]
}
diff --git a/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/options.json b/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/options.json
index 676ed1a7e9..0d441c779e 100644
--- a/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/options.json
+++ b/packages/babel-plugin-transform-for-of/test/fixtures/for-of-as-array/options.json
@@ -1,6 +1,10 @@
{
- "plugins": [["transform-for-of", {
- "assumeArray": true
- }]
+ "plugins": [
+ [
+ "transform-for-of",
+ {
+ "assumeArray": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-function-name/package.json b/packages/babel-plugin-transform-function-name/package.json
index 4e9e7160e2..d34e1f48c6 100644
--- a/packages/babel-plugin-transform-function-name/package.json
+++ b/packages/babel-plugin-transform-function-name/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-function-name",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Apply ES2015 function.name semantics to all functions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-function-name",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-function-name": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-amd/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-amd/options.json
index c4fc8e0664..206e143728 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-amd/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-amd/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-function-name", "transform-shorthand-properties", "transform-arrow-functions", "transform-modules-amd"]
+ "plugins": [
+ "transform-function-name",
+ "transform-shorthand-properties",
+ "transform-arrow-functions",
+ "transform-modules-amd"
+ ]
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-es6/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-es6/options.json
index f5aa31ca62..787f790f01 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-es6/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-es6/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-function-name", "transform-shorthand-properties", "transform-arrow-functions"]
+ "plugins": [
+ "transform-function-name",
+ "transform-shorthand-properties",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-system/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-system/options.json
index 60615c6e98..49317a23c6 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-system/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-system/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-function-name", "transform-shorthand-properties", "transform-arrow-functions", "transform-modules-systemjs"]
+ "plugins": [
+ "transform-function-name",
+ "transform-shorthand-properties",
+ "transform-arrow-functions",
+ "transform-modules-systemjs"
+ ]
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-umd/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-umd/options.json
index dfcd11cc72..af6f07082f 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-umd/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming-module-umd/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-function-name", "transform-shorthand-properties", "transform-arrow-functions", "transform-modules-umd"]
+ "plugins": [
+ "transform-function-name",
+ "transform-shorthand-properties",
+ "transform-arrow-functions",
+ "transform-modules-umd"
+ ]
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming/options.json
index 213eefa445..a1a9cf3f9b 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/export-default-arrow-renaming/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-function-name", "transform-shorthand-properties", "transform-arrow-functions", "transform-modules-commonjs"]
+ "plugins": [
+ "transform-function-name",
+ "transform-shorthand-properties",
+ "transform-arrow-functions",
+ "transform-modules-commonjs"
+ ]
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform-spec/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform-spec/options.json
index e49c12c03d..7f38a61694 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform-spec/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform-spec/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-function-name", [ "transform-arrow-functions", { "spec": true } ]]
+ "plugins": [
+ "external-helpers",
+ "transform-function-name",
+ ["transform-arrow-functions", { "spec": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform/options.json b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform/options.json
index 1e8e10b3d6..1392ef3ae7 100644
--- a/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform/options.json
+++ b/packages/babel-plugin-transform-function-name/test/fixtures/function-name/with-arrow-functions-transform/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-function-name", "transform-arrow-functions"]
+ "plugins": [
+ "external-helpers",
+ "transform-function-name",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-instanceof/package.json b/packages/babel-plugin-transform-instanceof/package.json
index e3e82b05e9..857295ff80 100644
--- a/packages/babel-plugin-transform-instanceof/package.json
+++ b/packages/babel-plugin-transform-instanceof/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-instanceof",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "This plugin transforms all the ES2015 'instanceof' methods",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-instanceof",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-jscript/package.json b/packages/babel-plugin-transform-jscript/package.json
index 1ec9b1d39d..72c7108e92 100644
--- a/packages/babel-plugin-transform-jscript/package.json
+++ b/packages/babel-plugin-transform-jscript/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-jscript",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel plugin to fix buggy JScript named function expressions",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-jscript",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-jscript/test/fixtures/jscript/options.json b/packages/babel-plugin-transform-jscript/test/fixtures/jscript/options.json
index acc7a10d6e..9010bda65f 100644
--- a/packages/babel-plugin-transform-jscript/test/fixtures/jscript/options.json
+++ b/packages/babel-plugin-transform-jscript/test/fixtures/jscript/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", "transform-block-scoping", "transform-classes", "transform-jscript", "transform-arrow-functions"]
+ "plugins": [
+ "external-helpers",
+ "transform-block-scoping",
+ "transform-classes",
+ "transform-jscript",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-literals/package.json b/packages/babel-plugin-transform-literals/package.json
index 154aa3d084..489c2b7c29 100644
--- a/packages/babel-plugin-transform-literals/package.json
+++ b/packages/babel-plugin-transform-literals/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-literals",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 unicode string and number literals to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-literals",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-member-expression-literals/package.json b/packages/babel-plugin-transform-member-expression-literals/package.json
index e3f2490401..3a5141dae8 100644
--- a/packages/babel-plugin-transform-member-expression-literals/package.json
+++ b/packages/babel-plugin-transform-member-expression-literals/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-member-expression-literals",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Ensure that reserved words are quoted in property accesses",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-member-expression-literals",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-modules-amd/package.json b/packages/babel-plugin-transform-modules-amd/package.json
index c1d5baf415..914f171a10 100644
--- a/packages/babel-plugin-transform-modules-amd/package.json
+++ b/packages/babel-plugin-transform-modules-amd/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-modules-amd",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "This plugin transforms ES2015 modules to AMD",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-amd",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-module-transforms": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-export-from/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-export-from/options.json
index fcacbf0317..4a28969bfe 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-export-from/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-export-from/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-modules-amd", { "noInterop": true }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-modules-amd", { "noInterop": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-import-default-only/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-import-default-only/options.json
index fcacbf0317..4a28969bfe 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-import-default-only/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/amd/noInterop-import-default-only/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-modules-amd", { "noInterop": true }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-modules-amd", { "noInterop": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json
index be939b1999..918617aab9 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json
@@ -2,8 +2,5 @@
"sourceType": "module",
"moduleIds": true,
"moduleId": "my custom module name",
- "plugins": [
- "external-helpers",
- ["transform-modules-amd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-amd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json
index c72a7c5942..c231826eaf 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json
@@ -1,8 +1,5 @@
{
"sourceType": "module",
"moduleIds": true,
- "plugins": [
- "external-helpers",
- ["transform-modules-amd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-amd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json
index 97d5cf98f8..b8c7153c97 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json
@@ -1,9 +1,12 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-amd", {
- "loose": true,
- "noInterop": true
- }]
+ [
+ "transform-modules-amd",
+ {
+ "loose": true,
+ "noInterop": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json
index 97d5cf98f8..b8c7153c97 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json
@@ -1,9 +1,12 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-amd", {
- "loose": true,
- "noInterop": true
- }]
+ [
+ "transform-modules-amd",
+ {
+ "loose": true,
+ "noInterop": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json
index 9597d1c3f2..5570cb0e3f 100644
--- a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json
+++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "external-helpers",
- ["transform-modules-amd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-amd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/package.json b/packages/babel-plugin-transform-modules-commonjs/package.json
index 88f2feddcc..8d6c75e22c 100644
--- a/packages/babel-plugin-transform-modules-commonjs/package.json
+++ b/packages/babel-plugin-transform-modules-commonjs/package.json
@@ -1,24 +1,27 @@
{
"name": "@babel/plugin-transform-modules-commonjs",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "This plugin transforms ES2015 modules to CommonJS",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-module-transforms": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-simple-access": "7.0.0-beta.52"
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-simple-access": "^7.1.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/disable-strict-mode/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/disable-strict-mode/options.json
index 316544afb3..a30f3a8390 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/disable-strict-mode/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/disable-strict-mode/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-modules-commonjs", { "strictMode": false }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-modules-commonjs", { "strictMode": false }]
+ ]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/export-all/input.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/export-all/input.js
new file mode 100644
index 0000000000..f419f4c89c
--- /dev/null
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/export-all/input.js
@@ -0,0 +1,6 @@
+// The fact that this exports both a normal default, and all of the names via
+// re-export is an edge case that is important not to miss. See
+// https://github.com/babel/babel/issues/8306 as an example.
+import _default from 'react';
+export default _default;
+export * from 'react';
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/export-all/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/export-all/output.js
new file mode 100644
index 0000000000..95892f7cc6
--- /dev/null
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/export-all/output.js
@@ -0,0 +1,25 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var _exportNames = {};
+exports.default = void 0;
+
+var _react = babelHelpers.interopRequireWildcard(require("react"));
+
+Object.keys(_react).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
+ Object.defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _react[key];
+ }
+ });
+});
+// The fact that this exports both a normal default, and all of the names via
+// re-export is an edge case that is important not to miss. See
+// https://github.com/babel/babel/issues/8306 as an example.
+var _default2 = _react.default;
+exports.default = _default2;
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/options.json
index 86fc5ff5a4..d456a31683 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/options.json
@@ -1,7 +1,3 @@
{
- "plugins": [
- "transform-modules-commonjs",
- "transform-runtime",
- "./plugin"
- ]
+ "plugins": ["transform-modules-commonjs", "transform-runtime", "./plugin"]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/copy-getters-setters-star/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/copy-getters-setters-star/options.json
index fd06b45cf2..8920c8f09f 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/copy-getters-setters-star/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/copy-getters-setters-star/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["transform-modules-commonjs", { "mjsStrictNamespace": false }]
- ]
+ "plugins": [["transform-modules-commonjs", { "mjsStrictNamespace": false }]]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/module-exports/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/module-exports/options.json
index f022b433fb..de02fc6cc1 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/module-exports/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/module-exports/options.json
@@ -1,8 +1,3 @@
{
- "plugins": [
- [
- "transform-modules-commonjs",
- { "allowCommonJSExports": false }
- ]
- ]
+ "plugins": [["transform-modules-commonjs", { "allowCommonJSExports": false }]]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/options.json
index 8b5e8767af..81e5ce1243 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-modules-commonjs"
- ]
+ "plugins": ["transform-modules-commonjs"]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/noInterop/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/noInterop/options.json
index 3b46be214b..b44830bf61 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/noInterop/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/noInterop/options.json
@@ -1,3 +1,6 @@
{
- "plugins": ["external-helpers", ["transform-modules-commonjs", { "noInterop": true }]]
+ "plugins": [
+ "external-helpers",
+ ["transform-modules-commonjs", { "noInterop": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/T7165/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/T7165/options.json
index 71479330ea..ca258de59a 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/T7165/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/T7165/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-block-scoping",
- "transform-modules-commonjs"
- ]
+ "plugins": ["transform-block-scoping", "transform-modules-commonjs"]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/lazy-7176/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/lazy-7176/options.json
index 4d4cb95420..cf7a7ac366 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/lazy-7176/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/regression/lazy-7176/options.json
@@ -1,6 +1,6 @@
{
"plugins": [
- ["transform-modules-commonjs", {"lazy": true}],
+ ["transform-modules-commonjs", { "lazy": true }],
"external-helpers"
]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/export-all/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/export-all/options.json
index 71479330ea..ca258de59a 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/export-all/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/export-all/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-block-scoping",
- "transform-modules-commonjs"
- ]
+ "plugins": ["transform-block-scoping", "transform-modules-commonjs"]
}
diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/options.json
index 1654d4e359..caedc022ef 100644
--- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/options.json
+++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/strict/options.json
@@ -2,6 +2,9 @@
"plugins": [
"external-helpers",
"syntax-object-rest-spread",
- ["transform-modules-commonjs", { "strict": true, "mjsStrictNamespace": false }]
+ [
+ "transform-modules-commonjs",
+ { "strict": true, "mjsStrictNamespace": false }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-systemjs/package.json b/packages/babel-plugin-transform-modules-systemjs/package.json
index 492516f44a..ea52c659ec 100644
--- a/packages/babel-plugin-transform-modules-systemjs/package.json
+++ b/packages/babel-plugin-transform-modules-systemjs/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-modules-systemjs",
- "version": "7.0.0-beta.52",
+ "version": "7.1.3",
"description": "This plugin transforms ES2015 modules to SystemJS",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-systemjs",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-hoist-variables": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-hoist-variables": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/plugin-syntax-dynamic-import": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-modules-systemjs/src/index.js b/packages/babel-plugin-transform-modules-systemjs/src/index.js
index 5f93094be5..242d132163 100644
--- a/packages/babel-plugin-transform-modules-systemjs/src/index.js
+++ b/packages/babel-plugin-transform-modules-systemjs/src/index.js
@@ -332,8 +332,23 @@ export default declare((api, options) => {
const nodes = [];
for (const specifier of specifiers) {
- // only globals exported this way
- if (!path.scope.getBinding(specifier.local.name)) {
+ const binding = path.scope.getBinding(
+ specifier.local.name,
+ );
+ // hoisted function export
+ if (
+ binding &&
+ t.isFunctionDeclaration(binding.path.node)
+ ) {
+ beforeBody.push(
+ buildExportCall(
+ specifier.exported.name,
+ t.cloneNode(specifier.local),
+ ),
+ );
+ }
+ // only globals also exported this way
+ else if (!binding) {
nodes.push(
buildExportCall(
specifier.exported.name,
diff --git a/packages/babel-plugin-transform-modules-systemjs/test/fixtures/dynamic-import/options.json b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/dynamic-import/options.json
index d9d5e3ac62..7513a834e4 100644
--- a/packages/babel-plugin-transform-modules-systemjs/test/fixtures/dynamic-import/options.json
+++ b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/dynamic-import/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["external-helpers", "syntax-dynamic-import", "syntax-import-meta", "transform-modules-systemjs"]
+ "plugins": [
+ "external-helpers",
+ "syntax-dynamic-import",
+ "syntax-import-meta",
+ "transform-modules-systemjs"
+ ]
}
diff --git a/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-const-destructuring-object-rest/options.json b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-const-destructuring-object-rest/options.json
index e0c8a716c7..09137adf8d 100644
--- a/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-const-destructuring-object-rest/options.json
+++ b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-const-destructuring-object-rest/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-modules-systemjs", "syntax-object-rest-spread"]
+ "plugins": [
+ "external-helpers",
+ "transform-modules-systemjs",
+ "syntax-object-rest-spread"
+ ]
}
diff --git a/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-fn-decl/input.mjs b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-fn-decl/input.mjs
new file mode 100644
index 0000000000..3c230f1867
--- /dev/null
+++ b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-fn-decl/input.mjs
@@ -0,0 +1,10 @@
+var testProp = 'test property';
+
+function testFunc() {
+ return 'test function';
+}
+
+export {
+ testFunc,
+ testProp
+};
diff --git a/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-fn-decl/output.mjs b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-fn-decl/output.mjs
new file mode 100644
index 0000000000..c3c2159be3
--- /dev/null
+++ b/packages/babel-plugin-transform-modules-systemjs/test/fixtures/systemjs/export-fn-decl/output.mjs
@@ -0,0 +1,18 @@
+System.register([], function (_export, _context) {
+ "use strict";
+
+ var testProp;
+
+ function testFunc() {
+ return 'test function';
+ }
+
+ _export("testFunc", testFunc);
+
+ return {
+ setters: [],
+ execute: function () {
+ _export("testProp", testProp = 'test property');
+ }
+ };
+});
\ No newline at end of file
diff --git a/packages/babel-plugin-transform-modules-umd/package.json b/packages/babel-plugin-transform-modules-umd/package.json
index 72bf8993a1..f34a56f25a 100644
--- a/packages/babel-plugin-transform-modules-umd/package.json
+++ b/packages/babel-plugin-transform-modules-umd/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-modules-umd",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "This plugin transforms ES2015 modules to UMD",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-umd",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-module-transforms": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-module-transforms": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json
index b053905b03..039bece2c3 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json
@@ -2,8 +2,5 @@
"sourceType": "module",
"moduleIds": true,
"moduleId": "my custom module name",
- "plugins": [
- "external-helpers",
- ["transform-modules-umd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-umd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json
index d1283677d8..35718196f4 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json
@@ -1,13 +1,16 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "foo-bar": "fooBAR",
- "./mylib/foo-bar": "mylib.fooBar",
- "fizzbuzz": "fizz.buzz"
- },
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "foo-bar": "fooBAR",
+ "./mylib/foo-bar": "mylib.fooBar",
+ "fizzbuzz": "fizz.buzz"
+ },
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json
index f035809469..5206c894ed 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json
@@ -1,14 +1,17 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "foo-bar": "fooBAR",
- "./mylib/foo-bar": "mylib.fooBar",
- "fizzbuzz": "fizz.buzz"
- },
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "foo-bar": "fooBAR",
+ "./mylib/foo-bar": "mylib.fooBar",
+ "fizzbuzz": "fizz.buzz"
+ },
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json
index b0038cc813..3ac6242c2e 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json
@@ -1,9 +1,12 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json
index c65dd5d94e..81f94c6a3f 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json
@@ -1,13 +1,16 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "my custom module name": "foo.bar"
- },
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "my custom module name": "foo.bar"
+ },
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
],
"moduleId": "my custom module name"
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json
index cfe7588ad5..c41e884c8f 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json
@@ -1,13 +1,16 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "my custom module name": "foo.bar.baz.qux"
- },
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "my custom module name": "foo.bar.baz.qux"
+ },
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
],
"moduleId": "my custom module name"
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json
index cb7f46a5ca..02190d5d1d 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json
@@ -1,13 +1,16 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "my custom module name": "baz"
- },
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "my custom module name": "baz"
+ },
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
],
"moduleId": "my custom module name"
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json
index 895e18b863..ffec5e61b8 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json
@@ -1,8 +1,5 @@
{
"sourceType": "module",
"moduleId": "MyLib",
- "plugins": [
- "external-helpers",
- ["transform-modules-umd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-umd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json
index 83141a3a9b..745ff7a7ea 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json
@@ -1,13 +1,16 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "umd/module-name-with-overridden-global/expected": "baz"
- },
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "umd/module-name-with-overridden-global/expected": "baz"
+ },
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
],
"moduleIds": true
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json
index ab68188b07..6ee8c312f9 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json
@@ -1,8 +1,5 @@
{
"sourceType": "module",
"moduleIds": true,
- "plugins": [
- "external-helpers",
- ["transform-modules-umd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-umd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json
index 5adcd9509c..4558224b4d 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "external-helpers",
- ["transform-modules-umd", { "loose": true }]
- ]
+ "plugins": ["external-helpers", ["transform-modules-umd", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json
index 4ca1bb3aaa..3b9f778ff8 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json
@@ -1,12 +1,15 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "actual": "baz"
- },
- "exactGlobals": true,
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "actual": "baz"
+ },
+ "exactGlobals": true,
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json
index b6bc2d2586..d7bd8e05b2 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json
@@ -1,11 +1,14 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "es6-promise": "Promise"
- },
- "loose": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "es6-promise": "Promise"
+ },
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-false-with-overrides/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-false-with-overrides/options.json
index b5e7fbec60..9150394dc9 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-false-with-overrides/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-false-with-overrides/options.json
@@ -1,12 +1,15 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "foo-bar": "fooBAR",
- "./mylib/foo-bar": "mylib.fooBar",
- "fizzbuzz": "fizz.buzz"
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "foo-bar": "fooBAR",
+ "./mylib/foo-bar": "mylib.fooBar",
+ "fizzbuzz": "fizz.buzz"
+ }
}
- }]
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true-with-overrides/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true-with-overrides/options.json
index c5be69b192..291cf1a9f0 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true-with-overrides/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true-with-overrides/options.json
@@ -1,13 +1,16 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "foo-bar": "fooBAR",
- "./mylib/foo-bar": "mylib.fooBar",
- "fizzbuzz": "fizz.buzz"
- },
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "foo-bar": "fooBAR",
+ "./mylib/foo-bar": "mylib.fooBar",
+ "fizzbuzz": "fizz.buzz"
+ },
+ "exactGlobals": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true/options.json
index 0155b429f0..37d2c6f3de 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/imports-exact-globals-true/options.json
@@ -1,8 +1,11 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "exactGlobals": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-namespace/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-namespace/options.json
index 268451f559..bfb7432560 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-namespace/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-namespace/options.json
@@ -1,12 +1,15 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "my custom module name": "foo.bar"
- },
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "my custom module name": "foo.bar"
+ },
+ "exactGlobals": true
+ }
+ ]
],
"moduleId": "my custom module name"
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-very-nested-namespace/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-very-nested-namespace/options.json
index 9d933e14aa..13f94a5fe6 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-very-nested-namespace/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global-in-very-nested-namespace/options.json
@@ -1,12 +1,15 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "my custom module name": "foo.bar.baz.qux"
- },
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "my custom module name": "foo.bar.baz.qux"
+ },
+ "exactGlobals": true
+ }
+ ]
],
"moduleId": "my custom module name"
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global/options.json
index 7ff6be6934..13966c9b1a 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-id-with-overridden-global/options.json
@@ -1,12 +1,15 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "my custom module name": "baz"
- },
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "my custom module name": "baz"
+ },
+ "exactGlobals": true
+ }
+ ]
],
"moduleId": "my custom module name"
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-name-with-overridden-global/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-name-with-overridden-global/options.json
index 8f52e708b1..369639e804 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-name-with-overridden-global/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/module-name-with-overridden-global/options.json
@@ -1,12 +1,15 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "umd/module-name-with-overridden-global/expected": "baz"
- },
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "umd/module-name-with-overridden-global/expected": "baz"
+ },
+ "exactGlobals": true
+ }
+ ]
],
"moduleIds": true
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-export-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-export-name/options.json
index ecacc2971d..779b17b7ea 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-export-name/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-export-name/options.json
@@ -1,11 +1,14 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
- "actual": "baz"
- },
- "exactGlobals": true
- }]
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
+ "actual": "baz"
+ },
+ "exactGlobals": true
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-import-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-import-name/options.json
index b0885c00c5..4805fd1648 100644
--- a/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-import-name/options.json
+++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/umd/override-import-name/options.json
@@ -1,10 +1,13 @@
{
"plugins": [
"external-helpers",
- ["transform-modules-umd", {
- "globals": {
+ [
+ "transform-modules-umd",
+ {
+ "globals": {
"es6-promise": "Promise"
}
- }]
+ }
+ ]
]
}
diff --git a/packages/babel-plugin-transform-new-target/package.json b/packages/babel-plugin-transform-new-target/package.json
index d039335bc1..136faddc72 100644
--- a/packages/babel-plugin-transform-new-target/package.json
+++ b/packages/babel-plugin-transform-new-target/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-new-target",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Transforms new.target meta property",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-new-target",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-arrow-functions": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/plugin-proposal-class-properties": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-new-target/test/fixtures/general/class-properties/options.json b/packages/babel-plugin-transform-new-target/test/fixtures/general/class-properties/options.json
index 62f4583367..fafe51d4fb 100644
--- a/packages/babel-plugin-transform-new-target/test/fixtures/general/class-properties/options.json
+++ b/packages/babel-plugin-transform-new-target/test/fixtures/general/class-properties/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-new-target", "transform-arrow-functions", ["proposal-class-properties", {"loose": true}]]
+ "plugins": [
+ "transform-new-target",
+ "transform-arrow-functions",
+ ["proposal-class-properties", { "loose": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-object-assign/package.json b/packages/babel-plugin-transform-object-assign/package.json
index 6a67c27779..bc74f3a914 100644
--- a/packages/babel-plugin-transform-object-assign/package.json
+++ b/packages/babel-plugin-transform-object-assign/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-object-assign",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Replace Object.assign with an inline helper",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-assign",
"author": "Jed Watson",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-object-set-prototype-of-to-assign/LICENSE b/packages/babel-plugin-transform-object-set-prototype-of-to-assign/LICENSE
deleted file mode 100644
index 369e18d942..0000000000
--- a/packages/babel-plugin-transform-object-set-prototype-of-to-assign/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2015 Sebastian McKenzie
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/packages/babel-plugin-transform-object-set-prototype-of-to-assign/package.json b/packages/babel-plugin-transform-object-set-prototype-of-to-assign/package.json
index 9e652f57a8..cccc0e77f0 100644
--- a/packages/babel-plugin-transform-object-set-prototype-of-to-assign/package.json
+++ b/packages/babel-plugin-transform-object-set-prototype-of-to-assign/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-object-set-prototype-of-to-assign",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Turn Object.setPrototypeOf to assignments",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-set-prototype-of-to-assign",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-object-super/package.json b/packages/babel-plugin-transform-object-super/package.json
index 717a368520..7c8a090d2c 100644
--- a/packages/babel-plugin-transform-object-super/package.json
+++ b/packages/babel-plugin-transform-object-super/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-object-super",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Compile ES2015 object super to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-super",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-replace-supers": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-replace-supers": "^7.1.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/options.json b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/options.json
index 57174b351e..6109d3e790 100644
--- a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/options.json
+++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-object-super", "transform-shorthand-properties"]
+ "plugins": [
+ "external-helpers",
+ "transform-object-super",
+ "transform-shorthand-properties"
+ ]
}
diff --git a/packages/babel-plugin-transform-parameters/package.json b/packages/babel-plugin-transform-parameters/package.json
index 1a11dd79d0..be76841ecf 100644
--- a/packages/babel-plugin-transform-parameters/package.json
+++ b/packages/babel-plugin-transform-parameters/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-parameters",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Compile ES2015 default and rest parameters to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-call-delegate": "7.0.0-beta.52",
- "@babel/helper-get-function-arity": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-call-delegate": "^7.1.0",
+ "@babel/helper-get-function-arity": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-parameters/src/params.js b/packages/babel-plugin-transform-parameters/src/params.js
index 391c87160e..000a8505a5 100644
--- a/packages/babel-plugin-transform-parameters/src/params.js
+++ b/packages/babel-plugin-transform-parameters/src/params.js
@@ -60,7 +60,8 @@ export default function convertFunctionParams(path, loose) {
for (let i = 0; i < params.length; i++) {
const param = params[i];
- if (param.isAssignmentPattern() && loose) {
+ const paramIsAssignmentPattern = param.isAssignmentPattern();
+ if (paramIsAssignmentPattern && (loose || node.kind === "set")) {
const left = param.get("left");
const right = param.get("right");
@@ -87,13 +88,12 @@ export default function convertFunctionParams(path, loose) {
);
param.replaceWith(paramName);
}
- } else if (param.isAssignmentPattern()) {
+ } else if (paramIsAssignmentPattern) {
if (firstOptionalIndex === null) firstOptionalIndex = i;
const left = param.get("left");
const right = param.get("right");
- //
if (!state.iife) {
if (right.isIdentifier() && !isSafeBinding(scope, right.node)) {
// the right hand side references a parameter
diff --git a/packages/babel-plugin-transform-parameters/src/rest.js b/packages/babel-plugin-transform-parameters/src/rest.js
index 4f0817b857..da85c7e5ad 100644
--- a/packages/babel-plugin-transform-parameters/src/rest.js
+++ b/packages/babel-plugin-transform-parameters/src/rest.js
@@ -228,10 +228,20 @@ export default function convertFunctionRest(path) {
const { node, scope } = path;
if (!hasRest(node)) return false;
- const rest = node.params.pop().argument;
+ let rest = node.params.pop().argument;
const argsId = t.identifier("arguments");
+ if (t.isPattern(rest)) {
+ const pattern = rest;
+ rest = scope.generateUidIdentifier("ref");
+
+ const declar = t.variableDeclaration("let", [
+ t.variableDeclarator(pattern, rest),
+ ]);
+ node.body.body.unshift(declar);
+ }
+
// check and optimise for extremely common cases
const state = {
references: [],
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/exec.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/exec.js
new file mode 100644
index 0000000000..f11b28a623
--- /dev/null
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/exec.js
@@ -0,0 +1,9 @@
+const defaultValue = 1;
+const obj = {
+ set field(num = defaultValue) {
+ this.num = num;
+ }
+};
+obj.field = void 0;
+
+expect(obj.num).toBe(defaultValue);
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/input.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/input.js
new file mode 100644
index 0000000000..d2fd1cdef5
--- /dev/null
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/input.js
@@ -0,0 +1,5 @@
+const obj = {
+ set field(num = 1) {
+ this.num = num;
+ }
+};
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/output.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/output.js
new file mode 100644
index 0000000000..d55125d953
--- /dev/null
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/default-setter/output.js
@@ -0,0 +1,10 @@
+var obj = {
+ set field(num) {
+ if (num === void 0) {
+ num = 1;
+ }
+
+ this.num = num;
+ }
+
+};
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/regression-4634/options.json b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/regression-4634/options.json
index 8782f08686..058bc43b27 100644
--- a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/regression-4634/options.json
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/regression-4634/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["syntax-flow", "transform-flow-strip-types", "transform-parameters", "transform-destructuring", "transform-arrow-functions"]
+ "plugins": [
+ "syntax-flow",
+ "transform-flow-strip-types",
+ "transform-parameters",
+ "transform-destructuring",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-arrow-functions/options.json b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-arrow-functions/options.json
index c1a83eb8fb..51a1d6759c 100644
--- a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-arrow-functions/options.json
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-arrow-functions/options.json
@@ -1,6 +1,6 @@
{
"plugins": [
- ["proposal-class-properties", {"loose": true}],
+ ["proposal-class-properties", { "loose": true }],
"external-helpers",
"syntax-flow",
"transform-parameters",
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json
index 367061ac52..a2a7a5798b 100644
--- a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-async-arrow-functions/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["external-helpers", "transform-parameters", "transform-async-to-generator", "transform-arrow-functions"]
+ "plugins": [
+ "external-helpers",
+ "transform-parameters",
+ "transform-async-to-generator",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/exec.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/exec.js
new file mode 100644
index 0000000000..dcb3e1a319
--- /dev/null
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/exec.js
@@ -0,0 +1,5 @@
+function foo(...{ length }) {
+ return length;
+}
+
+expect(foo(1, 2, 3)).toEqual(3);
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/input.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/input.js
new file mode 100644
index 0000000000..a19bb5e1f2
--- /dev/null
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/input.js
@@ -0,0 +1 @@
+function foo(...[a]) {}
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/output.js b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/output.js
new file mode 100644
index 0000000000..ba8bf6bb3f
--- /dev/null
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/parameters/rest-patterns/output.js
@@ -0,0 +1,7 @@
+function foo() {
+ for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
+ _ref[_key] = arguments[_key];
+ }
+
+ var a = _ref[0];
+}
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/regression/4209/options.json b/packages/babel-plugin-transform-parameters/test/fixtures/regression/4209/options.json
index 00f205c1f4..b677ef4810 100644
--- a/packages/babel-plugin-transform-parameters/test/fixtures/regression/4209/options.json
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/regression/4209/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["transform-parameters", "transform-classes", "transform-modules-commonjs", "transform-block-scoping"]
+ "plugins": [
+ "transform-parameters",
+ "transform-classes",
+ "transform-modules-commonjs",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/default-assignment-with-types/options.json b/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/default-assignment-with-types/options.json
index 2b03e13029..9fae0859ab 100644
--- a/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/default-assignment-with-types/options.json
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/default-assignment-with-types/options.json
@@ -1,6 +1,6 @@
{
"plugins": [
"transform-flow-strip-types",
- ["transform-parameters", { "loose": true } ]
+ ["transform-parameters", { "loose": true }]
]
}
diff --git a/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/options.json b/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/options.json
index 1205784cd1..aa8f6cf317 100644
--- a/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/options.json
+++ b/packages/babel-plugin-transform-parameters/test/fixtures/use-loose-option/options.json
@@ -3,7 +3,7 @@
"proposal-class-properties",
"external-helpers",
"syntax-flow",
- ["transform-parameters", { "loose": true } ],
+ ["transform-parameters", { "loose": true }],
"transform-block-scoping",
"transform-spread",
"transform-classes",
diff --git a/packages/babel-plugin-transform-property-literals/package.json b/packages/babel-plugin-transform-property-literals/package.json
index d56080f01b..0235e684a0 100644
--- a/packages/babel-plugin-transform-property-literals/package.json
+++ b/packages/babel-plugin-transform-property-literals/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-property-literals",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Ensure that reserved words are quoted in object property keys",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-literals",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-property-mutators/package.json b/packages/babel-plugin-transform-property-mutators/package.json
index e3234ffd9a..65aee855b5 100644
--- a/packages/babel-plugin-transform-property-mutators/package.json
+++ b/packages/babel-plugin-transform-property-mutators/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-property-mutators",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Compile ES5 property mutator shorthand syntax to Object.defineProperty",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-mutators",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-define-map": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-define-map": "^7.1.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-proto-to-assign/package.json b/packages/babel-plugin-transform-proto-to-assign/package.json
index efbb2c6a3e..c596e62820 100644
--- a/packages/babel-plugin-transform-proto-to-assign/package.json
+++ b/packages/babel-plugin-transform-proto-to-assign/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-proto-to-assign",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel plugin for turning __proto__ into a shallow property clone",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-proto-to-assign",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/package.json b/packages/babel-plugin-transform-react-constant-elements/package.json
index 71b9ba5944..8d275fc766 100644
--- a/packages/babel-plugin-transform-react-constant-elements/package.json
+++ b/packages/babel-plugin-transform-react-constant-elements/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-react-constant-elements",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Treat React JSX elements as value types and hoist them to the highest scope",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-constant-elements",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/async-function/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/async-function/options.json
index e85df790bc..65bce83086 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/async-function/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/async-function/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-async-to-generator", "transform-react-constant-elements", "syntax-jsx"]
+ "plugins": [
+ "transform-async-to-generator",
+ "transform-react-constant-elements",
+ "syntax-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/class-assign-unreferenced-param-deopt/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/class-assign-unreferenced-param-deopt/options.json
index 3f36f45dbb..d0289c551e 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/class-assign-unreferenced-param-deopt/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/class-assign-unreferenced-param-deopt/options.json
@@ -1,3 +1,7 @@
{
- "plugins": [["proposal-class-properties", {"loose": true}], "transform-react-constant-elements", "syntax-jsx"]
+ "plugins": [
+ ["proposal-class-properties", { "loose": true }],
+ "transform-react-constant-elements",
+ "syntax-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/inline-elements/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/inline-elements/options.json
index 533a4539e5..019738130a 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/inline-elements/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/inline-elements/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["transform-react-constant-elements", "transform-react-inline-elements", "syntax-jsx"]
+ "plugins": [
+ "transform-react-constant-elements",
+ "transform-react-inline-elements",
+ "syntax-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression-this/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression-this/options.json
index ae2e4d6195..9045ec477f 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression-this/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression-this/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["syntax-jsx", "transform-react-constant-elements", ["proposal-class-properties", {"loose": true}]]
+ "plugins": [
+ "syntax-jsx",
+ "transform-react-constant-elements",
+ ["proposal-class-properties", { "loose": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression/options.json
index ae2e4d6195..9045ec477f 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/member-expression/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["syntax-jsx", "transform-react-constant-elements", ["proposal-class-properties", {"loose": true}]]
+ "plugins": [
+ "syntax-jsx",
+ "transform-react-constant-elements",
+ ["proposal-class-properties", { "loose": true }]
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-multi/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-multi/options.json
index 159e5bbbe8..ded6f4943f 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-multi/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-multi/options.json
@@ -1,4 +1,8 @@
{
-
- "plugins": ["transform-destructuring", "transform-parameters", "transform-react-constant-elements", "syntax-jsx"]
+ "plugins": [
+ "transform-destructuring",
+ "transform-parameters",
+ "transform-react-constant-elements",
+ "syntax-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-rest/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-rest/options.json
index e03716d5e2..1b0cc13a7a 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-rest/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-rest/options.json
@@ -1,6 +1,11 @@
{
-
- "plugins": ["transform-destructuring", "transform-parameters",
- "transform-spread", "syntax-object-rest-spread",
- "transform-react-constant-elements", "syntax-jsx", "external-helpers"]
+ "plugins": [
+ "transform-destructuring",
+ "transform-parameters",
+ "transform-spread",
+ "syntax-object-rest-spread",
+ "transform-react-constant-elements",
+ "syntax-jsx",
+ "external-helpers"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-spread-deopt/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-spread-deopt/options.json
index e03716d5e2..1b0cc13a7a 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-spread-deopt/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure-spread-deopt/options.json
@@ -1,6 +1,11 @@
{
-
- "plugins": ["transform-destructuring", "transform-parameters",
- "transform-spread", "syntax-object-rest-spread",
- "transform-react-constant-elements", "syntax-jsx", "external-helpers"]
+ "plugins": [
+ "transform-destructuring",
+ "transform-parameters",
+ "transform-spread",
+ "syntax-object-rest-spread",
+ "transform-react-constant-elements",
+ "syntax-jsx",
+ "external-helpers"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure/options.json
index 159e5bbbe8..ded6f4943f 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/parameter-destructure/options.json
@@ -1,4 +1,8 @@
{
-
- "plugins": ["transform-destructuring", "transform-parameters", "transform-react-constant-elements", "syntax-jsx"]
+ "plugins": [
+ "transform-destructuring",
+ "transform-parameters",
+ "transform-react-constant-elements",
+ "syntax-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-deopt/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-deopt/options.json
index 61a6bd63f4..c1df201efa 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-deopt/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-deopt/options.json
@@ -1,7 +1,9 @@
{
-
"plugins": [
- ["transform-react-constant-elements", {"allowMutablePropsOnTags": ["FormattedNumber"]}],
+ [
+ "transform-react-constant-elements",
+ { "allowMutablePropsOnTags": ["FormattedNumber"] }
+ ],
"syntax-jsx"
]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-member/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-member/options.json
index f690dd8c34..350e923744 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-member/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist-member/options.json
@@ -1,7 +1,9 @@
{
-
"plugins": [
- ["transform-react-constant-elements", {"allowMutablePropsOnTags": ["FormattedMessage"]}],
+ [
+ "transform-react-constant-elements",
+ { "allowMutablePropsOnTags": ["FormattedMessage"] }
+ ],
"syntax-jsx"
]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist/options.json
index f690dd8c34..350e923744 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/pure-expression-whitelist/options.json
@@ -1,7 +1,9 @@
{
-
"plugins": [
- ["transform-react-constant-elements", {"allowMutablePropsOnTags": ["FormattedMessage"]}],
+ [
+ "transform-react-constant-elements",
+ { "allowMutablePropsOnTags": ["FormattedMessage"] }
+ ],
"syntax-jsx"
]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json
index 60d815dd9a..72ce72ca0b 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-react-jsx",
- "transform-react-constant-elements"
- ]
+ "plugins": ["transform-react-jsx", "transform-react-constant-elements"]
}
diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json
index 60d815dd9a..72ce72ca0b 100644
--- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json
+++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-react-jsx",
- "transform-react-constant-elements"
- ]
+ "plugins": ["transform-react-jsx", "transform-react-constant-elements"]
}
diff --git a/packages/babel-plugin-transform-react-display-name/package.json b/packages/babel-plugin-transform-react-display-name/package.json
index f68883304e..55f2ddf5ed 100644
--- a/packages/babel-plugin-transform-react-display-name/package.json
+++ b/packages/babel-plugin-transform-react-display-name/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-react-display-name",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Add displayName to React.createClass calls",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-display-name",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-inline-elements/package.json b/packages/babel-plugin-transform-react-inline-elements/package.json
index 9a3bbedcba..bd010d7115 100644
--- a/packages/babel-plugin-transform-react-inline-elements/package.json
+++ b/packages/babel-plugin-transform-react-inline-elements/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-react-inline-elements",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Turn JSX elements into exploded React objects",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-inline-elements",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-builder-react-jsx": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-builder-react-jsx": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-inline-elements/test/fixtures/options.json b/packages/babel-plugin-transform-react-inline-elements/test/fixtures/options.json
index c0159ffbdb..ba074de5fb 100644
--- a/packages/babel-plugin-transform-react-inline-elements/test/fixtures/options.json
+++ b/packages/babel-plugin-transform-react-inline-elements/test/fixtures/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["external-helpers", "syntax-jsx", "transform-react-inline-elements", "transform-react-jsx"]
+ "plugins": [
+ "external-helpers",
+ "syntax-jsx",
+ "transform-react-inline-elements",
+ "transform-react-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-jsx-compat/package.json b/packages/babel-plugin-transform-react-jsx-compat/package.json
index aa2c6b84a3..e33913bfa0 100644
--- a/packages/babel-plugin-transform-react-jsx-compat/package.json
+++ b/packages/babel-plugin-transform-react-jsx-compat/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-react-jsx-compat",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Turn JSX into React Pre-0.12 function calls",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-compat",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-builder-react-jsx": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-builder-react-jsx": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-jsx-self/package.json b/packages/babel-plugin-transform-react-jsx-self/package.json
index 58f1633205..cd7245e2c6 100644
--- a/packages/babel-plugin-transform-react-jsx-self/package.json
+++ b/packages/babel-plugin-transform-react-jsx-self/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-react-jsx-self",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Add a __self prop to all JSX Elements",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-self",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-jsx": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-jsx-source/package.json b/packages/babel-plugin-transform-react-jsx-source/package.json
index 55214273c6..e8c1bf58df 100644
--- a/packages/babel-plugin-transform-react-jsx-source/package.json
+++ b/packages/babel-plugin-transform-react-jsx-source/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-react-jsx-source",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Add a __source prop to all JSX Elements",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-source",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-jsx": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-jsx-source/src/index.js b/packages/babel-plugin-transform-react-jsx-source/src/index.js
index 71add8d1b5..70820c61e0 100644
--- a/packages/babel-plugin-transform-react-jsx-source/src/index.js
+++ b/packages/babel-plugin-transform-react-jsx-source/src/index.js
@@ -59,10 +59,13 @@ export default declare(api => {
const fileNameIdentifier = path.scope.generateUidIdentifier(
FILE_NAME_VAR,
);
- path.hub.file.scope.push({
- id: fileNameIdentifier,
- init: t.stringLiteral(fileName),
- });
+ const scope = path.hub.getScope();
+ if (scope) {
+ scope.push({
+ id: fileNameIdentifier,
+ init: t.stringLiteral(fileName),
+ });
+ }
state.fileNameIdentifier = fileNameIdentifier;
}
diff --git a/packages/babel-plugin-transform-react-jsx/package.json b/packages/babel-plugin-transform-react-jsx/package.json
index f8b0a6d7bd..31b772d4c4 100644
--- a/packages/babel-plugin-transform-react-jsx/package.json
+++ b/packages/babel-plugin-transform-react-jsx/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-react-jsx",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Turn JSX into React function calls",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-builder-react-jsx": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-jsx": "7.0.0-beta.52"
+ "@babel/helper-builder-react-jsx": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json b/packages/babel-plugin-transform-react-jsx/test/fixtures/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json
index e307cfbd7b..17c61ec6cf 100644
--- a/packages/babel-plugin-transform-react-jsx/test/fixtures/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/react/honor-custom-jsx-comment-if-jsx-pragma-option-set/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- ["transform-react-jsx", {"pragma": "foo.bar"}]
- ]
-}
\ No newline at end of file
+ "plugins": [["transform-react-jsx", { "pragma": "foo.bar" }]]
+}
diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/react/optimisation.react.constant-elements/options.json b/packages/babel-plugin-transform-react-jsx/test/fixtures/react/optimisation.react.constant-elements/options.json
index 2bd190eedc..35f1579a97 100644
--- a/packages/babel-plugin-transform-react-jsx/test/fixtures/react/optimisation.react.constant-elements/options.json
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/react/optimisation.react.constant-elements/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["external-helpers", "transform-react-constant-elements", "transform-classes", "syntax-jsx"]
+ "plugins": [
+ "external-helpers",
+ "transform-react-constant-elements",
+ "transform-classes",
+ "syntax-jsx"
+ ]
}
diff --git a/packages/babel-plugin-transform-react-jsx/test/fixtures/react/options.json b/packages/babel-plugin-transform-react-jsx/test/fixtures/react/options.json
index 5296f7058a..2266a21df9 100644
--- a/packages/babel-plugin-transform-react-jsx/test/fixtures/react/options.json
+++ b/packages/babel-plugin-transform-react-jsx/test/fixtures/react/options.json
@@ -1,3 +1,9 @@
{
- "plugins": ["external-helpers", "syntax-jsx", "transform-react-jsx", "transform-react-display-name", "transform-arrow-functions"]
+ "plugins": [
+ "external-helpers",
+ "syntax-jsx",
+ "transform-react-jsx",
+ "transform-react-display-name",
+ "transform-arrow-functions"
+ ]
}
diff --git a/packages/babel-plugin-transform-regenerator/package.json b/packages/babel-plugin-transform-regenerator/package.json
index d7c9c2eae2..8a7e6dbe76 100644
--- a/packages/babel-plugin-transform-regenerator/package.json
+++ b/packages/babel-plugin-transform-regenerator/package.json
@@ -2,7 +2,7 @@
"name": "@babel/plugin-transform-regenerator",
"author": "Ben Newman ",
"description": "Explode async and generator functions into a state machine.",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"homepage": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator",
"main": "lib/index.js",
@@ -10,11 +10,14 @@
"regenerator-transform": "^0.13.3"
},
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json
index 2d12be1f55..9e14e1cefa 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/arrow-inside-generator/options.json
@@ -1,5 +1,3 @@
{
- "plugins": [
- "transform-regenerator"
- ]
+ "plugins": ["transform-regenerator"]
}
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/class-argument-scope/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/class-argument-scope/options.json
index b207aefdde..002b4aa0d5 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/class-argument-scope/options.json
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/class-argument-scope/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- "env"
- ]
+ "presets": ["env"]
}
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/function-sent/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/function-sent/options.json
index cf3901e90c..521191edd0 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/function-sent/options.json
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/function-sent/options.json
@@ -1,3 +1,8 @@
{
- "plugins": ["syntax-function-sent", "transform-regenerator", "transform-parameters", "transform-block-scoping"]
+ "plugins": [
+ "syntax-function-sent",
+ "transform-regenerator",
+ "transform-parameters",
+ "transform-block-scoping"
+ ]
}
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json
index 5e6e8af760..5daf3cffc5 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/4219/options.json
@@ -1,7 +1,7 @@
{
- "plugins": [
- "transform-parameters",
- "transform-spread",
- "transform-regenerator"
- ]
+ "plugins": [
+ "transform-parameters",
+ "transform-spread",
+ "transform-regenerator"
+ ]
}
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/output.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/output.js
index d122e2c481..a67193cb03 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/output.js
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/output.js
@@ -1,12 +1,10 @@
var _regeneratorRuntime = require("@babel/runtime/regenerator");
-var _Object$keys = require("@babel/runtime/core-js/object/keys");
-
var _marked =
/*#__PURE__*/
_regeneratorRuntime.mark(fn);
-_Object$keys({});
+Object.keys({});
function fn() {
return _regeneratorRuntime.wrap(function fn$(_context) {
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/options.json
index b207aefdde..002b4aa0d5 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/options.json
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- "env"
- ]
+ "presets": ["env"]
}
diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/options.json
index 21fd7445e2..10db87c9fe 100644
--- a/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/options.json
+++ b/packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/options.json
@@ -1,6 +1,4 @@
{
- "plugins": [
- "transform-regenerator"
- ],
+ "plugins": ["transform-regenerator"],
"retainLines": true
}
diff --git a/packages/babel-plugin-transform-reserved-words/package.json b/packages/babel-plugin-transform-reserved-words/package.json
index dde8e2ee9f..c5976c3842 100644
--- a/packages/babel-plugin-transform-reserved-words/package.json
+++ b/packages/babel-plugin-transform-reserved-words/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-reserved-words",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Ensure that no reserved words are used.",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-reserved-words",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-runtime/.npmignore b/packages/babel-plugin-transform-runtime/.npmignore
index f980694583..57e1671459 100644
--- a/packages/babel-plugin-transform-runtime/.npmignore
+++ b/packages/babel-plugin-transform-runtime/.npmignore
@@ -1,3 +1,4 @@
+scripts
src
test
*.log
diff --git a/packages/babel-plugin-transform-runtime/package.json b/packages/babel-plugin-transform-runtime/package.json
index 62ceaf9b39..167722dd9c 100644
--- a/packages/babel-plugin-transform-runtime/package.json
+++ b/packages/babel-plugin-transform-runtime/package.json
@@ -1,22 +1,33 @@
{
"name": "@babel/plugin-transform-runtime",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Externalise references to helpers and builtins, automatically polyfilling your code without polluting globals",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-runtime",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-module-imports": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "resolve": "^1.8.1",
+ "semver": "^5.5.1"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/helpers": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.0.0",
+ "@babel/preset-env": "^7.0.0",
+ "@babel/runtime": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "@babel/types": "7.0.0-beta.53"
}
}
diff --git a/packages/babel-plugin-transform-runtime/scripts/build-dist.js b/packages/babel-plugin-transform-runtime/scripts/build-dist.js
new file mode 100644
index 0000000000..4f8375d284
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/scripts/build-dist.js
@@ -0,0 +1,159 @@
+"use strict";
+
+const path = require("path");
+const outputFile = require("output-file-sync");
+const helpers = require("@babel/helpers");
+const babel = require("@babel/core");
+const template = require("@babel/template");
+const t = require("@babel/types");
+
+const transformRuntime = require("../");
+const getCorejs2Definitions = require("../lib/definitions").default;
+const corejs2Definitions = getCorejs2Definitions();
+
+writeHelpers("@babel/runtime");
+
+writeCoreJS2("@babel/runtime-corejs2");
+writeHelpers("@babel/runtime-corejs2", { corejs: 2 });
+
+function writeCoreJS2(runtimeName) {
+ const pkgDirname = getRuntimeRoot(runtimeName);
+
+ const paths = ["is-iterable", "get-iterator"];
+
+ Object.keys(corejs2Definitions.builtins).forEach(key => {
+ const path = corejs2Definitions.builtins[key];
+ paths.push(path);
+ });
+
+ Object.keys(corejs2Definitions.methods).forEach(key => {
+ const props = corejs2Definitions.methods[key];
+ Object.keys(props).forEach(key2 => {
+ paths.push(props[key2]);
+ });
+ });
+
+ paths.forEach(function(corePath) {
+ outputFile(
+ path.join(pkgDirname, "core-js", `${corePath}.js`),
+ `module.exports = require("core-js/library/fn/${corePath}");`
+ );
+ });
+}
+
+function writeHelpers(runtimeName, { corejs } = {}) {
+ writeHelperFiles(runtimeName, { corejs, esm: false });
+ writeHelperFiles(runtimeName, { corejs, esm: true });
+}
+
+function writeHelperFiles(runtimeName, { esm, corejs }) {
+ const pkgDirname = getRuntimeRoot(runtimeName);
+
+ for (const helperName of helpers.list) {
+ const helperFilename = path.join(
+ pkgDirname,
+ "helpers",
+ esm ? "esm" : "",
+ `${helperName}.js`
+ );
+
+ outputFile(
+ helperFilename,
+ buildHelper(runtimeName, pkgDirname, helperFilename, helperName, {
+ esm,
+ corejs,
+ })
+ );
+ }
+}
+
+function getRuntimeRoot(runtimeName) {
+ return path.resolve(
+ __dirname,
+ "..",
+ "..",
+ runtimeName.replace(/^@babel\//, "babel-")
+ );
+}
+
+function buildHelper(
+ runtimeName,
+ pkgDirname,
+ helperFilename,
+ helperName,
+ { esm, corejs }
+) {
+ const tree = t.program([], [], esm ? "module" : "script");
+ const dependencies = {};
+ let bindings = null;
+
+ if (!esm) {
+ bindings = [];
+ for (const dep of helpers.getDependencies(helperName)) {
+ const id = (dependencies[dep] = t.identifier(t.toIdentifier(dep)));
+ tree.body.push(template.statement.ast`
+ var ${id} = require("${`./${dep}`}");
+ `);
+ bindings.push(id.name);
+ }
+ }
+
+ const helper = helpers.get(
+ helperName,
+ dep => dependencies[dep],
+ esm ? null : template.expression.ast`module.exports`,
+ bindings
+ );
+ tree.body.push(...helper.nodes);
+
+ return babel.transformFromAst(tree, null, {
+ presets: [[require("@babel/preset-env"), { modules: false }]],
+ plugins: [
+ [transformRuntime, { corejs, useESModules: esm }],
+ buildRuntimeRewritePlugin(
+ runtimeName,
+ path.relative(path.dirname(helperFilename), pkgDirname),
+ helperName
+ ),
+ ],
+ }).code;
+}
+
+function buildRuntimeRewritePlugin(runtimeName, relativePath, helperName) {
+ function adjustImportPath(node, relativePath) {
+ node.value =
+ helpers.list.indexOf(node.value) !== -1
+ ? `./${node.value}`
+ : node.value.replace(runtimeName + "/", relativePath + "/");
+ }
+
+ return {
+ pre(file) {
+ const original = file.get("helperGenerator");
+ file.set("helperGenerator", name => {
+ // make sure that helpers won't insert circular references to themselves
+ if (name === helperName) return false;
+
+ return original(name);
+ });
+ },
+ visitor: {
+ ImportDeclaration(path) {
+ adjustImportPath(path.get("source").node, relativePath);
+ },
+ CallExpression(path) {
+ if (
+ !path.get("callee").isIdentifier({ name: "require" }) ||
+ path.get("arguments").length !== 1 ||
+ !path.get("arguments")[0].isStringLiteral()
+ ) {
+ return;
+ }
+
+ // replace any reference to @babel/runtime and other helpers
+ // with a relative path
+ adjustImportPath(path.get("arguments")[0].node, relativePath);
+ },
+ },
+ };
+}
diff --git a/packages/babel-plugin-transform-runtime/src/definitions.js b/packages/babel-plugin-transform-runtime/src/definitions.js
index 159c4cde68..ac044910a0 100644
--- a/packages/babel-plugin-transform-runtime/src/definitions.js
+++ b/packages/babel-plugin-transform-runtime/src/definitions.js
@@ -1,180 +1,167 @@
-export default {
- builtins: {
- Symbol: "symbol",
- Promise: "promise",
- Map: "map",
- WeakMap: "weak-map",
- Set: "set",
- WeakSet: "weak-set",
- Observable: "observable",
- setImmediate: "set-immediate",
- clearImmediate: "clear-immediate",
- asap: "asap",
- //parseFloat: "parse-float", // temporary disabled
- //parseInt: "parse-int" // temporary disabled
- },
+import semver from "semver";
- methods: {
- Array: {
- copyWithin: "array/copy-within",
- entries: "array/entries",
- every: "array/every",
- fill: "array/fill",
- filter: "array/filter",
- findIndex: "array/find-index",
- find: "array/find",
- forEach: "array/for-each",
- from: "array/from",
- includes: "array/includes",
- indexOf: "array/index-of",
- //isArray: "array/is-array", // temporary disabled
- join: "array/join",
- keys: "array/keys",
- lastIndexOf: "array/last-index-of",
- map: "array/map",
- of: "array/of",
- reduceRight: "array/reduce-right",
- reduce: "array/reduce",
- some: "array/some",
- sort: "array/sort",
- splice: "array/splice",
- values: "array/values",
+function hasMinVersion(minVersion, runtimeVersion) {
+ // If the range is unavailable, we're running the script during Babel's
+ // build process, and we want to assume that all versions are satisfied so
+ // that the built output will include all definitions.
+ if (!runtimeVersion) return true;
+
+ // semver.intersects() has some surprising behavior with comparing ranges
+ // with preprelease versions. We add '^' to ensure that we are always
+ // comparing ranges with ranges, which sidesteps this logic.
+ // For example:
+ //
+ // semver.intersects(`<7.0.1`, "7.0.0-beta.0") // false - surprising
+ // semver.intersects(`<7.0.1`, "^7.0.0-beta.0") // true - expected
+ //
+ // This is because the first falls back to
+ //
+ // semver.satisfies("7.0.0-beta.0", `<7.0.1`) // false - surprising
+ //
+ // and this fails because a prerelease version can only satisfy a range
+ // if it is a prerelease within the same major/minor/patch range.
+ //
+ // Note: If this is found to have issues, please also revist the logic in
+ // babel-core's availableHelper() API.
+ if (semver.valid(runtimeVersion)) runtimeVersion = `^${runtimeVersion}`;
+
+ return (
+ !semver.intersects(`<${minVersion}`, runtimeVersion) &&
+ !semver.intersects(`>=8.0.0`, runtimeVersion)
+ );
+}
+
+export default runtimeVersion => {
+ // Conditionally include 'Math' because it was not included in the 7.0.0
+ // release of '@babel/runtime'. See issue https://github.com/babel/babel/pull/8616.
+ const includeMathModule = hasMinVersion("7.0.1", runtimeVersion);
+
+ return {
+ builtins: {
+ Symbol: "symbol",
+ Promise: "promise",
+ Map: "map",
+ WeakMap: "weak-map",
+ Set: "set",
+ WeakSet: "weak-set",
+ setImmediate: "set-immediate",
+ clearImmediate: "clear-immediate",
+ parseFloat: "parse-float",
+ parseInt: "parse-int",
},
- JSON: {
- stringify: "json/stringify",
- },
+ methods: {
+ Array: {
+ from: "array/from",
+ isArray: "array/is-array",
+ of: "array/of",
+ },
- Object: {
- assign: "object/assign",
- create: "object/create",
- defineProperties: "object/define-properties",
- defineProperty: "object/define-property",
- entries: "object/entries",
- freeze: "object/freeze",
- getOwnPropertyDescriptor: "object/get-own-property-descriptor",
- getOwnPropertyDescriptors: "object/get-own-property-descriptors",
- getOwnPropertyNames: "object/get-own-property-names",
- getOwnPropertySymbols: "object/get-own-property-symbols",
- getPrototypeOf: "object/get-prototype-of",
- isExtensible: "object/is-extensible",
- isFrozen: "object/is-frozen",
- isSealed: "object/is-sealed",
- is: "object/is",
- keys: "object/keys",
- preventExtensions: "object/prevent-extensions",
- seal: "object/seal",
- setPrototypeOf: "object/set-prototype-of",
- values: "object/values",
- },
+ JSON: {
+ stringify: "json/stringify",
+ },
- Math: {
- acosh: "math/acosh",
- asinh: "math/asinh",
- atanh: "math/atanh",
- cbrt: "math/cbrt",
- clz32: "math/clz32",
- cosh: "math/cosh",
- expm1: "math/expm1",
- fround: "math/fround",
- hypot: "math/hypot",
- imul: "math/imul",
- log10: "math/log10",
- log1p: "math/log1p",
- log2: "math/log2",
- sign: "math/sign",
- sinh: "math/sinh",
- tanh: "math/tanh",
- trunc: "math/trunc",
- iaddh: "math/iaddh",
- isubh: "math/isubh",
- imulh: "math/imulh",
- umulh: "math/umulh",
- },
+ Object: {
+ assign: "object/assign",
+ create: "object/create",
+ defineProperties: "object/define-properties",
+ defineProperty: "object/define-property",
+ entries: "object/entries",
+ freeze: "object/freeze",
+ getOwnPropertyDescriptor: "object/get-own-property-descriptor",
+ getOwnPropertyDescriptors: "object/get-own-property-descriptors",
+ getOwnPropertyNames: "object/get-own-property-names",
+ getOwnPropertySymbols: "object/get-own-property-symbols",
+ getPrototypeOf: "object/get-prototype-of",
+ isExtensible: "object/is-extensible",
+ isFrozen: "object/is-frozen",
+ isSealed: "object/is-sealed",
+ is: "object/is",
+ keys: "object/keys",
+ preventExtensions: "object/prevent-extensions",
+ seal: "object/seal",
+ setPrototypeOf: "object/set-prototype-of",
+ values: "object/values",
+ },
- Symbol: {
- for: "symbol/for",
- hasInstance: "symbol/has-instance",
- isConcatSpreadable: "symbol/is-concat-spreadable",
- iterator: "symbol/iterator",
- keyFor: "symbol/key-for",
- match: "symbol/match",
- replace: "symbol/replace",
- search: "symbol/search",
- species: "symbol/species",
- split: "symbol/split",
- toPrimitive: "symbol/to-primitive",
- toStringTag: "symbol/to-string-tag",
- unscopables: "symbol/unscopables",
- },
+ ...(includeMathModule
+ ? {
+ Math: {
+ acosh: "math/acosh",
+ asinh: "math/asinh",
+ atanh: "math/atanh",
+ cbrt: "math/cbrt",
+ clz32: "math/clz32",
+ cosh: "math/cosh",
+ expm1: "math/expm1",
+ fround: "math/fround",
+ hypot: "math/hypot",
+ imul: "math/imul",
+ log10: "math/log10",
+ log1p: "math/log1p",
+ log2: "math/log2",
+ sign: "math/sign",
+ sinh: "math/sinh",
+ tanh: "math/tanh",
+ trunc: "math/trunc",
+ },
+ }
+ : {}),
- String: {
- at: "string/at",
- codePointAt: "string/code-point-at",
- endsWith: "string/ends-with",
- fromCodePoint: "string/from-code-point",
- includes: "string/includes",
- matchAll: "string/match-all",
- padStart: "string/pad-start",
- padEnd: "string/pad-end",
- raw: "string/raw",
- repeat: "string/repeat",
- startsWith: "string/starts-with",
- trim: "string/trim",
- trimLeft: "string/trim-left",
- trimRight: "string/trim-right",
- trimStart: "string/trim-start",
- trimEnd: "string/trim-end",
- },
+ Symbol: {
+ asyncIterator: "symbol/async-iterator",
+ for: "symbol/for",
+ hasInstance: "symbol/has-instance",
+ isConcatSpreadable: "symbol/is-concat-spreadable",
+ iterator: "symbol/iterator",
+ keyFor: "symbol/key-for",
+ match: "symbol/match",
+ replace: "symbol/replace",
+ search: "symbol/search",
+ species: "symbol/species",
+ split: "symbol/split",
+ toPrimitive: "symbol/to-primitive",
+ toStringTag: "symbol/to-string-tag",
+ unscopables: "symbol/unscopables",
+ },
- Number: {
- EPSILON: "number/epsilon",
- isFinite: "number/is-finite",
- isInteger: "number/is-integer",
- isNaN: "number/is-nan",
- isSafeInteger: "number/is-safe-integer",
- MAX_SAFE_INTEGER: "number/max-safe-integer",
- MIN_SAFE_INTEGER: "number/min-safe-integer",
- parseFloat: "number/parse-float",
- parseInt: "number/parse-int",
- },
+ String: {
+ at: "string/at",
+ fromCodePoint: "string/from-code-point",
+ raw: "string/raw",
+ },
- Reflect: {
- apply: "reflect/apply",
- construct: "reflect/construct",
- defineProperty: "reflect/define-property",
- deleteProperty: "reflect/delete-property",
- getOwnPropertyDescriptor: "reflect/get-own-property-descriptor",
- getPrototypeOf: "reflect/get-prototype-of",
- get: "reflect/get",
- has: "reflect/has",
- isExtensible: "reflect/is-extensible",
- ownKeys: "reflect/own-keys",
- preventExtensions: "reflect/prevent-extensions",
- setPrototypeOf: "reflect/set-prototype-of",
- set: "reflect/set",
- defineMetadata: "reflect/define-metadata",
- deleteMetadata: "reflect/delete-metadata",
- getMetadata: "reflect/get-metadata",
- getMetadataKeys: "reflect/get-metadata-keys",
- getOwnMetadata: "reflect/get-own-metadata",
- getOwnMetadataKeys: "reflect/get-own-metadata-keys",
- hasMetadata: "reflect/has-metadata",
- hasOwnMetadata: "reflect/has-own-metadata",
- metadata: "reflect/metadata",
- },
+ Number: {
+ EPSILON: "number/epsilon",
+ isFinite: "number/is-finite",
+ isInteger: "number/is-integer",
+ isNaN: "number/is-nan",
+ isSafeInteger: "number/is-safe-integer",
+ MAX_SAFE_INTEGER: "number/max-safe-integer",
+ MIN_SAFE_INTEGER: "number/min-safe-integer",
+ parseFloat: "number/parse-float",
+ parseInt: "number/parse-int",
+ },
- System: {
- global: "system/global",
- },
+ Reflect: {
+ apply: "reflect/apply",
+ construct: "reflect/construct",
+ defineProperty: "reflect/define-property",
+ deleteProperty: "reflect/delete-property",
+ getOwnPropertyDescriptor: "reflect/get-own-property-descriptor",
+ getPrototypeOf: "reflect/get-prototype-of",
+ get: "reflect/get",
+ has: "reflect/has",
+ isExtensible: "reflect/is-extensible",
+ ownKeys: "reflect/own-keys",
+ preventExtensions: "reflect/prevent-extensions",
+ setPrototypeOf: "reflect/set-prototype-of",
+ set: "reflect/set",
+ },
- Date: {
- //now: "date/now" // temporary disabled
+ Date: {
+ now: "date/now",
+ },
},
-
- Function: {
- // Warning: /virtual/ method - prototype, not static, version
- //bind: "function/virtual/bind" // temporary disabled
- },
- },
+ };
};
diff --git a/packages/babel-plugin-transform-runtime/src/index.js b/packages/babel-plugin-transform-runtime/src/index.js
index dfb5d41306..4f3a854028 100644
--- a/packages/babel-plugin-transform-runtime/src/index.js
+++ b/packages/babel-plugin-transform-runtime/src/index.js
@@ -1,36 +1,153 @@
+import path from "path";
+import resolve from "resolve";
import { declare } from "@babel/helper-plugin-utils";
import { addDefault, isModule } from "@babel/helper-module-imports";
import { types as t } from "@babel/core";
-import definitions from "./definitions";
+import getDefinitions from "./definitions";
-export default declare((api, options) => {
+function resolveAbsoluteRuntime(moduleName: string, dirname: string) {
+ try {
+ return path.dirname(
+ resolve.sync(`${moduleName}/package.json`, { basedir: dirname }),
+ );
+ } catch (err) {
+ if (err.code !== "MODULE_NOT_FOUND") throw err;
+
+ throw Object.assign(
+ new Error(`Failed to resolve "${moduleName}" relative to "${dirname}"`),
+ {
+ code: "BABEL_RUNTIME_NOT_FOUND",
+ runtime: moduleName,
+ dirname,
+ },
+ );
+ }
+}
+
+function supportsStaticESM(caller) {
+ return !!(caller && caller.supportsStaticESM);
+}
+
+export default declare((api, options, dirname) => {
api.assertVersion(7);
const {
- helpers,
- moduleName = "@babel/runtime",
- polyfill,
- regenerator,
- useBuiltIns,
- useESModules,
+ corejs: corejsVersion = false,
+ helpers: useRuntimeHelpers = true,
+ regenerator: useRuntimeRegenerator = true,
+ useESModules = false,
+ version: runtimeVersion = "7.0.0-beta.0",
+ absoluteRuntime = false,
} = options;
- const regeneratorEnabled = regenerator !== false;
- const notPolyfillOrDoesUseBuiltIns = polyfill === false || useBuiltIns;
- const isPolyfillAndUseBuiltIns = polyfill && useBuiltIns;
- const baseHelpersDir = useBuiltIns ? "helpers/builtin" : "helpers";
- const helpersDir = useESModules ? `${baseHelpersDir}/es6` : baseHelpersDir;
+
+ const definitions = getDefinitions(runtimeVersion);
+
+ if (typeof useRuntimeRegenerator !== "boolean") {
+ throw new Error(
+ "The 'regenerator' option must be undefined, or a boolean.",
+ );
+ }
+ if (typeof useRuntimeHelpers !== "boolean") {
+ throw new Error("The 'helpers' option must be undefined, or a boolean.");
+ }
+ if (typeof useESModules !== "boolean" && useESModules !== "auto") {
+ throw new Error(
+ "The 'useESModules' option must be undefined, or a boolean, or 'auto'.",
+ );
+ }
+ if (
+ typeof absoluteRuntime !== "boolean" &&
+ typeof absoluteRuntime !== "string"
+ ) {
+ throw new Error(
+ "The 'absoluteRuntime' option must be undefined, a boolean, or a string.",
+ );
+ }
+ if (
+ corejsVersion !== false &&
+ (typeof corejsVersion !== "number" || corejsVersion !== 2) &&
+ (typeof corejsVersion !== "string" || corejsVersion !== "2")
+ ) {
+ throw new Error(
+ `The 'corejs' option must be undefined, false, 2 or '2', ` +
+ `but got ${JSON.stringify(corejsVersion)}.`,
+ );
+ }
+ if (typeof runtimeVersion !== "string") {
+ throw new Error(`The 'version' option must be a version string.`);
+ }
function has(obj, key) {
return Object.prototype.hasOwnProperty.call(obj, key);
}
+ if (has(options, "useBuiltIns")) {
+ if (options.useBuiltIns) {
+ throw new Error(
+ "The 'useBuiltIns' option has been removed. The @babel/runtime " +
+ "module now uses builtins by default.",
+ );
+ } else {
+ throw new Error(
+ "The 'useBuiltIns' option has been removed. Use the 'corejs'" +
+ "option with value '2' to polyfill with CoreJS 2.x via @babel/runtime.",
+ );
+ }
+ }
+ if (has(options, "polyfill")) {
+ if (options.polyfill === false) {
+ throw new Error(
+ "The 'polyfill' option has been removed. The @babel/runtime " +
+ "module now skips polyfilling by default.",
+ );
+ } else {
+ throw new Error(
+ "The 'polyfill' option has been removed. Use the 'corejs'" +
+ "option with value '2' to polyfill with CoreJS 2.x via @babel/runtime.",
+ );
+ }
+ }
+ if (has(options, "moduleName")) {
+ throw new Error(
+ "The 'moduleName' option has been removed. @babel/transform-runtime " +
+ "no longer supports arbitrary runtimes. If you were using this to " +
+ "set an absolute path for Babel's standard runtimes, please use the " +
+ "'absoluteRuntime' option.",
+ );
+ }
+
+ const esModules =
+ useESModules === "auto" ? api.caller(supportsStaticESM) : useESModules;
+
+ const injectCoreJS2 = `${corejsVersion}` === "2";
+ const moduleName = injectCoreJS2
+ ? "@babel/runtime-corejs2"
+ : "@babel/runtime";
const HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"];
+ let modulePath = moduleName;
+ if (absoluteRuntime !== false) {
+ modulePath = resolveAbsoluteRuntime(
+ moduleName,
+ path.resolve(dirname, absoluteRuntime === true ? "." : absoluteRuntime),
+ );
+ }
+
return {
pre(file) {
- if (helpers !== false) {
+ if (useRuntimeHelpers) {
file.set("helperGenerator", name => {
+ // If the helper didn't exist yet at the version given, we bail
+ // out and let Babel either insert it directly, or throw an error
+ // so that plugins can handle that case properly.
+ if (
+ file.availableHelper &&
+ !file.availableHelper(name, runtimeVersion)
+ ) {
+ return;
+ }
+
const isInteropHelper = HEADER_HELPERS.indexOf(name) !== -1;
// Explicitly set the CommonJS interop helpers to their reserve
@@ -39,22 +156,19 @@ export default declare((api, options) => {
const blockHoist =
isInteropHelper && !isModule(file.path) ? 4 : undefined;
+ const helpersDir =
+ esModules && file.path.node.sourceType === "module"
+ ? "helpers/esm"
+ : "helpers";
+
return this.addDefaultImport(
- `${moduleName}/${helpersDir}/${name}`,
+ `${modulePath}/${helpersDir}/${name}`,
name,
blockHoist,
);
});
}
- if (isPolyfillAndUseBuiltIns) {
- throw new Error(
- "The polyfill option conflicts with useBuiltIns; use one or the other",
- );
- }
-
- this.moduleName = moduleName;
-
const cache = new Map();
this.addDefaultImport = (source, nameHint, blockHoist) => {
@@ -83,17 +197,17 @@ export default declare((api, options) => {
visitor: {
ReferencedIdentifier(path) {
const { node, parent, scope } = path;
- if (node.name === "regeneratorRuntime" && regeneratorEnabled) {
+ if (node.name === "regeneratorRuntime" && useRuntimeRegenerator) {
path.replaceWith(
this.addDefaultImport(
- `${this.moduleName}/regenerator`,
+ `${modulePath}/regenerator`,
"regeneratorRuntime",
),
);
return;
}
- if (notPolyfillOrDoesUseBuiltIns) return;
+ if (!injectCoreJS2) return;
if (t.isMemberExpression(parent)) return;
if (!has(definitions.builtins, node.name)) return;
@@ -102,7 +216,7 @@ export default declare((api, options) => {
// Symbol() -> _core.Symbol(); new Promise -> new _core.Promise
path.replaceWith(
this.addDefaultImport(
- `${moduleName}/core-js/${definitions.builtins[node.name]}`,
+ `${modulePath}/core-js/${definitions.builtins[node.name]}`,
node.name,
),
);
@@ -110,7 +224,7 @@ export default declare((api, options) => {
// arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
CallExpression(path) {
- if (notPolyfillOrDoesUseBuiltIns) return;
+ if (!injectCoreJS2) return;
// we can't compile this
if (path.node.arguments.length) return;
@@ -125,7 +239,7 @@ export default declare((api, options) => {
path.replaceWith(
t.callExpression(
this.addDefaultImport(
- `${moduleName}/core-js/get-iterator`,
+ `${modulePath}/core-js/get-iterator`,
"getIterator",
),
[callee.object],
@@ -135,7 +249,7 @@ export default declare((api, options) => {
// Symbol.iterator in arr -> core.$for.isIterable(arr)
BinaryExpression(path) {
- if (notPolyfillOrDoesUseBuiltIns) return;
+ if (!injectCoreJS2) return;
if (path.node.operator !== "in") return;
if (!path.get("left").matchesPattern("Symbol.iterator")) return;
@@ -143,7 +257,7 @@ export default declare((api, options) => {
path.replaceWith(
t.callExpression(
this.addDefaultImport(
- `${moduleName}/core-js/is-iterable`,
+ `${modulePath}/core-js/is-iterable`,
"isIterable",
),
[path.node.right],
@@ -154,7 +268,7 @@ export default declare((api, options) => {
// Array.from -> _core.Array.from
MemberExpression: {
enter(path) {
- if (notPolyfillOrDoesUseBuiltIns) return;
+ if (!injectCoreJS2) return;
if (!path.isReferenced()) return;
const { node } = path;
@@ -185,14 +299,14 @@ export default declare((api, options) => {
path.replaceWith(
this.addDefaultImport(
- `${moduleName}/core-js/${methods[prop.name]}`,
+ `${modulePath}/core-js/${methods[prop.name]}`,
`${obj.name}$${prop.name}`,
),
);
},
exit(path) {
- if (notPolyfillOrDoesUseBuiltIns) return;
+ if (!injectCoreJS2) return;
if (!path.isReferenced()) return;
const { node } = path;
@@ -204,7 +318,7 @@ export default declare((api, options) => {
path.replaceWith(
t.memberExpression(
this.addDefaultImport(
- `${moduleName}/core-js/${definitions.builtins[obj.name]}`,
+ `${modulePath}/core-js/${definitions.builtins[obj.name]}`,
obj.name,
),
node.property,
@@ -216,5 +330,3 @@ export default declare((api, options) => {
},
};
});
-
-export { definitions };
diff --git a/packages/babel-plugin-transform-runtime/src/options.json b/packages/babel-plugin-transform-runtime/src/options.json
deleted file mode 100644
index b987a67bba..0000000000
--- a/packages/babel-plugin-transform-runtime/src/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": ["transform-runtime", "transform-regenerator"]
-}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/input.js
new file mode 100644
index 0000000000..4e6a6de653
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/input.js
@@ -0,0 +1 @@
+class Foo {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/options.json
new file mode 100644
index 0000000000..126af9dc11
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/options.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ "transform-classes",
+ ["transform-runtime", { "absoluteRuntime": "./subfolder" }]
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/output.js
new file mode 100644
index 0000000000..e783188c9e
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/relative/output.js
@@ -0,0 +1,7 @@
+var _classCallCheck = require("/packages/babel-plugin-transform-runtime/node_modules/@babel/runtime/helpers/classCallCheck");
+
+let Foo = function Foo() {
+ "use strict";
+
+ _classCallCheck(this, Foo);
+};
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/input.js
new file mode 100644
index 0000000000..4e6a6de653
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/input.js
@@ -0,0 +1 @@
+class Foo {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/options.json
new file mode 100644
index 0000000000..a8370f48c3
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/options.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ "transform-classes",
+ ["transform-runtime", { "absoluteRuntime": true }]
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/output.js
new file mode 100644
index 0000000000..e783188c9e
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/absoluteRuntime/true/output.js
@@ -0,0 +1,7 @@
+var _classCallCheck = require("/packages/babel-plugin-transform-runtime/node_modules/@babel/runtime/helpers/classCallCheck");
+
+let Foo = function Foo() {
+ "use strict";
+
+ _classCallCheck(this, Foo);
+};
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/input.js
new file mode 100644
index 0000000000..b7c61b92b0
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/input.js
@@ -0,0 +1,7 @@
+obj.constructor === Object;
+obj.constructor === Promise;
+
+Symbol();
+Symbol("test");
+
+new Map();
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/options.json
new file mode 100644
index 0000000000..5c04c77630
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/output.js
new file mode 100644
index 0000000000..4e753ff15d
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/output.js
@@ -0,0 +1,14 @@
+var _Map = require("@babel/runtime-corejs2/core-js/map");
+
+var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
+
+var _Promise = require("@babel/runtime-corejs2/core-js/promise");
+
+obj.constructor === Object;
+obj.constructor === _Promise;
+
+_Symbol();
+
+_Symbol("test");
+
+new _Map();
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/input.js
new file mode 100644
index 0000000000..8e9b315294
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/input.js
@@ -0,0 +1 @@
+Promise.resolve;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/options.json
new file mode 100644
index 0000000000..5c04c77630
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/output.js
new file mode 100644
index 0000000000..de4a16bd91
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/output.js
@@ -0,0 +1,3 @@
+var _Promise = require("@babel/runtime-corejs2/core-js/promise");
+
+_Promise.resolve;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/input.js
new file mode 100644
index 0000000000..4e6a6de653
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/input.js
@@ -0,0 +1 @@
+class Foo {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/options.json
new file mode 100644
index 0000000000..2972db7d1a
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-classes"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/output.js
new file mode 100644
index 0000000000..132a249e97
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/output.js
@@ -0,0 +1,7 @@
+var _classCallCheck = require("@babel/runtime-corejs2/helpers/classCallCheck");
+
+let Foo = function Foo() {
+ "use strict";
+
+ _classCallCheck(this, Foo);
+};
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/input.js
new file mode 100644
index 0000000000..48e5f59b2c
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/input.js
@@ -0,0 +1,3 @@
+for (var i of arr) {
+
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/options.json
new file mode 100644
index 0000000000..5b5b7b35f1
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-for-of", ["transform-runtime", { "corejs": 2 }]]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/output.js
new file mode 100644
index 0000000000..be11791731
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/output.js
@@ -0,0 +1,24 @@
+var _getIterator = require("@babel/runtime-corejs2/core-js/get-iterator");
+
+var _iteratorNormalCompletion = true;
+var _didIteratorError = false;
+var _iteratorError = undefined;
+
+try {
+ for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var i = _step.value;
+ }
+} catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+} finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/input.mjs
similarity index 100%
rename from packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/input.mjs
rename to packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/input.mjs
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/options.json
new file mode 100644
index 0000000000..5c04c77630
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/output.mjs
similarity index 77%
rename from packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/output.mjs
rename to packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/output.mjs
index 656dd6d030..bb91155014 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/output.mjs
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/output.mjs
@@ -1,5 +1,5 @@
-import _regeneratorRuntime from "foo/regenerator";
-import _Symbol from "foo/core-js/symbol";
+import _regeneratorRuntime from "@babel/runtime-corejs2/regenerator";
+import _Symbol from "@babel/runtime-corejs2/core-js/symbol";
var _marked =
/*#__PURE__*/
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/input.js
new file mode 100644
index 0000000000..5355a96916
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/input.js
@@ -0,0 +1,33 @@
+Math.acosh;
+
+Math.asinh;
+
+Math.atanh;
+
+Math.cbrt;
+
+Math.clz32;
+
+Math.cosh;
+
+Math.expm1;
+
+Math.fround;
+
+Math.hypot;
+
+Math.imul;
+
+Math.log10;
+
+Math.log1p;
+
+Math.log2;
+
+Math.sign;
+
+Math.sinh;
+
+Math.tanh;
+
+Math.trunc;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/options.json
new file mode 100644
index 0000000000..8f919429fa
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/options.json
@@ -0,0 +1,11 @@
+{
+ "plugins": [
+ [
+ "transform-runtime",
+ {
+ "corejs": 2
+ }
+ ],
+ "transform-regenerator"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/output.js
new file mode 100644
index 0000000000..4c905ed110
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math-undefined-version/output.js
@@ -0,0 +1,17 @@
+Math.acosh;
+Math.asinh;
+Math.atanh;
+Math.cbrt;
+Math.clz32;
+Math.cosh;
+Math.expm1;
+Math.fround;
+Math.hypot;
+Math.imul;
+Math.log10;
+Math.log1p;
+Math.log2;
+Math.sign;
+Math.sinh;
+Math.tanh;
+Math.trunc;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/input.js
new file mode 100644
index 0000000000..5355a96916
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/input.js
@@ -0,0 +1,33 @@
+Math.acosh;
+
+Math.asinh;
+
+Math.atanh;
+
+Math.cbrt;
+
+Math.clz32;
+
+Math.cosh;
+
+Math.expm1;
+
+Math.fround;
+
+Math.hypot;
+
+Math.imul;
+
+Math.log10;
+
+Math.log1p;
+
+Math.log2;
+
+Math.sign;
+
+Math.sinh;
+
+Math.tanh;
+
+Math.trunc;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/options.json
new file mode 100644
index 0000000000..fdced378cb
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/options.json
@@ -0,0 +1,12 @@
+{
+ "plugins": [
+ [
+ "transform-runtime",
+ {
+ "corejs": 2,
+ "version": "^7.0.2"
+ }
+ ],
+ "transform-regenerator"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/output.js
new file mode 100644
index 0000000000..7b773a5ec2
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/math/output.js
@@ -0,0 +1,51 @@
+var _Math$trunc = require("@babel/runtime-corejs2/core-js/math/trunc");
+
+var _Math$tanh = require("@babel/runtime-corejs2/core-js/math/tanh");
+
+var _Math$sinh = require("@babel/runtime-corejs2/core-js/math/sinh");
+
+var _Math$sign = require("@babel/runtime-corejs2/core-js/math/sign");
+
+var _Math$log2 = require("@babel/runtime-corejs2/core-js/math/log2");
+
+var _Math$log1p = require("@babel/runtime-corejs2/core-js/math/log1p");
+
+var _Math$log = require("@babel/runtime-corejs2/core-js/math/log10");
+
+var _Math$imul = require("@babel/runtime-corejs2/core-js/math/imul");
+
+var _Math$hypot = require("@babel/runtime-corejs2/core-js/math/hypot");
+
+var _Math$fround = require("@babel/runtime-corejs2/core-js/math/fround");
+
+var _Math$expm = require("@babel/runtime-corejs2/core-js/math/expm1");
+
+var _Math$cosh = require("@babel/runtime-corejs2/core-js/math/cosh");
+
+var _Math$clz = require("@babel/runtime-corejs2/core-js/math/clz32");
+
+var _Math$cbrt = require("@babel/runtime-corejs2/core-js/math/cbrt");
+
+var _Math$atanh = require("@babel/runtime-corejs2/core-js/math/atanh");
+
+var _Math$asinh = require("@babel/runtime-corejs2/core-js/math/asinh");
+
+var _Math$acosh = require("@babel/runtime-corejs2/core-js/math/acosh");
+
+_Math$acosh;
+_Math$asinh;
+_Math$atanh;
+_Math$cbrt;
+_Math$clz;
+_Math$cosh;
+_Math$expm;
+_Math$fround;
+_Math$hypot;
+_Math$imul;
+_Math$log;
+_Math$log1p;
+_Math$log2;
+_Math$sign;
+_Math$sinh;
+_Math$tanh;
+_Math$trunc;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/input.mjs
new file mode 100644
index 0000000000..368b106310
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/input.mjs
@@ -0,0 +1,5 @@
+import foo from "foo";
+
+class Example {
+ method() {}
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/options.json
new file mode 100644
index 0000000000..5d178b7e91
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/options.json
@@ -0,0 +1,7 @@
+{
+ "plugins": [
+ ["transform-runtime", { "corejs": 2 }],
+ "transform-modules-commonjs",
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/output.js
new file mode 100644
index 0000000000..8b91c079a6
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/output.js
@@ -0,0 +1,23 @@
+"use strict";
+
+var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
+
+var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
+
+var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
+
+var _foo = _interopRequireDefault(require("foo"));
+
+let Example =
+/*#__PURE__*/
+function () {
+ function Example() {
+ (0, _classCallCheck2.default)(this, Example);
+ }
+
+ (0, _createClass2.default)(Example, [{
+ key: "method",
+ value: function method() {}
+ }]);
+ return Example;
+}();
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/input.mjs
new file mode 100644
index 0000000000..ce4c7df806
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/input.mjs
@@ -0,0 +1,4 @@
+import foo from "bar";
+foo;
+
+export * from "mod";
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/options.json
new file mode 100644
index 0000000000..b1cff64aee
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/options.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ ["transform-runtime", { "corejs": 2 }],
+ "transform-modules-commonjs"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/output.js
new file mode 100644
index 0000000000..d7ece9528b
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/output.js
@@ -0,0 +1,28 @@
+"use strict";
+
+var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
+
+var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
+
+var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _bar = _interopRequireDefault(require("bar"));
+
+var _mod = require("mod");
+
+_Object$keys(_mod).forEach(function (key) {
+ if (key === "default" || key === "__esModule") return;
+
+ _Object$defineProperty(exports, key, {
+ enumerable: true,
+ get: function () {
+ return _mod[key];
+ }
+ });
+});
+
+_bar.default;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/input.js
new file mode 100644
index 0000000000..4e6a6de653
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/input.js
@@ -0,0 +1 @@
+class Foo {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/options.json
new file mode 100644
index 0000000000..aaf9a14cac
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/options.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ ["transform-runtime", { "helpers": false, "corejs": 2 }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/output.js
new file mode 100644
index 0000000000..b8dfb31983
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/output.js
@@ -0,0 +1,7 @@
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+let Foo = function Foo() {
+ "use strict";
+
+ _classCallCheck(this, Foo);
+};
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/input.js
new file mode 100644
index 0000000000..ae6cc4d8c8
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/input.js
@@ -0,0 +1,2 @@
+void function* () {
+};
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/options.json
new file mode 100644
index 0000000000..5c04c77630
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/output.js
new file mode 100644
index 0000000000..a068476f99
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/output.js
@@ -0,0 +1,13 @@
+var _regeneratorRuntime = require("@babel/runtime-corejs2/regenerator");
+
+void
+/*#__PURE__*/
+_regeneratorRuntime.mark(function _callee() {
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
+ while (1) switch (_context.prev = _context.next) {
+ case 0:
+ case "end":
+ return _context.stop();
+ }
+ }, _callee, this);
+});
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/input.js
new file mode 100644
index 0000000000..49e71aa52d
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/input.js
@@ -0,0 +1 @@
+Symbol.iterator in Object(arr);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/options.json
new file mode 100644
index 0000000000..5c04c77630
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/output.js
new file mode 100644
index 0000000000..8d5e3c048d
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/output.js
@@ -0,0 +1,3 @@
+var _isIterable = require("@babel/runtime-corejs2/core-js/is-iterable");
+
+_isIterable(Object(arr));
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/input.js
new file mode 100644
index 0000000000..ae1f0b9df5
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/input.js
@@ -0,0 +1 @@
+Symbol.iterator;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/options.json
new file mode 100644
index 0000000000..5c04c77630
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/output.js
new file mode 100644
index 0000000000..dc708b45cc
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/output.js
@@ -0,0 +1,3 @@
+var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
+
+_Symbol$iterator;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/aliased-constructors/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/aliased-constructors/output.js
index a7cfe5735c..70099860ad 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/aliased-constructors/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/aliased-constructors/output.js
@@ -1,14 +1,5 @@
-var _Map = require("@babel/runtime/core-js/map");
-
-var _Symbol = require("@babel/runtime/core-js/symbol");
-
-var _Promise = require("@babel/runtime/core-js/promise");
-
obj.constructor === Object;
-obj.constructor === _Promise;
-
-_Symbol();
-
-_Symbol("test");
-
-new _Map();
+obj.constructor === Promise;
+Symbol();
+Symbol("test");
+new Map();
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/output.js
index c3a34c2503..8e9b315294 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/output.js
@@ -1,3 +1 @@
-var _Promise = require("@babel/runtime/core-js/promise");
-
-_Promise.resolve;
+Promise.resolve;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/options.json
deleted file mode 100644
index d8a7d30b95..0000000000
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": [["transform-runtime", { "moduleName": "foo" }], "transform-regenerator"]
-}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/es6-for-of/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/es6-for-of/output.js
index 0087e226c0..ec97a710ae 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/es6-for-of/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/es6-for-of/output.js
@@ -1,11 +1,9 @@
-var _getIterator = require("@babel/runtime/core-js/get-iterator");
-
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
- for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ for (var _iterator = arr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var i = _step.value;
}
} catch (err) {
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/output.mjs
index 3442c14425..7fe64e68c7 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/output.mjs
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/output.mjs
@@ -1,12 +1,11 @@
import _regeneratorRuntime from "@babel/runtime/regenerator";
-import _Symbol from "@babel/runtime/core-js/symbol";
var _marked =
/*#__PURE__*/
_regeneratorRuntime.mark(giveWord);
import foo, * as bar from "someModule";
-export const myWord = _Symbol("abc");
+export const myWord = Symbol("abc");
export function giveWord() {
return _regeneratorRuntime.wrap(function giveWord$(_context) {
while (1) switch (_context.prev = _context.next) {
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js
index 3bfab64ad9..260de19e94 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js
@@ -2,10 +2,6 @@
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-var _Object$defineProperty = require("@babel/runtime/core-js/object/define-property");
-
-var _Object$keys = require("@babel/runtime/core-js/object/keys");
-
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -14,15 +10,13 @@ var _bar = _interopRequireDefault(require("bar"));
var _mod = require("mod");
-_Object$keys(_mod).forEach(function (key) {
+Object.keys(_mod).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
-
- _Object$defineProperty(exports, key, {
+ Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _mod[key];
}
});
});
-
_bar.default;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/output.js
index e4e3264bb5..49e71aa52d 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/output.js
@@ -1,3 +1 @@
-var _isIterable = require("@babel/runtime/core-js/is-iterable");
-
-_isIterable(Object(arr));
+Symbol.iterator in Object(arr);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/output.js
index 22731130e8..ae1f0b9df5 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/output.js
@@ -1,3 +1 @@
-var _Symbol$iterator = require("@babel/runtime/core-js/symbol/iterator");
-
-_Symbol$iterator;
+Symbol.iterator;
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/input.mjs
similarity index 100%
rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/input.js
rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/input.mjs
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/options.json
new file mode 100644
index 0000000000..63e7c90646
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/options.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ ["transform-runtime", { "corejs": 2, "useESModules": true }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/output.mjs
new file mode 100644
index 0000000000..828c9aa787
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/output.mjs
@@ -0,0 +1,18 @@
+import _classCallCheck from "@babel/runtime-corejs2/helpers/esm/classCallCheck";
+import _possibleConstructorReturn from "@babel/runtime-corejs2/helpers/esm/possibleConstructorReturn";
+import _getPrototypeOf from "@babel/runtime-corejs2/helpers/esm/getPrototypeOf";
+import _inherits from "@babel/runtime-corejs2/helpers/esm/inherits";
+
+let Foo =
+/*#__PURE__*/
+function (_Bar) {
+ _inherits(Foo, _Bar);
+
+ function Foo() {
+ _classCallCheck(this, Foo);
+
+ return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
+ }
+
+ return Foo;
+}(Bar);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/input.mjs
similarity index 100%
rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/input.js
rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/input.mjs
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/options.json
new file mode 100644
index 0000000000..2972db7d1a
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-runtime", { "corejs": 2 }], "transform-classes"]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/output.mjs
new file mode 100644
index 0000000000..44f4d72a04
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/output.mjs
@@ -0,0 +1,18 @@
+import _classCallCheck from "@babel/runtime-corejs2/helpers/classCallCheck";
+import _possibleConstructorReturn from "@babel/runtime-corejs2/helpers/possibleConstructorReturn";
+import _getPrototypeOf from "@babel/runtime-corejs2/helpers/getPrototypeOf";
+import _inherits from "@babel/runtime-corejs2/helpers/inherits";
+
+let Foo =
+/*#__PURE__*/
+function (_Bar) {
+ _inherits(Foo, _Bar);
+
+ function Foo() {
+ _classCallCheck(this, Foo);
+
+ return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
+ }
+
+ return Foo;
+}(Bar);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/options.json
deleted file mode 100644
index ad048c74b1..0000000000
--- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": [["transform-runtime", { "useBuiltIns": true, "useESModules": true }], "transform-classes"]
-}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/output.js
deleted file mode 100644
index d5ad90a1c2..0000000000
--- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns-useESModules/output.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var _classCallCheck = require("@babel/runtime/helpers/builtin/es6/classCallCheck");
-
-var _possibleConstructorReturn = require("@babel/runtime/helpers/builtin/es6/possibleConstructorReturn");
-
-var _getPrototypeOf = require("@babel/runtime/helpers/builtin/es6/getPrototypeOf");
-
-var _inherits = require("@babel/runtime/helpers/builtin/es6/inherits");
-
-let Foo =
-/*#__PURE__*/
-function (_Bar) {
- "use strict";
-
- _inherits(Foo, _Bar);
-
- function Foo() {
- _classCallCheck(this, Foo);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
- }
-
- return Foo;
-}(Bar);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/options.json
deleted file mode 100644
index a24c715714..0000000000
--- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": [["transform-runtime", { "useBuiltIns": true }], "transform-classes"]
-}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/input.js
similarity index 100%
rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/input.js
rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/input.js
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/options.json
new file mode 100644
index 0000000000..ad753739a7
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/options.json
@@ -0,0 +1,10 @@
+{
+ "caller": {
+ "name": "babel-test",
+ "supportsStaticESM": true
+ },
+ "plugins": [
+ ["transform-runtime", { "useESModules": "auto" }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/output.js
similarity index 56%
rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js
rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/output.js
index 9d1599d1f2..39882dcd46 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs-auto/output.js
@@ -1,10 +1,10 @@
-var _classCallCheck = require("@babel/runtime/helpers/es6/classCallCheck");
+var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
-var _possibleConstructorReturn = require("@babel/runtime/helpers/es6/possibleConstructorReturn");
+var _possibleConstructorReturn = require("@babel/runtime/helpers/possibleConstructorReturn");
-var _getPrototypeOf = require("@babel/runtime/helpers/es6/getPrototypeOf");
+var _getPrototypeOf = require("@babel/runtime/helpers/getPrototypeOf");
-var _inherits = require("@babel/runtime/helpers/es6/inherits");
+var _inherits = require("@babel/runtime/helpers/inherits");
let Foo =
/*#__PURE__*/
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/input.js
new file mode 100644
index 0000000000..dcde0c7bf9
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/input.js
@@ -0,0 +1 @@
+class Foo extends Bar {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/options.json
new file mode 100644
index 0000000000..35cc8ccbfc
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/options.json
@@ -0,0 +1,10 @@
+{
+ "caller": {
+ "name": "babel-test",
+ "supportsStaticESM": true
+ },
+ "plugins": [
+ ["transform-runtime", { "useESModules": true }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/output.js
similarity index 54%
rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/output.js
rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/output.js
index 0dcb1a6dc1..39882dcd46 100644
--- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useBuiltIns/output.js
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-cjs/output.js
@@ -1,10 +1,10 @@
-var _classCallCheck = require("@babel/runtime/helpers/builtin/classCallCheck");
+var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
-var _possibleConstructorReturn = require("@babel/runtime/helpers/builtin/possibleConstructorReturn");
+var _possibleConstructorReturn = require("@babel/runtime/helpers/possibleConstructorReturn");
-var _getPrototypeOf = require("@babel/runtime/helpers/builtin/getPrototypeOf");
+var _getPrototypeOf = require("@babel/runtime/helpers/getPrototypeOf");
-var _inherits = require("@babel/runtime/helpers/builtin/inherits");
+var _inherits = require("@babel/runtime/helpers/inherits");
let Foo =
/*#__PURE__*/
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/input.mjs
new file mode 100644
index 0000000000..dcde0c7bf9
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/input.mjs
@@ -0,0 +1 @@
+class Foo extends Bar {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/options.json
new file mode 100644
index 0000000000..ad753739a7
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/options.json
@@ -0,0 +1,10 @@
+{
+ "caller": {
+ "name": "babel-test",
+ "supportsStaticESM": true
+ },
+ "plugins": [
+ ["transform-runtime", { "useESModules": "auto" }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/output.mjs
new file mode 100644
index 0000000000..0247fa0b55
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs-auto/output.mjs
@@ -0,0 +1,18 @@
+import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
+import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
+import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
+import _inherits from "@babel/runtime/helpers/esm/inherits";
+
+let Foo =
+/*#__PURE__*/
+function (_Bar) {
+ _inherits(Foo, _Bar);
+
+ function Foo() {
+ _classCallCheck(this, Foo);
+
+ return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
+ }
+
+ return Foo;
+}(Bar);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/input.mjs
new file mode 100644
index 0000000000..dcde0c7bf9
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/input.mjs
@@ -0,0 +1 @@
+class Foo extends Bar {}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/options.json
new file mode 100644
index 0000000000..35cc8ccbfc
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/options.json
@@ -0,0 +1,10 @@
+{
+ "caller": {
+ "name": "babel-test",
+ "supportsStaticESM": true
+ },
+ "plugins": [
+ ["transform-runtime", { "useESModules": true }],
+ "transform-classes"
+ ]
+}
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/output.mjs
new file mode 100644
index 0000000000..0247fa0b55
--- /dev/null
+++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules-mjs/output.mjs
@@ -0,0 +1,18 @@
+import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
+import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
+import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
+import _inherits from "@babel/runtime/helpers/esm/inherits";
+
+let Foo =
+/*#__PURE__*/
+function (_Bar) {
+ _inherits(Foo, _Bar);
+
+ function Foo() {
+ _classCallCheck(this, Foo);
+
+ return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments));
+ }
+
+ return Foo;
+}(Bar);
diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/options.json
deleted file mode 100644
index 92d77833b5..0000000000
--- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/options.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "plugins": [["transform-runtime", { "useESModules": true }], "transform-classes"]
-}
diff --git a/packages/babel-plugin-transform-shorthand-properties/package.json b/packages/babel-plugin-transform-shorthand-properties/package.json
index 150b0e9ec1..a3443de137 100644
--- a/packages/babel-plugin-transform-shorthand-properties/package.json
+++ b/packages/babel-plugin-transform-shorthand-properties/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-shorthand-properties",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 shorthand properties to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-shorthand-properties",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-spread/package.json b/packages/babel-plugin-transform-spread/package.json
index 063448ddd4..40efc0cb2d 100644
--- a/packages/babel-plugin-transform-spread/package.json
+++ b/packages/babel-plugin-transform-spread/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-spread",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 spread to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-spread/src/index.js b/packages/babel-plugin-transform-spread/src/index.js
index 0a65a25016..50592fafbf 100644
--- a/packages/babel-plugin-transform-spread/src/index.js
+++ b/packages/babel-plugin-transform-spread/src/index.js
@@ -143,7 +143,7 @@ export default declare((api, options) => {
}
path.replaceWith(
- t.callExpression(path.hub.file.addHelper("construct"), [
+ t.callExpression(path.hub.addHelper("construct"), [
node.callee,
args,
]),
diff --git a/packages/babel-plugin-transform-spread/test/fixtures/regression/6647/options.json b/packages/babel-plugin-transform-spread/test/fixtures/regression/6647/options.json
index e9934ced59..000d1f70d2 100644
--- a/packages/babel-plugin-transform-spread/test/fixtures/regression/6647/options.json
+++ b/packages/babel-plugin-transform-spread/test/fixtures/regression/6647/options.json
@@ -1,3 +1,7 @@
{
- "plugins": ["external-helpers", "transform-spread", "transform-modules-commonjs"]
+ "plugins": [
+ "external-helpers",
+ "transform-spread",
+ "transform-modules-commonjs"
+ ]
}
diff --git a/packages/babel-plugin-transform-sticky-regex/package.json b/packages/babel-plugin-transform-sticky-regex/package.json
index 6feb4a5793..d643470deb 100644
--- a/packages/babel-plugin-transform-sticky-regex/package.json
+++ b/packages/babel-plugin-transform-sticky-regex/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-sticky-regex",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 sticky regex to an ES5 RegExp constructor",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-sticky-regex",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-regex": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-strict-mode/package.json b/packages/babel-plugin-transform-strict-mode/package.json
index 0ecf11aa3e..fec6a0363e 100644
--- a/packages/babel-plugin-transform-strict-mode/package.json
+++ b/packages/babel-plugin-transform-strict-mode/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-strict-mode",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "This plugin places a 'use strict'; directive at the top of all files to enable strict mode",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-strict-mode",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-template-literals/package.json b/packages/babel-plugin-transform-template-literals/package.json
index c581103dce..4eb558db7f 100644
--- a/packages/babel-plugin-transform-template-literals/package.json
+++ b/packages/babel-plugin-transform-template-literals/package.json
@@ -1,22 +1,25 @@
{
"name": "@babel/plugin-transform-template-literals",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 template literals to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-template-literals",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-annotate-as-pure": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-annotate-as-pure": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"keywords": [
"babel-plugin"
],
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-template-literals/test/fixtures/loose/options.json b/packages/babel-plugin-transform-template-literals/test/fixtures/loose/options.json
index 96ed4bbec3..b49f4c0191 100644
--- a/packages/babel-plugin-transform-template-literals/test/fixtures/loose/options.json
+++ b/packages/babel-plugin-transform-template-literals/test/fixtures/loose/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-template-literals", {"loose": true}]]
+ "plugins": [["transform-template-literals", { "loose": true }]]
}
diff --git a/packages/babel-plugin-transform-typeof-symbol/package.json b/packages/babel-plugin-transform-typeof-symbol/package.json
index 1ca2407ce5..7b5cdb2bdd 100644
--- a/packages/babel-plugin-transform-typeof-symbol/package.json
+++ b/packages/babel-plugin-transform-typeof-symbol/package.json
@@ -1,21 +1,24 @@
{
"name": "@babel/plugin-transform-typeof-symbol",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "This transformer wraps all typeof expressions with a method that replicates native behaviour. (ie. returning “symbol” for symbols)",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typeof-symbol",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-typescript/package.json b/packages/babel-plugin-transform-typescript/package.json
index 7b2691bac1..9452b5a83d 100644
--- a/packages/babel-plugin-transform-typescript/package.json
+++ b/packages/babel-plugin-transform-typescript/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-typescript",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Transform TypeScript into ES.next",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typescript",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin",
"typescript"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-syntax-typescript": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-syntax-typescript": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-plugin-transform-typescript/src/index.js b/packages/babel-plugin-transform-typescript/src/index.js
index f7f2b304f6..34261f0393 100644
--- a/packages/babel-plugin-transform-typescript/src/index.js
+++ b/packages/babel-plugin-transform-typescript/src/index.js
@@ -20,6 +20,8 @@ interface State {
programPath: any;
}
+const PARSED_PARAMS = new WeakSet();
+
export default declare((api, { jsxPragma = "React" }) => {
api.assertVersion(7);
@@ -40,7 +42,7 @@ export default declare((api, { jsxPragma = "React" }) => {
// Note: this will allow both `import { } from "m"` and `import "m";`.
// In TypeScript, the former would be elided.
if (stmt.node.specifiers.length === 0) {
- return;
+ continue;
}
let allElided = true;
@@ -96,65 +98,9 @@ export default declare((api, { jsxPragma = "React" }) => {
if (node.abstract) node.abstract = null;
if (node.optional) node.optional = null;
- if (node.kind !== "constructor") {
- return;
- }
-
- // Collect parameter properties
- const parameterProperties = [];
- for (const param of node.params) {
- if (param.type === "TSParameterProperty") {
- parameterProperties.push(param.parameter);
- }
- }
-
- if (!parameterProperties.length) {
- return;
- }
-
- const assigns = parameterProperties.map(p => {
- let name;
- if (t.isIdentifier(p)) {
- name = p.name;
- } else if (t.isAssignmentPattern(p) && t.isIdentifier(p.left)) {
- name = p.left.name;
- } else {
- throw path.buildCodeFrameError(
- "Parameter properties can not be destructuring patterns.",
- );
- }
-
- const assign = t.assignmentExpression(
- "=",
- t.memberExpression(t.thisExpression(), t.identifier(name)),
- t.identifier(name),
- );
- return t.expressionStatement(assign);
- });
-
- const statements = node.body.body;
-
- const first = statements[0];
- const startsWithSuperCall =
- first !== undefined &&
- t.isExpressionStatement(first) &&
- t.isCallExpression(first.expression) &&
- t.isSuper(first.expression.callee);
-
- // Make sure to put parameter properties *after* the `super` call.
- // TypeScript will enforce that a 'super()' call is the first statement
- // when there are parameter properties.
- node.body.body = startsWithSuperCall
- ? [first, ...assigns, ...statements.slice(1)]
- : [...assigns, ...statements];
-
// Rest handled by Function visitor
},
- TSParameterProperty(path) {
- path.replaceWith(path.node.parameter);
- },
-
ClassProperty(path) {
const { node } = path;
@@ -186,14 +132,74 @@ export default declare((api, { jsxPragma = "React" }) => {
if (node.superTypeParameters) node.superTypeParameters = null;
if (node.implements) node.implements = null;
- // Same logic is used in babel-plugin-transform-flow-strip-types:
- // We do this here instead of in a `ClassProperty` visitor because the class transform
- // would transform the class before we reached the class property.
+ // Similar to the logic in `transform-flow-strip-types`, we need to
+ // handle `TSParameterProperty` and `ClassProperty` here because the
+ // class transform would transform the class, causing more specific
+ // visitors to not run.
path.get("body.body").forEach(child => {
- if (child.isClassProperty()) {
- child.node.typeAnnotation = null;
+ const childNode = child.node;
- if (!child.node.value && !child.node.decorators) {
+ if (t.isClassMethod(childNode, { kind: "constructor" })) {
+ // Collects parameter properties so that we can add an assignment
+ // for each of them in the constructor body
+ //
+ // We use a WeakSet to ensure an assignment for a parameter
+ // property is only added once. This is necessary for cases like
+ // using `transform-classes`, which causes this visitor to run
+ // twice.
+ const parameterProperties = [];
+ for (const param of childNode.params) {
+ if (
+ param.type === "TSParameterProperty" &&
+ !PARSED_PARAMS.has(param.parameter)
+ ) {
+ PARSED_PARAMS.add(param.parameter);
+ parameterProperties.push(param.parameter);
+ }
+ }
+
+ if (parameterProperties.length) {
+ const assigns = parameterProperties.map(p => {
+ let name;
+ if (t.isIdentifier(p)) {
+ name = p.name;
+ } else if (t.isAssignmentPattern(p) && t.isIdentifier(p.left)) {
+ name = p.left.name;
+ } else {
+ throw path.buildCodeFrameError(
+ "Parameter properties can not be destructuring patterns.",
+ );
+ }
+
+ const assign = t.assignmentExpression(
+ "=",
+ t.memberExpression(t.thisExpression(), t.identifier(name)),
+ t.identifier(name),
+ );
+ return t.expressionStatement(assign);
+ });
+
+ const statements = childNode.body.body;
+
+ const first = statements[0];
+
+ const startsWithSuperCall =
+ first !== undefined &&
+ t.isExpressionStatement(first) &&
+ t.isCallExpression(first.expression) &&
+ t.isSuper(first.expression.callee);
+
+ // Make sure to put parameter properties *after* the `super`
+ // call. TypeScript will enforce that a 'super()' call is the
+ // first statement when there are parameter properties.
+ childNode.body.body = startsWithSuperCall
+ ? [first, ...assigns, ...statements.slice(1)]
+ : [...assigns, ...statements];
+ }
+ } else if (child.isClassProperty()) {
+ childNode.typeAnnotation = null;
+
+ if (!childNode.value && !childNode.decorators) {
child.remove();
}
}
@@ -208,6 +214,13 @@ export default declare((api, { jsxPragma = "React" }) => {
if (p0 && t.isIdentifier(p0) && p0.name === "this") {
node.params.shift();
}
+
+ // We replace `TSParameterProperty` here so that transforms that
+ // rely on a `Function` visitor to deal with arguments, like
+ // `transform-parameters`, work properly.
+ node.params = node.params.map(p => {
+ return p.type === "TSParameterProperty" ? p.parameter : p;
+ });
},
TSModuleDeclaration(path) {
@@ -250,7 +263,11 @@ export default declare((api, { jsxPragma = "React" }) => {
},
TSAsExpression(path) {
- path.replaceWith(path.node.expression);
+ let { node } = path;
+ do {
+ node = node.expression;
+ } while (t.isTSAsExpression(node));
+ path.replaceWith(node);
},
TSNonNullExpression(path) {
@@ -264,6 +281,14 @@ export default declare((api, { jsxPragma = "React" }) => {
NewExpression(path) {
path.node.typeParameters = null;
},
+
+ JSXOpeningElement(path) {
+ path.node.typeParameters = null;
+ },
+
+ TaggedTemplateExpression(path) {
+ path.node.typeParameters = null;
+ },
},
};
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/cast/multiple-assert-and-assign/input.js b/packages/babel-plugin-transform-typescript/test/fixtures/cast/multiple-assert-and-assign/input.js
new file mode 100644
index 0000000000..c35da37ddf
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/cast/multiple-assert-and-assign/input.js
@@ -0,0 +1 @@
+(a as number as any) = 42;
\ No newline at end of file
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/cast/multiple-assert-and-assign/output.js b/packages/babel-plugin-transform-typescript/test/fixtures/cast/multiple-assert-and-assign/output.js
new file mode 100644
index 0000000000..e095ff18d1
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/cast/multiple-assert-and-assign/output.js
@@ -0,0 +1 @@
+a = 42;
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/input.js b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/input.js
new file mode 100644
index 0000000000..2ed9bcc85a
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/input.js
@@ -0,0 +1,5 @@
+class Employee extends Person {
+ constructor(public name: string) {
+ super();
+ }
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/options.json
new file mode 100644
index 0000000000..c52e76546c
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-typescript", "transform-classes"]
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/output.js b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/output.js
new file mode 100644
index 0000000000..0d266ddf94
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class-and-super/output.js
@@ -0,0 +1,31 @@
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
+
+function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
+
+let Employee =
+/*#__PURE__*/
+function (_Person) {
+ "use strict";
+
+ _inherits(Employee, _Person);
+
+ function Employee(name) {
+ var _this;
+
+ _classCallCheck(this, Employee);
+
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(Employee).call(this));
+ _this.name = name;
+ return _this;
+ }
+
+ return Employee;
+}(Person);
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/input.js b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/input.js
new file mode 100644
index 0000000000..d1e95ee93c
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/input.js
@@ -0,0 +1,3 @@
+class Person {
+ constructor(public name: string) {}
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/options.json
new file mode 100644
index 0000000000..c52e76546c
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-typescript", "transform-classes"]
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/output.js b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/output.js
new file mode 100644
index 0000000000..d59f465ff9
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-class/output.js
@@ -0,0 +1,15 @@
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+let Person =
+/*#__PURE__*/
+function () {
+ "use strict";
+
+ function Person(name) {
+ _classCallCheck(this, Person);
+
+ this.name = name;
+ }
+
+ return Person;
+}();
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/input.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/input.mjs
new file mode 100644
index 0000000000..e21ba592b6
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/input.mjs
@@ -0,0 +1,3 @@
+export default class Example {
+ constructor(public arg1 = null) { }
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/options.json
new file mode 100644
index 0000000000..e4c16fc7dc
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-typescript", "transform-parameters"]
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/output.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/output.mjs
new file mode 100644
index 0000000000..c41b0e5308
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/parameter-properties-with-parameters/output.mjs
@@ -0,0 +1,7 @@
+export default class Example {
+ constructor() {
+ let arg1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
+ this.arg1 = arg1;
+ }
+
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/class/properties/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/class/properties/options.json
index 43bd3d3759..14b2876dc1 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/class/properties/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/class/properties/options.json
@@ -1,6 +1,3 @@
{
- "plugins": [
- "transform-typescript",
- ["syntax-decorators", { "legacy": true }]
- ]
+ "plugins": ["transform-typescript", ["syntax-decorators", { "legacy": true }]]
}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/enum/const/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/enum/const/options.json
index e64a9bc9fd..26f55acbbd 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/enum/const/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/enum/const/options.json
@@ -1 +1 @@
-{ "throws": "'const' enums are not supported." }
\ No newline at end of file
+{ "throws": "'const' enums are not supported." }
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/enum/non-foldable-constant/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/enum/non-foldable-constant/options.json
index 32e95fb26a..f0cc17142b 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/enum/non-foldable-constant/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/enum/non-foldable-constant/options.json
@@ -1,3 +1,3 @@
{
- "throws": "Enum member must have initializer."
+ "throws": "Enum member must have initializer."
}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/exports/interface/input.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/exports/interface/input.mjs
new file mode 100644
index 0000000000..7049da8742
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/exports/interface/input.mjs
@@ -0,0 +1,2 @@
+export interface I {}
+export default interface A {}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/function/tuple-parameter/input.js b/packages/babel-plugin-transform-typescript/test/fixtures/function/tuple-parameter/input.js
new file mode 100644
index 0000000000..954c72a82a
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/function/tuple-parameter/input.js
@@ -0,0 +1 @@
+function foo(...args: [number, string?, ...number[]]) {}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/function/tuple-parameter/output.js b/packages/babel-plugin-transform-typescript/test/fixtures/function/tuple-parameter/output.js
new file mode 100644
index 0000000000..3b940d1057
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/function/tuple-parameter/output.js
@@ -0,0 +1 @@
+function foo(...args) {}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-preact-no/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-preact-no/options.json
index 5bd8727ebb..7991464b9f 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-preact-no/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-preact-no/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-typescript", { "jsxPragma": "h", "isTSX": true }]]
+ "plugins": [["transform-typescript", { "jsxPragma": "h", "isTSX": true }]]
}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-2/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-2/options.json
index 20970e7cd0..2c7aa7bce2 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-2/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-2/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-typescript", { "isTSX": true }]]
+ "plugins": [["transform-typescript", { "isTSX": true }]]
}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-3/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-3/options.json
index 20970e7cd0..2c7aa7bce2 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-3/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no-3/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-typescript", { "isTSX": true }]]
+ "plugins": [["transform-typescript", { "isTSX": true }]]
}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no/options.json
index 20970e7cd0..2c7aa7bce2 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no/options.json
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elide-react-no/options.json
@@ -1,3 +1,3 @@
{
- "plugins": [["transform-typescript", { "isTSX": true }]]
+ "plugins": [["transform-typescript", { "isTSX": true }]]
}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/input.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/input.mjs
index 3584b160d8..b2f4e11d19 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/input.mjs
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/input.mjs
@@ -1,3 +1,4 @@
+import "lib";
import A, { B, Used } from "lib";
import Used2, { C } from "lib";
import * as D from "lib";
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/output.mjs b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/output.mjs
index 5dbb5a144e..d79833b14c 100644
--- a/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/output.mjs
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/imports/elision/output.mjs
@@ -1,3 +1,4 @@
+import "lib";
import { Used } from "lib";
import Used2 from "lib";
import * as Used3 from "lib";
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tagged-template/input.js b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tagged-template/input.js
new file mode 100644
index 0000000000..53bbc3e3ed
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tagged-template/input.js
@@ -0,0 +1 @@
+f``;
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tagged-template/output.js b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tagged-template/output.js
new file mode 100644
index 0000000000..5b25c53f61
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tagged-template/output.js
@@ -0,0 +1 @@
+f``;
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/input.js b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/input.js
new file mode 100644
index 0000000000..520e35ee90
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/input.js
@@ -0,0 +1,2 @@
+> ;
+/>;
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/options.json b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/options.json
new file mode 100644
index 0000000000..2c7aa7bce2
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": [["transform-typescript", { "isTSX": true }]]
+}
diff --git a/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/output.js b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/output.js
new file mode 100644
index 0000000000..c2d492ae05
--- /dev/null
+++ b/packages/babel-plugin-transform-typescript/test/fixtures/type-arguments/tsx/output.js
@@ -0,0 +1,2 @@
+ ;
+ ;
diff --git a/packages/babel-plugin-transform-unicode-regex/package.json b/packages/babel-plugin-transform-unicode-regex/package.json
index 059ef6bae3..53587d4fbe 100644
--- a/packages/babel-plugin-transform-unicode-regex/package.json
+++ b/packages/babel-plugin-transform-unicode-regex/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/plugin-transform-unicode-regex",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Compile ES2015 Unicode regex to ES5",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/helper-regex": "7.0.0-beta.52",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/helper-regex": "^7.0.0",
"regexpu-core": "^4.1.3"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-polyfill/package.json b/packages/babel-polyfill/package.json
index 70255b8f76..3e5ed2cba3 100644
--- a/packages/babel-polyfill/package.json
+++ b/packages/babel-polyfill/package.json
@@ -1,14 +1,17 @@
{
"name": "@babel/polyfill",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Provides polyfills necessary for a full ES2015+ environment",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-polyfill",
"main": "lib/index.js",
"dependencies": {
"core-js": "^2.5.7",
- "regenerator-runtime": "^0.11.1"
+ "regenerator-runtime": "^0.12.0"
}
}
diff --git a/packages/babel-polyfill/src/index.js b/packages/babel-polyfill/src/index.js
index 5661b7c75a..d2bea4df33 100644
--- a/packages/babel-polyfill/src/index.js
+++ b/packages/babel-polyfill/src/index.js
@@ -1,4 +1,19 @@
-import "core-js/shim";
+// Cover all standardized ES6 APIs.
+import "core-js/es6";
+
+// Standard now
+import "core-js/fn/array/includes";
+import "core-js/fn/string/pad-start";
+import "core-js/fn/string/pad-end";
+import "core-js/fn/symbol/async-iterator";
+import "core-js/fn/object/get-own-property-descriptors";
+import "core-js/fn/object/values";
+import "core-js/fn/object/entries";
+import "core-js/fn/promise/finally";
+
+// Ensure that we polyfill ES6 compat for anything web-related, if it exists.
+import "core-js/web";
+
import "regenerator-runtime/runtime";
if (global._babelPolyfill && typeof console !== "undefined" && console.warn) {
diff --git a/packages/babel-polyfill/src/noConflict.js b/packages/babel-polyfill/src/noConflict.js
index ae74735ec3..ec7c002fff 100644
--- a/packages/babel-polyfill/src/noConflict.js
+++ b/packages/babel-polyfill/src/noConflict.js
@@ -1,2 +1,17 @@
-import "core-js/shim";
+// Cover all standardized ES6 APIs.
+import "core-js/es6";
+
+// Standard now
+import "core-js/fn/array/includes";
+import "core-js/fn/string/pad-start";
+import "core-js/fn/string/pad-end";
+import "core-js/fn/symbol/async-iterator";
+import "core-js/fn/object/get-own-property-descriptors";
+import "core-js/fn/object/values";
+import "core-js/fn/object/entries";
+import "core-js/fn/promise/finally";
+
+// Ensure that we polyfill ES6 compat for anything web-related, if it exists.
+import "core-js/web";
+
import "regenerator-runtime/runtime";
diff --git a/packages/babel-preset-env-standalone/package.json b/packages/babel-preset-env-standalone/package.json
index 490ce76a76..5f799bb5c8 100644
--- a/packages/babel-preset-env-standalone/package.json
+++ b/packages/babel-preset-env-standalone/package.json
@@ -1,6 +1,6 @@
{
"name": "@babel/preset-env-standalone",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Standalone build of babel-prest-env for use in non-Node.js environments.",
"main": "babel-preset-env.js",
"files": [
@@ -9,9 +9,10 @@
"src"
],
"devDependencies": {
- "@babel/plugin-transform-new-target": "7.0.0-beta.52",
- "@babel/preset-env": "7.0.0-beta.52",
- "@babel/standalone": "7.0.0-beta.52"
+ "@babel/plugin-proposal-json-strings": "^7.0.0",
+ "@babel/plugin-transform-new-target": "^7.0.0",
+ "@babel/preset-env": "^7.0.0",
+ "@babel/standalone": "^7.0.0"
},
"keywords": [
"babel",
@@ -24,6 +25,9 @@
"transpiler"
],
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"bugs": {
"url": "https://github.com/babel/babel/issues"
},
diff --git a/packages/babel-preset-env-standalone/src/available-plugins.js b/packages/babel-preset-env-standalone/src/available-plugins.js
index 4828e353f1..b149f981bb 100644
--- a/packages/babel-preset-env-standalone/src/available-plugins.js
+++ b/packages/babel-preset-env-standalone/src/available-plugins.js
@@ -2,6 +2,7 @@ import { availablePlugins, registerPlugin } from "@babel/standalone";
const notIncludedPlugins = {
"transform-new-target": require("@babel/plugin-transform-new-target"),
+ "proposal-json-strings": require("@babel/plugin-proposal-json-strings"),
};
Object.keys(notIncludedPlugins).forEach(pluginName => {
diff --git a/packages/babel-preset-env/data/built-in-features.js b/packages/babel-preset-env/data/built-in-features.js
index 89d4474dad..b8672b091e 100644
--- a/packages/babel-preset-env/data/built-in-features.js
+++ b/packages/babel-preset-env/data/built-in-features.js
@@ -277,7 +277,7 @@ const es = {
"es6.string.from-code-point": "String static methods / String.fromCodePoint",
"es6.string.includes": "String.prototype methods / String.prototype.includes",
"es6.string.italics": "String.prototype HTML methods",
- "es6.string.iterator": "String properties and methods / Property access on strings",
+ "es6.string.iterator": "String.prototype methods / String.prototype[Symbol.iterator]",
"es6.string.link": "String.prototype HTML methods",
// "String.prototype methods / String.prototype.normalize" not implemented
"es7.string.pad-start": "String padding / String.prototype.padStart",
diff --git a/packages/babel-preset-env/data/built-ins.json b/packages/babel-preset-env/data/built-ins.json
index 91877c456b..175a9dc2b8 100644
--- a/packages/babel-preset-env/data/built-ins.json
+++ b/packages/babel-preset-env/data/built-ins.json
@@ -206,7 +206,8 @@
"firefox": "5",
"safari": "10.1",
"ie": "9",
- "ios": "10.3"
+ "ios": "10.3",
+ "electron": "3"
},
"es6.array.species": {
"chrome": "51",
@@ -618,7 +619,8 @@
"safari": "9",
"node": "8.10",
"ios": "9",
- "opera": "49"
+ "opera": "49",
+ "electron": "3"
},
"es7.object.define-setter": {
"chrome": "62",
@@ -627,7 +629,8 @@
"safari": "9",
"node": "8.10",
"ios": "9",
- "opera": "49"
+ "opera": "49",
+ "electron": "3"
},
"es6.object.define-property": {
"chrome": "5",
@@ -719,7 +722,8 @@
"safari": "9",
"node": "8.10",
"ios": "9",
- "opera": "49"
+ "opera": "49",
+ "electron": "3"
},
"es7.object.lookup-setter": {
"chrome": "62",
@@ -727,7 +731,8 @@
"safari": "9",
"node": "8.10",
"ios": "9",
- "opera": "49"
+ "opera": "49",
+ "electron": "3"
},
"es6.object.prevent-extensions": {
"chrome": "44",
@@ -832,10 +837,12 @@
},
"es7.promise.finally": {
"chrome": "63",
+ "edge": "18",
"firefox": "58",
"safari": "11.1",
"ios": "11.3",
- "opera": "50"
+ "opera": "50",
+ "electron": "3"
},
"es6.reflect.apply": {
"chrome": "49",
@@ -1052,8 +1059,10 @@
"es7.symbol.async-iterator": {
"chrome": "63",
"firefox": "57",
- "safari": "tp",
- "opera": "50"
+ "safari": "12",
+ "ios": "12",
+ "opera": "50",
+ "electron": "3"
},
"es6.string.anchor": {
"chrome": "5",
@@ -1176,16 +1185,14 @@
"electron": "1.1"
},
"es6.string.iterator": {
- "chrome": "5",
- "opera": "10.10",
+ "chrome": "38",
"edge": "12",
- "firefox": "2",
- "safari": "3.1",
- "node": "0.10",
- "ie": "8",
- "android": "4.0",
- "ios": "6",
- "electron": "1.1"
+ "firefox": "36",
+ "safari": "9",
+ "node": "0.12",
+ "ios": "9",
+ "opera": "25",
+ "electron": "0.2"
},
"es6.string.link": {
"chrome": "5",
@@ -1430,5 +1437,13 @@
"ios": "9",
"opera": "38",
"electron": "1.2"
+ },
+ "es7.array.flat-map": {
+ "chrome": "69",
+ "firefox": "62",
+ "safari": "12",
+ "ios": "12",
+ "opera": "56",
+ "electron": "4"
}
}
diff --git a/packages/babel-preset-env/data/plugin-features.js b/packages/babel-preset-env/data/plugin-features.js
index aa88a21c5c..bb5861370d 100644
--- a/packages/babel-preset-env/data/plugin-features.js
+++ b/packages/babel-preset-env/data/plugin-features.js
@@ -54,10 +54,14 @@ const es = {
},
"transform-spread": {
- features: ["spread (...) operator"],
+ features: "spread syntax for iterable objects",
},
"transform-parameters": {
- features: ["default function parameters", "rest parameters"],
+ features: [
+ "default function parameters",
+ "rest parameters",
+ "destructuring, parameters / defaults, arrow function",
+ ],
},
"transform-destructuring": {
features: [
@@ -90,6 +94,9 @@ const es = {
"proposal-async-generator-functions": "Asynchronous Iterators",
"proposal-object-rest-spread": "object rest/spread properties",
"proposal-unicode-property-regex": "RegExp Unicode Property Escapes",
+
+ "proposal-json-strings": "", // Awaiting mapping in compat-table
+ "proposal-optional-catch-binding": "optional catch binding",
};
const proposals = require("./shipped-proposals").features;
diff --git a/packages/babel-preset-env/data/plugins.json b/packages/babel-preset-env/data/plugins.json
index 876b3d5727..c8a5e48dab 100644
--- a/packages/babel-preset-env/data/plugins.json
+++ b/packages/babel-preset-env/data/plugins.json
@@ -124,7 +124,8 @@
"safari": "11.1",
"node": "8.10",
"ios": "11.3",
- "opera": "49"
+ "opera": "49",
+ "electron": "3"
},
"transform-unicode-regex": {
"chrome": "50",
@@ -148,7 +149,6 @@
},
"transform-parameters": {
"chrome": "49",
- "edge": "14",
"firefox": "53",
"safari": "10",
"node": "6",
@@ -228,8 +228,10 @@
"proposal-async-generator-functions": {
"chrome": "63",
"firefox": "57",
- "safari": "tp",
- "opera": "50"
+ "safari": "12",
+ "ios": "12",
+ "opera": "50",
+ "electron": "3"
},
"proposal-object-rest-spread": {
"chrome": "60",
@@ -238,19 +240,22 @@
"node": "8.3",
"ios": "11.3",
"opera": "47",
- "electron": "2"
+ "electron": "2.1"
},
"proposal-unicode-property-regex": {
"chrome": "64",
"safari": "11.1",
"ios": "11.3",
- "opera": "51"
+ "opera": "51",
+ "electron": "3"
},
+ "proposal-json-strings": {},
"proposal-optional-catch-binding": {
"chrome": "66",
"firefox": "58",
"safari": "11.1",
"ios": "11.3",
- "opera": "53"
+ "opera": "53",
+ "electron": "3"
}
}
diff --git a/packages/babel-preset-env/data/shipped-proposals.js b/packages/babel-preset-env/data/shipped-proposals.js
index 23b7450117..a5723716ca 100644
--- a/packages/babel-preset-env/data/shipped-proposals.js
+++ b/packages/babel-preset-env/data/shipped-proposals.js
@@ -1,17 +1,18 @@
// These mappings represent the builtin/feature proposals that have been
// shipped by browsers, and are enabled by the `shippedProposals` option.
-const builtIns = {};
-
-const features = {
- "proposal-optional-catch-binding": "optional catch binding",
+const builtIns = {
+ "es7.array.flat-map": "Array.prototype.{flat, flatMap} / Array.prototype.flatMap"
};
+const features = {};
+
const pluginSyntaxMap = new Map([
["proposal-async-generator-functions", "syntax-async-generators"],
["proposal-object-rest-spread", "syntax-object-rest-spread"],
["proposal-optional-catch-binding", "syntax-optional-catch-binding"],
["proposal-unicode-property-regex", null],
+ ["proposal-json-strings", "syntax-json-strings"],
]);
module.exports = { builtIns, features, pluginSyntaxMap };
diff --git a/packages/babel-preset-env/package.json b/packages/babel-preset-env/package.json
index cc3ed69d64..5fc94d5411 100644
--- a/packages/babel-preset-env/package.json
+++ b/packages/babel-preset-env/package.json
@@ -1,67 +1,71 @@
{
"name": "@babel/preset-env",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "A Babel preset for each environment.",
"author": "Henry Zhu ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-env",
"main": "lib/index.js",
"scripts": {
"build-data": "node ./scripts/build-data.js; node ./scripts/build-modules-support.js"
},
"dependencies": {
- "@babel/helper-module-imports": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.52",
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.52",
- "@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.52",
- "@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.52",
- "@babel/plugin-syntax-async-generators": "7.0.0-beta.52",
- "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.52",
- "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.52",
- "@babel/plugin-transform-arrow-functions": "7.0.0-beta.52",
- "@babel/plugin-transform-async-to-generator": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoping": "7.0.0-beta.52",
- "@babel/plugin-transform-classes": "7.0.0-beta.52",
- "@babel/plugin-transform-computed-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-destructuring": "7.0.0-beta.52",
- "@babel/plugin-transform-dotall-regex": "7.0.0-beta.52",
- "@babel/plugin-transform-duplicate-keys": "7.0.0-beta.52",
- "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.52",
- "@babel/plugin-transform-for-of": "7.0.0-beta.52",
- "@babel/plugin-transform-function-name": "7.0.0-beta.52",
- "@babel/plugin-transform-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-amd": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-systemjs": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-umd": "7.0.0-beta.52",
- "@babel/plugin-transform-new-target": "7.0.0-beta.52",
- "@babel/plugin-transform-object-super": "7.0.0-beta.52",
- "@babel/plugin-transform-parameters": "7.0.0-beta.52",
- "@babel/plugin-transform-regenerator": "7.0.0-beta.52",
- "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-spread": "7.0.0-beta.52",
- "@babel/plugin-transform-sticky-regex": "7.0.0-beta.52",
- "@babel/plugin-transform-template-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.52",
- "@babel/plugin-transform-unicode-regex": "7.0.0-beta.52",
- "browserslist": "^3.0.0",
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.1.0",
+ "@babel/plugin-proposal-json-strings": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
+ "@babel/plugin-syntax-async-generators": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-async-to-generator": "^7.1.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.1.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.0.0",
+ "@babel/plugin-transform-dotall-regex": "^7.0.0",
+ "@babel/plugin-transform-duplicate-keys": "^7.0.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.1.0",
+ "@babel/plugin-transform-for-of": "^7.0.0",
+ "@babel/plugin-transform-function-name": "^7.1.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-amd": "^7.1.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.1.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.0.0",
+ "@babel/plugin-transform-modules-umd": "^7.1.0",
+ "@babel/plugin-transform-new-target": "^7.0.0",
+ "@babel/plugin-transform-object-super": "^7.1.0",
+ "@babel/plugin-transform-parameters": "^7.1.0",
+ "@babel/plugin-transform-regenerator": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-sticky-regex": "^7.0.0",
+ "@babel/plugin-transform-template-literals": "^7.0.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "browserslist": "^4.1.0",
"invariant": "^2.2.2",
"js-levenshtein": "^1.1.3",
"semver": "^5.3.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/cli": "7.0.0-beta.52",
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-fixtures": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "compat-table": "kangax/compat-table#90d02e486227d179d2ce9b850dbb3f9846443cab",
- "electron-to-chromium": "^1.3.27",
- "request": "^2.83.0"
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0",
+ "@babel/helper-fixtures": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "caniuse-db": "1.0.30000851",
+ "compat-table": "kangax/compat-table#e3630aade96bbe1d228498c18168fe7f2cd15697",
+ "electron-to-chromium": "1.3.79"
}
}
diff --git a/packages/babel-preset-env/scripts/build-modules-support.js b/packages/babel-preset-env/scripts/build-modules-support.js
index edbdd85b8b..1ce611078c 100644
--- a/packages/babel-preset-env/scripts/build-modules-support.js
+++ b/packages/babel-preset-env/scripts/build-modules-support.js
@@ -1,77 +1,37 @@
const path = require("path");
const fs = require("fs");
-const request = require("request");
-// This mapping represents browsers who have shipped ES Modules Support.
-// For more information, checkout the specifications:
-// * https://www.ecma-international.org/ecma-262/6.0/#sec-modules
-// * https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type
-const lastKnown = {
- chrome: 61,
- safari: 10.1,
- ios_saf: 10.3,
- edge: 16,
-};
+const moduleSupport = require("caniuse-db/features-json/es6-module.json");
const acceptedWithCaveats = {
safari: true,
ios_saf: true,
};
-function input() {
- return new Promise(function(resolve, reject) {
- request(
- "https://raw.githubusercontent.com/Fyrd/caniuse/master/features-json/es6-module.json",
- function(error, response, body) {
- if (error || response.statusCode !== 200) {
- return reject(
- new Error(
- `Error retrieving es6-module.json. ${
- error ? error : `statusCode=${response.statusCode}`
- }`
- )
- );
- }
+const { stats } = moduleSupport;
- try {
- const { stats } = JSON.parse(body);
- const allowedBrowsers = {};
+const allowedBrowsers = {};
- Object.keys(stats).forEach(browser => {
- if (browser !== "and_chr") {
- const browserVersions = stats[browser];
- const allowedVersions = Object.keys(browserVersions)
- .filter(value => {
- return acceptedWithCaveats[browser]
- ? browserVersions[value][0] === "a"
- : browserVersions[value] === "y";
- })
- .sort((a, b) => a - b);
+Object.keys(stats).forEach(browser => {
+ if (browser !== "and_chr") {
+ const browserVersions = stats[browser];
+ const allowedVersions = Object.keys(browserVersions)
+ .filter(value => {
+ return acceptedWithCaveats[browser]
+ ? browserVersions[value][0] === "a"
+ : browserVersions[value] === "y";
+ })
+ .sort((a, b) => a - b);
- if (allowedVersions[0] !== undefined) {
- // Handle cases where caniuse specifies version as: "11.0-11.2"
- allowedBrowsers[browser] = allowedVersions[0].split("-")[0];
- }
- }
- });
+ if (allowedVersions[0] !== undefined) {
+ // Handle cases where caniuse specifies version as: "11.0-11.2"
+ allowedBrowsers[browser] = allowedVersions[0].split("-")[0];
+ }
+ }
+});
- resolve(allowedBrowsers);
- } catch (error) {
- return reject(new Error(`Error parsing es6-module.json.`));
- }
- }
- );
- });
-}
-
-function output(minVersions) {
- const dataPath = path.join(__dirname, "../data/built-in-modules.json");
- const data = {
- "es6.module": minVersions,
- };
- fs.writeFileSync(dataPath, `${JSON.stringify(data, null, 2)}\n`);
-}
-
-Promise.resolve(input())
- .then(minVersions => output(minVersions))
- .catch(output(lastKnown));
+const dataPath = path.join(__dirname, "../data/built-in-modules.json");
+const data = {
+ "es6.module": allowedBrowsers,
+};
+fs.writeFileSync(dataPath, `${JSON.stringify(data, null, 2)}\n`);
diff --git a/packages/babel-preset-env/src/available-plugins.js b/packages/babel-preset-env/src/available-plugins.js
index 730c411312..559e5478a4 100644
--- a/packages/babel-preset-env/src/available-plugins.js
+++ b/packages/babel-preset-env/src/available-plugins.js
@@ -4,6 +4,7 @@ export default {
"syntax-optional-catch-binding": require("@babel/plugin-syntax-optional-catch-binding"),
"transform-async-to-generator": require("@babel/plugin-transform-async-to-generator"),
"proposal-async-generator-functions": require("@babel/plugin-proposal-async-generator-functions"),
+ "proposal-json-strings": require("@babel/plugin-proposal-json-strings"),
"transform-arrow-functions": require("@babel/plugin-transform-arrow-functions"),
"transform-block-scoped-functions": require("@babel/plugin-transform-block-scoped-functions"),
"transform-block-scoping": require("@babel/plugin-transform-block-scoping"),
diff --git a/packages/babel-preset-env/src/built-in-definitions.js b/packages/babel-preset-env/src/built-in-definitions.js
index 121ffc84f8..bcad0d8651 100644
--- a/packages/babel-preset-env/src/built-in-definitions.js
+++ b/packages/babel-preset-env/src/built-in-definitions.js
@@ -46,6 +46,7 @@ export const definitions = {
every: ["es6.array.is-array"],
fill: ["es6.array.fill"],
filter: ["es6.array.filter"],
+ finally: ["es7.promise.finally"],
find: ["es6.array.find"],
findIndex: ["es6.array.find-index"],
fixed: ["es6.string.fixed"],
diff --git a/packages/babel-preset-env/src/index.js b/packages/babel-preset-env/src/index.js
index bed18c728b..338a25a6ab 100644
--- a/packages/babel-preset-env/src/index.js
+++ b/packages/babel-preset-env/src/index.js
@@ -155,6 +155,10 @@ const filterItems = (
return result;
};
+function supportsStaticESM(caller) {
+ return !!(caller && caller.supportsStaticESM);
+}
+
export default declare((api, opts) => {
api.assertVersion(7);
@@ -232,9 +236,15 @@ export default declare((api, opts) => {
const plugins = [];
const pluginUseBuiltIns = useBuiltIns !== false;
- // NOTE: not giving spec here yet to avoid compatibility issues when
- // transform-modules-commonjs gets its spec mode
- if (modules !== false && moduleTransformations[modules]) {
+ if (
+ modules !== false &&
+ moduleTransformations[modules] &&
+ // TODO: Remove the 'api.caller' check eventually. Just here to prevent
+ // unnecessary breakage in the short term for users on older betas/RCs.
+ (modules !== "auto" || !api.caller || !api.caller(supportsStaticESM))
+ ) {
+ // NOTE: not giving spec here yet to avoid compatibility issues when
+ // transform-modules-commonjs gets its spec mode
plugins.push([getPlugin(moduleTransformations[modules]), { loose }]);
}
diff --git a/packages/babel-preset-env/src/module-transformations.js b/packages/babel-preset-env/src/module-transformations.js
index ad50bdc263..a98f8dd044 100644
--- a/packages/babel-preset-env/src/module-transformations.js
+++ b/packages/babel-preset-env/src/module-transformations.js
@@ -1,4 +1,5 @@
export default {
+ auto: "transform-modules-commonjs",
amd: "transform-modules-amd",
commonjs: "transform-modules-commonjs",
cjs: "transform-modules-commonjs",
diff --git a/packages/babel-preset-env/src/normalize-options.js b/packages/babel-preset-env/src/normalize-options.js
index 838625ecc2..75144356e1 100644
--- a/packages/babel-preset-env/src/normalize-options.js
+++ b/packages/babel-preset-env/src/normalize-options.js
@@ -5,6 +5,7 @@ import browserslist from "browserslist";
import builtInsList from "../data/built-ins.json";
import { defaultWebIncludes } from "./default-includes";
import moduleTransformations from "./module-transformations";
+import { isBrowsersQueryValid } from "./targets-parser";
import { getValues, findSuggestion } from "./utils";
import pluginsList from "../data/plugins.json";
import { TopLevelOptions, ModulesOption, UseBuiltInsOption } from "./options";
@@ -92,6 +93,16 @@ export const checkDuplicateIncludeExcludes = (
);
};
+const normalizeTargets = (targets: any): Targets => {
+ // TODO: Allow to use only query or strings as a targets from next breaking change.
+ if (isBrowsersQueryValid(targets)) {
+ return { browsers: targets };
+ }
+ return {
+ ...targets,
+ };
+};
+
export const validateConfigPathOption = (
configPath: string = process.cwd(),
) => {
@@ -128,13 +139,16 @@ export const validateIgnoreBrowserslistConfig = (
);
export const validateModulesOption = (
- modulesOpt: ModuleOption = ModulesOption.commonjs,
+ modulesOpt: ModuleOption = ModulesOption.auto,
) => {
invariant(
ModulesOption[modulesOpt] ||
ModulesOption[modulesOpt] === ModulesOption.false,
- `Invalid Option: The 'modules' option must be either 'false' to indicate no modules, or a
- module type which can be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'.`,
+ `Invalid Option: The 'modules' option must be one of \n` +
+ ` - 'false' to indicate no module processing\n` +
+ ` - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'` +
+ ` - 'auto' (default) which will automatically select 'false' if the current\n` +
+ ` process is known to support ES module syntax, or "commonjs" otherwise\n`,
);
return modulesOpt;
@@ -200,9 +214,7 @@ export default function normalizeOptions(opts: Options) {
false,
),
spec: validateBoolOption(TopLevelOptions.spec, opts.spec, false),
- targets: {
- ...opts.targets,
- },
+ targets: normalizeTargets(opts.targets),
useBuiltIns: validateUseBuiltInsOption(opts.useBuiltIns),
};
}
diff --git a/packages/babel-preset-env/src/options.js b/packages/babel-preset-env/src/options.js
index b201bac971..e1f08ccd9b 100644
--- a/packages/babel-preset-env/src/options.js
+++ b/packages/babel-preset-env/src/options.js
@@ -15,6 +15,7 @@ export const TopLevelOptions = {
export const ModulesOption = {
false: false,
+ auto: "auto",
amd: "amd",
commonjs: "commonjs",
cjs: "cjs",
diff --git a/packages/babel-preset-env/src/targets-parser.js b/packages/babel-preset-env/src/targets-parser.js
index ab009b0049..c2a446d7ea 100644
--- a/packages/babel-preset-env/src/targets-parser.js
+++ b/packages/babel-preset-env/src/targets-parser.js
@@ -15,6 +15,8 @@ import browserModulesData from "../data/built-in-modules.json";
import { TargetNames } from "./options";
import type { Targets } from "./types";
+const browserslistDefaults = browserslist.defaults;
+
const validateTargetNames = (validTargets, targets) => {
for (const target in targets) {
if (!TargetNames[target]) {
@@ -36,10 +38,12 @@ const browserNameMap = {
ie: "ie",
ios_saf: "ios",
safari: "safari",
+ node: "node",
};
-const isBrowsersQueryValid = (browsers: string | Array): boolean =>
- typeof browsers === "string" || Array.isArray(browsers);
+export const isBrowsersQueryValid = (
+ browsers: string | Array | Targets,
+): boolean => typeof browsers === "string" || Array.isArray(browsers);
const validateBrowsers = browsers => {
invariant(
@@ -172,12 +176,22 @@ const getTargets = (targets: Object = {}, options: Object = {}): Targets => {
// Parse browsers target via browserslist
const browsersquery = validateBrowsers(targets.browsers);
- if (!options.ignoreBrowserslistConfig) {
+ const shouldParseBrowsers = !!targets.browsers;
+ const shouldSearchForConfig =
+ !options.ignoreBrowserslistConfig && !Object.keys(targets).length;
+
+ if (shouldParseBrowsers || shouldSearchForConfig) {
browserslist.defaults = objectToBrowserslist(targets);
- const browsers = browserslist(browsersquery, { path: options.configPath });
+ const browsers = browserslist(browsersquery, {
+ path: options.configPath,
+ });
+
const queryBrowsers = getLowestVersions(browsers);
targets = mergeBrowsers(queryBrowsers, targets);
+
+ // Reset browserslist defaults
+ browserslist.defaults = browserslistDefaults;
}
// Parse remaining targets
diff --git a/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt
index 32f42d1280..a9ce8a7dea 100644
--- a/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/android/stdout.txt
@@ -5,7 +5,7 @@ Using targets:
"android": "4"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "android":"4" }
@@ -34,6 +34,8 @@ Using plugins:
proposal-async-generator-functions { "android":"4" }
proposal-object-rest-spread { "android":"4" }
proposal-unicode-property-regex { "android":"4" }
+ proposal-json-strings { "android":"4" }
+ proposal-optional-catch-binding { "android":"4" }
Using polyfills with `entry` option:
@@ -127,6 +129,7 @@ Using polyfills with `entry` option:
es6.string.ends-with { "android":"4" }
es6.string.from-code-point { "android":"4" }
es6.string.includes { "android":"4" }
+ es6.string.iterator { "android":"4" }
es7.string.pad-start { "android":"4" }
es7.string.pad-end { "android":"4" }
es6.string.raw { "android":"4" }
diff --git a/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt
index a45e0cafb7..6f6c512833 100644
--- a/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/builtins-no-import/stdout.txt
@@ -5,7 +5,7 @@ Using targets:
"node": "6"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-function-name { "node":"6" }
@@ -17,8 +17,10 @@ Using plugins:
proposal-async-generator-functions { "node":"6" }
proposal-object-rest-spread { "node":"6" }
proposal-unicode-property-regex { "node":"6" }
+ proposal-json-strings { "node":"6" }
+ proposal-optional-catch-binding { "node":"6" }
Using polyfills with `entry` option:
[/src/in.js] `import '@babel/polyfill'` was not found.
-Successfully compiled 1 file with Babel.
\ No newline at end of file
+Successfully compiled 1 file with Babel.
diff --git a/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt
index 6fd3b4e1ec..a56973565b 100644
--- a/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/builtins-uglify/stdout.txt
@@ -37,6 +37,8 @@ Using plugins:
proposal-async-generator-functions { "chrome":"55" }
proposal-object-rest-spread { "chrome":"55" }
proposal-unicode-property-regex { "chrome":"55" }
+ proposal-json-strings { "chrome":"55" }
+ proposal-optional-catch-binding { "chrome":"55" }
Using polyfills with `entry` option:
diff --git a/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt
index d348725928..d3b723ee32 100644
--- a/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/builtins/stdout.txt
@@ -7,7 +7,7 @@ Using targets:
"node": "6"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "ie":"10" }
@@ -36,6 +36,8 @@ Using plugins:
proposal-async-generator-functions { "chrome":"54", "ie":"10", "node":"6" }
proposal-object-rest-spread { "chrome":"54", "ie":"10", "node":"6" }
proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6" }
+ proposal-json-strings { "chrome":"54", "ie":"10", "node":"6" }
+ proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6" }
Using polyfills with `entry` option:
@@ -138,6 +140,7 @@ Using polyfills with `entry` option:
es6.string.from-code-point { "ie":"10" }
es6.string.includes { "ie":"10" }
es6.string.italics { "ie":"10" }
+ es6.string.iterator { "ie":"10" }
es6.string.link { "ie":"10" }
es7.string.pad-start { "chrome":"54", "ie":"10", "node":"6" }
es7.string.pad-end { "chrome":"54", "ie":"10", "node":"6" }
diff --git a/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt
index 888b2f76e6..85f4e17715 100644
--- a/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/electron/stdout.txt
@@ -12,7 +12,7 @@ Using targets:
"electron": "0.36"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-function-name { "electron":"0.36" }
@@ -29,6 +29,8 @@ Using plugins:
proposal-async-generator-functions { "electron":"0.36" }
proposal-object-rest-spread { "electron":"0.36" }
proposal-unicode-property-regex { "electron":"0.36" }
+ proposal-json-strings { "electron":"0.36" }
+ proposal-optional-catch-binding { "electron":"0.36" }
Using polyfills with `entry` option:
@@ -98,7 +100,6 @@ Using polyfills with `entry` option:
es6.string.fontcolor { "electron":"0.36" }
es6.string.fontsize { "electron":"0.36" }
es6.string.italics { "electron":"0.36" }
- es6.string.iterator { "electron":"0.36" }
es6.string.link { "electron":"0.36" }
es7.string.pad-start { "electron":"0.36" }
es7.string.pad-end { "electron":"0.36" }
diff --git a/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt
index cc97239861..ed62042f16 100644
--- a/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/force-all-transforms/stdout.txt
@@ -34,6 +34,8 @@ Using plugins:
proposal-async-generator-functions { "chrome":"55" }
proposal-object-rest-spread { "chrome":"55" }
proposal-unicode-property-regex { "chrome":"55" }
+ proposal-json-strings { "chrome":"55" }
+ proposal-optional-catch-binding { "chrome":"55" }
Using polyfills with `entry` option:
diff --git a/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt
index fe38b35270..460d1d4440 100644
--- a/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/plugins-only/stdout.txt
@@ -13,7 +13,7 @@ Using targets:
"node": "7.4"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-literals { "firefox":"52" }
@@ -24,6 +24,8 @@ Using plugins:
proposal-async-generator-functions { "firefox":"52", "node":"7.4" }
proposal-object-rest-spread { "firefox":"52", "node":"7.4" }
proposal-unicode-property-regex { "firefox":"52", "node":"7.4" }
+ proposal-json-strings { "firefox":"52", "node":"7.4" }
+ proposal-optional-catch-binding { "firefox":"52", "node":"7.4" }
Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
-Successfully compiled 1 file with Babel.
\ No newline at end of file
+Successfully compiled 1 file with Babel.
diff --git a/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt
index 99e76ef7e1..951d93305d 100644
--- a/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/shippedProposals-chrome60/stdout.txt
@@ -5,13 +5,14 @@ Using targets:
"chrome": "60"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-dotall-regex { "chrome":"60" }
proposal-async-generator-functions { "chrome":"60" }
syntax-object-rest-spread { "chrome":"60" }
proposal-unicode-property-regex { "chrome":"60" }
+ proposal-json-strings { "chrome":"60" }
proposal-optional-catch-binding { "chrome":"60" }
Using polyfills with `entry` option:
@@ -24,7 +25,8 @@ Using polyfills with `entry` option:
es7.object.lookup-setter { "chrome":"60" }
es7.promise.finally { "chrome":"60" }
es7.symbol.async-iterator { "chrome":"60" }
+ es7.array.flat-map { "chrome":"60" }
web.timers { "chrome":"60" }
web.immediate { "chrome":"60" }
web.dom.iterable { "chrome":"60" }
-Successfully compiled 1 file with Babel.
\ No newline at end of file
+Successfully compiled 1 file with Babel.
diff --git a/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt
index ea90165dbb..7afc25b3b6 100644
--- a/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/shippedProposals/stdout.txt
@@ -3,7 +3,7 @@
Using targets:
{}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals {}
@@ -32,6 +32,7 @@ Using plugins:
proposal-async-generator-functions {}
proposal-object-rest-spread {}
proposal-unicode-property-regex {}
+ proposal-json-strings {}
proposal-optional-catch-binding {}
Using polyfills with `entry` option:
@@ -178,7 +179,8 @@ Using polyfills with `entry` option:
es6.typed.float64-array {}
es6.weak-map {}
es6.weak-set {}
+ es7.array.flat-map {}
web.timers {}
web.immediate {}
web.dom.iterable {}
-Successfully compiled 1 file with Babel.
\ No newline at end of file
+Successfully compiled 1 file with Babel.
diff --git a/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt
index da1dc462cd..8733b4c234 100644
--- a/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/specific-targets/stdout.txt
@@ -10,7 +10,7 @@ Using targets:
"safari": "7"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "ie":"10", "safari":"7" }
@@ -39,6 +39,8 @@ Using plugins:
proposal-async-generator-functions { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
proposal-object-rest-spread { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
proposal-unicode-property-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
+ proposal-json-strings { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
+ proposal-optional-catch-binding { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
Using polyfills with `entry` option:
@@ -142,6 +144,7 @@ Using polyfills with `entry` option:
es6.string.from-code-point { "ie":"10", "safari":"7" }
es6.string.includes { "ie":"10", "safari":"7" }
es6.string.italics { "ie":"10" }
+ es6.string.iterator { "ie":"10", "safari":"7" }
es6.string.link { "ie":"10" }
es7.string.pad-start { "chrome":"54", "edge":"13", "ie":"10", "ios":"9", "safari":"7" }
es7.string.pad-end { "chrome":"54", "edge":"13", "ie":"10", "ios":"9", "safari":"7" }
diff --git a/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt
index 7f52fcadcb..b53b349d9c 100644
--- a/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/usage-none/stdout.txt
@@ -7,7 +7,7 @@ Using targets:
"ie": "11"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "ie":"11" }
@@ -35,10 +35,12 @@ Using plugins:
proposal-async-generator-functions { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-object-rest-spread { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" }
+ proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" }
+ proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" }
Using polyfills with `usage` option:
[/src/in.js] Based on your code and targets, none were added.
[/src/in2.js] Based on your code and targets, none were added.
-Successfully compiled 2 files with Babel.
\ No newline at end of file
+Successfully compiled 2 files with Babel.
diff --git a/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt b/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt
index 03517b16fb..72ca7e1a1f 100644
--- a/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stderr.txt
@@ -1,2 +1,2 @@
- When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.
- Please remove the `import '@babel/polyfill'` call or use `useBuiltIns: 'entry'` instead.
+When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.
+ Please remove the `import '@babel/polyfill'` call or use `useBuiltIns: 'entry'` instead.
\ No newline at end of file
diff --git a/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt
index f081a8e44a..c898cba790 100644
--- a/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/usage-with-import/stdout.txt
@@ -5,15 +5,17 @@ Using targets:
"chrome": "55"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-dotall-regex { "chrome":"55" }
proposal-async-generator-functions { "chrome":"55" }
proposal-object-rest-spread { "chrome":"55" }
proposal-unicode-property-regex { "chrome":"55" }
+ proposal-json-strings { "chrome":"55" }
+ proposal-optional-catch-binding { "chrome":"55" }
Using polyfills with `usage` option:
[/src/in.js] Based on your code and targets, none were added.
-Successfully compiled 1 file with Babel.
\ No newline at end of file
+Successfully compiled 1 file with Babel.
diff --git a/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt
index cfda6d7e23..b3ecb28095 100644
--- a/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/usage/stdout.txt
@@ -7,7 +7,7 @@ Using targets:
"ie": "11"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "ie":"11" }
@@ -35,12 +35,15 @@ Using plugins:
proposal-async-generator-functions { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-object-rest-spread { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" }
+ proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" }
+ proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" }
Using polyfills with `usage` option:
[/src/in.js] Added following polyfills:
es6.promise { "ie":"11" }
es6.map { "firefox":"50", "ie":"11" }
+ es6.string.iterator { "ie":"11" }
es6.array.iterator { "ie":"11" }
web.dom.iterable { "chrome":"52", "firefox":"50", "ie":"11" }
diff --git a/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt
index 73d1851f32..35cba07b44 100644
--- a/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/versions-decimals/stdout.txt
@@ -16,7 +16,7 @@ Using targets:
"node": "6.1"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "ie":"10" }
@@ -45,6 +45,8 @@ Using plugins:
proposal-async-generator-functions { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
proposal-object-rest-spread { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
proposal-unicode-property-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
+ proposal-json-strings { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
+ proposal-optional-catch-binding { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
Using polyfills with `entry` option:
@@ -165,7 +167,7 @@ Using polyfills with `entry` option:
es6.string.from-code-point { "ie":"10" }
es6.string.includes { "ie":"10" }
es6.string.italics { "electron":"0.36", "ie":"10" }
- es6.string.iterator { "electron":"0.36" }
+ es6.string.iterator { "ie":"10" }
es6.string.link { "electron":"0.36", "ie":"10" }
es7.string.pad-start { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
es7.string.pad-end { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
diff --git a/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt b/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt
index dba1eb2172..fa70be96c6 100644
--- a/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt
+++ b/packages/babel-preset-env/test/debug-fixtures/versions-strings/stdout.txt
@@ -7,7 +7,7 @@ Using targets:
"node": "6.10"
}
-Using modules transform: commonjs
+Using modules transform: auto
Using plugins:
transform-template-literals { "ie":"10" }
@@ -36,6 +36,8 @@ Using plugins:
proposal-async-generator-functions { "chrome":"54", "ie":"10", "node":"6.10" }
proposal-object-rest-spread { "chrome":"54", "ie":"10", "node":"6.10" }
proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" }
+ proposal-json-strings { "chrome":"54", "ie":"10", "node":"6.10" }
+ proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6.10" }
Using polyfills with `entry` option:
@@ -138,6 +140,7 @@ Using polyfills with `entry` option:
es6.string.from-code-point { "ie":"10" }
es6.string.includes { "ie":"10" }
es6.string.italics { "ie":"10" }
+ es6.string.iterator { "ie":"10" }
es6.string.link { "ie":"10" }
es7.string.pad-start { "chrome":"54", "ie":"10", "node":"6.10" }
es7.string.pad-end { "chrome":"54", "ie":"10", "node":"6.10" }
diff --git a/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator-in/options.json b/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator-in/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator-in/options.json
+++ b/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator-in/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator/options.json b/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator/options.json
+++ b/packages/babel-preset-env/test/fixtures/dom-iterable/symbol-iterator/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/dom-iterable/yield-non-star/options.json b/packages/babel-preset-env/test/fixtures/dom-iterable/yield-non-star/options.json
index d87fce3e6a..66d4ffba1a 100644
--- a/packages/babel-preset-env/test/fixtures/dom-iterable/yield-non-star/options.json
+++ b/packages/babel-preset-env/test/fixtures/dom-iterable/yield-non-star/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "targets": {
- "chrome": 55
- },
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/dom-iterable/yield-star/options.json b/packages/babel-preset-env/test/fixtures/dom-iterable/yield-star/options.json
index d87fce3e6a..66d4ffba1a 100644
--- a/packages/babel-preset-env/test/fixtures/dom-iterable/yield-star/options.json
+++ b/packages/babel-preset-env/test/fixtures/dom-iterable/yield-star/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "targets": {
- "chrome": 55
- },
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-cjs/input.mjs b/packages/babel-preset-env/test/fixtures/modules/auto-cjs/input.mjs
new file mode 100644
index 0000000000..e5a2b28c2f
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-cjs/input.mjs
@@ -0,0 +1,2 @@
+import mod from "mod";
+console.log(mod);
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-cjs/options.json b/packages/babel-preset-env/test/fixtures/modules/auto-cjs/options.json
new file mode 100644
index 0000000000..f336d939f3
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-cjs/options.json
@@ -0,0 +1,7 @@
+{
+ "caller": {
+ "name": "test-fixture",
+ "supportsStaticESM": false
+ },
+ "presets": ["env"]
+}
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-cjs/output.js b/packages/babel-preset-env/test/fixtures/modules/auto-cjs/output.js
new file mode 100644
index 0000000000..d79cb698b5
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-cjs/output.js
@@ -0,0 +1,7 @@
+"use strict";
+
+var _mod = _interopRequireDefault(require("mod"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+console.log(_mod.default);
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-esm/input.mjs b/packages/babel-preset-env/test/fixtures/modules/auto-esm/input.mjs
new file mode 100644
index 0000000000..e5a2b28c2f
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-esm/input.mjs
@@ -0,0 +1,2 @@
+import mod from "mod";
+console.log(mod);
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-esm/options.json b/packages/babel-preset-env/test/fixtures/modules/auto-esm/options.json
new file mode 100644
index 0000000000..c4294fee0e
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-esm/options.json
@@ -0,0 +1,7 @@
+{
+ "caller": {
+ "name": "test-fixture",
+ "supportsStaticESM": true
+ },
+ "presets": ["env"]
+}
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-esm/output.mjs b/packages/babel-preset-env/test/fixtures/modules/auto-esm/output.mjs
new file mode 100644
index 0000000000..e5a2b28c2f
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-esm/output.mjs
@@ -0,0 +1,2 @@
+import mod from "mod";
+console.log(mod);
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-unknown/input.mjs b/packages/babel-preset-env/test/fixtures/modules/auto-unknown/input.mjs
new file mode 100644
index 0000000000..e5a2b28c2f
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-unknown/input.mjs
@@ -0,0 +1,2 @@
+import mod from "mod";
+console.log(mod);
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-unknown/options.json b/packages/babel-preset-env/test/fixtures/modules/auto-unknown/options.json
new file mode 100644
index 0000000000..002b4aa0d5
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-unknown/options.json
@@ -0,0 +1,3 @@
+{
+ "presets": ["env"]
+}
diff --git a/packages/babel-preset-env/test/fixtures/modules/auto-unknown/output.js b/packages/babel-preset-env/test/fixtures/modules/auto-unknown/output.js
new file mode 100644
index 0000000000..d79cb698b5
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/modules/auto-unknown/output.js
@@ -0,0 +1,7 @@
+"use strict";
+
+var _mod = _interopRequireDefault(require("mod"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+console.log(_mod.default);
diff --git a/packages/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/options.json b/packages/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/options.json
index f8b18da618..de03c1982f 100644
--- a/packages/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/options.json
+++ b/packages/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/options.json
@@ -1,11 +1,14 @@
{
"plugins": [
- ["../../../../lib/use-built-ins-entry-plugin", {
- "polyfills": [
- "es6.typed.data-view",
- "es6.typed.data-view",
- "es6.reflect.apply"
- ]
- }]
+ [
+ "../../../../lib/use-built-ins-entry-plugin",
+ {
+ "polyfills": [
+ "es6.typed.data-view",
+ "es6.typed.data-view",
+ "es6.reflect.apply"
+ ]
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-false/options.json b/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-false/options.json
index e46957a874..122e5e85dd 100644
--- a/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-false/options.json
+++ b/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-false/options.json
@@ -1,8 +1,11 @@
{
"plugins": [
- ["../../../../lib/use-built-ins-entry-plugin", {
- "regenerator": false,
- "polyfills": []
- }]
+ [
+ "../../../../lib/use-built-ins-entry-plugin",
+ {
+ "regenerator": false,
+ "polyfills": []
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-true/options.json b/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-true/options.json
index e274811992..f68b3a1f0e 100644
--- a/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-true/options.json
+++ b/packages/babel-preset-env/test/fixtures/plugin-options/regenerator-true/options.json
@@ -1,8 +1,11 @@
{
"plugins": [
- ["../../../../lib/use-built-ins-entry-plugin", {
- "regenerator": true,
- "polyfills": []
- }]
+ [
+ "../../../../lib/use-built-ins-entry-plugin",
+ {
+ "regenerator": true,
+ "polyfills": []
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/options.json b/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/options.json
index 5506781ec8..26bf537b28 100644
--- a/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/options.json
+++ b/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/options.json
@@ -1,4 +1,4 @@
{
"plugins": [],
"presets": ["../../../../lib"]
-}
\ No newline at end of file
+}
diff --git a/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/output.js b/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/output.js
index fff577465c..d0111f1a27 100644
--- a/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/output.js
+++ b/packages/babel-preset-env/test/fixtures/plugins-integration/issue-7527/output.js
@@ -10,12 +10,14 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null) return null; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
+function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== "function") { throw new TypeError("Super expression must either be null or a function"); } if (typeof _cache !== "undefined") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }
function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
+function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/browserslist b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/browserslist
similarity index 100%
rename from packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/browserslist
rename to packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/browserslist
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/input.mjs
new file mode 100644
index 0000000000..f9e8d5a956
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/input.mjs
@@ -0,0 +1 @@
+const a = new Map();
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/options.json
new file mode 100644
index 0000000000..3928236676
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/options.json
@@ -0,0 +1,14 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "configPath": "../fixtures/preset-options-add-used-built-ins/browserslist-config-ignore",
+ "modules": false,
+ "targets": { "esmodules": true },
+ "useBuiltIns": "usage",
+ "debug": true
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/output.mjs
new file mode 100644
index 0000000000..ecbade1e6b
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/browserslist-config-ignore/output.mjs
@@ -0,0 +1,2 @@
+import "core-js/modules/web.dom.iterable";
+const a = new Map();
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-false/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-false/options.json
index 33eed36353..d7fc8663bd 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-false/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-false/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": false,
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": false,
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-class-methods/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-class-methods/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-class-methods/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-class-methods/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-instance-methods/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-instance-methods/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-instance-methods/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-evaluated-instance-methods/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods-native-support/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods-native-support/options.json
index e41e024eb2..b1891c2b58 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods-native-support/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods-native-support/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false,
- "targets": {
- "chrome": 58
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false,
+ "targets": {
+ "chrome": 58
+ }
}
- }]
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-instance-methods/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-native-support/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-native-support/options.json
index e41e024eb2..b1891c2b58 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-native-support/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used-native-support/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false,
- "targets": {
- "chrome": 58
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false,
+ "targets": {
+ "chrome": 58
+ }
}
- }]
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/builtins-used/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-with/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-with/options.json
index e73fe7b3bb..c7849884df 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-with/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-with/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "node": "7"
- },
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "node": "7"
+ },
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-without/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-without/options.json
index 5fa73d0603..895761e20b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-without/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/for-of-destructure-without/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "node": "8"
- },
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "node": "8"
+ },
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/no-builtins-used/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/no-builtins-used/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/no-builtins-used/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/no-builtins-used/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-all/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-all/output.mjs
index 8cbb78b643..2a50ee751f 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-all/output.mjs
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-all/output.mjs
@@ -1,5 +1,6 @@
import "core-js/modules/web.dom.iterable";
import "core-js/modules/es6.array.iterator";
+import "core-js/modules/es6.string.iterator";
import "core-js/modules/es6.promise";
var p = Promise.resolve(0);
Promise.all([p]).then(function (outcome) {
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/input.mjs
new file mode 100644
index 0000000000..bb634febe9
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/input.mjs
@@ -0,0 +1,4 @@
+var p = Promise.resolve(0);
+p.finally(() => {
+ alert("OK");
+});
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/options.json
new file mode 100644
index 0000000000..eeb3ed89dd
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/options.json
@@ -0,0 +1,14 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "browsers": ["ie > 10"]
+ },
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/output.mjs
new file mode 100644
index 0000000000..966401f6c6
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-finally/output.mjs
@@ -0,0 +1,6 @@
+import "core-js/modules/es7.promise.finally";
+import "core-js/modules/es6.promise";
+var p = Promise.resolve(0);
+p.finally(function () {
+ alert("OK");
+});
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-race/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-race/output.mjs
index cd121f34f7..099125598e 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-race/output.mjs
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/promise-race/output.mjs
@@ -1,5 +1,6 @@
import "core-js/modules/web.dom.iterable";
import "core-js/modules/es6.array.iterator";
+import "core-js/modules/es6.string.iterator";
import "core-js/modules/es6.promise";
var p = Promise.resolve(0);
Promise.race([p]).then(function (outcome) {
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async-native-support/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async-native-support/options.json
index 241b880ce4..708d581db6 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async-native-support/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async-native-support/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false,
- "targets": {
- "chrome": 55
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false,
+ "targets": {
+ "chrome": 55
+ }
}
- }]
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-async/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator-native-support/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator-native-support/options.json
index ec40d7f000..455a456415 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator-native-support/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator-native-support/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false,
- "targets": {
- "node": 6
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false,
+ "targets": {
+ "node": 6
+ }
}
- }]
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/regenerator-used-generator/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/remove-babel-polyfill-import/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/remove-babel-polyfill-import/options.json
index fa0e9434e2..0724294c9b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/remove-babel-polyfill-import/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/remove-babel-polyfill-import/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/input.js b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/input.js
new file mode 100644
index 0000000000..39f9e5858b
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/input.js
@@ -0,0 +1,8 @@
+require("foo");
+
+const x = new Promise(resolve => {
+ const p = [];
+
+ if (p.includes("a")) {
+ }
+});
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/options.json
new file mode 100644
index 0000000000..b9f676d131
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/options.json
@@ -0,0 +1,15 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "modules": false,
+ "targets": {
+ "node": "4.0.0"
+ },
+ "useBuiltIns": "usage",
+ "shippedProposals": true
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/output.js b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/output.js
new file mode 100644
index 0000000000..d98c7e41c6
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script-query/output.js
@@ -0,0 +1,11 @@
+require("core-js/modules/es7.array.includes");
+
+require("core-js/modules/es6.promise");
+
+require("foo");
+
+var x = new Promise(function (resolve) {
+ var p = [];
+
+ if (p.includes("a")) {}
+});
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script/options.json
index a92e3abd7a..b9f676d131 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/source-type-script/options.json
@@ -1,12 +1,15 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false,
- "targets": {
- "node": "4.0.0"
- },
- "useBuiltIns": "usage",
- "shippedProposals": true
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false,
+ "targets": {
+ "node": "4.0.0"
+ },
+ "useBuiltIns": "usage",
+ "shippedProposals": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/test-modules-transform/options.json b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/test-modules-transform/options.json
index 18d3b5de7f..ebc91c6d0f 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/test-modules-transform/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options-add-used-built-ins/test-modules-transform/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage"
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/.use-builtins-all-exec/options.json b/packages/babel-preset-env/test/fixtures/preset-options/.use-builtins-all-exec/options.json
index 18d3b5de7f..ebc91c6d0f 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/.use-builtins-all-exec/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/.use-builtins-all-exec/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "useBuiltIns": "usage"
- }]
+ [
+ "../../../../lib",
+ {
+ "useBuiltIns": "usage"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/browserslist b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/browserslist
new file mode 100644
index 0000000000..d0ae78fe6a
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/browserslist
@@ -0,0 +1 @@
+chrome 55
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/input.mjs
similarity index 100%
rename from packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/input.mjs
rename to packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/input.mjs
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/options.json
new file mode 100644
index 0000000000..e5b755470d
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/options.json
@@ -0,0 +1,12 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "configPath": "../fixtures/preset-options/browserslist-config-ignore-with-false",
+ "modules": false,
+ "ignoreBrowserslistConfig": true
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/output.mjs
similarity index 100%
rename from packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/output.mjs
rename to packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-config-with-false/output.mjs
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/input.mjs
similarity index 100%
rename from packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/input.mjs
rename to packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/input.mjs
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/options.json
new file mode 100644
index 0000000000..e5b755470d
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/options.json
@@ -0,0 +1,12 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "configPath": "../fixtures/preset-options/browserslist-config-ignore-with-false",
+ "modules": false,
+ "ignoreBrowserslistConfig": true
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/output.mjs
new file mode 100644
index 0000000000..f688910ec0
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/output.mjs
@@ -0,0 +1 @@
+var a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/package.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/package.json
new file mode 100644
index 0000000000..5862d68270
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-package-with-false/package.json
@@ -0,0 +1,3 @@
+{
+ "browserslist": "last 1 chrome version"
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/options.json
deleted file mode 100644
index d575e094d6..0000000000
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config-ignore-with-false/options.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "presets": [
- ["../../../../lib", {
- "configPath": "../fixtures/preset-options/browserslist-config-ignore-with-false",
- "modules": false,
- "ignoreBrowserslistConfig": true
- }]
- ]
-}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config/options.json
index 1545c51ee9..7fa5af3baa 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-config/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "configPath": "packages/babel-preset-env/test/fixtures/preset-options/browserslist-config",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "configPath": "packages/babel-preset-env/test/fixtures/preset-options/browserslist-config",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/options.json
deleted file mode 100644
index 4d3b8a30f1..0000000000
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/options.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "presets": [
- ["../../../../lib", {
- "configPath": "../fixtures/preset-options/browserslist-package-ignore-with-array",
- "targets": {
- "chrome": 55,
- "browsers": []
- },
- "modules": false
- }]
- ]
-}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/package.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/package.json
deleted file mode 100644
index 409d45c7fc..0000000000
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "browserslist": "> 2%"
-}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/input.mjs
similarity index 100%
rename from packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-array/output.mjs
rename to packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/input.mjs
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/options.json
new file mode 100644
index 0000000000..edb525659b
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/options.json
@@ -0,0 +1,14 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "configPath": "../fixtures/preset-options/browserslist-package-ignore-with-array",
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/output.mjs
new file mode 100644
index 0000000000..54b82a09ad
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/output.mjs
@@ -0,0 +1 @@
+const a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/package.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/package.json
new file mode 100644
index 0000000000..321ba17e87
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package-ignore-with-targets/package.json
@@ -0,0 +1,3 @@
+{
+ "browserslist": "last 1 ie version"
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/options.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/options.json
index c10fd049d7..79c5b70108 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/options.json
@@ -1,11 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "configPath": "packages/babel-preset-env/test/fixtures/preset-options/browserslist-package",
- "targets": {
- "chrome": 55
- },
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "configPath": "packages/babel-preset-env/test/fixtures/preset-options/browserslist-package",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/output.mjs
index f688910ec0..54b82a09ad 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/output.mjs
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/output.mjs
@@ -1 +1 @@
-var a = 1;
+const a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/package.json b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/package.json
index 409d45c7fc..5862d68270 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/package.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/browserslist-package/package.json
@@ -1,3 +1,3 @@
{
- "browserslist": "> 2%"
+ "browserslist": "last 1 chrome version"
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/core-js/options.json b/packages/babel-preset-env/test/fixtures/preset-options/core-js/options.json
index 7c15d7db40..6053ab0e29 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/core-js/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/core-js/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 55
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/electron/options.json b/packages/babel-preset-env/test/fixtures/preset-options/electron/options.json
index 2e2bef018a..0ebb752220 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/electron/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/electron/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "electron": "1.4"
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "electron": "1.4"
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/empty-options/options.json b/packages/babel-preset-env/test/fixtures/preset-options/empty-options/options.json
index df639ff3c2..e58d228193 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/empty-options/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/empty-options/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- ["../../../../lib", {}]
- ]
+ "presets": [["../../../../lib", {}]]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json b/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json
index 87ca44b84d..368eff47d4 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude-built-ins/options.json
@@ -1,18 +1,21 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 63
- },
- "modules": false,
- "useBuiltIns": "entry",
- "exclude": [
- "es7.string.pad-start",
- "es7.string.pad-end",
- "web.timers",
- "web.immediate",
- "web.dom.iterable"
- ]
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 63
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "exclude": [
+ "es7.string.pad-start",
+ "es7.string.pad-end",
+ "web.timers",
+ "web.immediate",
+ "web.dom.iterable"
+ ]
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/options.json b/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/options.json
index bf1f5a86c9..5835e72a36 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude-include/options.json
@@ -1,20 +1,20 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 55
- },
- "modules": false,
- "useBuiltIns": "entry",
- "exclude": [
- "transform-async-to-generator",
- "transform-regenerator",
- "es7.string.pad-start"
- ],
- "include": [
- "transform-arrow-functions",
- "es6.map"
- ]
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "exclude": [
+ "transform-async-to-generator",
+ "transform-regenerator",
+ "es7.string.pad-start"
+ ],
+ "include": ["transform-arrow-functions", "es6.map"]
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/options.json b/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/options.json
index 514d13251d..7e047ae37c 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude-regenerator/options.json
@@ -1,9 +1,12 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false,
- "useBuiltIns": "entry",
- "exclude": ["transform-regenerator"]
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false,
+ "useBuiltIns": "entry",
+ "exclude": ["transform-regenerator"]
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/exclude/options.json b/packages/babel-preset-env/test/fixtures/preset-options/exclude/options.json
index 7c6d3bfb0e..ffe95aded8 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/exclude/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/exclude/options.json
@@ -1,12 +1,12 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false,
- "useBuiltIns": "usage",
- "exclude": [
- "transform-async-to-generator",
- "transform-regenerator"
- ]
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false,
+ "useBuiltIns": "usage",
+ "exclude": ["transform-async-to-generator", "transform-regenerator"]
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/options.json b/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/options.json
index 60a4f26eaa..bbb2830a6b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/force-all-transforms/options.json
@@ -1,12 +1,15 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 55
- },
- "modules": false,
- "useBuiltIns": "entry",
- "forceAllTransforms": true
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "forceAllTransforms": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json b/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json
index cebe1cb0d4..be71dc8e11 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/options.json
@@ -1,12 +1,15 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "ie": 11
- },
- "modules": false,
- "useBuiltIns": "entry",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "ie": 11
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/output.mjs
index 1bfd7e3345..8ace0aa1e2 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/output.mjs
+++ b/packages/babel-preset-env/test/fixtures/preset-options/ie-11-built-ins/output.mjs
@@ -94,6 +94,7 @@ import "core-js/modules/es6.string.fontsize";
import "core-js/modules/es6.string.from-code-point";
import "core-js/modules/es6.string.includes";
import "core-js/modules/es6.string.italics";
+import "core-js/modules/es6.string.iterator";
import "core-js/modules/es6.string.link";
import "core-js/modules/es7.string.pad-start";
import "core-js/modules/es7.string.pad-end";
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/options.json b/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/options.json
index 74a59214cd..efae471651 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/include-built-ins/options.json
@@ -1,15 +1,15 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 55
- },
- "include": [
- "es6.map",
- "es6.set"
- ],
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 55
+ },
+ "include": ["es6.map", "es6.set"],
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/include/options.json b/packages/babel-preset-env/test/fixtures/preset-options/include/options.json
index 4869b71a4c..615248481b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/include/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/include/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 61
- },
- "include": ["transform-classes"],
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 61
+ },
+ "include": ["transform-classes"],
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/ios-10/options.json b/packages/babel-preset-env/test/fixtures/preset-options/ios-10/options.json
index 25d6c970e1..a9d6ca4f14 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/ios-10/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/ios-10/options.json
@@ -1,10 +1,13 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "browsers": ["ios >= 10"]
- },
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "browsers": ["ios >= 10"]
+ },
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/ios-6/options.json b/packages/babel-preset-env/test/fixtures/preset-options/ios-6/options.json
index 38d936c33c..96778c122b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/ios-6/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/ios-6/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "browsers": ["ios >= 6"]
- },
- "modules": false,
- "useBuiltIns": "usage"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "browsers": ["ios >= 6"]
+ },
+ "modules": false,
+ "useBuiltIns": "usage"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/loose-typeof-symbol/options.json b/packages/babel-preset-env/test/fixtures/preset-options/loose-typeof-symbol/options.json
index ad68441695..b3fcaf5a97 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/loose-typeof-symbol/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/loose-typeof-symbol/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "loose": true
- }]
+ [
+ "../../../../lib",
+ {
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/loose-with-typeof-symbol-includes/options.json b/packages/babel-preset-env/test/fixtures/preset-options/loose-with-typeof-symbol-includes/options.json
index 6a0801273e..5831707fa9 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/loose-with-typeof-symbol-includes/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/loose-with-typeof-symbol-includes/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "loose": true,
- "include": ["transform-typeof-symbol"]
- }]
+ [
+ "../../../../lib",
+ {
+ "loose": true,
+ "include": ["transform-typeof-symbol"]
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/modules-amd-loose/options.json b/packages/babel-preset-env/test/fixtures/preset-options/modules-amd-loose/options.json
index 428a076dfb..b2a6393687 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/modules-amd-loose/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/modules-amd-loose/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "modules": "amd",
- "loose": true
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": "amd",
+ "loose": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/modules-cjs/options.json b/packages/babel-preset-env/test/fixtures/preset-options/modules-cjs/options.json
index e77c229268..8ae14a642d 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/modules-cjs/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/modules-cjs/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": "cjs"
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": "cjs"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/modules-commonjs/options.json b/packages/babel-preset-env/test/fixtures/preset-options/modules-commonjs/options.json
index fa7dc2fe4c..7d1f12f2fc 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/modules-commonjs/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/modules-commonjs/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": "commonjs"
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": "commonjs"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/modules-false/options.json b/packages/babel-preset-env/test/fixtures/preset-options/modules-false/options.json
index 1f29c71c16..8700f8c4d6 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/modules-false/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/modules-false/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/modules-systemjs/options.json b/packages/babel-preset-env/test/fixtures/preset-options/modules-systemjs/options.json
index bf0180f31f..a441e7b82c 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/modules-systemjs/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/modules-systemjs/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": "systemjs"
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": "systemjs"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/modules-umd/options.json b/packages/babel-preset-env/test/fixtures/preset-options/modules-umd/options.json
index 2550ff91f1..18b39b6fa2 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/modules-umd/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/modules-umd/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": "umd"
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": "umd"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/no-options/options.json b/packages/babel-preset-env/test/fixtures/preset-options/no-options/options.json
index 84a75e8721..e6645e19b6 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/no-options/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/no-options/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- "../../../../lib"
- ]
+ "presets": ["../../../../lib"]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/no-transform/options.json b/packages/babel-preset-env/test/fixtures/preset-options/no-transform/options.json
index c8b43a8de0..993ea7009f 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/no-transform/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/no-transform/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": "55"
- },
- "modules": false,
- "useBuiltIns": "usage"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": "55"
+ },
+ "modules": false,
+ "useBuiltIns": "usage"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/safari-tp-browsers/options.json b/packages/babel-preset-env/test/fixtures/preset-options/safari-tp-browsers/options.json
index 99be2bf1a3..1a2ac1b59d 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/safari-tp-browsers/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/safari-tp-browsers/options.json
@@ -1,11 +1,13 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "browsers": "safari tp"
- },
- "shippedProposals": true
- }
- ]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "browsers": "safari tp"
+ },
+ "shippedProposals": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/safari-tp/options.json b/packages/babel-preset-env/test/fixtures/preset-options/safari-tp/options.json
index 03d076914c..aa7229719b 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/safari-tp/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/safari-tp/options.json
@@ -1,10 +1,13 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "safari": "tp"
- },
- "shippedProposals": true
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "safari": "tp"
+ },
+ "shippedProposals": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/options.json b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/options.json
index 8a799417be..c5b86606ca 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-entry/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "shippedProposals": true,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "shippedProposals": true,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/options.json b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/options.json
index c67678705d..1f13f288b9 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals-use-builtins-usage/options.json
@@ -1,9 +1,12 @@
{
"sourceType": "module",
"presets": [
- ["../../../../lib", {
- "shippedProposals": true,
- "useBuiltIns": "usage"
- }]
+ [
+ "../../../../lib",
+ {
+ "shippedProposals": true,
+ "useBuiltIns": "usage"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals/options.json b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals/options.json
index 897e16fb7c..0b8df73444 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/shippedProposals/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "shippedProposals": true
- }]
+ [
+ "../../../../lib",
+ {
+ "shippedProposals": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/spec/options.json b/packages/babel-preset-env/test/fixtures/preset-options/spec/options.json
index 8aefcdc8ed..7d73fcdc98 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/spec/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/spec/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "spec": true
- }]
+ [
+ "../../../../lib",
+ {
+ "spec": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/input.mjs
new file mode 100644
index 0000000000..54b82a09ad
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/input.mjs
@@ -0,0 +1 @@
+const a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/options.json b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/options.json
new file mode 100644
index 0000000000..7a0a4baf72
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/options.json
@@ -0,0 +1,13 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": "55"
+ },
+ "modules": false
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/output.mjs
new file mode 100644
index 0000000000..54b82a09ad
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-object/output.mjs
@@ -0,0 +1 @@
+const a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/input.mjs b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/input.mjs
new file mode 100644
index 0000000000..54b82a09ad
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/input.mjs
@@ -0,0 +1 @@
+const a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/options.json b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/options.json
new file mode 100644
index 0000000000..e212d72717
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/options.json
@@ -0,0 +1,11 @@
+{
+ "presets": [
+ [
+ "../../../../lib",
+ {
+ "targets": "chrome 55",
+ "modules": false
+ }
+ ]
+ ]
+}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/output.mjs
new file mode 100644
index 0000000000..54b82a09ad
--- /dev/null
+++ b/packages/babel-preset-env/test/fixtures/preset-options/targets-as-string/output.mjs
@@ -0,0 +1 @@
+const a = 1;
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/options.json
index 21eec2f1a1..315805ef81 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-all/options.json
@@ -1,8 +1,11 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/options.json
index c975d957a6..24aed40ad1 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 48
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 48
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/options.json
index 0570d4dc43..c1d306666c 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 49
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 49
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-66/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-66/options.json
index 11ae07972e..70efcddddc 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-66/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-66/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": "66"
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": "66"
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/options.json
index 9a973f7d8f..463fc50978 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-chromeandroid/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "browsers": "chromeandroid 59"
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "browsers": "chromeandroid 59"
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/options.json
index 9f6cf02b9a..cb0e9069ff 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/options.json
@@ -1,12 +1,15 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "ie": 9
- },
- "modules": false,
- "useBuiltIns": "entry",
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "ie": 9
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/output.mjs b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/output.mjs
index d7da81c928..a0f5cab607 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/output.mjs
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-ie-9/output.mjs
@@ -96,6 +96,7 @@ import "core-js/modules/es6.string.fontsize";
import "core-js/modules/es6.string.from-code-point";
import "core-js/modules/es6.string.includes";
import "core-js/modules/es6.string.italics";
+import "core-js/modules/es6.string.iterator";
import "core-js/modules/es6.string.link";
import "core-js/modules/es7.string.pad-start";
import "core-js/modules/es7.string.pad-end";
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/options.json
index 7c15d7db40..6053ab0e29 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-import/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": 55
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": 55
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/options.json
index 1d3af8c462..594b2443f2 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node-web/options.json
@@ -1,13 +1,16 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": "55",
- "node": "7.6"
- },
- "modules": false,
- "useBuiltIns": "entry",
- "forceAllTransforms": true
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": "55",
+ "node": "7.6"
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "forceAllTransforms": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/options.json
index 339ba8f3a6..f4e793dddf 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-node/options.json
@@ -1,12 +1,15 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "node": "7.6"
- },
- "modules": false,
- "useBuiltIns": "entry",
- "forceAllTransforms": true
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "node": "7.6"
+ },
+ "modules": false,
+ "useBuiltIns": "entry",
+ "forceAllTransforms": true
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/options.json b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/options.json
index a31ebe2f8e..1e2b3ea2c1 100644
--- a/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/options.json
+++ b/packages/babel-preset-env/test/fixtures/preset-options/use-builtins-require/options.json
@@ -1,11 +1,14 @@
{
"presets": [
- ["../../../../lib", {
- "targets": {
- "chrome": "55"
- },
- "modules": false,
- "useBuiltIns": "entry"
- }]
+ [
+ "../../../../lib",
+ {
+ "targets": {
+ "chrome": "55"
+ },
+ "modules": false,
+ "useBuiltIns": "entry"
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/sanity/block-scoping-for-of/options.json b/packages/babel-preset-env/test/fixtures/sanity/block-scoping-for-of/options.json
index 1f29c71c16..8700f8c4d6 100644
--- a/packages/babel-preset-env/test/fixtures/sanity/block-scoping-for-of/options.json
+++ b/packages/babel-preset-env/test/fixtures/sanity/block-scoping-for-of/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/sanity/check-es2015-constants/options.json b/packages/babel-preset-env/test/fixtures/sanity/check-es2015-constants/options.json
index 25bb3f6508..88523b8c6f 100644
--- a/packages/babel-preset-env/test/fixtures/sanity/check-es2015-constants/options.json
+++ b/packages/babel-preset-env/test/fixtures/sanity/check-es2015-constants/options.json
@@ -1,6 +1,4 @@
{
- "presets": [
- ["../../../../lib"]
- ],
+ "presets": [["../../../../lib"]],
"throws": "\"one\" is read-only"
}
diff --git a/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json
index 1f29c71c16..8700f8c4d6 100644
--- a/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json
+++ b/packages/babel-preset-env/test/fixtures/sanity/regex-dot-all/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/fixtures/sanity/transform-duplicate-keys/options.json b/packages/babel-preset-env/test/fixtures/sanity/transform-duplicate-keys/options.json
index 1f29c71c16..8700f8c4d6 100644
--- a/packages/babel-preset-env/test/fixtures/sanity/transform-duplicate-keys/options.json
+++ b/packages/babel-preset-env/test/fixtures/sanity/transform-duplicate-keys/options.json
@@ -1,7 +1,10 @@
{
"presets": [
- ["../../../../lib", {
- "modules": false
- }]
+ [
+ "../../../../lib",
+ {
+ "modules": false
+ }
+ ]
]
}
diff --git a/packages/babel-preset-env/test/normalize-options.spec.js b/packages/babel-preset-env/test/normalize-options.spec.js
index abe163e0cf..7a0f481f7b 100644
--- a/packages/babel-preset-env/test/normalize-options.spec.js
+++ b/packages/babel-preset-env/test/normalize-options.spec.js
@@ -134,16 +134,20 @@ describe("normalize-options", () => {
});
describe("validateModulesOption", () => {
- it("`undefined` option returns commonjs", () => {
- expect(validateModulesOption()).toBe("commonjs");
+ it("`undefined` option returns auto", () => {
+ expect(validateModulesOption()).toBe("auto");
});
- it("`false` option returns commonjs", () => {
+ it("`false` option returns false", () => {
expect(validateModulesOption(false)).toBe(false);
});
+ it("auto option is valid", () => {
+ expect(validateModulesOption("auto")).toBe("auto");
+ });
+
it("commonjs option is valid", () => {
- expect(validateModulesOption()).toBe("commonjs");
+ expect(validateModulesOption("commonjs")).toBe("commonjs");
});
it("systemjs option is valid", () => {
diff --git a/packages/babel-preset-env/test/targets-parser.spec.js b/packages/babel-preset-env/test/targets-parser.spec.js
index e458fe291f..fe6e2fac31 100644
--- a/packages/babel-preset-env/test/targets-parser.spec.js
+++ b/packages/babel-preset-env/test/targets-parser.spec.js
@@ -1,3 +1,4 @@
+import browserslist from "browserslist";
import getTargets from "../lib/targets-parser";
describe("getTargets", () => {
@@ -19,6 +20,16 @@ describe("getTargets", () => {
});
});
+ it("does not clobber browserslists defaults", () => {
+ const browserslistDefaults = browserslist.defaults;
+
+ getTargets({
+ browsers: "chrome 56, ie 11, firefox 51, safari 9",
+ });
+
+ expect(browserslist.defaults).toEqual(browserslistDefaults);
+ });
+
describe("validation", () => {
it("throws on invalid target name", () => {
const invalidTargetName = () => {
@@ -75,6 +86,47 @@ describe("getTargets", () => {
});
});
+ it("works with node versions", () => {
+ expect(
+ getTargets({
+ browsers: "node 8.5",
+ }),
+ ).toEqual({
+ node: "8.5.0",
+ });
+ });
+
+ it("works with current node version and string type browsers", () => {
+ expect(
+ getTargets({
+ browsers: "current node, chrome 55",
+ }),
+ ).toEqual({
+ node: process.versions.node,
+ chrome: "55.0.0",
+ });
+ });
+
+ it("does throws on unsupported versions", () => {
+ expect(() => {
+ getTargets({
+ browsers: "node 15.0.0, chrome 1000",
+ });
+ }).toThrow();
+ });
+
+ it("works with current node version and array type browsers", () => {
+ expect(
+ getTargets({
+ browsers: ["ie 11", "current node", "chrome 55"],
+ }),
+ ).toEqual({
+ node: process.versions.node,
+ chrome: "55.0.0",
+ ie: "11.0.0",
+ });
+ });
+
it("prefers released version over TP", () => {
expect(
getTargets({
diff --git a/packages/babel-preset-es2015/package.json b/packages/babel-preset-es2015/package.json
deleted file mode 100644
index d06c6ca92a..0000000000
--- a/packages/babel-preset-es2015/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "@babel/preset-es2015",
- "version": "7.0.0-beta.52",
- "description": "Babel preset for all es2015 plugins.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-es2015",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-transform-arrow-functions": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoping": "7.0.0-beta.52",
- "@babel/plugin-transform-classes": "7.0.0-beta.52",
- "@babel/plugin-transform-computed-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-destructuring": "7.0.0-beta.52",
- "@babel/plugin-transform-duplicate-keys": "7.0.0-beta.52",
- "@babel/plugin-transform-for-of": "7.0.0-beta.52",
- "@babel/plugin-transform-function-name": "7.0.0-beta.52",
- "@babel/plugin-transform-instanceof": "7.0.0-beta.52",
- "@babel/plugin-transform-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-amd": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-systemjs": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-umd": "7.0.0-beta.52",
- "@babel/plugin-transform-object-super": "7.0.0-beta.52",
- "@babel/plugin-transform-parameters": "7.0.0-beta.52",
- "@babel/plugin-transform-regenerator": "7.0.0-beta.52",
- "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-spread": "7.0.0-beta.52",
- "@babel/plugin-transform-sticky-regex": "7.0.0-beta.52",
- "@babel/plugin-transform-template-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.52",
- "@babel/plugin-transform-unicode-regex": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/helper-transform-fixture-test-runner": "7.0.0-beta.52"
- }
-}
diff --git a/packages/babel-preset-es2016/package.json b/packages/babel-preset-es2016/package.json
deleted file mode 100644
index cc12745273..0000000000
--- a/packages/babel-preset-es2016/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "@babel/preset-es2016",
- "version": "7.0.0-beta.52",
- "description": "Babel preset for all es2016 plugins.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-es2016",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52"
- }
-}
diff --git a/packages/babel-preset-es2017/package.json b/packages/babel-preset-es2017/package.json
deleted file mode 100644
index 61335b0f13..0000000000
--- a/packages/babel-preset-es2017/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "@babel/preset-es2017",
- "version": "7.0.0-beta.52",
- "description": "Babel preset for all es2017 plugins.",
- "author": "Sebastian McKenzie ",
- "homepage": "https://babeljs.io/",
- "license": "MIT",
- "repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-es2017",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-transform-async-to-generator": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52"
- }
-}
diff --git a/packages/babel-preset-flow/package.json b/packages/babel-preset-flow/package.json
index c532b788e1..80db216b5f 100644
--- a/packages/babel-preset-flow/package.json
+++ b/packages/babel-preset-flow/package.json
@@ -1,10 +1,13 @@
{
"name": "@babel/preset-flow",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel preset for all Flow plugins.",
"author": "James Kyle ",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-flow",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-preset",
@@ -13,14 +16,14 @@
"types"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-transform-flow-strip-types": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-preset-flow/test/fixtures/flow/options.json b/packages/babel-preset-flow/test/fixtures/flow/options.json
index a896013492..4285ecfa9a 100644
--- a/packages/babel-preset-flow/test/fixtures/flow/options.json
+++ b/packages/babel-preset-flow/test/fixtures/flow/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- "flow"
- ]
+ "presets": ["flow"]
}
diff --git a/packages/babel-preset-react/package.json b/packages/babel-preset-react/package.json
index 1bf0ba3f52..a7c6e195a5 100644
--- a/packages/babel-preset-react/package.json
+++ b/packages/babel-preset-react/package.json
@@ -1,25 +1,28 @@
{
"name": "@babel/preset-react",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel preset for all React plugins.",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-react",
"main": "lib/index.js",
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-transform-react-display-name": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx-self": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx-source": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-source": "^7.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52",
- "@babel/helper-transform-fixture-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0",
+ "@babel/helper-transform-fixture-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-preset-react/test/fixtures/preset-options/development/options.json b/packages/babel-preset-react/test/fixtures/preset-options/development/options.json
index 5ce6ee2080..20fb8a7d4b 100644
--- a/packages/babel-preset-react/test/fixtures/preset-options/development/options.json
+++ b/packages/babel-preset-react/test/fixtures/preset-options/development/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- ["react", { "development": true }]
- ]
+ "presets": [["react", { "development": true }]]
}
diff --git a/packages/babel-preset-react/test/fixtures/preset-options/empty-options/options.json b/packages/babel-preset-react/test/fixtures/preset-options/empty-options/options.json
index 2f5fa2457b..33f84fa2ea 100644
--- a/packages/babel-preset-react/test/fixtures/preset-options/empty-options/options.json
+++ b/packages/babel-preset-react/test/fixtures/preset-options/empty-options/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- ["react", {}]
- ]
+ "presets": [["react", {}]]
}
diff --git a/packages/babel-preset-react/test/fixtures/preset-options/no-options/options.json b/packages/babel-preset-react/test/fixtures/preset-options/no-options/options.json
index 2e9146fee1..12d195e58b 100644
--- a/packages/babel-preset-react/test/fixtures/preset-options/no-options/options.json
+++ b/packages/babel-preset-react/test/fixtures/preset-options/no-options/options.json
@@ -1,5 +1,3 @@
{
- "presets": [
- "react"
- ]
+ "presets": ["react"]
}
diff --git a/packages/babel-preset-stage-0/README.md b/packages/babel-preset-stage-0/README.md
index d64efb28db..e4cdd326b0 100644
--- a/packages/babel-preset-stage-0/README.md
+++ b/packages/babel-preset-stage-0/README.md
@@ -1,19 +1,58 @@
# @babel/preset-stage-0
-> Babel preset for stage 0 plugins
+As of v7.0.0-beta.55, we've removed Babel's Stage presets. Please consider reading our [blog post](https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets) on this decision for more details. TL;DR is that it's more beneficial in the long run to explicitly add which proposals to use.
-See our website [@babel/preset-stage-0](https://babeljs.io/docs/en/next/babel-preset-stage-0.html) for more information.
+---
-## Install
+For a more automatic migration, we have updated [babel-upgrade](https://github.com/babel/babel-upgrade) to do this for you (you can run `npx babel-upgrade`).
-Using npm:
+If you want the same configuration as before:
-```sh
-npm install --save-dev @babel/preset-stage-0
+```jsonc
+{
+ "plugins": [
+ // Stage 0
+ "@babel/plugin-proposal-function-bind",
+
+ // Stage 1
+ "@babel/plugin-proposal-export-default-from",
+ "@babel/plugin-proposal-logical-assignment-operators",
+ ["@babel/plugin-proposal-optional-chaining", { "loose": false }],
+ ["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }],
+ ["@babel/plugin-proposal-nullish-coalescing-operator", { "loose": false }],
+ "@babel/plugin-proposal-do-expressions",
+
+ // Stage 2
+ ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
+
+ // Stage 3
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
```
-or using yarn:
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
-```sh
-yarn add @babel/preset-stage-0 --dev
+```js
+module.exports = function() {
+ return {
+ plugins: [
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
+ ],
+ };
+};
```
diff --git a/packages/babel-preset-stage-0/package.json b/packages/babel-preset-stage-0/package.json
index e8b746216d..dc2ea43dc8 100644
--- a/packages/babel-preset-stage-0/package.json
+++ b/packages/babel-preset-stage-0/package.json
@@ -1,21 +1,13 @@
{
"name": "@babel/preset-stage-0",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel preset for stage 0 plugins",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-stage-0",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-proposal-function-bind": "7.0.0-beta.52",
- "@babel/preset-stage-1": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52"
- }
+ "main": "lib/index.js"
}
diff --git a/packages/babel-preset-stage-0/src/index.js b/packages/babel-preset-stage-0/src/index.js
index 28d9dd33cc..da2a61a9f4 100644
--- a/packages/babel-preset-stage-0/src/index.js
+++ b/packages/babel-preset-stage-0/src/index.js
@@ -1,57 +1,60 @@
-import { declare } from "@babel/helper-plugin-utils";
-import presetStage1 from "@babel/preset-stage-1";
+export default function() {
+ throw new Error(`
+As of v7.0.0-beta.55, we've removed Babel's Stage presets.
+Please consider reading our blog post on this decision at
+https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets
+for more details. TL;DR is that it's more beneficial in the
+ long run to explicitly add which proposals to use.
-import transformFunctionBind from "@babel/plugin-proposal-function-bind";
-import { proposals } from "@babel/plugin-proposal-pipeline-operator";
+For a more automatic migration, we have updated babel-upgrade,
+https://github.com/babel/babel-upgrade to do this for you with
+"npx babel-upgrade".
-export default declare((api, opts = {}) => {
- api.assertVersion(7);
+If you want the same configuration as before:
- const {
- loose = false,
- useBuiltIns = false,
- decoratorsLegacy = false,
- pipelineProposal,
- } = opts;
+{
+ "plugins": [
+ // Stage 0
+ "@babel/plugin-proposal-function-bind",
- if (typeof loose !== "boolean") {
- throw new Error("@babel/preset-stage-0 'loose' option must be a boolean.");
- }
- if (typeof useBuiltIns !== "boolean") {
- throw new Error(
- "@babel/preset-stage-0 'useBuiltIns' option must be a boolean.",
- );
- }
- if (typeof decoratorsLegacy !== "boolean") {
- throw new Error(
- "@babel/preset-stage-0 'decoratorsLegacy' option must be a boolean.",
- );
- }
+ // Stage 1
+ "@babel/plugin-proposal-export-default-from",
+ "@babel/plugin-proposal-logical-assignment-operators",
+ ["@babel/plugin-proposal-optional-chaining", { "loose": false }],
+ ["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }],
+ ["@babel/plugin-proposal-nullish-coalescing-operator", { "loose": false }],
+ "@babel/plugin-proposal-do-expressions",
- if (decoratorsLegacy !== true) {
- throw new Error(
- "The new decorators proposal is not supported yet." +
- ' You must pass the `"decoratorsLegacy": true` option to' +
- " @babel/preset-stage-0",
- );
- }
+ // Stage 2
+ ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
- if (typeof pipelineProposal !== "string") {
- throw new Error(
- "The pipeline operator requires a proposal set." +
- " You must pass 'pipelineProposal' option to" +
- " @babel/preset-stage-0 whose value must be one of: " +
- proposals.join(", "),
- );
- }
+ // Stage 3
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
+
+module.exports = function() {
return {
- presets: [
- [
- presetStage1,
- { loose, useBuiltIns, decoratorsLegacy, pipelineProposal },
- ],
+ plugins: [
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
],
- plugins: [transformFunctionBind],
};
-});
+};
+ `);
+}
diff --git a/packages/babel-preset-stage-1/README.md b/packages/babel-preset-stage-1/README.md
index 16a67afb62..6cd8f47500 100644
--- a/packages/babel-preset-stage-1/README.md
+++ b/packages/babel-preset-stage-1/README.md
@@ -1,19 +1,55 @@
# @babel/preset-stage-1
-> Babel preset for stage 1 plugins
+As of v7.0.0-beta.55, we've removed Babel's Stage presets. Please consider reading our [blog post](https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets) on this decision for more details. TL;DR is that it's more beneficial in the long run to explicitly add which proposals to use.
-See our website [@babel/preset-stage-1](https://babeljs.io/docs/en/next/babel-preset-stage-1.html) for more information.
+---
-## Install
+For a more automatic migration, we have updated [babel-upgrade](https://github.com/babel/babel-upgrade) to do this for you (you can run `npx babel-upgrade`).
-Using npm:
+If you want the same configuration as before:
-```sh
-npm install --save-dev @babel/preset-stage-1
+```jsonc
+{
+ "plugins": [
+ // Stage 1
+ "@babel/plugin-proposal-export-default-from",
+ "@babel/plugin-proposal-logical-assignment-operators",
+ ["@babel/plugin-proposal-optional-chaining", { "loose": false }],
+ ["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }],
+ ["@babel/plugin-proposal-nullish-coalescing-operator", { "loose": false }],
+ "@babel/plugin-proposal-do-expressions",
+
+ // Stage 2
+ ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
+
+ // Stage 3
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
```
-or using yarn:
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
-```sh
-yarn add @babel/preset-stage-1 --dev
+```js
+module.exports = function() {
+ return {
+ plugins: [
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
+ ],
+ };
+};
```
diff --git a/packages/babel-preset-stage-1/package.json b/packages/babel-preset-stage-1/package.json
index b7ea3938ae..377959f834 100644
--- a/packages/babel-preset-stage-1/package.json
+++ b/packages/babel-preset-stage-1/package.json
@@ -1,26 +1,13 @@
{
"name": "@babel/preset-stage-1",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel preset for stage 1 plugins",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-stage-1",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-proposal-do-expressions": "7.0.0-beta.52",
- "@babel/plugin-proposal-export-default-from": "7.0.0-beta.52",
- "@babel/plugin-proposal-logical-assignment-operators": "7.0.0-beta.52",
- "@babel/plugin-proposal-nullish-coalescing-operator": "7.0.0-beta.52",
- "@babel/plugin-proposal-optional-chaining": "7.0.0-beta.52",
- "@babel/plugin-proposal-pipeline-operator": "7.0.0-beta.52",
- "@babel/preset-stage-2": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52"
- }
+ "main": "lib/index.js"
}
diff --git a/packages/babel-preset-stage-1/src/index.js b/packages/babel-preset-stage-1/src/index.js
index 2c50a12fca..7b70552855 100644
--- a/packages/babel-preset-stage-1/src/index.js
+++ b/packages/babel-preset-stage-1/src/index.js
@@ -1,65 +1,57 @@
-import { declare } from "@babel/helper-plugin-utils";
-import presetStage2 from "@babel/preset-stage-2";
+export default function() {
+ throw new Error(`
+As of v7.0.0-beta.55, we've removed Babel's Stage presets.
+Please consider reading our blog post on this decision at
+https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets
+for more details. TL;DR is that it's more beneficial in the
+ long run to explicitly add which proposals to use.
-import transformExportDefaultFrom from "@babel/plugin-proposal-export-default-from";
-import transformLogicalAssignmentOperators from "@babel/plugin-proposal-logical-assignment-operators";
-import transformOptionalChaining from "@babel/plugin-proposal-optional-chaining";
-import transformPipelineOperator, {
- proposals,
-} from "@babel/plugin-proposal-pipeline-operator";
-import transformNullishCoalescingOperator from "@babel/plugin-proposal-nullish-coalescing-operator";
-import transformDoExpressions from "@babel/plugin-proposal-do-expressions";
+For a more automatic migration, we have updated babel-upgrade,
+https://github.com/babel/babel-upgrade to do this for you with
+"npx babel-upgrade".
-export default declare((api, opts = {}) => {
- api.assertVersion(7);
+If you want the same configuration as before:
- const {
- loose = false,
- useBuiltIns = false,
- decoratorsLegacy = false,
- pipelineProposal,
- } = opts;
+{
+ "plugins": [
+ // Stage 1
+ "@babel/plugin-proposal-export-default-from",
+ "@babel/plugin-proposal-logical-assignment-operators",
+ ["@babel/plugin-proposal-optional-chaining", { "loose": false }],
+ ["@babel/plugin-proposal-pipeline-operator", { "proposal": "minimal" }],
+ ["@babel/plugin-proposal-nullish-coalescing-operator", { "loose": false }],
+ "@babel/plugin-proposal-do-expressions",
- if (typeof loose !== "boolean") {
- throw new Error("@babel/preset-stage-1 'loose' option must be a boolean.");
- }
- if (typeof useBuiltIns !== "boolean") {
- throw new Error(
- "@babel/preset-stage-1 'useBuiltIns' option must be a boolean.",
- );
- }
- if (typeof decoratorsLegacy !== "boolean") {
- throw new Error(
- "@babel/preset-stage-1 'decoratorsLegacy' option must be a boolean.",
- );
- }
+ // Stage 2
+ ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
- if (decoratorsLegacy !== true) {
- throw new Error(
- "The new decorators proposal is not supported yet." +
- ' You must pass the `"decoratorsLegacy": true` option to' +
- " @babel/preset-stage-1",
- );
- }
+ // Stage 3
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
- if (typeof pipelineProposal !== "string") {
- throw new Error(
- "The pipeline operator requires a proposal set." +
- " You must pass 'pipelineProposal' option to" +
- " @babel/preset-stage-1 whose value must be one of: " +
- proposals.join(", "),
- );
- }
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
+module.exports = function() {
return {
- presets: [[presetStage2, { loose, useBuiltIns, decoratorsLegacy }]],
plugins: [
- transformExportDefaultFrom,
- transformLogicalAssignmentOperators,
- [transformOptionalChaining, { loose }],
- [transformPipelineOperator, { proposal: pipelineProposal }],
- [transformNullishCoalescingOperator, { loose }],
- transformDoExpressions,
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
],
};
-});
+};
+`);
+}
diff --git a/packages/babel-preset-stage-2/README.md b/packages/babel-preset-stage-2/README.md
index 9f1b36fd34..f1f9abfebf 100644
--- a/packages/babel-preset-stage-2/README.md
+++ b/packages/babel-preset-stage-2/README.md
@@ -1,19 +1,47 @@
# @babel/preset-stage-2
-> Babel preset for stage 2 plugins
+As of v7.0.0-beta.55, we've removed Babel's Stage presets. Please consider reading our [blog post](https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets) on this decision for more details. TL;DR is that it's more beneficial in the long run to explicitly add which proposals to use.
-See our website [@babel/preset-stage-2](https://babeljs.io/docs/en/next/babel-preset-stage-2.html) for more information.
+---
-## Install
+For a more automatic migration, we have updated [babel-upgrade](https://github.com/babel/babel-upgrade) to do this for you (you can run `npx babel-upgrade`).
-Using npm:
+If you want the same configuration as before:
-```sh
-npm install --save-dev @babel/preset-stage-2
+```jsonc
+{
+ "plugins": [
+ // Stage 2
+ ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
+
+ // Stage 3
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
```
-or using yarn:
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
-```sh
-yarn add @babel/preset-stage-2 --dev
+```js
+module.exports = function() {
+ return {
+ plugins: [
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
+ ],
+ };
+};
```
diff --git a/packages/babel-preset-stage-2/package.json b/packages/babel-preset-stage-2/package.json
index bf6d8ed4f3..af25940506 100644
--- a/packages/babel-preset-stage-2/package.json
+++ b/packages/babel-preset-stage-2/package.json
@@ -1,25 +1,13 @@
{
"name": "@babel/preset-stage-2",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel preset for stage 2 plugins",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-stage-2",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-proposal-decorators": "7.0.0-beta.52",
- "@babel/plugin-proposal-export-namespace-from": "7.0.0-beta.52",
- "@babel/plugin-proposal-function-sent": "7.0.0-beta.52",
- "@babel/plugin-proposal-numeric-separator": "7.0.0-beta.52",
- "@babel/plugin-proposal-throw-expressions": "7.0.0-beta.52",
- "@babel/preset-stage-3": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52"
- }
+ "main": "lib/index.js"
}
diff --git a/packages/babel-preset-stage-2/src/index.js b/packages/babel-preset-stage-2/src/index.js
index f40084eac7..4d3a38d425 100644
--- a/packages/babel-preset-stage-2/src/index.js
+++ b/packages/babel-preset-stage-2/src/index.js
@@ -1,47 +1,49 @@
-import { declare } from "@babel/helper-plugin-utils";
-import presetStage3 from "@babel/preset-stage-3";
+export default function() {
+ throw new Error(`
+As of v7.0.0-beta.55, we've removed Babel's Stage presets.
+Please consider reading our blog post on this decision at
+https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets
+for more details. TL;DR is that it's more beneficial in the
+ long run to explicitly add which proposals to use.
-import transformDecorators from "@babel/plugin-proposal-decorators";
-import transformFunctionSent from "@babel/plugin-proposal-function-sent";
-import transformExportNamespaceFrom from "@babel/plugin-proposal-export-namespace-from";
-import transformNumericSeparator from "@babel/plugin-proposal-numeric-separator";
-import transformThrowExpressions from "@babel/plugin-proposal-throw-expressions";
+For a more automatic migration, we have updated babel-upgrade,
+https://github.com/babel/babel-upgrade to do this for you with
+"npx babel-upgrade".
-export default declare((api, opts = {}) => {
- api.assertVersion(7);
+If you want the same configuration as before:
- const { loose = false, useBuiltIns = false, decoratorsLegacy = false } = opts;
+{
+ "plugins": [
+ // Stage 2
+ ["@babel/plugin-proposal-decorators", { "legacy": true }],
+ "@babel/plugin-proposal-function-sent",
+ "@babel/plugin-proposal-export-namespace-from",
+ "@babel/plugin-proposal-numeric-separator",
+ "@babel/plugin-proposal-throw-expressions",
- if (typeof loose !== "boolean") {
- throw new Error("@babel/preset-stage-2 'loose' option must be a boolean.");
- }
- if (typeof useBuiltIns !== "boolean") {
- throw new Error(
- "@babel/preset-stage-2 'useBuiltIns' option must be a boolean.",
- );
- }
- if (typeof decoratorsLegacy !== "boolean") {
- throw new Error(
- "@babel/preset-stage-2 'decoratorsLegacy' option must be a boolean.",
- );
- }
+ // Stage 3
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
- if (decoratorsLegacy !== true) {
- throw new Error(
- "The new decorators proposal is not supported yet." +
- ' You must pass the `"decoratorsLegacy": true` option to' +
- " @babel/preset-stage-2",
- );
- }
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
+module.exports = function() {
return {
- presets: [[presetStage3, { loose, useBuiltIns }]],
plugins: [
- [transformDecorators, { legacy: decoratorsLegacy }],
- transformFunctionSent,
- transformExportNamespaceFrom,
- transformNumericSeparator,
- transformThrowExpressions,
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
],
};
-});
+};
+`);
+}
diff --git a/packages/babel-preset-stage-3/README.md b/packages/babel-preset-stage-3/README.md
index fe5de4e5c2..cf6e28c258 100644
--- a/packages/babel-preset-stage-3/README.md
+++ b/packages/babel-preset-stage-3/README.md
@@ -1,19 +1,39 @@
# @babel/preset-stage-3
-> Babel preset for stage 3 plugins
+As of v7.0.0-beta.55, we've removed Babel's Stage presets. Please consider reading our [blog post](https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets) on this decision for more details. TL;DR is that it's more beneficial in the long run to explicitly add which proposals to use.
-See our website [@babel/preset-stage-3](https://babeljs.io/docs/en/next/babel-preset-stage-3.html) for more information.
+---
-## Install
+For a more automatic migration, we have updated [babel-upgrade](https://github.com/babel/babel-upgrade) to do this for you (you can run `npx babel-upgrade`).
-Using npm:
+If you want the same configuration as before:
-```sh
-npm install --save-dev @babel/preset-stage-3
+```json
+{
+ "plugins": [
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
```
-or using yarn:
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
-```sh
-yarn add @babel/preset-stage-3 --dev
+```js
+module.exports = function() {
+ return {
+ plugins: [
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
+ ],
+ };
+};
```
diff --git a/packages/babel-preset-stage-3/package.json b/packages/babel-preset-stage-3/package.json
index d659218399..2bb6507112 100644
--- a/packages/babel-preset-stage-3/package.json
+++ b/packages/babel-preset-stage-3/package.json
@@ -1,27 +1,13 @@
{
"name": "@babel/preset-stage-3",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "Babel preset for stage 3 plugins",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-stage-3",
- "main": "lib/index.js",
- "dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.52",
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.52",
- "@babel/plugin-proposal-json-strings": "7.0.0-beta.52",
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.52",
- "@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.52",
- "@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.52",
- "@babel/plugin-syntax-dynamic-import": "7.0.0-beta.52",
- "@babel/plugin-syntax-import-meta": "7.0.0-beta.52"
- },
- "peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52"
- }
+ "main": "lib/index.js"
}
diff --git a/packages/babel-preset-stage-3/src/index.js b/packages/babel-preset-stage-3/src/index.js
index 4562067b4e..5e7c9b8410 100644
--- a/packages/babel-preset-stage-3/src/index.js
+++ b/packages/babel-preset-stage-3/src/index.js
@@ -1,43 +1,42 @@
-import { declare } from "@babel/helper-plugin-utils";
-import syntaxDynamicImport from "@babel/plugin-syntax-dynamic-import";
-import syntaxImportMeta from "@babel/plugin-syntax-import-meta";
-import transformAsyncGeneratorFunctions from "@babel/plugin-proposal-async-generator-functions";
-import transformClassProperties from "@babel/plugin-proposal-class-properties";
-import transformJsonStrings from "@babel/plugin-proposal-json-strings";
-import transformObjectRestSpread from "@babel/plugin-proposal-object-rest-spread";
-import transformOptionalCatchBinding from "@babel/plugin-proposal-optional-catch-binding";
-import transformUnicodePropertyRegex from "@babel/plugin-proposal-unicode-property-regex";
+export default function() {
+ throw new Error(`
+As of v7.0.0-beta.55, we've removed Babel's Stage presets.
+Please consider reading our blog post on this decision at
+https://babeljs.io/blog/2018/07/27/removing-babels-stage-presets
+for more details. TL;DR is that it's more beneficial in the
+ long run to explicitly add which proposals to use.
-export default declare((api, opts) => {
- api.assertVersion(7);
+For a more automatic migration, we have updated babel-upgrade,
+https://github.com/babel/babel-upgrade to do this for you with
+"npx babel-upgrade".
- let loose = false;
- let useBuiltIns = false;
+If you want the same configuration as before:
- if (opts !== undefined) {
- if (opts.loose !== undefined) loose = opts.loose;
- if (opts.useBuiltIns !== undefined) useBuiltIns = opts.useBuiltIns;
- }
+{
+ "plugins": [
+ "@babel/plugin-syntax-dynamic-import",
+ "@babel/plugin-syntax-import-meta",
+ ["@babel/plugin-proposal-class-properties", { "loose": false }],
+ "@babel/plugin-proposal-json-strings"
+ ]
+}
- if (typeof loose !== "boolean") {
- throw new Error("@babel/preset-stage-3 'loose' option must be a boolean.");
- }
- if (typeof useBuiltIns !== "boolean") {
- throw new Error(
- "@babel/preset-stage-3 'useBuiltIns' option must be a boolean.",
- );
- }
+If you're using the same configuration across many separate projects,
+keep in mind that you can also create your own custom presets with
+whichever plugins and presets you're looking to use.
+
+module.exports = function() {
return {
plugins: [
- syntaxDynamicImport,
- syntaxImportMeta,
- transformAsyncGeneratorFunctions,
- [transformClassProperties, { loose }],
- transformJsonStrings,
- [transformObjectRestSpread, { loose, useBuiltIns }],
- transformOptionalCatchBinding,
- transformUnicodePropertyRegex,
+ require("@babel/plugin-syntax-dynamic-import"),
+ [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
+ [require("@babel/plugin-proposal-class-properties"), { "loose": false }],
+ ],
+ presets: [
+ // ...
],
};
-});
+};
+`);
+}
diff --git a/packages/babel-preset-typescript/package.json b/packages/babel-preset-typescript/package.json
index 34cd429c6a..bc79cd413a 100644
--- a/packages/babel-preset-typescript/package.json
+++ b/packages/babel-preset-typescript/package.json
@@ -1,23 +1,26 @@
{
"name": "@babel/preset-typescript",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Babel preset for TypeScript.",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-preset-typescript",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"main": "lib/index.js",
"keywords": [
"babel-preset",
"typescript"
],
"dependencies": {
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-transform-typescript": "7.0.0-beta.52"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-transform-typescript": "^7.1.0"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-preset-typescript/test/fixtures/flow-compat/js-invalid/options.json b/packages/babel-preset-typescript/test/fixtures/flow-compat/js-invalid/options.json
index d0b66c6872..e91f37cda8 100644
--- a/packages/babel-preset-typescript/test/fixtures/flow-compat/js-invalid/options.json
+++ b/packages/babel-preset-typescript/test/fixtures/flow-compat/js-invalid/options.json
@@ -1,8 +1,4 @@
{
- "presets": [
- ["flow", {}, "before"],
- "typescript",
- ["flow", {}, "after"]
- ],
+ "presets": [["flow", {}, "before"], "typescript", ["flow", {}, "after"]],
"throws": "enum is a reserved word (1:0)"
}
diff --git a/packages/babel-preset-typescript/test/fixtures/flow-compat/options.json b/packages/babel-preset-typescript/test/fixtures/flow-compat/options.json
index 751ac537f6..2901adef57 100644
--- a/packages/babel-preset-typescript/test/fixtures/flow-compat/options.json
+++ b/packages/babel-preset-typescript/test/fixtures/flow-compat/options.json
@@ -1,7 +1,3 @@
{
- "presets": [
- ["flow", {}, "before"],
- "typescript",
- ["flow", {}, "after"]
- ]
+ "presets": [["flow", {}, "before"], "typescript", ["flow", {}, "after"]]
}
diff --git a/packages/babel-preset-typescript/test/fixtures/flow-compat/ts-invalid/options.json b/packages/babel-preset-typescript/test/fixtures/flow-compat/ts-invalid/options.json
index 8d8c5f54b6..8401da8eb4 100644
--- a/packages/babel-preset-typescript/test/fixtures/flow-compat/ts-invalid/options.json
+++ b/packages/babel-preset-typescript/test/fixtures/flow-compat/ts-invalid/options.json
@@ -1,8 +1,4 @@
{
- "presets": [
- ["flow", {}, "before"],
- "typescript",
- ["flow", {}, "after"]
- ],
+ "presets": [["flow", {}, "before"], "typescript", ["flow", {}, "after"]],
"throws": "Unexpected token (1:12)"
}
diff --git a/packages/babel-preset-typescript/test/fixtures/flow-compat/tsx-invalid/options.json b/packages/babel-preset-typescript/test/fixtures/flow-compat/tsx-invalid/options.json
index 8d8c5f54b6..8401da8eb4 100644
--- a/packages/babel-preset-typescript/test/fixtures/flow-compat/tsx-invalid/options.json
+++ b/packages/babel-preset-typescript/test/fixtures/flow-compat/tsx-invalid/options.json
@@ -1,8 +1,4 @@
{
- "presets": [
- ["flow", {}, "before"],
- "typescript",
- ["flow", {}, "after"]
- ],
+ "presets": [["flow", {}, "before"], "typescript", ["flow", {}, "after"]],
"throws": "Unexpected token (1:12)"
}
diff --git a/packages/babel-preset-typescript/test/fixtures/jsx-compat/options.json b/packages/babel-preset-typescript/test/fixtures/jsx-compat/options.json
index 936cecb47c..a356e87115 100644
--- a/packages/babel-preset-typescript/test/fixtures/jsx-compat/options.json
+++ b/packages/babel-preset-typescript/test/fixtures/jsx-compat/options.json
@@ -1,7 +1,3 @@
{
- "presets": [
- ["react", {}, "before"],
- "typescript",
- ["react", {}, "after"]
- ]
+ "presets": [["react", {}, "before"], "typescript", ["react", {}, "after"]]
}
diff --git a/packages/babel-preset-typescript/test/fixtures/jsx-compat/ts-invalid/options.json b/packages/babel-preset-typescript/test/fixtures/jsx-compat/ts-invalid/options.json
index c157cc517b..345e1f87c9 100644
--- a/packages/babel-preset-typescript/test/fixtures/jsx-compat/ts-invalid/options.json
+++ b/packages/babel-preset-typescript/test/fixtures/jsx-compat/ts-invalid/options.json
@@ -1,8 +1,4 @@
{
- "presets": [
- ["react", {}, "before"],
- "typescript",
- ["react", {}, "after"]
- ],
+ "presets": [["react", {}, "before"], "typescript", ["react", {}, "after"]],
"throws": "Unexpected token, expected \">\" (1:6)"
}
diff --git a/packages/babel-register/package.json b/packages/babel-register/package.json
index 1e37d965f9..e0790a406d 100644
--- a/packages/babel-register/package.json
+++ b/packages/babel-register/package.json
@@ -1,8 +1,11 @@
{
"name": "@babel/register",
- "version": "7.0.0-beta.52",
+ "version": "7.0.0",
"description": "babel require hook",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-register",
"author": "Sebastian McKenzie ",
"main": "lib/index.js",
@@ -13,16 +16,16 @@
"core-js": "^2.5.7",
"find-cache-dir": "^1.0.0",
"home-or-tmp": "^3.0.0",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"mkdirp": "^0.5.1",
- "pirates": "^3.0.1",
- "source-map-support": "^0.4.2"
+ "pirates": "^4.0.0",
+ "source-map-support": "^0.5.9"
},
"peerDependencies": {
- "@babel/core": ">=7.0.0-beta.50 <7.0.0-rc.0"
+ "@babel/core": "^7.0.0-0"
},
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
+ "@babel/core": "^7.0.0",
"default-require-extensions": "^2.0.0"
}
}
diff --git a/packages/babel-register/src/node.js b/packages/babel-register/src/node.js
index fe9a46c15d..84dbe8b5cd 100644
--- a/packages/babel-register/src/node.js
+++ b/packages/babel-register/src/node.js
@@ -101,7 +101,6 @@ function hookExtensions(exts) {
export function revert() {
if (piratesRevert) piratesRevert();
- delete require.cache[require.resolve(__filename)];
}
register();
@@ -126,6 +125,10 @@ export default function register(opts?: Object = {}) {
transformOpts = {
...opts,
+ caller: {
+ name: "@babel/register",
+ ...(opts.caller || {}),
+ },
};
let { cwd = "." } = transformOpts;
diff --git a/packages/babel-register/test/index.js b/packages/babel-register/test/index.js
index 5643bdcf6f..1f54094e9d 100644
--- a/packages/babel-register/test/index.js
+++ b/packages/babel-register/test/index.js
@@ -52,6 +52,7 @@ describe("@babel/register", function() {
function revertRegister() {
if (babelRegister) {
babelRegister.revert();
+ delete require.cache[registerFile];
babelRegister = null;
}
}
diff --git a/packages/babel-runtime-corejs2/.npmignore b/packages/babel-runtime-corejs2/.npmignore
new file mode 100644
index 0000000000..f980694583
--- /dev/null
+++ b/packages/babel-runtime-corejs2/.npmignore
@@ -0,0 +1,3 @@
+src
+test
+*.log
diff --git a/packages/babel-runtime-corejs2/README.md b/packages/babel-runtime-corejs2/README.md
new file mode 100644
index 0000000000..bcae9d9c14
--- /dev/null
+++ b/packages/babel-runtime-corejs2/README.md
@@ -0,0 +1,19 @@
+# @babel/runtime-corejs2
+
+> babel's modular runtime helpers with core-js@2 polyfilling
+
+See our website [@babel/runtime-corejs2](https://babeljs.io/docs/en/next/babel-runtime-corejs2.html) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save-dev @babel/runtime-corejs2
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/runtime-corejs2 --dev
+```
diff --git a/packages/babel-runtime/core-js/map.js b/packages/babel-runtime-corejs2/core-js/map.js
similarity index 100%
rename from packages/babel-runtime/core-js/map.js
rename to packages/babel-runtime-corejs2/core-js/map.js
diff --git a/packages/babel-runtime/helpers/es6/iterableToArray.js b/packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js
similarity index 100%
rename from packages/babel-runtime/helpers/es6/iterableToArray.js
rename to packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js
diff --git a/packages/babel-runtime/helpers/builtin/es6/temporalRef.js b/packages/babel-runtime-corejs2/helpers/esm/temporalRef.js
similarity index 100%
rename from packages/babel-runtime/helpers/builtin/es6/temporalRef.js
rename to packages/babel-runtime-corejs2/helpers/esm/temporalRef.js
diff --git a/packages/babel-runtime/helpers/builtin/es6/toArray.js b/packages/babel-runtime-corejs2/helpers/esm/toArray.js
similarity index 100%
rename from packages/babel-runtime/helpers/builtin/es6/toArray.js
rename to packages/babel-runtime-corejs2/helpers/esm/toArray.js
diff --git a/packages/babel-runtime-corejs2/helpers/iterableToArray.js b/packages/babel-runtime-corejs2/helpers/iterableToArray.js
new file mode 100644
index 0000000000..c7834a3122
--- /dev/null
+++ b/packages/babel-runtime-corejs2/helpers/iterableToArray.js
@@ -0,0 +1,9 @@
+var _Array$from = require("../core-js/array/from");
+
+var _isIterable = require("../core-js/is-iterable");
+
+function _iterableToArray(iter) {
+ if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === "[object Arguments]") return _Array$from(iter);
+}
+
+module.exports = _iterableToArray;
\ No newline at end of file
diff --git a/packages/babel-runtime/helpers/builtin/temporalRef.js b/packages/babel-runtime-corejs2/helpers/temporalRef.js
similarity index 100%
rename from packages/babel-runtime/helpers/builtin/temporalRef.js
rename to packages/babel-runtime-corejs2/helpers/temporalRef.js
diff --git a/packages/babel-runtime/helpers/builtin/toArray.js b/packages/babel-runtime-corejs2/helpers/toArray.js
similarity index 100%
rename from packages/babel-runtime/helpers/builtin/toArray.js
rename to packages/babel-runtime-corejs2/helpers/toArray.js
diff --git a/packages/babel-runtime-corejs2/package.json b/packages/babel-runtime-corejs2/package.json
new file mode 100644
index 0000000000..27ba849491
--- /dev/null
+++ b/packages/babel-runtime-corejs2/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "@babel/runtime-corejs2",
+ "version": "7.1.2",
+ "description": "babel's modular runtime helpers with core-js@2 polyfilling",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": "https://github.com/babel/babel/tree/master/packages/babel-runtime-corejs2",
+ "author": "Sebastian McKenzie ",
+ "dependencies": {
+ "core-js": "^2.5.7",
+ "regenerator-runtime": "^0.12.0"
+ }
+}
diff --git a/packages/babel-runtime-corejs2/regenerator/index.js b/packages/babel-runtime-corejs2/regenerator/index.js
new file mode 100644
index 0000000000..9fd4158a6d
--- /dev/null
+++ b/packages/babel-runtime-corejs2/regenerator/index.js
@@ -0,0 +1 @@
+module.exports = require("regenerator-runtime");
diff --git a/packages/babel-runtime/.npmignore b/packages/babel-runtime/.npmignore
index 57e1671459..f980694583 100644
--- a/packages/babel-runtime/.npmignore
+++ b/packages/babel-runtime/.npmignore
@@ -1,4 +1,3 @@
-scripts
src
test
*.log
diff --git a/packages/babel-runtime/README.md b/packages/babel-runtime/README.md
index ec85bb0b52..75087e3560 100644
--- a/packages/babel-runtime/README.md
+++ b/packages/babel-runtime/README.md
@@ -1,6 +1,6 @@
# @babel/runtime
-> babel selfContained runtime
+> babel's modular runtime helpers
See our website [@babel/runtime](https://babeljs.io/docs/en/next/babel-runtime.html) for more information.
diff --git a/packages/babel-runtime/core-js.js b/packages/babel-runtime/core-js.js
deleted file mode 100644
index 709f7e3252..0000000000
--- a/packages/babel-runtime/core-js.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require("core-js/library");
diff --git a/packages/babel-runtime/helpers/builtin/iterableToArray.js b/packages/babel-runtime/helpers/builtin/iterableToArray.js
deleted file mode 100644
index e917e57937..0000000000
--- a/packages/babel-runtime/helpers/builtin/iterableToArray.js
+++ /dev/null
@@ -1,5 +0,0 @@
-function _iterableToArray(iter) {
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
-}
-
-module.exports = _iterableToArray;
\ No newline at end of file
diff --git a/packages/babel-runtime/helpers/builtin/es6/iterableToArray.js b/packages/babel-runtime/helpers/esm/iterableToArray.js
similarity index 100%
rename from packages/babel-runtime/helpers/builtin/es6/iterableToArray.js
rename to packages/babel-runtime/helpers/esm/iterableToArray.js
diff --git a/packages/babel-runtime/helpers/es6/temporalRef.js b/packages/babel-runtime/helpers/esm/temporalRef.js
similarity index 100%
rename from packages/babel-runtime/helpers/es6/temporalRef.js
rename to packages/babel-runtime/helpers/esm/temporalRef.js
diff --git a/packages/babel-runtime/helpers/es6/toArray.js b/packages/babel-runtime/helpers/esm/toArray.js
similarity index 100%
rename from packages/babel-runtime/helpers/es6/toArray.js
rename to packages/babel-runtime/helpers/esm/toArray.js
diff --git a/packages/babel-runtime/helpers/iterableToArray.js b/packages/babel-runtime/helpers/iterableToArray.js
index c7834a3122..e917e57937 100644
--- a/packages/babel-runtime/helpers/iterableToArray.js
+++ b/packages/babel-runtime/helpers/iterableToArray.js
@@ -1,9 +1,5 @@
-var _Array$from = require("../core-js/array/from");
-
-var _isIterable = require("../core-js/is-iterable");
-
function _iterableToArray(iter) {
- if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === "[object Arguments]") return _Array$from(iter);
+ if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
}
module.exports = _iterableToArray;
\ No newline at end of file
diff --git a/packages/babel-runtime/package.json b/packages/babel-runtime/package.json
index 679712d0cb..420077aff4 100644
--- a/packages/babel-runtime/package.json
+++ b/packages/babel-runtime/package.json
@@ -1,19 +1,14 @@
{
"name": "@babel/runtime",
- "version": "7.0.0-beta.52",
- "description": "babel selfContained runtime",
+ "version": "7.1.2",
+ "description": "babel's modular runtime helpers",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-runtime",
"author": "Sebastian McKenzie ",
"dependencies": {
- "core-js": "^2.5.7",
"regenerator-runtime": "^0.12.0"
- },
- "devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helpers": "7.0.0-beta.52",
- "@babel/plugin-transform-runtime": "7.0.0-beta.52",
- "@babel/preset-env": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52"
}
}
diff --git a/packages/babel-runtime/scripts/build-dist.js b/packages/babel-runtime/scripts/build-dist.js
deleted file mode 100644
index 62aed66aa9..0000000000
--- a/packages/babel-runtime/scripts/build-dist.js
+++ /dev/null
@@ -1,165 +0,0 @@
-"use strict";
-
-const outputFile = require("output-file-sync");
-const coreDefinitions = require("@babel/plugin-transform-runtime").definitions;
-const helpers = require("@babel/helpers");
-const babel = require("@babel/core");
-const t = require("@babel/types");
-
-const paths = ["is-iterable", "get-iterator"];
-
-Object.keys(coreDefinitions.builtins).forEach((key) => {
- const path = coreDefinitions.builtins[key];
- paths.push(path);
-});
-
-Object.keys(coreDefinitions.methods).forEach((key) => {
- const props = coreDefinitions.methods[key];
- Object.keys(props).forEach((key2) => {
- const path = props[key2];
- paths.push(path);
- });
-});
-
-paths.forEach(function(path) {
- writeFile(
- "core-js/" + path + ".js",
- defaultify(`require("core-js/library/fn/${path}")`)
- );
-});
-
-function relative(filename) {
- return `${__dirname}/../${filename}`;
-}
-
-function defaultify(name) {
- return `module.exports = ${name};`;
-}
-
-function writeRootFile(filename, content) {
- filename = relative(filename);
- outputFile(filename, content);
-}
-
-function writeFile(filename, content) {
- return writeRootFile(filename, content);
-}
-
-function makeTransformOpts(modules, useBuiltIns) {
- const opts = {
- presets: [[require("@babel/preset-env"), { modules: false }]],
-
- plugins: [
- [
- require("@babel/plugin-transform-runtime"),
- { useBuiltIns, useESModules: modules === false },
- ],
- ],
- };
- return opts;
-}
-
-function adjustImportPath(node, relativePath) {
- if (helpers.list.indexOf(node.value) >= 0) {
- node.value = `./${node.value}`;
- } else {
- node.value = node.value.replace(/^@babel\/runtime/, relativePath);
- }
-}
-
-function buildRuntimeRewritePlugin(relativePath, helperName, dependencies) {
- return {
- pre(file) {
- const original = file.get("helperGenerator");
- file.set("helperGenerator", (name) => {
- // make sure that helpers won't insert circular references to themselves
- if (name === helperName) return false;
-
- return original(name);
- });
- },
- visitor: {
- ImportDeclaration(path) {
- adjustImportPath(path.get("source").node, relativePath);
- },
- CallExpression(path) {
- if (
- !path.get("callee").isIdentifier({ name: "require" }) ||
- path.get("arguments").length !== 1 ||
- !path.get("arguments")[0].isStringLiteral()
- ) {
- return;
- }
-
- // replace any reference to @babel/runtime and other helpers
- // with a relative path
- adjustImportPath(path.get("arguments")[0].node, relativePath);
- },
- },
- };
-}
-
-function buildRequireCall(id, dep) {
- return t.variableDeclaration("var", [
- t.variableDeclarator(
- id,
- t.callExpression(t.identifier("require"), [t.stringLiteral(dep)])
- )
- ]);
-}
-
-function buildHelper(helperName, modules, useBuiltIns) {
- const id =
- modules === "commonjs"
- ? t.memberExpression(t.identifier("module"), t.identifier("exports"))
- : null;
- const sourceType = modules === "commonjs" ? "script" : "module";
-
- const tree = t.program([], [], sourceType);
- const dependencies = {};
- let bindings = null;
-
- if (modules === "commonjs") {
- bindings = [];
- for (const dep of helpers.getDependencies(helperName)) {
- const id = dependencies[dep] = t.identifier(t.toIdentifier(dep));
- tree.body.push(buildRequireCall(id, dep));
- bindings.push(id.name);
- }
- }
-
- const helper = helpers.get(
- helperName,
- dep => dependencies[dep],
- id,
- bindings
- );
- tree.body.push.apply(tree.body, helper.nodes);
-
- const transformOpts = makeTransformOpts(modules, useBuiltIns);
-
- const relative = useBuiltIns ? "../.." : "..";
-
- return babel.transformFromAst(tree, null, {
- presets: transformOpts.presets,
- plugins: transformOpts.plugins.concat([
- buildRuntimeRewritePlugin(
- modules === false ? `../${relative}` : relative,
- helperName
- ),
- ]),
- }).code;
-}
-
-for (const modules of ["commonjs", false]) {
- for (const builtin of [false, true]) {
- const dirname = `helpers/${builtin ? "builtin/" : ""}${!modules ? "es6/" : ""}`;
-
- for (const helperName of helpers.list) {
- writeFile(
- `${dirname}${helperName}.js`,
- buildHelper(helperName, modules, builtin)
- );
- }
- }
-}
diff --git a/packages/babel-standalone/package.json b/packages/babel-standalone/package.json
index 7b01cdb0ed..55fed226a7 100644
--- a/packages/babel-standalone/package.json
+++ b/packages/babel-standalone/package.json
@@ -1,6 +1,6 @@
{
"name": "@babel/standalone",
- "version": "7.0.0-beta.52",
+ "version": "7.1.0",
"description": "Standalone build of Babel for use in non-Node.js environments.",
"main": "babel.js",
"files": [
@@ -9,93 +9,92 @@
"src"
],
"devDependencies": {
- "@babel/core": "7.0.0-beta.52",
- "@babel/helper-plugin-utils": "7.0.0-beta.52",
- "@babel/plugin-external-helpers": "7.0.0-beta.52",
- "@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.52",
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.52",
- "@babel/plugin-proposal-decorators": "7.0.0-beta.52",
- "@babel/plugin-proposal-do-expressions": "7.0.0-beta.52",
- "@babel/plugin-proposal-export-default-from": "7.0.0-beta.52",
- "@babel/plugin-proposal-export-namespace-from": "7.0.0-beta.52",
- "@babel/plugin-proposal-function-bind": "7.0.0-beta.52",
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.52",
- "@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.52",
- "@babel/plugin-proposal-pipeline-operator": "7.0.0-beta.52",
- "@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.52",
- "@babel/plugin-syntax-async-generators": "7.0.0-beta.52",
- "@babel/plugin-syntax-class-properties": "7.0.0-beta.52",
- "@babel/plugin-syntax-decorators": "7.0.0-beta.52",
- "@babel/plugin-syntax-do-expressions": "7.0.0-beta.52",
- "@babel/plugin-syntax-dynamic-import": "7.0.0-beta.52",
- "@babel/plugin-syntax-export-default-from": "7.0.0-beta.52",
- "@babel/plugin-syntax-export-namespace-from": "7.0.0-beta.52",
- "@babel/plugin-syntax-flow": "7.0.0-beta.52",
- "@babel/plugin-syntax-function-bind": "7.0.0-beta.52",
- "@babel/plugin-syntax-function-sent": "7.0.0-beta.52",
- "@babel/plugin-syntax-import-meta": "7.0.0-beta.52",
- "@babel/plugin-syntax-jsx": "7.0.0-beta.52",
- "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.52",
- "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.52",
- "@babel/plugin-syntax-pipeline-operator": "7.0.0-beta.52",
- "@babel/plugin-syntax-typescript": "7.0.0-beta.52",
- "@babel/plugin-transform-arrow-functions": "7.0.0-beta.52",
- "@babel/plugin-transform-async-to-generator": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.52",
- "@babel/plugin-transform-block-scoping": "7.0.0-beta.52",
- "@babel/plugin-transform-classes": "7.0.0-beta.52",
- "@babel/plugin-transform-computed-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-destructuring": "7.0.0-beta.52",
- "@babel/plugin-transform-dotall-regex": "7.0.0-beta.52",
- "@babel/plugin-transform-duplicate-keys": "7.0.0-beta.52",
- "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.52",
- "@babel/plugin-transform-flow-comments": "7.0.0-beta.52",
- "@babel/plugin-transform-flow-strip-types": "7.0.0-beta.52",
- "@babel/plugin-transform-for-of": "7.0.0-beta.52",
- "@babel/plugin-transform-function-name": "7.0.0-beta.52",
- "@babel/plugin-transform-instanceof": "7.0.0-beta.52",
- "@babel/plugin-transform-jscript": "7.0.0-beta.52",
- "@babel/plugin-transform-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-member-expression-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-amd": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-systemjs": "7.0.0-beta.52",
- "@babel/plugin-transform-modules-umd": "7.0.0-beta.52",
- "@babel/plugin-transform-new-target": "7.0.0-beta.52",
- "@babel/plugin-transform-object-assign": "7.0.0-beta.52",
- "@babel/plugin-transform-object-set-prototype-of-to-assign": "7.0.0-beta.52",
- "@babel/plugin-transform-object-super": "7.0.0-beta.52",
- "@babel/plugin-transform-parameters": "7.0.0-beta.52",
- "@babel/plugin-transform-property-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-property-mutators": "7.0.0-beta.52",
- "@babel/plugin-transform-proto-to-assign": "7.0.0-beta.52",
- "@babel/plugin-transform-react-constant-elements": "7.0.0-beta.52",
- "@babel/plugin-transform-react-display-name": "7.0.0-beta.52",
- "@babel/plugin-transform-react-inline-elements": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx-compat": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx-self": "7.0.0-beta.52",
- "@babel/plugin-transform-react-jsx-source": "7.0.0-beta.52",
- "@babel/plugin-transform-regenerator": "7.0.0-beta.52",
- "@babel/plugin-transform-runtime": "7.0.0-beta.52",
- "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.52",
- "@babel/plugin-transform-spread": "7.0.0-beta.52",
- "@babel/plugin-transform-sticky-regex": "7.0.0-beta.52",
- "@babel/plugin-transform-strict-mode": "7.0.0-beta.52",
- "@babel/plugin-transform-template-literals": "7.0.0-beta.52",
- "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.52",
- "@babel/plugin-transform-typescript": "7.0.0-beta.52",
- "@babel/plugin-transform-unicode-regex": "7.0.0-beta.52",
- "@babel/preset-es2015": "7.0.0-beta.52",
- "@babel/preset-es2016": "7.0.0-beta.52",
- "@babel/preset-es2017": "7.0.0-beta.52",
- "@babel/preset-flow": "7.0.0-beta.52",
- "@babel/preset-react": "7.0.0-beta.52",
- "@babel/preset-stage-0": "7.0.0-beta.52",
- "@babel/preset-stage-1": "7.0.0-beta.52",
- "@babel/preset-stage-2": "7.0.0-beta.52",
- "@babel/preset-stage-3": "7.0.0-beta.52",
- "@babel/preset-typescript": "7.0.0-beta.52"
+ "@babel/core": "^7.0.0",
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-external-helpers": "^7.0.0",
+ "@babel/plugin-proposal-async-generator-functions": "^7.0.0",
+ "@babel/plugin-proposal-class-properties": "^7.0.0",
+ "@babel/plugin-proposal-decorators": "^7.0.0",
+ "@babel/plugin-proposal-do-expressions": "^7.0.0",
+ "@babel/plugin-proposal-export-default-from": "^7.0.0",
+ "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
+ "@babel/plugin-proposal-function-bind": "^7.0.0",
+ "@babel/plugin-proposal-function-sent": "^7.0.0",
+ "@babel/plugin-proposal-json-strings": "^7.0.0",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.0.0",
+ "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
+ "@babel/plugin-proposal-throw-expressions": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
+ "@babel/plugin-syntax-async-generators": "^7.0.0",
+ "@babel/plugin-syntax-class-properties": "^7.0.0",
+ "@babel/plugin-syntax-decorators": "^7.0.0",
+ "@babel/plugin-syntax-do-expressions": "^7.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.0.0",
+ "@babel/plugin-syntax-export-default-from": "^7.0.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.0.0",
+ "@babel/plugin-syntax-function-bind": "^7.0.0",
+ "@babel/plugin-syntax-function-sent": "^7.0.0",
+ "@babel/plugin-syntax-import-meta": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-syntax-pipeline-operator": "^7.0.0",
+ "@babel/plugin-syntax-typescript": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-async-to-generator": "^7.0.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.0.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.0.0",
+ "@babel/plugin-transform-dotall-regex": "^7.0.0",
+ "@babel/plugin-transform-duplicate-keys": "^7.0.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.0.0",
+ "@babel/plugin-transform-flow-comments": "^7.0.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.0.0",
+ "@babel/plugin-transform-for-of": "^7.0.0",
+ "@babel/plugin-transform-function-name": "^7.0.0",
+ "@babel/plugin-transform-instanceof": "^7.0.0",
+ "@babel/plugin-transform-jscript": "^7.0.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-amd": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-modules-systemjs": "^7.0.0",
+ "@babel/plugin-transform-modules-umd": "^7.0.0",
+ "@babel/plugin-transform-new-target": "^7.0.0",
+ "@babel/plugin-transform-object-assign": "^7.0.0",
+ "@babel/plugin-transform-object-set-prototype-of-to-assign": "^7.0.0",
+ "@babel/plugin-transform-object-super": "^7.0.0",
+ "@babel/plugin-transform-parameters": "^7.0.0",
+ "@babel/plugin-transform-property-literals": "^7.0.0",
+ "@babel/plugin-transform-property-mutators": "^7.0.0",
+ "@babel/plugin-transform-proto-to-assign": "^7.0.0",
+ "@babel/plugin-transform-react-constant-elements": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-inline-elements": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-compat": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-source": "^7.0.0",
+ "@babel/plugin-transform-regenerator": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-sticky-regex": "^7.0.0",
+ "@babel/plugin-transform-strict-mode": "^7.0.0",
+ "@babel/plugin-transform-template-literals": "^7.0.0",
+ "@babel/plugin-transform-typeof-symbol": "^7.0.0",
+ "@babel/plugin-transform-typescript": "^7.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/preset-flow": "^7.0.0",
+ "@babel/preset-react": "^7.0.0",
+ "@babel/preset-typescript": "^7.0.0"
},
"keywords": [
"babel",
@@ -106,6 +105,9 @@
],
"author": "Daniel Lo Nigro (http://dan.cx/)",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"bugs": {
"url": "https://github.com/babel/babel-standalone/issues"
},
diff --git a/packages/babel-standalone/src/index.js b/packages/babel-standalone/src/index.js
index 03fa91efbe..10fad226a9 100644
--- a/packages/babel-standalone/src/index.js
+++ b/packages/babel-standalone/src/index.js
@@ -233,10 +233,10 @@ registerPresets({
};
},
react: require("@babel/preset-react"),
- "stage-0": require("@babel/preset-stage-0"),
- "stage-1": require("@babel/preset-stage-1"),
- "stage-2": require("@babel/preset-stage-2"),
- "stage-3": require("@babel/preset-stage-3"),
+ "stage-0": require("./preset-stage-0"),
+ "stage-1": require("./preset-stage-1"),
+ "stage-2": require("./preset-stage-2"),
+ "stage-3": require("./preset-stage-3"),
"es2015-loose": {
presets: [[require("./preset-es2015"), { loose: true }]],
},
diff --git a/packages/babel-standalone/src/preset-es2015.js b/packages/babel-standalone/src/preset-es2015.js
index 9f21ae59a8..c06632f654 100644
--- a/packages/babel-standalone/src/preset-es2015.js
+++ b/packages/babel-standalone/src/preset-es2015.js
@@ -24,7 +24,6 @@ import transformES2015Instanceof from "@babel/plugin-transform-instanceof";
import transformRegenerator from "@babel/plugin-transform-regenerator";
export default (_, opts) => {
- const moduleTypes = ["commonjs", "cjs", "amd", "umd", "systemjs"];
let loose = false;
let modules = "commonjs";
let spec = false;
@@ -35,19 +34,6 @@ export default (_, opts) => {
if (opts.spec !== undefined) spec = opts.spec;
}
- if (typeof loose !== "boolean") {
- throw new Error("Preset es2015 'loose' option must be a boolean.");
- }
- if (typeof spec !== "boolean") {
- throw new Error("Preset es2015 'spec' option must be a boolean.");
- }
- if (modules !== false && moduleTypes.indexOf(modules) === -1) {
- throw new Error(
- "Preset es2015 'modules' option must be 'false' to indicate no modules\n" +
- "or a module type which be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'",
- );
- }
-
// be DRY
const optsLoose = { loose };
diff --git a/packages/babel-standalone/src/preset-stage-0.js b/packages/babel-standalone/src/preset-stage-0.js
new file mode 100644
index 0000000000..03426cb11a
--- /dev/null
+++ b/packages/babel-standalone/src/preset-stage-0.js
@@ -0,0 +1,29 @@
+import presetStage1 from "./preset-stage-1";
+
+import transformFunctionBind from "@babel/plugin-proposal-function-bind";
+
+export default (_, opts = {}) => {
+ const {
+ loose = false,
+ useBuiltIns = false,
+ decoratorsLegacy = false,
+ decoratorsBeforeExport,
+ pipelineProposal = "minimal",
+ } = opts;
+
+ return {
+ presets: [
+ [
+ presetStage1,
+ {
+ loose,
+ useBuiltIns,
+ decoratorsLegacy,
+ decoratorsBeforeExport,
+ pipelineProposal,
+ },
+ ],
+ ],
+ plugins: [transformFunctionBind],
+ };
+};
diff --git a/packages/babel-standalone/src/preset-stage-1.js b/packages/babel-standalone/src/preset-stage-1.js
new file mode 100644
index 0000000000..4a485df10a
--- /dev/null
+++ b/packages/babel-standalone/src/preset-stage-1.js
@@ -0,0 +1,35 @@
+import presetStage2 from "./preset-stage-2";
+
+import transformExportDefaultFrom from "@babel/plugin-proposal-export-default-from";
+import transformLogicalAssignmentOperators from "@babel/plugin-proposal-logical-assignment-operators";
+import transformOptionalChaining from "@babel/plugin-proposal-optional-chaining";
+import transformPipelineOperator from "@babel/plugin-proposal-pipeline-operator";
+import transformNullishCoalescingOperator from "@babel/plugin-proposal-nullish-coalescing-operator";
+import transformDoExpressions from "@babel/plugin-proposal-do-expressions";
+
+export default (_, opts = {}) => {
+ const {
+ loose = false,
+ useBuiltIns = false,
+ decoratorsLegacy = false,
+ decoratorsBeforeExport,
+ pipelineProposal = "minimal",
+ } = opts;
+
+ return {
+ presets: [
+ [
+ presetStage2,
+ { loose, useBuiltIns, decoratorsLegacy, decoratorsBeforeExport },
+ ],
+ ],
+ plugins: [
+ transformExportDefaultFrom,
+ transformLogicalAssignmentOperators,
+ [transformOptionalChaining, { loose }],
+ [transformPipelineOperator, { proposal: pipelineProposal }],
+ [transformNullishCoalescingOperator, { loose }],
+ transformDoExpressions,
+ ],
+ };
+};
diff --git a/packages/babel-standalone/src/preset-stage-2.js b/packages/babel-standalone/src/preset-stage-2.js
new file mode 100644
index 0000000000..689578d354
--- /dev/null
+++ b/packages/babel-standalone/src/preset-stage-2.js
@@ -0,0 +1,30 @@
+import presetStage3 from "./preset-stage-3";
+
+import transformDecorators from "@babel/plugin-proposal-decorators";
+import transformFunctionSent from "@babel/plugin-proposal-function-sent";
+import transformExportNamespaceFrom from "@babel/plugin-proposal-export-namespace-from";
+import transformNumericSeparator from "@babel/plugin-proposal-numeric-separator";
+import transformThrowExpressions from "@babel/plugin-proposal-throw-expressions";
+
+export default (_, opts = {}) => {
+ const {
+ loose = false,
+ useBuiltIns = false,
+ decoratorsLegacy = false,
+ decoratorsBeforeExport,
+ } = opts;
+
+ return {
+ presets: [[presetStage3, { loose, useBuiltIns }]],
+ plugins: [
+ [
+ transformDecorators,
+ { legacy: decoratorsLegacy, decoratorsBeforeExport },
+ ],
+ transformFunctionSent,
+ transformExportNamespaceFrom,
+ transformNumericSeparator,
+ transformThrowExpressions,
+ ],
+ };
+};
diff --git a/packages/babel-standalone/src/preset-stage-3.js b/packages/babel-standalone/src/preset-stage-3.js
new file mode 100644
index 0000000000..e16237dbcd
--- /dev/null
+++ b/packages/babel-standalone/src/preset-stage-3.js
@@ -0,0 +1,21 @@
+import syntaxDynamicImport from "@babel/plugin-syntax-dynamic-import";
+import syntaxImportMeta from "@babel/plugin-syntax-import-meta";
+import transformClassProperties from "@babel/plugin-proposal-class-properties";
+import transformJsonStrings from "@babel/plugin-proposal-json-strings";
+
+export default (_, opts) => {
+ let loose = false;
+
+ if (opts !== undefined) {
+ if (opts.loose !== undefined) loose = opts.loose;
+ }
+
+ return {
+ plugins: [
+ syntaxDynamicImport,
+ syntaxImportMeta,
+ [transformClassProperties, { loose }],
+ transformJsonStrings,
+ ],
+ };
+};
diff --git a/packages/babel-standalone/src/transformScriptTags.js b/packages/babel-standalone/src/transformScriptTags.js
index 159a224cfb..6448a9fe0e 100644
--- a/packages/babel-standalone/src/transformScriptTags.js
+++ b/packages/babel-standalone/src/transformScriptTags.js
@@ -161,7 +161,7 @@ function loadScripts(transformFn, scripts) {
...scriptData,
content: script.innerHTML,
loaded: true,
- url: null,
+ url: script.getAttribute("data-module") || null,
};
}
});
diff --git a/packages/babel-template/package.json b/packages/babel-template/package.json
index 588d654cc2..bb9f93be76 100644
--- a/packages/babel-template/package.json
+++ b/packages/babel-template/package.json
@@ -1,16 +1,18 @@
{
"name": "@babel/template",
- "version": "7.0.0-beta.52",
+ "version": "7.1.2",
"description": "Generate an AST from a string template.",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-template",
"main": "lib/index.js",
"dependencies": {
- "@babel/code-frame": "7.0.0-beta.52",
- "@babel/parser": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52",
- "lodash": "^4.17.5"
+ "@babel/code-frame": "^7.0.0",
+ "@babel/parser": "^7.1.2",
+ "@babel/types": "^7.1.2"
}
}
diff --git a/packages/babel-template/src/options.js b/packages/babel-template/src/options.js
index fa1e275a64..54e3972de2 100644
--- a/packages/babel-template/src/options.js
+++ b/packages/babel-template/src/options.js
@@ -64,8 +64,7 @@ export function validate(opts: mixed): TemplateOpts {
placeholderPattern,
preserveComments,
...parser
- } =
- opts || {};
+ } = opts || {};
if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) {
throw new Error(
diff --git a/packages/babel-traverse/package.json b/packages/babel-traverse/package.json
index 9928bca3d2..34dd6e487f 100644
--- a/packages/babel-traverse/package.json
+++ b/packages/babel-traverse/package.json
@@ -1,25 +1,27 @@
{
"name": "@babel/traverse",
- "version": "7.0.0-beta.52",
+ "version": "7.1.4",
"description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
"license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
"repository": "https://github.com/babel/babel/tree/master/packages/babel-traverse",
"main": "lib/index.js",
"dependencies": {
- "@babel/code-frame": "7.0.0-beta.52",
- "@babel/generator": "7.0.0-beta.52",
- "@babel/helper-function-name": "7.0.0-beta.52",
- "@babel/helper-split-export-declaration": "7.0.0-beta.52",
- "@babel/parser": "7.0.0-beta.52",
- "@babel/types": "7.0.0-beta.52",
+ "@babel/code-frame": "^7.0.0",
+ "@babel/generator": "^7.1.3",
+ "@babel/helper-function-name": "^7.1.0",
+ "@babel/helper-split-export-declaration": "^7.0.0",
+ "@babel/parser": "^7.1.3",
+ "@babel/types": "^7.1.3",
"debug": "^3.1.0",
"globals": "^11.1.0",
- "invariant": "^2.2.0",
- "lodash": "^4.17.5"
+ "lodash": "^4.17.10"
},
"devDependencies": {
- "@babel/helper-plugin-test-runner": "7.0.0-beta.52"
+ "@babel/helper-plugin-test-runner": "^7.0.0"
}
}
diff --git a/packages/babel-traverse/src/hub.js b/packages/babel-traverse/src/hub.js
index 69f9406fc9..3cd5c645f0 100644
--- a/packages/babel-traverse/src/hub.js
+++ b/packages/babel-traverse/src/hub.js
@@ -1,5 +1,22 @@
-export default class Hub {
- constructor(file) {
- this.file = file;
+import type Scope from "./scope";
+
+export interface HubInterface {
+ getCode(): ?string;
+ getScope(): ?Scope;
+ addHelper(name: string): Object;
+ buildError(node: Object, msg: string, Error: Class): Error;
+}
+
+export default class Hub implements HubInterface {
+ getCode() {}
+
+ getScope() {}
+
+ addHelper() {
+ throw new Error("Helpers are not supported by the default hub.");
+ }
+
+ buildError(node, msg, Error = TypeError): Error {
+ return new Error(msg);
}
}
diff --git a/packages/babel-traverse/src/index.js b/packages/babel-traverse/src/index.js
index db1898f5d5..5b1ebfdc6e 100644
--- a/packages/babel-traverse/src/index.js
+++ b/packages/babel-traverse/src/index.js
@@ -7,6 +7,7 @@ import * as cache from "./cache";
export { default as NodePath } from "./path";
export { default as Scope } from "./scope";
export { default as Hub } from "./hub";
+export type { HubInterface } from "./hub";
export { visitors };
diff --git a/packages/babel-traverse/src/path/conversion.js b/packages/babel-traverse/src/path/conversion.js
index b192b4d9d5..cf45cc320b 100644
--- a/packages/babel-traverse/src/path/conversion.js
+++ b/packages/babel-traverse/src/path/conversion.js
@@ -133,7 +133,7 @@ export function arrowFunctionToExpression({
this.get("body").unshiftContainer(
"body",
t.expressionStatement(
- t.callExpression(this.hub.file.addHelper("newArrowCheck"), [
+ t.callExpression(this.hub.addHelper("newArrowCheck"), [
t.thisExpression(),
checkBinding
? t.identifier(checkBinding.name)
diff --git a/packages/babel-traverse/src/path/evaluation.js b/packages/babel-traverse/src/path/evaluation.js
index 90029cbe1e..a970bd9aee 100644
--- a/packages/babel-traverse/src/path/evaluation.js
+++ b/packages/babel-traverse/src/path/evaluation.js
@@ -257,7 +257,7 @@ function _evaluate(path, state) {
}
if (path.isLogicalExpression()) {
- // If we are confident that one side of an && is false, or the left
+ // If we are confident that the left side of an && is false, or the left
// side of an || is true, we can be confident about the entire expression
const wasConfident = state.confident;
const left = evaluateCached(path.get("left"), state);
@@ -265,25 +265,17 @@ function _evaluate(path, state) {
state.confident = wasConfident;
const right = evaluateCached(path.get("right"), state);
const rightConfident = state.confident;
- state.confident = leftConfident && rightConfident;
switch (node.operator) {
case "||":
// TODO consider having a "truthy type" that doesn't bail on
// left uncertainty but can still evaluate to truthy.
- if (left && leftConfident) {
- state.confident = true;
- return left;
- }
-
+ state.confident = leftConfident && (!!left || rightConfident);
if (!state.confident) return;
return left || right;
case "&&":
- if ((!left && leftConfident) || (!right && rightConfident)) {
- state.confident = true;
- }
-
+ state.confident = leftConfident && (!left || rightConfident);
if (!state.confident) return;
return left && right;
diff --git a/packages/babel-traverse/src/path/index.js b/packages/babel-traverse/src/path/index.js
index 63c70fecb1..506a25e95d 100644
--- a/packages/babel-traverse/src/path/index.js
+++ b/packages/babel-traverse/src/path/index.js
@@ -1,8 +1,7 @@
-import type Hub from "../hub";
+import type { HubInterface } from "../hub";
import type TraversalContext from "../context";
import * as virtualTypes from "./lib/virtual-types";
import buildDebug from "debug";
-import invariant from "invariant";
import traverse from "../index";
import Scope from "../scope";
import * as t from "@babel/types";
@@ -25,7 +24,7 @@ import * as NodePath_comments from "./comments";
const debug = buildDebug("babel");
export default class NodePath {
- constructor(hub: Hub, parent: Object) {
+ constructor(hub: HubInterface, parent: Object) {
this.parent = parent;
this.hub = hub;
this.contexts = [];
@@ -50,7 +49,7 @@ export default class NodePath {
}
parent: Object;
- hub: Hub;
+ hub: HubInterface;
contexts: Array;
data: Object;
shouldSkip: boolean;
@@ -76,7 +75,9 @@ export default class NodePath {
hub = parentPath.hub;
}
- invariant(parent, "To get a node path the parent needs to exist");
+ if (!parent) {
+ throw new Error("To get a node path the parent needs to exist");
+ }
const targetNode = container[key];
@@ -120,7 +121,7 @@ export default class NodePath {
}
buildCodeFrameError(msg: string, Error: typeof Error = SyntaxError): Error {
- return this.hub.file.buildCodeFrameError(this.node, msg, Error);
+ return this.hub.buildError(this.node, msg, Error);
}
traverse(visitor: Object, state?: any) {
diff --git a/packages/babel-traverse/src/path/introspection.js b/packages/babel-traverse/src/path/introspection.js
index 078fee3740..0752bc8857 100644
--- a/packages/babel-traverse/src/path/introspection.js
+++ b/packages/babel-traverse/src/path/introspection.js
@@ -196,10 +196,10 @@ export function referencesImport(moduleSource, importName) {
export function getSource() {
const node = this.node;
if (node.end) {
- return this.hub.file.code.slice(node.start, node.end);
- } else {
- return "";
+ const code = this.hub.getCode();
+ if (code) return code.slice(node.start, node.end);
}
+ return "";
}
export function willIMaybeExecuteBefore(target) {
diff --git a/packages/babel-traverse/src/path/modification.js b/packages/babel-traverse/src/path/modification.js
index 0092a20652..b69f527eed 100644
--- a/packages/babel-traverse/src/path/modification.js
+++ b/packages/babel-traverse/src/path/modification.js
@@ -107,7 +107,7 @@ export function insertAfter(nodes) {
) {
return parentPath.insertAfter(nodes);
} else if (
- this.isNodeType("Expression") ||
+ (this.isNodeType("Expression") && !this.isJSXElement()) ||
(parentPath.isForStatement() && this.key === "init")
) {
if (this.node) {
diff --git a/packages/babel-traverse/src/scope/index.js b/packages/babel-traverse/src/scope/index.js
index 7c41d5738b..b91eeeb25c 100644
--- a/packages/babel-traverse/src/scope/index.js
+++ b/packages/babel-traverse/src/scope/index.js
@@ -362,7 +362,7 @@ export default class Scope {
(local.kind === "param" && (kind === "let" || kind === "const"));
if (duplicate) {
- throw this.hub.file.buildCodeFrameError(
+ throw this.hub.buildError(
id,
`Duplicate declaration "${name}"`,
TypeError,
@@ -404,9 +404,7 @@ export default class Scope {
console.log(sep);
}
- toArray(node: Object, i?: number | boolean) {
- const file = this.hub.file;
-
+ toArray(node: Object, i?: number) {
if (t.isIdentifier(node)) {
const binding = this.getBinding(node.name);
if (binding && binding.constant && binding.path.isGenericType("Array")) {
@@ -444,12 +442,12 @@ export default class Scope {
// Used in array-rest to create an array from a subset of an iterable.
helperName = "slicedToArray";
- // TODO if (this.hub.file.isLoose("es6.forOf")) helperName += "-loose";
+ // TODO if (this.hub.isLoose("es6.forOf")) helperName += "-loose";
} else {
// Used in array-rest to create an array
helperName = "toArray";
}
- return t.callExpression(file.addHelper(helperName), args);
+ return t.callExpression(this.hub.addHelper(helperName), args);
}
hasLabel(name: string) {
diff --git a/packages/babel-traverse/src/scope/lib/renamer.js b/packages/babel-traverse/src/scope/lib/renamer.js
index 317dea76aa..cdfd908196 100644
--- a/packages/babel-traverse/src/scope/lib/renamer.js
+++ b/packages/babel-traverse/src/scope/lib/renamer.js
@@ -108,7 +108,7 @@ export default class Renamer {
path.isClassExpression(),
);
if (parentDeclar) {
- const bindingIds = parentDeclar.getBindingIdentifiers();
+ const bindingIds = parentDeclar.getOuterBindingIdentifiers();
if (bindingIds[oldName] === binding.identifier) {
// When we are renaming an exported identifier, we need to ensure that
// the exported binding keeps the old name.
diff --git a/packages/babel-traverse/test/arrow-transform.js b/packages/babel-traverse/test/arrow-transform.js
index d0471d9dfe..d74ca8f711 100644
--- a/packages/babel-traverse/test/arrow-transform.js
+++ b/packages/babel-traverse/test/arrow-transform.js
@@ -13,13 +13,11 @@ function assertConversion(
const rootPath = NodePath.get({
hub: {
- file: {
- addHelper(helperName) {
- return t.memberExpression(
- t.identifier("babelHelpers"),
- t.identifier(helperName),
- );
- },
+ addHelper(helperName) {
+ return t.memberExpression(
+ t.identifier("babelHelpers"),
+ t.identifier(helperName),
+ );
},
},
parentPath: null,
diff --git a/packages/babel-traverse/test/evaluation.js b/packages/babel-traverse/test/evaluation.js
index 5c1b51beb0..a9502b1c80 100644
--- a/packages/babel-traverse/test/evaluation.js
+++ b/packages/babel-traverse/test/evaluation.js
@@ -40,6 +40,29 @@ describe("evaluation", function() {
).toBe(false);
});
+ it("should short-circuit && and ||", function() {
+ expect(
+ getPath("x === 'y' || 42")
+ .get("body")[0]
+ .evaluate().confident,
+ ).toBe(false);
+ expect(
+ getPath("x === 'y' && 0")
+ .get("body")[0]
+ .evaluate().confident,
+ ).toBe(false);
+ expect(
+ getPath("42 || x === 'y'")
+ .get("body")[0]
+ .evaluate().value,
+ ).toBe(42);
+ expect(
+ getPath("0 && x === 'y'")
+ .get("body")[0]
+ .evaluate().value,
+ ).toBe(0);
+ });
+
it("should work with repeated, indeterminate identifiers", function() {
expect(
getPath("var num = foo(); (num > 0 && num < 100);")
diff --git a/packages/babel-traverse/test/fixtures/rename/break-statements/input.js b/packages/babel-traverse/test/fixtures/rename/break-statements/input.js
new file mode 100644
index 0000000000..79b15e15ee
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/break-statements/input.js
@@ -0,0 +1,9 @@
+function f(a) {
+ a: for (const k in []) {
+ if (k) {
+ continue a;
+ } else {
+ break a;
+ }
+ }
+}
diff --git a/packages/babel-traverse/test/fixtures/rename/break-statements/options.json b/packages/babel-traverse/test/fixtures/rename/break-statements/options.json
new file mode 100644
index 0000000000..14af0e5fea
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/break-statements/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["./plugin"]
+}
diff --git a/packages/babel-traverse/test/fixtures/rename/break-statements/output.js b/packages/babel-traverse/test/fixtures/rename/break-statements/output.js
new file mode 100644
index 0000000000..89d5cec5a6
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/break-statements/output.js
@@ -0,0 +1,9 @@
+function f(b) {
+ a: for (const k in []) {
+ if (k) {
+ continue a;
+ } else {
+ break a;
+ }
+ }
+}
diff --git a/packages/babel-traverse/test/fixtures/rename/break-statements/plugin.js b/packages/babel-traverse/test/fixtures/rename/break-statements/plugin.js
new file mode 100644
index 0000000000..e945a3b7cb
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/break-statements/plugin.js
@@ -0,0 +1,9 @@
+module.exports = function() {
+ return {
+ visitor: {
+ Function(path) {
+ path.scope.rename("a", "b");
+ }
+ }
+ };
+}
diff --git a/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/input.mjs b/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/input.mjs
new file mode 100644
index 0000000000..cee2ccf058
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/input.mjs
@@ -0,0 +1,2 @@
+export function problem(problem) { }
+void { problem: () => problem() };
diff --git a/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/options.json b/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/options.json
new file mode 100644
index 0000000000..26c88b8271
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/options.json
@@ -0,0 +1,3 @@
+{
+ "plugins": ["transform-function-name"]
+}
diff --git a/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/output.mjs b/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/output.mjs
new file mode 100644
index 0000000000..413c2b85c5
--- /dev/null
+++ b/packages/babel-traverse/test/fixtures/rename/property-rename-with-export/output.mjs
@@ -0,0 +1,6 @@
+function _problem(problem) {}
+
+export { _problem as problem };
+void {
+ problem: () => _problem()
+};
diff --git a/packages/babel-traverse/test/hub.js b/packages/babel-traverse/test/hub.js
new file mode 100644
index 0000000000..3c8cbe36c4
--- /dev/null
+++ b/packages/babel-traverse/test/hub.js
@@ -0,0 +1,10 @@
+import assert from "assert";
+import { Hub } from "../lib";
+
+describe("hub", function() {
+ it("default buildError should return TypeError", function() {
+ const hub = new Hub();
+ const msg = "test_msg";
+ assert.deepEqual(hub.buildError(null, msg), new TypeError(msg));
+ });
+});
diff --git a/packages/babel-traverse/test/modification.js b/packages/babel-traverse/test/modification.js
index 0f56fe5f9e..6b08efa0a6 100644
--- a/packages/babel-traverse/test/modification.js
+++ b/packages/babel-traverse/test/modification.js
@@ -200,6 +200,32 @@ describe("modification", function() {
);
});
+ it("returns inserted path with nested JSXElement", function() {
+ const ast = parse("foo
", {
+ plugins: ["jsx"],
+ });
+ let path;
+ traverse(ast, {
+ Program: function(_path) {
+ path = _path.get("body.0");
+ },
+ JSXElement: function(path) {
+ const tagName = path.node.openingElement.name.name;
+ if (tagName !== "span") return;
+ path.insertAfter(
+ t.JSXElement(
+ t.JSXOpeningElement(t.JSXIdentifier("div"), [], false),
+ t.JSXClosingElement(t.JSXIdentifier("div")),
+ [],
+ ),
+ );
+ },
+ });
+ expect(generateCode(path)).toBe(
+ ";",
+ );
+ });
+
describe("when the parent is an export declaration inserts the node after", function() {
it("the ExportNamedDeclaration", function() {
const bodyPath = getPath("export function a() {}", {
diff --git a/packages/babel-types/package.json b/packages/babel-types/package.json
index 279ecdd0ef..05d6f41e40 100644
--- a/packages/babel-types/package.json
+++ b/packages/babel-types/package.json
@@ -1,6 +1,6 @@
{
"name": "@babel/types",
- "version": "7.0.0-beta.52",
+ "version": "7.1.3",
"description": "Babel Types is a Lodash-esque utility library for AST nodes",
"author": "Sebastian McKenzie ",
"homepage": "https://babeljs.io/",
@@ -10,11 +10,11 @@
"types": "lib/index.d.ts",
"dependencies": {
"esutils": "^2.0.2",
- "lodash": "^4.17.5",
+ "lodash": "^4.17.10",
"to-fast-properties": "^2.0.0"
},
"devDependencies": {
- "@babel/generator": "7.0.0-beta.52",
- "@babel/parser": "7.0.0-beta.52"
+ "@babel/generator": "^7.0.0",
+ "@babel/parser": "^7.0.0"
}
}
diff --git a/packages/babel-types/src/asserts/generated/index.js b/packages/babel-types/src/asserts/generated/index.js
index 4fc988f4fd..65cb2901e8 100644
--- a/packages/babel-types/src/asserts/generated/index.js
+++ b/packages/babel-types/src/asserts/generated/index.js
@@ -762,6 +762,9 @@ export function assertTSIndexSignature(node: Object, opts?: Object = {}): void {
export function assertTSAnyKeyword(node: Object, opts?: Object = {}): void {
assert("TSAnyKeyword", node, opts);
}
+export function assertTSUnknownKeyword(node: Object, opts?: Object = {}): void {
+ assert("TSUnknownKeyword", node, opts);
+}
export function assertTSNumberKeyword(node: Object, opts?: Object = {}): void {
assert("TSNumberKeyword", node, opts);
}
@@ -822,6 +825,12 @@ export function assertTSArrayType(node: Object, opts?: Object = {}): void {
export function assertTSTupleType(node: Object, opts?: Object = {}): void {
assert("TSTupleType", node, opts);
}
+export function assertTSOptionalType(node: Object, opts?: Object = {}): void {
+ assert("TSOptionalType", node, opts);
+}
+export function assertTSRestType(node: Object, opts?: Object = {}): void {
+ assert("TSRestType", node, opts);
+}
export function assertTSUnionType(node: Object, opts?: Object = {}): void {
assert("TSUnionType", node, opts);
}
diff --git a/packages/babel-types/src/builders/generated/index.js b/packages/babel-types/src/builders/generated/index.js
index eda7514c11..86ac361d3d 100644
--- a/packages/babel-types/src/builders/generated/index.js
+++ b/packages/babel-types/src/builders/generated/index.js
@@ -698,6 +698,11 @@ export function TSAnyKeyword(...args: Array): Object {
}
export { TSAnyKeyword as tsAnyKeyword };
export { TSAnyKeyword as tSAnyKeyword };
+export function TSUnknownKeyword(...args: Array): Object {
+ return builder("TSUnknownKeyword", ...args);
+}
+export { TSUnknownKeyword as tsUnknownKeyword };
+export { TSUnknownKeyword as tSUnknownKeyword };
export function TSNumberKeyword(...args: Array): Object {
return builder("TSNumberKeyword", ...args);
}
@@ -788,6 +793,16 @@ export function TSTupleType(...args: Array): Object {
}
export { TSTupleType as tsTupleType };
export { TSTupleType as tSTupleType };
+export function TSOptionalType(...args: Array): Object {
+ return builder("TSOptionalType", ...args);
+}
+export { TSOptionalType as tsOptionalType };
+export { TSOptionalType as tSOptionalType };
+export function TSRestType(...args: Array): Object {
+ return builder("TSRestType", ...args);
+}
+export { TSRestType as tsRestType };
+export { TSRestType as tSRestType };
export function TSUnionType(...args: Array): Object {
return builder("TSUnionType", ...args);
}
diff --git a/packages/babel-types/src/definitions/es2015.js b/packages/babel-types/src/definitions/es2015.js
index 26c0d4a344..1147acd867 100644
--- a/packages/babel-types/src/definitions/es2015.js
+++ b/packages/babel-types/src/definitions/es2015.js
@@ -510,6 +510,13 @@ defineType("TaggedTemplateExpression", {
quasi: {
validate: assertNodeType("TemplateLiteral"),
},
+ typeParameters: {
+ validate: assertNodeType(
+ "TypeParameterInstantiation",
+ "TSTypeParameterInstantiation",
+ ),
+ optional: true,
+ },
},
});
diff --git a/packages/babel-types/src/definitions/flow.js b/packages/babel-types/src/definitions/flow.js
index fa4ad6e52d..bb08e9112a 100644
--- a/packages/babel-types/src/definitions/flow.js
+++ b/packages/babel-types/src/definitions/flow.js
@@ -277,6 +277,10 @@ defineType("ObjectTypeAnnotation", {
validate: assertValueType("boolean"),
default: false,
},
+ // If the inexact flag is present then this is an object type, and not a
+ // declare class, declare interface, or interface. If it is true, the
+ // object uses ... to express that it is inexact.
+ inexact: validateOptional(assertValueType("boolean")),
},
});
diff --git a/packages/babel-types/src/definitions/jsx.js b/packages/babel-types/src/definitions/jsx.js
index c039450e95..776714c873 100644
--- a/packages/babel-types/src/definitions/jsx.js
+++ b/packages/babel-types/src/definitions/jsx.js
@@ -73,7 +73,7 @@ defineType("JSXExpressionContainer", {
aliases: ["JSX", "Immutable"],
fields: {
expression: {
- validate: assertNodeType("Expression"),
+ validate: assertNodeType("Expression", "JSXEmptyExpression"),
},
},
});
@@ -142,6 +142,13 @@ defineType("JSXOpeningElement", {
assertEach(assertNodeType("JSXAttribute", "JSXSpreadAttribute")),
),
},
+ typeParameters: {
+ validate: assertNodeType(
+ "TypeParameterInstantiation",
+ "TSTypeParameterInstantiation",
+ ),
+ optional: true,
+ },
},
});
diff --git a/packages/babel-types/src/definitions/typescript.js b/packages/babel-types/src/definitions/typescript.js
index 270146c5ca..2971853575 100644
--- a/packages/babel-types/src/definitions/typescript.js
+++ b/packages/babel-types/src/definitions/typescript.js
@@ -128,6 +128,7 @@ defineType("TSIndexSignature", {
const tsKeywordTypes = [
"TSAnyKeyword",
+ "TSUnknownKeyword",
"TSNumberKeyword",
"TSObjectKeyword",
"TSBooleanKeyword",
@@ -212,6 +213,22 @@ defineType("TSTupleType", {
},
});
+defineType("TSOptionalType", {
+ aliases: ["TSType"],
+ visitor: ["typeAnnotation"],
+ fields: {
+ typeAnnotation: validateType("TSType"),
+ },
+});
+
+defineType("TSRestType", {
+ aliases: ["TSType"],
+ visitor: ["typeAnnotation"],
+ fields: {
+ typeAnnotation: validateType("TSType"),
+ },
+});
+
const unionOrIntersection = {
aliases: ["TSType"],
visitor: ["types"],
diff --git a/packages/babel-types/src/validators/generated/index.js b/packages/babel-types/src/validators/generated/index.js
index 42de2ad2e8..41484fa048 100644
--- a/packages/babel-types/src/validators/generated/index.js
+++ b/packages/babel-types/src/validators/generated/index.js
@@ -2406,6 +2406,20 @@ export function isTSAnyKeyword(node: Object, opts?: Object): boolean {
return false;
}
+export function isTSUnknownKeyword(node: Object, opts?: Object): boolean {
+ if (!node) return false;
+
+ const nodeType = node.type;
+ if (nodeType === "TSUnknownKeyword") {
+ if (typeof opts === "undefined") {
+ return true;
+ } else {
+ return shallowEqual(node, opts);
+ }
+ }
+
+ return false;
+}
export function isTSNumberKeyword(node: Object, opts?: Object): boolean {
if (!node) return false;
@@ -2658,6 +2672,34 @@ export function isTSTupleType(node: Object, opts?: Object): boolean {
return false;
}
+export function isTSOptionalType(node: Object, opts?: Object): boolean {
+ if (!node) return false;
+
+ const nodeType = node.type;
+ if (nodeType === "TSOptionalType") {
+ if (typeof opts === "undefined") {
+ return true;
+ } else {
+ return shallowEqual(node, opts);
+ }
+ }
+
+ return false;
+}
+export function isTSRestType(node: Object, opts?: Object): boolean {
+ if (!node) return false;
+
+ const nodeType = node.type;
+ if (nodeType === "TSRestType") {
+ if (typeof opts === "undefined") {
+ return true;
+ } else {
+ return shallowEqual(node, opts);
+ }
+ }
+
+ return false;
+}
export function isTSUnionType(node: Object, opts?: Object): boolean {
if (!node) return false;
@@ -4116,6 +4158,7 @@ export function isTSType(node: Object, opts?: Object): boolean {
if (
nodeType === "TSType" ||
"TSAnyKeyword" === nodeType ||
+ "TSUnknownKeyword" === nodeType ||
"TSNumberKeyword" === nodeType ||
"TSObjectKeyword" === nodeType ||
"TSBooleanKeyword" === nodeType ||
@@ -4134,6 +4177,8 @@ export function isTSType(node: Object, opts?: Object): boolean {
"TSTypeLiteral" === nodeType ||
"TSArrayType" === nodeType ||
"TSTupleType" === nodeType ||
+ "TSOptionalType" === nodeType ||
+ "TSRestType" === nodeType ||
"TSUnionType" === nodeType ||
"TSIntersectionType" === nodeType ||
"TSConditionalType" === nodeType ||
diff --git a/packages/babel-types/src/validators/isReferenced.js b/packages/babel-types/src/validators/isReferenced.js
index 07c58cc138..136cde829e 100644
--- a/packages/babel-types/src/validators/isReferenced.js
+++ b/packages/babel-types/src/validators/isReferenced.js
@@ -80,6 +80,10 @@ export default function isReferenced(node: Object, parent: Object): boolean {
case "RestElement":
return false;
+ case "BreakStatement":
+ case "ContinueStatement":
+ return false;
+
// no: function NODE() {}
// no: function foo(NODE) {}
case "FunctionDeclaration":
diff --git a/scripts/clone-license.sh b/scripts/clone-license.sh
new file mode 100755
index 0000000000..e901ca00ba
--- /dev/null
+++ b/scripts/clone-license.sh
@@ -0,0 +1,3 @@
+echo "Cloning LICENSE to babel packages"
+cat LICENSE
+ls -db ./packages/*/ | egrep -v '.*packages\/(babel-parser|babel-plugin-transform-object-assign)\/?$' | xargs -n 1 cp LICENSE
diff --git a/scripts/generators/readmes.js b/scripts/generators/readmes.js
index 04d754c9a0..1ab0b25214 100644
--- a/scripts/generators/readmes.js
+++ b/scripts/generators/readmes.js
@@ -66,6 +66,7 @@ yarn add ${name} --dev
packages
.filter(x => x !== "README.md") // ignore root readme
+ .filter(x => x.indexOf("babel-preset-stage-") === -1) // ignore stages
.forEach(id => {
const { name, description } = getPackageJson(id);
const readmePath = join(packageDir, id, "README.md");
diff --git a/scripts/generators/typescript.js b/scripts/generators/typescript.js
index d2dcd13e9f..0cd5ff4042 100644
--- a/scripts/generators/typescript.js
+++ b/scripts/generators/typescript.js
@@ -81,8 +81,12 @@ for (const type in t.NODE_FIELDS) {
);
}
- if (t.isValidIdentifier(fieldName)) {
+ const alphaNumeric = /^\w+$/;
+
+ if (t.isValidIdentifier(fieldName) || alphaNumeric.test(fieldName)) {
struct.push(`${fieldName}: ${typeAnnotation};`);
+ } else {
+ struct.push(`"${fieldName}": ${typeAnnotation};`);
}
});
diff --git a/scripts/tests/flow/flow_tests_whitelist.txt b/scripts/tests/flow/flow_tests_whitelist.txt
index 89872e94e8..e9f6d0bc42 100644
--- a/scripts/tests/flow/flow_tests_whitelist.txt
+++ b/scripts/tests/flow/flow_tests_whitelist.txt
@@ -15,6 +15,7 @@ async_await/migrated_0020.js
async_await/migrated_0024.js
async_await/migrated_0027.js
async_generators/migrated_0007.js
+catch/optional_catch_binding.js
class_properties/migrated_0000.js
class_properties/migrated_0005.js
class_properties/migrated_0011.js
@@ -23,7 +24,8 @@ class_properties/migrated_0021.js
class_properties/migrated_0026.js
decorators/migrated_0003.js
decorators/migrated_0007.js
-private_class_properties/valid.js
+private_class_properties/multiple.js
+private_class_properties/super.js
types/annotations/migrated_0001.js
types/annotations_in_comments_invalid/migrated_0003.js
types/annotations/void_is_reserved_param.js
diff --git a/scripts/tests/flow/run_babel_parser_flow_tests.js b/scripts/tests/flow/run_babel_parser_flow_tests.js
index ec9818721a..5595262e6a 100644
--- a/scripts/tests/flow/run_babel_parser_flow_tests.js
+++ b/scripts/tests/flow/run_babel_parser_flow_tests.js
@@ -115,6 +115,7 @@ const options = {
"flowComments",
"jsx",
"objectRestSpread",
+ "classPrivateProperties",
],
sourceType: "module",
ranges: true,
diff --git a/scripts/tests/test262/run_babel_parser_test262_utils.js b/scripts/tests/test262/run_babel_parser_test262_utils.js
index 7051472106..99f714287a 100644
--- a/scripts/tests/test262/run_babel_parser_test262_utils.js
+++ b/scripts/tests/test262/run_babel_parser_test262_utils.js
@@ -13,14 +13,15 @@ const pfs = {
const parse = require("../../../packages/babel-parser").parse;
const featuresToPlugins = {
- BigInt: "bigInt",
- "class-fields-public": "classProperties",
- "class-fields-private": "classPrivateProperties",
"async-iteration": "asyncGenerators",
+ BigInt: "bigInt",
+ "class-fields-private": "classPrivateProperties",
+ "class-fields-public": "classProperties",
+ "export-star-as-namespace-from-module": "exportNamespaceFrom",
+ "numeric-separator-literal": "numericSeparator",
"object-rest": "objectRestSpread",
"object-spread": "objectRestSpread",
"optional-catch-binding": "optionalCatchBinding",
- "numeric-separator-literal": "numericSeparator",
};
function getPlugins(features) {
diff --git a/scripts/tests/test262/test262_whitelist.txt b/scripts/tests/test262/test262_whitelist.txt
index 8d34948baa..47db998bb2 100644
--- a/scripts/tests/test262/test262_whitelist.txt
+++ b/scripts/tests/test262/test262_whitelist.txt
@@ -683,8 +683,6 @@ language/statements/while/labelled-fn-stmt.js(default)
language/statements/with/decl-async-fun.js(default)
language/statements/with/decl-async-gen.js(default)
language/statements/with/labelled-fn-stmt.js(default)
-language/white-space/mongolian-vowel-separator.js(default)
-language/white-space/mongolian-vowel-separator.js(strict mode)
language/identifiers/unicode-escape-nls-err.js(default)
language/identifiers/unicode-escape-nls-err.js(strict mode)
@@ -698,14 +696,6 @@ language/module-code/privatename-not-valid-earlyerr-module-4.js(default)
language/module-code/privatename-not-valid-earlyerr-module-4.js(strict mode)
language/expressions/class/fields-duplicate-privatenames.js(default)
language/expressions/class/fields-duplicate-privatenames.js(strict mode)
-language/expressions/class/fields-initializer-static-private-fields-forbidden.js(default)
-language/expressions/class/fields-initializer-static-private-fields-forbidden.js(strict mode)
-language/expressions/class/fields-initializer-static-public-fields-forbidden.js(default)
-language/expressions/class/fields-initializer-static-public-fields-forbidden.js(strict mode)
-language/expressions/class/fields-literal-name-static-private-fields-forbidden.js(default)
-language/expressions/class/fields-literal-name-static-private-fields-forbidden.js(strict mode)
-language/expressions/class/fields-literal-name-static-public-fields-forbidden.js(default)
-language/expressions/class/fields-literal-name-static-public-fields-forbidden.js(strict mode)
language/expressions/template-literal/unicode-escape-nls-err.js(default)
language/expressions/template-literal/unicode-escape-nls-err.js(strict mode)
language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js(default)
@@ -715,14 +705,6 @@ language/literals/string/unicode-escape-nls-err-single.js(default)
language/literals/string/unicode-escape-nls-err-single.js(strict mode)
language/statements/class/fields-duplicate-privatenames.js(default)
language/statements/class/fields-duplicate-privatenames.js(strict mode)
-language/statements/class/fields-initializer-static-private-fields-forbidden.js(default)
-language/statements/class/fields-initializer-static-private-fields-forbidden.js(strict mode)
-language/statements/class/fields-initializer-static-public-fields-forbidden.js(default)
-language/statements/class/fields-initializer-static-public-fields-forbidden.js(strict mode)
-language/statements/class/fields-literal-name-static-private-fields-forbidden.js(default)
-language/statements/class/fields-literal-name-static-private-fields-forbidden.js(strict mode)
-language/statements/class/fields-literal-name-static-public-fields-forbidden.js(default)
-language/statements/class/fields-literal-name-static-public-fields-forbidden.js(strict mode)
language/statements/class/privatename-not-valid-earlyerr-script-1.js(default)
language/statements/class/privatename-not-valid-earlyerr-script-1.js(strict mode)
language/statements/class/privatename-not-valid-earlyerr-script-2.js(default)
diff --git a/yarn.lock b/yarn.lock
index bd7851cc15..1abdf1300e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,18 +2,19 @@
# yarn lockfile v1
-"@babel/cli@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0-beta.52.tgz#e8a6e1c239c66c90daeed06d6ce02851536e7445"
+"@babel/cli@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.1.2.tgz#fc2853ae96824b3779ca85de4fd025ce3cf62a5e"
+ integrity sha512-K3WDlpBPGpoW11SLKFEBhMsITomPovsrZ/wnM3y+WStbytukDXC0OBic3yQp+j058QUw0+R/jfx2obwp1fOzcA==
dependencies:
commander "^2.8.1"
convert-source-map "^1.1.0"
- fs-readdir-recursive "^1.0.0"
+ fs-readdir-recursive "^1.1.0"
glob "^7.0.0"
- lodash "^4.17.5"
+ lodash "^4.17.10"
mkdirp "^0.5.1"
output-file-sync "^2.0.0"
- slash "^1.0.0"
+ slash "^2.0.0"
source-map "^0.5.0"
optionalDependencies:
chokidar "^2.0.3"
@@ -21,37 +22,33 @@
"@babel/code-frame@7.0.0-beta.40", "@babel/code-frame@^7.0.0-beta.35":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz#37e2b0cf7c56026b4b21d3927cadf81adec32ac6"
+ integrity sha512-eVXQSbu/RimU6OKcK2/gDJVTFcxXJI4sHbIqw2mhwMZeQ2as/8AhS9DGkEDoHMBBNJZ5B0US63lF56x+KDcxiA==
dependencies:
"@babel/highlight" "7.0.0-beta.40"
-"@babel/code-frame@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9"
+"@babel/code-frame@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
+ integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==
dependencies:
- "@babel/highlight" "7.0.0-beta.44"
+ "@babel/highlight" "^7.0.0"
-"@babel/code-frame@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.52.tgz#192483bfa0d1e467c101571c21029ccb74af2801"
+"@babel/core@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.1.2.tgz#f8d2a9ceb6832887329a7b60f9d035791400ba4e"
+ integrity sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==
dependencies:
- "@babel/highlight" "7.0.0-beta.52"
-
-"@babel/core@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.52.tgz#f27a9a468f8cf9c860aabca5f6084fa52fbc6e55"
- dependencies:
- "@babel/code-frame" "7.0.0-beta.52"
- "@babel/generator" "7.0.0-beta.52"
- "@babel/helpers" "7.0.0-beta.52"
- "@babel/parser" "7.0.0-beta.52"
- "@babel/template" "7.0.0-beta.52"
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.1.2"
+ "@babel/helpers" "^7.1.2"
+ "@babel/parser" "^7.1.2"
+ "@babel/template" "^7.1.2"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.1.2"
convert-source-map "^1.1.0"
debug "^3.1.0"
json5 "^0.5.0"
- lodash "^4.17.5"
- micromatch "^3.1.10"
+ lodash "^4.17.10"
resolve "^1.3.2"
semver "^5.4.1"
source-map "^0.5.0"
@@ -59,6 +56,7 @@
"@babel/generator@7.0.0-beta.40":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.40.tgz#ab61f9556f4f71dbd1138949c795bb9a21e302ea"
+ integrity sha512-c91BQcXyTq/5aFV4afgOionxZS1dxWt8OghEx5Q52SKssdGRFSiMKnk9tGkev1pYULPJBqjSDZU2Pcuc58ffZw==
dependencies:
"@babel/types" "7.0.0-beta.40"
jsesc "^2.5.1"
@@ -66,860 +64,748 @@
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/generator@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42"
+"@babel/generator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz#1efd58bffa951dc846449e58ce3a1d7f02d393aa"
+ integrity sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==
dependencies:
- "@babel/types" "7.0.0-beta.44"
+ "@babel/types" "^7.0.0"
jsesc "^2.5.1"
- lodash "^4.2.0"
+ lodash "^4.17.10"
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/generator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.52.tgz#26968f12fad818cd974c849b286b437e1e8ccd91"
+"@babel/generator@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.2.tgz#fde75c072575ce7abbd97322e8fef5bae67e4630"
+ integrity sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig==
dependencies:
- "@babel/types" "7.0.0-beta.52"
+ "@babel/types" "^7.1.2"
jsesc "^2.5.1"
- lodash "^4.17.5"
+ lodash "^4.17.10"
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/helper-annotate-as-pure@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.52.tgz#4d5bff58385f13b15b2257c5fa9dfa2d2998e615"
+"@babel/helper-annotate-as-pure@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
+ integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==
dependencies:
- "@babel/types" "7.0.0-beta.52"
+ "@babel/types" "^7.0.0"
-"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.52.tgz#fb188e50a6ba4c3fb33b51a0737eaa3717e94759"
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
+ integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==
dependencies:
- "@babel/helper-explode-assignable-expression" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/helper-explode-assignable-expression" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-call-delegate@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.52.tgz#b68f57e62bf9c49f37ddd2f28562271b26f61a07"
+"@babel/helper-call-delegate@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a"
+ integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==
dependencies:
- "@babel/helper-hoist-variables" "7.0.0-beta.52"
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/helper-hoist-variables" "^7.0.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-define-map@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.52.tgz#59c1159d432050073f65e73b3d05a54a903e2267"
+"@babel/helper-define-map@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c"
+ integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==
dependencies:
- "@babel/helper-function-name" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
- lodash "^4.17.5"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ lodash "^4.17.10"
-"@babel/helper-explode-assignable-expression@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.52.tgz#0893711da77861d30a5f5537c8f2e190413a7e09"
+"@babel/helper-explode-assignable-expression@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
+ integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==
dependencies:
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
"@babel/helper-function-name@7.0.0-beta.40":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.40.tgz#9d033341ab16517f40d43a73f2d81fc431ccd7b6"
+ integrity sha512-cK9BVLtOfisSISTTHXKGvBc2OBh65tjEk4PgXhsSnnH0i8RP2v+5RCxoSlh2y/i+l2fxQqKqv++Qo5RMiwmRCA==
dependencies:
"@babel/helper-get-function-arity" "7.0.0-beta.40"
"@babel/template" "7.0.0-beta.40"
"@babel/types" "7.0.0-beta.40"
-"@babel/helper-function-name@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd"
+"@babel/helper-function-name@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz#a68cc8d04420ccc663dd258f9cc41b8261efa2d4"
+ integrity sha512-Zo+LGvfYp4rMtz84BLF3bavFTdf8y4rJtMPTe2J+rxYmnDOIeH8le++VFI/pRJU+rQhjqiXxE4LMaIau28Tv1Q==
dependencies:
- "@babel/helper-get-function-arity" "7.0.0-beta.44"
- "@babel/template" "7.0.0-beta.44"
- "@babel/types" "7.0.0-beta.44"
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-function-name@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.52.tgz#a867a58ff571b25772b2d799b32866058573c450"
+"@babel/helper-function-name@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
+ integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==
dependencies:
- "@babel/helper-get-function-arity" "7.0.0-beta.52"
- "@babel/template" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
"@babel/helper-get-function-arity@7.0.0-beta.40":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.40.tgz#ac0419cf067b0ec16453e1274f03878195791c6e"
+ integrity sha512-MwquaPznI4cUoZEgHC/XGkddOXtqKqD4DvZDOyJK2LR9Qi6TbMbAhc6IaFoRX7CRTFCmtGeu8gdXW2dBotBBTA==
dependencies:
"@babel/types" "7.0.0-beta.40"
-"@babel/helper-get-function-arity@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15"
+"@babel/helper-get-function-arity@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
+ integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==
dependencies:
- "@babel/types" "7.0.0-beta.44"
+ "@babel/types" "^7.0.0"
-"@babel/helper-get-function-arity@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.52.tgz#1c0cda58e0b75f45e92eafbd8fe189a4eee92b74"
+"@babel/helper-hoist-variables@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88"
+ integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==
dependencies:
- "@babel/types" "7.0.0-beta.52"
+ "@babel/types" "^7.0.0"
-"@babel/helper-hoist-variables@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.52.tgz#ccd8480e3e19d91ce2cb631b4a374797583e8a8b"
+"@babel/helper-member-expression-to-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
+ integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==
dependencies:
- "@babel/types" "7.0.0-beta.52"
-
-"@babel/helper-member-expression-to-functions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.52.tgz#b098c54f3b72405b2ac8e9f63e22e3f06cc92719"
- dependencies:
- "@babel/types" "7.0.0-beta.52"
+ "@babel/types" "^7.0.0"
"@babel/helper-module-imports@7.0.0-beta.35":
version "7.0.0-beta.35"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz#308e350e731752cdb4d0f058df1d704925c64e0a"
+ integrity sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg==
dependencies:
"@babel/types" "7.0.0-beta.35"
lodash "^4.2.0"
-"@babel/helper-module-imports@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.52.tgz#70840e83ae891f94702c6c613787c48ee3c965bb"
+"@babel/helper-module-imports@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
+ integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==
dependencies:
- "@babel/types" "7.0.0-beta.52"
- lodash "^4.17.5"
+ "@babel/types" "^7.0.0"
-"@babel/helper-module-transforms@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.52.tgz#bc8444ead252a372c928996ae1733deaf3b08c90"
+"@babel/helper-module-transforms@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz#470d4f9676d9fad50b324cdcce5fbabbc3da5787"
+ integrity sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==
dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.52"
- "@babel/helper-simple-access" "7.0.0-beta.52"
- "@babel/helper-split-export-declaration" "7.0.0-beta.52"
- "@babel/template" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
- lodash "^4.17.5"
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ lodash "^4.17.10"
-"@babel/helper-optimise-call-expression@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.52.tgz#0aad65208f2db5feb47c393f5ba26da5a5b04617"
+"@babel/helper-optimise-call-expression@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
+ integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==
dependencies:
- "@babel/types" "7.0.0-beta.52"
+ "@babel/types" "^7.0.0"
-"@babel/helper-plugin-utils@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.52.tgz#2f058c5f7c3a5fe4bc219036b2e78e11bddeb7ad"
+"@babel/helper-plugin-utils@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
+ integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==
-"@babel/helper-regex@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.52.tgz#4ad8c7720497afbcd8f897c8a1b2ad03ebcd3061"
+"@babel/helper-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27"
+ integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==
dependencies:
- lodash "^4.17.5"
+ lodash "^4.17.10"
-"@babel/helper-remap-async-to-generator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.52.tgz#19cc67f464f870901fe7be85e438c770b5f41cb8"
+"@babel/helper-remap-async-to-generator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
+ integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==
dependencies:
- "@babel/helper-annotate-as-pure" "7.0.0-beta.52"
- "@babel/helper-wrap-function" "7.0.0-beta.52"
- "@babel/template" "7.0.0-beta.52"
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-wrap-function" "^7.1.0"
+ "@babel/template" "^7.1.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-replace-supers@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.52.tgz#5c648a77fe263fc7993d3dbb44ccd617ef7a6cd1"
+"@babel/helper-replace-supers@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362"
+ integrity sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==
dependencies:
- "@babel/helper-member-expression-to-functions" "7.0.0-beta.52"
- "@babel/helper-optimise-call-expression" "7.0.0-beta.52"
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-simple-access@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.52.tgz#d2995ce9c4c9f03fe72af922373677a8eb6424ee"
+"@babel/helper-simple-access@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
+ integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==
dependencies:
- "@babel/template" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
- lodash "^4.17.5"
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-split-export-declaration@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc"
+"@babel/helper-split-export-declaration@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
+ integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==
dependencies:
- "@babel/types" "7.0.0-beta.44"
+ "@babel/types" "^7.0.0"
-"@babel/helper-split-export-declaration@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.52.tgz#4aac4f30ea6384af3676e04b5246727632e460df"
+"@babel/helper-wrap-function@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz#8cf54e9190706067f016af8f75cb3df829cc8c66"
+ integrity sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==
dependencies:
- "@babel/types" "7.0.0-beta.52"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/template" "^7.1.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/helper-wrap-function@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.52.tgz#36148e93176299c28a1d2befdb8fe1cc3b79b4b4"
+"@babel/helpers@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.1.2.tgz#ab752e8c35ef7d39987df4e8586c63b8846234b5"
+ integrity sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==
dependencies:
- "@babel/helper-function-name" "7.0.0-beta.52"
- "@babel/template" "7.0.0-beta.52"
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
-
-"@babel/helpers@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.52.tgz#89beebe4e4fd6b22f5d7540716027629408c4a63"
- dependencies:
- "@babel/template" "7.0.0-beta.52"
- "@babel/traverse" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
+ "@babel/template" "^7.1.2"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.1.2"
"@babel/highlight@7.0.0-beta.40":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.40.tgz#b43d67d76bf46e1d10d227f68cddcd263786b255"
+ integrity sha512-mOhhTrzieV6VO7odgzFGFapiwRK0ei8RZRhfzHhb6cpX3QM8XXuCLXWjN8qBB7JReDdUR80V3LFfFrGUYevhNg==
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
-"@babel/highlight@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5"
+"@babel/highlight@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4"
+ integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
- js-tokens "^3.0.0"
+ js-tokens "^4.0.0"
-"@babel/highlight@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.52.tgz#ef24931432f06155e7bc39cdb8a6b37b4a28b3d0"
+"@babel/parser@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz#697655183394facffb063437ddf52c0277698775"
+ integrity sha512-RgJhNdRinpO8zibnoHbzTTexNs4c8ROkXFBanNDZTLHjwbdLk8J5cJSKulx/bycWTLYmKVNCkxRtVCoJnqPk+g==
+
+"@babel/parser@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.0.tgz#a7cd42cb3c12aec52e24375189a47b39759b783e"
+ integrity sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==
+
+"@babel/parser@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.2.tgz#85c5c47af6d244fab77bce6b9bd830e38c978409"
+ integrity sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ==
+
+"@babel/plugin-proposal-async-generator-functions@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz#41c1a702e10081456e23a7b74d891922dd1bb6ce"
+ integrity sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==
dependencies:
- chalk "^2.0.0"
- esutils "^2.0.2"
- js-tokens "^3.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
+ "@babel/plugin-syntax-async-generators" "^7.0.0"
-"@babel/parser@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.52.tgz#4e935b62cd9bf872bd37bcf1f63d82fe7b0237a2"
-
-"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.52.tgz#f7d04073ebb50ac8cfc33e8c9725beb60bb41bf1"
+"@babel/plugin-proposal-class-properties@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.1.0.tgz#9af01856b1241db60ec8838d84691aa0bd1e8df4"
+ integrity sha512-/PCJWN+CKt5v1xcGn4vnuu13QDoV+P7NcICP44BoonAJoPSGwVkgrXihFIQGiEjjPlUDBIw1cM7wYFLARS2/hw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-remap-async-to-generator" "7.0.0-beta.52"
- "@babel/plugin-syntax-async-generators" "7.0.0-beta.52"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/plugin-syntax-class-properties" "^7.0.0"
-"@babel/plugin-proposal-class-properties@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.52.tgz#8cfca275fb4b6a462db9202970458cb3874fca7b"
+"@babel/plugin-proposal-export-namespace-from@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.0.0.tgz#ce847cc62c3626547107a1b835592b8ee494af51"
+ integrity sha512-UZuK8lkobh3570vCu0sxDQn+ZlCV6CVLlXe+nNohvPr6/zI5I+j4Ir2fTTCG0ayBQanym0N+29K5+v4c8SATaQ==
dependencies:
- "@babel/helper-function-name" "7.0.0-beta.52"
- "@babel/helper-member-expression-to-functions" "7.0.0-beta.52"
- "@babel/helper-optimise-call-expression" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-replace-supers" "7.0.0-beta.52"
- "@babel/plugin-syntax-class-properties" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-export-namespace-from" "^7.0.0"
-"@babel/plugin-proposal-decorators@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.0.0-beta.52.tgz#7188142ecb3ab678d26ee610d12ae33488911225"
+"@babel/plugin-proposal-json-strings@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e"
+ integrity sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-decorators" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-json-strings" "^7.0.0"
-"@babel/plugin-proposal-do-expressions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0-beta.52.tgz#3be3d062ea2943ebbbefd435eaec2c3a527bd203"
+"@babel/plugin-proposal-numeric-separator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.0.0.tgz#08aa02ce62481a84bfd0d9ce7a718adaaaa773dd"
+ integrity sha512-m4iDNpbBv2rTxxgViAeaqLOStc2wrlVAC5ifp6pjBPG29F56LdlPgf5CQYzj99y3kYeKqsyf/dcMx/r+QfwMZg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-do-expressions" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-numeric-separator" "^7.0.0"
-"@babel/plugin-proposal-export-default-from@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.0.0-beta.52.tgz#180428d9c340db2b06467c934b045e1f9334f96e"
+"@babel/plugin-proposal-object-rest-spread@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e"
+ integrity sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-export-default-from" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
-"@babel/plugin-proposal-export-namespace-from@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.0.0-beta.52.tgz#776abbbf3907d7de8f55ea712ca72ec4b952c0fe"
+"@babel/plugin-proposal-optional-catch-binding@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425"
+ integrity sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-export-namespace-from" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
-"@babel/plugin-proposal-function-bind@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.0.0-beta.52.tgz#86d1ddcd0bae60473fa0088c7b575e62dec4b5d9"
+"@babel/plugin-proposal-unicode-property-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33"
+ integrity sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-function-bind" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-function-sent@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0-beta.52.tgz#dc4a36c8276d92712cc9fbf60fa4ae0a5fdb6a86"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-wrap-function" "7.0.0-beta.52"
- "@babel/plugin-syntax-function-sent" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-json-strings@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0-beta.52.tgz#64e6a2d45925f3447747028b7e103420964245d5"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-json-strings" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-logical-assignment-operators@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.0.0-beta.52.tgz#0980d7a96c9facc2918e956a82c57d7cd07d0856"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-logical-assignment-operators" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.0.0-beta.52.tgz#4436ea10499855a849e671d650c14939e6678d21"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-nullish-coalescing-operator" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-numeric-separator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.0.0-beta.52.tgz#4a4c9c628d00dd3d64c38efdee5439d111b8cf3b"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-numeric-separator" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.52.tgz#d114cdbdb65c8ab026f840339f0484069c69c75e"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.52.tgz#c08a6d211d1f6f84e9771e5efee1e5f92620638a"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-optional-chaining@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.52.tgz#075e501e236bc026e9123f91137c971a79526f57"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-optional-chaining" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-pipeline-operator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.0.0-beta.52.tgz#a154d50ee1a5acb1ce8f84840e3673159059f823"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-pipeline-operator" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-throw-expressions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.0.0-beta.52.tgz#fd6b5e99b8957a1515cb67cb67ea3cfa65208746"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-throw-expressions" "7.0.0-beta.52"
-
-"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.52.tgz#3791a9a7c2a4a54fb39aa4fb70ed78d8b8210ca3"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-regex" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
regexpu-core "^4.2.0"
-"@babel/plugin-syntax-async-generators@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.52.tgz#52d99f0e38cadec8240582f3fb792c8190db24c6"
+"@babel/plugin-syntax-async-generators@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c"
+ integrity sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-class-properties@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.52.tgz#db43035fc9785f310d53202bc1fce2f375cca220"
+"@babel/plugin-syntax-class-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz#e051af5d300cbfbcec4a7476e37a803489881634"
+ integrity sha512-cR12g0Qzn4sgkjrbrzWy2GE7m9vMl/sFkqZ3gIpAQdrvPDnLM8180i+ANDFIXfjHo9aqp0ccJlQ0QNZcFUbf9w==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-decorators@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.0.0-beta.52.tgz#22731b89c84395b971f2d572e7a4d5d10ff5c867"
+"@babel/plugin-syntax-export-namespace-from@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.0.0.tgz#17a7389a1d2571ac4d9b77ea2defa74a930edf5d"
+ integrity sha512-l314XT1eMa0MWboSmG4BdKukHfSpSpQRenUoZmEpL6hqc5nc1/ddpLETjPB77gZE1dZ9qxy5D3U3UUjjcX2d4g==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-do-expressions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0-beta.52.tgz#d94aa7781a163e4307538e26500b6d2184254427"
+"@babel/plugin-syntax-flow@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0.tgz#70638aeaad9ee426bc532e51523cff8ff02f6f17"
+ integrity sha512-zGcuZWiWWDa5qTZ6iAnpG0fnX/GOu49pGR5PFvkQ9GmKNaSphXQnlNXh/LG20sqWtNrx/eB6krzfEzcwvUyeFA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-dynamic-import@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.52.tgz#a2d9c7de13df9f8c259b5ecbd1582aae01ce2077"
+"@babel/plugin-syntax-json-strings@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd"
+ integrity sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-export-default-from@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.0.0-beta.52.tgz#9e48190447e48f7720811f9903c93f305cbc4a13"
+"@babel/plugin-syntax-numeric-separator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.0.0.tgz#9594c7ce6ce8089a14d732cb9f6b1eeb047413ba"
+ integrity sha512-t9RMUPWsFXVeUZxEOhIDkVqYLi1sWOTjxFBAp8wJtaARilvkGlEQvSObd2W5YKicDktINI9XmdV0sB2FZaLOpw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-export-namespace-from@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.0.0-beta.52.tgz#e14c7f138f265f9e26e533cacfae0ef46170cfa9"
+"@babel/plugin-syntax-object-rest-spread@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b"
+ integrity sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-flow@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.52.tgz#8125c1de15b352cb71f6e22200f888a546772c8c"
+"@babel/plugin-syntax-optional-catch-binding@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475"
+ integrity sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-function-bind@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.0.0-beta.52.tgz#4636f8414c2cf09eb27c01b76696d4136e36c9b2"
+"@babel/plugin-transform-arrow-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749"
+ integrity sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-function-sent@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0-beta.52.tgz#3209635a8902876b2d5c801b3786997215d60207"
+"@babel/plugin-transform-async-to-generator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz#109e036496c51dd65857e16acab3bafdf3c57811"
+ integrity sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
-"@babel/plugin-syntax-import-meta@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0-beta.52.tgz#b7f9e8929b7b112333f60428c6fb958f6487ff47"
+"@babel/plugin-transform-block-scoped-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07"
+ integrity sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-syntax-json-strings@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0-beta.52.tgz#b2215255a919c628cdb9f0ed4eae8d8e69c759f4"
+"@babel/plugin-transform-block-scoping@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc"
+ integrity sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ lodash "^4.17.10"
-"@babel/plugin-syntax-logical-assignment-operators@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.0.0-beta.52.tgz#dbd5e24999fdcd9c071a960cc71b8ac2451ab5c8"
+"@babel/plugin-transform-classes@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz#ab3f8a564361800cbc8ab1ca6f21108038432249"
+ integrity sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.0.0-beta.52.tgz#06c4d6f3054e04b26685e3a7775050b3bed20e04"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-numeric-separator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.0.0-beta.52.tgz#4514264019b8fead3af36d5e873bc1ac004e9aa9"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.52.tgz#6729807874ea6cd9fd2104c4662637724441524e"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.52.tgz#1e5a568cb477af25ee9a07f6c865b73b0533e9e9"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-optional-chaining@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.52.tgz#75a69988519ac6c6b2f699e7dd9fa5c3619e46c6"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-pipeline-operator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.0.0-beta.52.tgz#ee7891771d0763c75d0ecd1864f23d862445b88a"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-syntax-throw-expressions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.0.0-beta.52.tgz#6fdfba95cefad5bad0fd045a4a6223aafa5fcfe2"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-transform-arrow-functions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.52.tgz#85e7e84ccf065e7292ec60019ecb616b360cbf18"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-transform-async-to-generator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.52.tgz#990dc0864a1734d63f138f8e44713f30ad68af3e"
- dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-remap-async-to-generator" "7.0.0-beta.52"
-
-"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.52.tgz#87af7f3f3989b694e75e973e84f8c9c5685a8c50"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
-
-"@babel/plugin-transform-block-scoping@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.52.tgz#52e994d77085c6fdf05b2d89654755ec008eb54a"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- lodash "^4.17.5"
-
-"@babel/plugin-transform-classes@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.52.tgz#08b1b664a7769b685c3ece2f3eab01832f272019"
- dependencies:
- "@babel/helper-annotate-as-pure" "7.0.0-beta.52"
- "@babel/helper-define-map" "7.0.0-beta.52"
- "@babel/helper-function-name" "7.0.0-beta.52"
- "@babel/helper-optimise-call-expression" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-replace-supers" "7.0.0-beta.52"
- "@babel/helper-split-export-declaration" "7.0.0-beta.52"
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-define-map" "^7.1.0"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.52.tgz#d7d6ff57e96b6df1893f5cec4a61a2556a9f1f43"
+"@babel/plugin-transform-computed-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31"
+ integrity sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-destructuring@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.52.tgz#ab4be06255be720559863c03bcafaa8e43f4ac8a"
+"@babel/plugin-transform-destructuring@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz#68e911e1935dda2f06b6ccbbf184ffb024e9d43a"
+ integrity sha512-Fr2GtF8YJSXGTyFPakPFB4ODaEKGU04bPsAllAIabwoXdFrPxL0LVXQX5dQWoxOjjgozarJcC9eWGsj0fD6Zsg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-dotall-regex@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.52.tgz#caefead9870a06410ebc807d07b31b85fc46cd3c"
+"@babel/plugin-transform-dotall-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58"
+ integrity sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-regex" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
regexpu-core "^4.1.3"
-"@babel/plugin-transform-duplicate-keys@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.52.tgz#98dccf5199a8be89eb159c316f68a4ea44f99ce6"
+"@babel/plugin-transform-duplicate-keys@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86"
+ integrity sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.52.tgz#e65ca848b586bf4d2b2fd184ab75383fb5567277"
+"@babel/plugin-transform-exponentiation-operator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz#9c34c2ee7fd77e02779cfa37e403a2e1003ccc73"
+ integrity sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-flow-strip-types@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.52.tgz#321c1dd84ba44ee3429f995c7bf58cd0ababb714"
+"@babel/plugin-transform-flow-strip-types@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0.tgz#c40ced34c2783985d90d9f9ac77a13e6fb396a01"
+ integrity sha512-WhXUNb4It5a19RsgKKbQPrjmy4yWOY1KynpEbNw7bnd1QTcrT/EIl3MJvnGgpgvrKyKbqX7nUNOJfkpLOnoDKA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-syntax-flow" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.0.0"
-"@babel/plugin-transform-for-of@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.52.tgz#42e678de92b39387e7bb3a5e784b00b7ffe85ea7"
+"@babel/plugin-transform-for-of@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39"
+ integrity sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-function-name@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.52.tgz#2401dbb7bf8af0149845283034f39b127ccc4d5e"
+"@babel/plugin-transform-function-name@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz#29c5550d5c46208e7f730516d41eeddd4affadbb"
+ integrity sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==
dependencies:
- "@babel/helper-function-name" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-literals@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.52.tgz#6e9861a8698700dbe27b2eb9762c98cf51e8e76f"
+"@babel/plugin-transform-literals@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86"
+ integrity sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-modules-amd@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.52.tgz#654b6f3b40aef9d9a83767820d75cb57a256fdc0"
+"@babel/plugin-transform-modules-amd@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz#f9e0a7072c12e296079b5a59f408ff5b97bf86a8"
+ integrity sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==
dependencies:
- "@babel/helper-module-transforms" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-modules-commonjs@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.52.tgz#0104ef183cdc2fd43d0860211cccce79ef18017e"
+"@babel/plugin-transform-modules-commonjs@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz#0a9d86451cbbfb29bd15186306897c67f6f9a05c"
+ integrity sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==
dependencies:
- "@babel/helper-module-transforms" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-simple-access" "7.0.0-beta.52"
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
-"@babel/plugin-transform-modules-systemjs@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.52.tgz#38223827dc79486dfdf125ab64886ed3780626d7"
+"@babel/plugin-transform-modules-systemjs@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz#8873d876d4fee23209decc4d1feab8f198cf2df4"
+ integrity sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g==
dependencies:
- "@babel/helper-hoist-variables" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-hoist-variables" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-modules-umd@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.52.tgz#0c5f7e98eaabb18b5ccd500b5f7d23ed3c2840e9"
+"@babel/plugin-transform-modules-umd@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz#a29a7d85d6f28c3561c33964442257cc6a21f2a8"
+ integrity sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==
dependencies:
- "@babel/helper-module-transforms" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-new-target@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.52.tgz#573f474640773cd8da2a2983291b9d6d471b08fa"
+"@babel/plugin-transform-new-target@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a"
+ integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-object-super@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.52.tgz#06354288ab303480da2fe3a68186d4e4582a7dbf"
+"@babel/plugin-transform-object-super@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz#b1ae194a054b826d8d4ba7ca91486d4ada0f91bb"
+ integrity sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-replace-supers" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.1.0"
-"@babel/plugin-transform-parameters@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.52.tgz#42be565751b1b4ebf861dc6bc8b0aef4fd428608"
+"@babel/plugin-transform-parameters@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz#44f492f9d618c9124026e62301c296bf606a7aed"
+ integrity sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==
dependencies:
- "@babel/helper-call-delegate" "7.0.0-beta.52"
- "@babel/helper-get-function-arity" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-call-delegate" "^7.1.0"
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-regenerator@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.52.tgz#54ffe4b9d7d0d338b9ad46e1ec99b360a5524c9f"
+"@babel/plugin-transform-regenerator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1"
+ integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==
dependencies:
regenerator-transform "^0.13.3"
-"@babel/plugin-transform-shorthand-properties@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.52.tgz#f3cd777643d66878842a1bad5b95b4cc0b5ecb97"
+"@babel/plugin-transform-runtime@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.1.0.tgz#9f76920d42551bb577e2dc594df229b5f7624b63"
+ integrity sha512-WFLMgzu5DLQEah0lKTJzYb14vd6UiES7PTnXcvrPZ1VrwFeJ+mTbvr65fFAsXYMt2bIoOoC0jk76zY1S7HZjUg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ resolve "^1.8.1"
+ semver "^5.5.1"
-"@babel/plugin-transform-spread@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.52.tgz#343709a6dd33c0b5ceff49f267ae96c922596522"
+"@babel/plugin-transform-shorthand-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15"
+ integrity sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-sticky-regex@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.52.tgz#5c8af3d6a48d658e0cbd6fb67631f8a4889eac2b"
+"@babel/plugin-transform-spread@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b"
+ integrity sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-regex" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-template-literals@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.52.tgz#bbd235b259ed134f413e8cb31dfcb82d50f41368"
+"@babel/plugin-transform-sticky-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366"
+ integrity sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==
dependencies:
- "@babel/helper-annotate-as-pure" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
-"@babel/plugin-transform-typeof-symbol@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.52.tgz#77070d409f8e199c38911e2b5835db761b9a56d7"
+"@babel/plugin-transform-template-literals@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65"
+ integrity sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-unicode-regex@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.52.tgz#9f95e2fd37eac65594da35e90e78262955d86cbb"
+"@babel/plugin-transform-typeof-symbol@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9"
+ integrity sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/helper-regex" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-unicode-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc"
+ integrity sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
regexpu-core "^4.1.3"
-"@babel/preset-env@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.52.tgz#1e833fb8698f51e345ad7d33fbab26d0ce81989d"
+"@babel/preset-env@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.1.0.tgz#e67ea5b0441cfeab1d6f41e9b5c79798800e8d11"
+ integrity sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==
dependencies:
- "@babel/helper-module-imports" "7.0.0-beta.52"
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.52"
- "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.52"
- "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.52"
- "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.52"
- "@babel/plugin-syntax-async-generators" "7.0.0-beta.52"
- "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.52"
- "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.52"
- "@babel/plugin-transform-arrow-functions" "7.0.0-beta.52"
- "@babel/plugin-transform-async-to-generator" "7.0.0-beta.52"
- "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.52"
- "@babel/plugin-transform-block-scoping" "7.0.0-beta.52"
- "@babel/plugin-transform-classes" "7.0.0-beta.52"
- "@babel/plugin-transform-computed-properties" "7.0.0-beta.52"
- "@babel/plugin-transform-destructuring" "7.0.0-beta.52"
- "@babel/plugin-transform-dotall-regex" "7.0.0-beta.52"
- "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.52"
- "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.52"
- "@babel/plugin-transform-for-of" "7.0.0-beta.52"
- "@babel/plugin-transform-function-name" "7.0.0-beta.52"
- "@babel/plugin-transform-literals" "7.0.0-beta.52"
- "@babel/plugin-transform-modules-amd" "7.0.0-beta.52"
- "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.52"
- "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.52"
- "@babel/plugin-transform-modules-umd" "7.0.0-beta.52"
- "@babel/plugin-transform-new-target" "7.0.0-beta.52"
- "@babel/plugin-transform-object-super" "7.0.0-beta.52"
- "@babel/plugin-transform-parameters" "7.0.0-beta.52"
- "@babel/plugin-transform-regenerator" "7.0.0-beta.52"
- "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.52"
- "@babel/plugin-transform-spread" "7.0.0-beta.52"
- "@babel/plugin-transform-sticky-regex" "7.0.0-beta.52"
- "@babel/plugin-transform-template-literals" "7.0.0-beta.52"
- "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.52"
- "@babel/plugin-transform-unicode-regex" "7.0.0-beta.52"
- browserslist "^3.0.0"
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-proposal-async-generator-functions" "^7.1.0"
+ "@babel/plugin-proposal-json-strings" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.0.0"
+ "@babel/plugin-syntax-async-generators" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-async-to-generator" "^7.1.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.1.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.0.0"
+ "@babel/plugin-transform-dotall-regex" "^7.0.0"
+ "@babel/plugin-transform-duplicate-keys" "^7.0.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.1.0"
+ "@babel/plugin-transform-for-of" "^7.0.0"
+ "@babel/plugin-transform-function-name" "^7.1.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-amd" "^7.1.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.1.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.0.0"
+ "@babel/plugin-transform-modules-umd" "^7.1.0"
+ "@babel/plugin-transform-new-target" "^7.0.0"
+ "@babel/plugin-transform-object-super" "^7.1.0"
+ "@babel/plugin-transform-parameters" "^7.1.0"
+ "@babel/plugin-transform-regenerator" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-sticky-regex" "^7.0.0"
+ "@babel/plugin-transform-template-literals" "^7.0.0"
+ "@babel/plugin-transform-typeof-symbol" "^7.0.0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0"
+ browserslist "^4.1.0"
invariant "^2.2.2"
js-levenshtein "^1.1.3"
semver "^5.3.0"
-"@babel/preset-flow@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0-beta.52.tgz#da2a0f576dfbe78b920a2ac2c47831a89c526004"
+"@babel/preset-flow@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2"
+ integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==
dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.52"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
-"@babel/preset-stage-0@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0-beta.52.tgz#93d467b64c264b9f48cb1bbc0d22e68fc4c0ffe0"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-proposal-function-bind" "7.0.0-beta.52"
- "@babel/preset-stage-1" "7.0.0-beta.52"
-
-"@babel/preset-stage-1@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/preset-stage-1/-/preset-stage-1-7.0.0-beta.52.tgz#1c759ad44471ef27cfcec559f6d4a656cbca9712"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-proposal-do-expressions" "7.0.0-beta.52"
- "@babel/plugin-proposal-export-default-from" "7.0.0-beta.52"
- "@babel/plugin-proposal-logical-assignment-operators" "7.0.0-beta.52"
- "@babel/plugin-proposal-nullish-coalescing-operator" "7.0.0-beta.52"
- "@babel/plugin-proposal-optional-chaining" "7.0.0-beta.52"
- "@babel/plugin-proposal-pipeline-operator" "7.0.0-beta.52"
- "@babel/preset-stage-2" "7.0.0-beta.52"
-
-"@babel/preset-stage-2@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/preset-stage-2/-/preset-stage-2-7.0.0-beta.52.tgz#1d62bceaa419516bf1aeafd112bcb0714cf83755"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-proposal-decorators" "7.0.0-beta.52"
- "@babel/plugin-proposal-export-namespace-from" "7.0.0-beta.52"
- "@babel/plugin-proposal-function-sent" "7.0.0-beta.52"
- "@babel/plugin-proposal-numeric-separator" "7.0.0-beta.52"
- "@babel/plugin-proposal-throw-expressions" "7.0.0-beta.52"
- "@babel/preset-stage-3" "7.0.0-beta.52"
-
-"@babel/preset-stage-3@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/preset-stage-3/-/preset-stage-3-7.0.0-beta.52.tgz#d477a5be2c08f09577e0864a13897e33923a8143"
- dependencies:
- "@babel/helper-plugin-utils" "7.0.0-beta.52"
- "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.52"
- "@babel/plugin-proposal-class-properties" "7.0.0-beta.52"
- "@babel/plugin-proposal-json-strings" "7.0.0-beta.52"
- "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.52"
- "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.52"
- "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.52"
- "@babel/plugin-syntax-dynamic-import" "7.0.0-beta.52"
- "@babel/plugin-syntax-import-meta" "7.0.0-beta.52"
-
-"@babel/register@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0-beta.52.tgz#011f925e087919ac3a75a3e8b8606d1d224046e5"
+"@babel/register@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827"
+ integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==
dependencies:
core-js "^2.5.7"
find-cache-dir "^1.0.0"
home-or-tmp "^3.0.0"
- lodash "^4.17.5"
+ lodash "^4.17.10"
mkdirp "^0.5.1"
- pirates "^3.0.1"
- source-map-support "^0.4.2"
+ pirates "^4.0.0"
+ source-map-support "^0.5.9"
+
+"@babel/runtime@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3"
+ integrity sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==
+ dependencies:
+ regenerator-runtime "^0.12.0"
"@babel/template@7.0.0-beta.40":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.40.tgz#034988c6424eb5c3268fe6a608626de1f4410fc8"
+ integrity sha512-RlQiVB7eL7fxsKN6JvnCCwEwEL28CBYalXSgWWULuFlEHjtMoXBqQanSie3bNyhrANJx67sb+Sd/vuGivoMwLQ==
dependencies:
"@babel/code-frame" "7.0.0-beta.40"
"@babel/types" "7.0.0-beta.40"
babylon "7.0.0-beta.40"
lodash "^4.2.0"
-"@babel/template@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f"
+"@babel/template@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz#c2bc9870405959c89a9c814376a2ecb247838c80"
+ integrity sha512-VLQZik/G5mjYJ6u19U3W2u7eM+rA/NGzH+GtHDFFkLTKLW66OasFrxZ/yK7hkyQcswrmvugFyZpDFRW0DjcjCw==
dependencies:
- "@babel/code-frame" "7.0.0-beta.44"
- "@babel/types" "7.0.0-beta.44"
- babylon "7.0.0-beta.44"
- lodash "^4.2.0"
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/types" "^7.0.0"
-"@babel/template@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.52.tgz#44e18fac38251f57f92511d6748f095ab02f996e"
+"@babel/template@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.0.tgz#58cc9572e1bfe24fe1537fdf99d839d53e517e22"
+ integrity sha512-yZ948B/pJrwWGY6VxG6XRFsVTee3IQ7bihq9zFpM00Vydu6z5Xwg0C3J644kxI9WOTzd+62xcIsQ+AT1MGhqhA==
dependencies:
- "@babel/code-frame" "7.0.0-beta.52"
- "@babel/parser" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
- lodash "^4.17.5"
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
-"@babel/traverse@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966"
+"@babel/template@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644"
+ integrity sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==
dependencies:
- "@babel/code-frame" "7.0.0-beta.44"
- "@babel/generator" "7.0.0-beta.44"
- "@babel/helper-function-name" "7.0.0-beta.44"
- "@babel/helper-split-export-declaration" "7.0.0-beta.44"
- "@babel/types" "7.0.0-beta.44"
- babylon "7.0.0-beta.44"
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.1.2"
+ "@babel/types" "^7.1.2"
+
+"@babel/traverse@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz#b1fe9b6567fdf3ab542cfad6f3b31f854d799a61"
+ integrity sha512-ka/lwaonJZTlJyn97C4g5FYjPOx+Oxd3ab05hbDr1Mx9aP1FclJ+SUHyLx3Tx40sGmOVJApDxE6puJhd3ld2kw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.0.0"
+ "@babel/helper-function-name" "^7.0.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/types" "^7.0.0"
debug "^3.1.0"
globals "^11.1.0"
- invariant "^2.2.0"
- lodash "^4.2.0"
-
-"@babel/traverse@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.52.tgz#9b8ba994f7264d9847858ad2feecc2738c5e2ef3"
- dependencies:
- "@babel/code-frame" "7.0.0-beta.52"
- "@babel/generator" "7.0.0-beta.52"
- "@babel/helper-function-name" "7.0.0-beta.52"
- "@babel/helper-split-export-declaration" "7.0.0-beta.52"
- "@babel/parser" "7.0.0-beta.52"
- "@babel/types" "7.0.0-beta.52"
- debug "^3.1.0"
- globals "^11.1.0"
- invariant "^2.2.0"
- lodash "^4.17.5"
+ lodash "^4.17.10"
"@babel/traverse@^7.0.0-beta.31":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.40.tgz#d140e449b2e093ef9fe1a2eecc28421ffb4e521e"
+ integrity sha512-h96SQorjvdSuxQ6hHFIuAa3oxnad1TA5bU1Zz88+XqzwmM5QM0/k2D+heXGGy/76gT5ajl7xYLKGiPA/KTyVhQ==
dependencies:
"@babel/code-frame" "7.0.0-beta.40"
"@babel/generator" "7.0.0-beta.40"
@@ -931,9 +817,25 @@
invariant "^2.2.0"
lodash "^4.2.0"
+"@babel/traverse@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.0.tgz#503ec6669387efd182c3888c4eec07bcc45d91b2"
+ integrity sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.0.0"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ debug "^3.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.10"
+
"@babel/types@7.0.0-beta.35":
version "7.0.0-beta.35"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960"
+ integrity sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w==
dependencies:
esutils "^2.0.2"
lodash "^4.2.0"
@@ -942,44 +844,58 @@
"@babel/types@7.0.0-beta.40":
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.40.tgz#25c3d7aae14126abe05fcb098c65a66b6d6b8c14"
+ integrity sha512-uXCGCzTgMZxcSUzutCPtZmXbVC+cvENgS2e0tRuhn+Y1hZnMb8IHP0Trq7Q2MB/eFmG5pKrAeTIUfQIe5kA4Tg==
dependencies:
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^2.0.0"
-"@babel/types@7.0.0-beta.44":
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757"
+"@babel/types@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118"
+ integrity sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==
dependencies:
esutils "^2.0.2"
- lodash "^4.2.0"
+ lodash "^4.17.10"
to-fast-properties "^2.0.0"
-"@babel/types@7.0.0-beta.52":
- version "7.0.0-beta.52"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.52.tgz#a3e5620b1534b253a50abcf2222b520e23b16da2"
+"@babel/types@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.2.tgz#183e7952cf6691628afdc2e2b90d03240bac80c0"
+ integrity sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg==
dependencies:
esutils "^2.0.2"
- lodash "^4.17.5"
+ lodash "^4.17.10"
to-fast-properties "^2.0.0"
+"@samverschueren/stream-to-observable@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f"
+ integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==
+ dependencies:
+ any-observable "^0.3.0"
+
"@types/acorn@^4.0.2":
version "4.0.3"
resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.3.tgz#d1f3e738dde52536f9aad3d3380d14e448820afd"
+ integrity sha512-gou/kWQkGPMZjdCKNZGDpqxLm9+ErG/pFZKPX4tvCjr0Xf4FCYYX3nAsu7aDVKJV3KUe27+mvqqyWT/9VZoM/A==
dependencies:
"@types/estree" "*"
"@types/cheerio@^0.22.1":
version "0.22.7"
resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.7.tgz#4a92eafedfb2b9f4437d3a4410006d81114c66ce"
+ integrity sha512-+T9qBbqe/jXtTjzVddArZExahoPPmt8eq3O1ZuCKZXjBVxf/ciUYNXrIDZJEVgYvpELnv6VlPRCfLzufRxpAag==
"@types/debug@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.29.tgz#a1e514adfbd92f03a224ba54d693111dbf1f3754"
+ integrity sha1-oeUUrfvZLwOiJLpU1pMRHb8fN1Q=
"@types/enhanced-resolve@^3.0.3":
version "3.0.4"
resolved "https://registry.yarnpkg.com/@types/enhanced-resolve/-/enhanced-resolve-3.0.4.tgz#d93cb91b0b14dbcba0f45948bed73db9456697c2"
+ integrity sha512-9U7tNrgoeLqvBYaqhGMlXxq2ChZwAjy3HJVmPwfZLng8QDp8MAfBtGNKTN70HobZuIxZNS6TH/4u4hDqqPY6lQ==
dependencies:
"@types/node" "*"
"@types/tapable" "*"
@@ -987,44 +903,54 @@
"@types/escape-string-regexp@^0.0.30":
version "0.0.30"
resolved "https://registry.yarnpkg.com/@types/escape-string-regexp/-/escape-string-regexp-0.0.30.tgz#8cfaf0b5d2e46943d6efd77d3f4d18bfa1c9f225"
+ integrity sha1-jPrwtdLkaUPW79d9P00Yv6HJ8iU=
"@types/estree@*":
version "0.0.38"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.38.tgz#c1be40aa933723c608820a99a373a16d215a1ca2"
+ integrity sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA==
"@types/estree@0.0.35":
version "0.0.35"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.35.tgz#8999974b34028686a8d61a719e61c138d3755107"
+ integrity sha1-iZmXSzQChoao1hpxnmHBONN1UQc=
"@types/lodash@^4.14.67":
version "4.14.104"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.104.tgz#53ee2357fa2e6e68379341d92eb2ecea4b11bb80"
+ integrity sha512-ufQcVg4daO8xQ5kopxRHanqFdL4AI7ondQkV+2f+7mz3gvp0LkBx2zBRC6hfs3T87mzQFmf5Fck7Fi145Ul6NQ==
"@types/node@*":
version "9.4.6"
resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.6.tgz#d8176d864ee48753d053783e4e463aec86b8d82e"
+ integrity sha512-CTUtLb6WqCCgp6P59QintjHWqzf4VL1uPA27bipLAPxFqrtK1gEYllePzTICGqQ8rYsCbpnsNypXjjDzGAAjEQ==
"@types/node@^8.0.0":
version "8.9.4"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.9.4.tgz#dfd327582a06c114eb6e0441fa3d6fab35edad48"
+ integrity sha512-dSvD36qnQs78G1BPsrZFdPpvLgMW/dnvr5+nTW2csMs5TiP9MOXrjUbnMZOEwnIuBklXtn7b6TPA2Cuq07bDHA==
"@types/semver@^5.3.32":
version "5.5.0"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
+ integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==
"@types/tapable@*":
version "0.2.4"
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-0.2.4.tgz#8181a228da46185439300e600c5ae3b3b3982585"
+ integrity sha512-pclMAvhPnXJcJu1ZZ8bQthuUcdDWzDuxDdbSf6l1U6s4fP6EBiZpPsOZYqFOrbqDV97sXGFSsb6AUpiLfv4xIA==
"@types/uglify-js@*":
version "2.6.30"
resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-2.6.30.tgz#257d2b6dd86673d60da476680fba90f2e30c6eef"
+ integrity sha512-NjiBNGFl58vHJeijl63w1fWRIjLnrfOvimsXF5b3lTzEzkTV1BnVsbqQeLejg54upsHPWIF63aiub5TEwH619A==
dependencies:
source-map "^0.6.1"
"@types/webpack@^3.0.0":
version "3.8.8"
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-3.8.8.tgz#fd9483edf2d6935eaab52aa530b1f737c188cd9a"
+ integrity sha512-pZxQOJR7NvRn913/hklPmmVjG4cCjyz6WmhIEtqJYGjjG2MXpBIlFAsq+wXXZslJLBdMiIzUAIt53u9fhU9prA==
dependencies:
"@types/node" "*"
"@types/tapable" "*"
@@ -1034,6 +960,7 @@
JSONStream@^1.0.3, JSONStream@^1.0.4:
version "1.3.2"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea"
+ integrity sha1-wQI3G27Dp887hHygDCC7D85Mbeo=
dependencies:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
@@ -1041,63 +968,92 @@ JSONStream@^1.0.3, JSONStream@^1.0.4:
abab@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
+ integrity sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
acorn-dynamic-import@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
+ integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=
dependencies:
acorn "^4.0.3"
+acorn-dynamic-import@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
+ integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==
+ dependencies:
+ acorn "^5.0.0"
+
acorn-globals@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538"
+ integrity sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==
dependencies:
acorn "^5.0.0"
acorn-jsx@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e"
+ integrity sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==
dependencies:
acorn "^5.0.3"
acorn-node@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.3.0.tgz#5f86d73346743810ef1269b901dbcbded020861b"
+ integrity sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==
dependencies:
acorn "^5.4.1"
xtend "^4.0.1"
+acorn-node@^1.3.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.5.2.tgz#2ca723df19d997b05824b69f6c7fb091fc42c322"
+ integrity sha512-krFKvw/d1F17AN3XZbybIUzEY4YEPNiGo05AfP3dBlfVKrMHETKpgjpuZkSF8qDNt9UkQcqj7am8yJLseklCMg==
+ dependencies:
+ acorn "^5.7.1"
+ acorn-dynamic-import "^3.0.0"
+ xtend "^4.0.1"
+
acorn@^4.0.3:
version "4.0.13"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
+ integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
-acorn@^5.0.0, acorn@^5.0.3, acorn@^5.2.1, acorn@^5.3.0, acorn@^5.4.1:
+acorn@^5.0.0, acorn@^5.0.3, acorn@^5.3.0, acorn@^5.4.1:
version "5.5.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.0.tgz#1abb587fbf051f94e3de20e6b26ef910b1828298"
+ integrity sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==
-acorn@^5.6.0:
+acorn@^5.6.0, acorn@^5.7.1:
version "5.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
+ integrity sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==
add-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
+ integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=
ajv-keywords@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
+ integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=
ajv-keywords@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be"
+ integrity sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=
ajv@^4.9.1:
version "4.11.8"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
+ integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=
dependencies:
co "^4.6.0"
json-stable-stringify "^1.0.1"
@@ -1105,15 +1061,17 @@ ajv@^4.9.1:
ajv@^5.1.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=
dependencies:
co "^4.6.0"
fast-deep-equal "^1.0.0"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
-ajv@^6.0.1, ajv@^6.5.0:
+ajv@^6.0.1:
version "6.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360"
+ integrity sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==
dependencies:
fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
@@ -1123,14 +1081,26 @@ ajv@^6.0.1, ajv@^6.5.0:
ajv@^6.1.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.2.1.tgz#28a6abc493a2abe0fb4c8507acaedb43fa550671"
+ integrity sha1-KKarxJOiq+D7TIUHrK7bQ/pVBnE=
dependencies:
fast-deep-equal "^1.0.0"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
+ajv@^6.5.3:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.4.tgz#247d5274110db653706b550fcc2b797ca28cfc59"
+ integrity sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==
+ dependencies:
+ fast-deep-equal "^2.0.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
@@ -1139,68 +1109,82 @@ align-text@^0.1.1, align-text@^0.1.3:
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+ integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
ansi-colors@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
+ integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==
dependencies:
ansi-wrap "^0.1.0"
ansi-cyan@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
+ integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=
dependencies:
ansi-wrap "0.1.0"
ansi-escapes@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+ integrity sha1-06ioOzGapneTZisT52HHkRQiMG4=
ansi-escapes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
+ integrity sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==
ansi-gray@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
+ integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE=
dependencies:
ansi-wrap "0.1.0"
ansi-red@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
+ integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=
dependencies:
ansi-wrap "0.1.0"
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
ansi-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"
ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
+ integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
-any-observable@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.2.0.tgz#c67870058003579009083f54ac0abafb5c33d242"
+any-observable@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
+ integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
anymatch@^1.3.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+ integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
dependencies:
micromatch "^2.1.5"
normalize-path "^2.0.0"
@@ -1208,37 +1192,39 @@ anymatch@^1.3.0:
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
dependencies:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-app-root-path@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46"
-
append-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1"
+ integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=
dependencies:
buffer-equal "^1.0.0"
-append-transform@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+append-transform@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
+ integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==
dependencies:
- default-require-extensions "^1.0.0"
+ default-require-extensions "^2.0.0"
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
archy@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
+ integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
are-we-there-yet@~1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
+ integrity sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
@@ -1246,12 +1232,14 @@ are-we-there-yet@~1.1.2:
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
dependencies:
sprintf-js "~1.0.2"
arr-diff@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
+ integrity sha1-aHwydYFjWI/vfeezb6vklesaOZo=
dependencies:
arr-flatten "^1.0.1"
array-slice "^0.2.3"
@@ -1259,64 +1247,78 @@ arr-diff@^1.0.1:
arr-diff@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
dependencies:
arr-flatten "^1.0.1"
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
arr-filter@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee"
+ integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=
dependencies:
make-iterator "^1.0.0"
arr-flatten@^1.0.1, arr-flatten@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
arr-map@^2.0.0, arr-map@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4"
+ integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ=
dependencies:
make-iterator "^1.0.0"
arr-union@^2.0.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d"
+ integrity sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
array-differ@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
+ integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
array-each@^1.0.0, array-each@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
+ integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
array-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
+ integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
array-filter@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
+ integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
array-ify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
+ integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
array-initial@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795"
+ integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U=
dependencies:
array-slice "^1.0.0"
is-number "^4.0.0"
@@ -1324,28 +1326,34 @@ array-initial@^1.0.0:
array-last@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336"
+ integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==
dependencies:
is-number "^4.0.0"
array-map@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
+ integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=
array-reduce@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+ integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
array-slice@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
+ integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU=
array-slice@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
+ integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
array-sort@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a"
+ integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==
dependencies:
default-compare "^1.0.0"
get-value "^2.0.6"
@@ -1354,28 +1362,34 @@ array-sort@^1.0.0:
array-union@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
dependencies:
array-uniq "^1.0.1"
array-uniq@^1.0.1, array-uniq@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+ integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
@@ -1384,42 +1398,51 @@ asn1.js@^4.0.0:
asn1@~0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+ integrity sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
assert-plus@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+ integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ=
assert@^1.1.1, assert@^1.4.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
+ integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=
dependencies:
util "0.10.3"
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
ast-types@0.9.6:
version "0.9.6"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9"
+ integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
astw@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917"
+ integrity sha1-e9QXhNMkk5h66yOba04cV6hzuRc=
dependencies:
acorn "^4.0.3"
async-done@^1.2.0, async-done@^1.2.2:
version "1.2.4"
resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.2.4.tgz#17b0fcefb9a33cb9de63daa8904c0a65bd535fa0"
+ integrity sha512-mxc+yISkb0vjsuvG3dJCIZXzRWjKndQ9Zo9zNDJ1K2wh9eP0E0oGmOWm+4cFOvW4dA0tGFImTW5tQJHCtn1kIQ==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.2"
@@ -1429,50 +1452,61 @@ async-done@^1.2.0, async-done@^1.2.2:
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+ integrity sha1-GdOGodntxufByF04iu28xW0zYC0=
async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
+ integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==
async-settle@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b"
+ integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=
dependencies:
async-done "^1.2.2"
async@^1.4.0, async@^1.5.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+ integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
async@^2.1.2, async@^2.1.4:
version "2.6.0"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
+ integrity sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==
dependencies:
lodash "^4.14.0"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
atob@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d"
+ integrity sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=
aws-sign2@~0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+ integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8=
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
aws4@^1.2.1, aws4@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+ integrity sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
@@ -1481,6 +1515,7 @@ babel-code-frame@^6.26.0:
babel-core@^6.0.0, babel-core@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
+ integrity sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
@@ -1505,21 +1540,24 @@ babel-core@^6.0.0, babel-core@^6.26.0:
babel-core@^7.0.0-0:
version "7.0.0-bridge.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
+ integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
-babel-eslint@^8.2.5:
- version "8.2.5"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.5.tgz#dc2331c259d36782aa189da510c43dedd5adc7a3"
+babel-eslint@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed"
+ integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==
dependencies:
- "@babel/code-frame" "7.0.0-beta.44"
- "@babel/traverse" "7.0.0-beta.44"
- "@babel/types" "7.0.0-beta.44"
- babylon "7.0.0-beta.44"
- eslint-scope "~3.7.1"
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ eslint-scope "3.7.1"
eslint-visitor-keys "^1.0.0"
babel-generator@^6.18.0, babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+ integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
@@ -1533,64 +1571,76 @@ babel-generator@^6.18.0, babel-generator@^6.26.0:
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
-babel-jest@^22.4.1:
- version "22.4.1"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.1.tgz#ff53ebca45957347f27ff4666a31499fbb4c4ddd"
+babel-jest@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1"
+ integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==
dependencies:
- babel-plugin-istanbul "^4.1.5"
- babel-preset-jest "^22.4.1"
+ babel-plugin-istanbul "^4.1.6"
+ babel-preset-jest "^23.2.0"
-babel-loader@8.0.0-beta.0:
- version "8.0.0-beta.0"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.0-beta.0.tgz#b85c3b52d1095949125c72c7ec1fa0fbb47a11ff"
+babel-loader@^8.0.4:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.4.tgz#7bbf20cbe4560629e2e41534147692d3fecbdce6"
+ integrity sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==
dependencies:
find-cache-dir "^1.0.0"
loader-utils "^1.0.2"
mkdirp "^0.5.1"
+ util.promisify "^1.0.0"
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
dependencies:
babel-runtime "^6.22.0"
-babel-plugin-istanbul@^4.1.5:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e"
+babel-plugin-istanbul@^4.1.6:
+ version "4.1.6"
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
+ integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==
dependencies:
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
find-up "^2.1.0"
- istanbul-lib-instrument "^1.7.5"
- test-exclude "^4.1.1"
+ istanbul-lib-instrument "^1.10.1"
+ test-exclude "^4.2.1"
-babel-plugin-jest-hoist@^22.4.1:
- version "22.4.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.1.tgz#d712fe5da8b6965f3191dacddbefdbdf4fb66d63"
+babel-plugin-jest-hoist@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167"
+ integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=
babel-plugin-syntax-object-rest-spread@^6.13.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
+ integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=
babel-plugin-transform-charcodes@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-charcodes/-/babel-plugin-transform-charcodes-0.1.0.tgz#c71b301019c90615b940faf0f15f275ec5c81a3d"
+ integrity sha512-RUBYwMpIEAnQeIgE03DCn8JViDIPkwO6+0uHU4fgou4I/U5ml/zsa7xJ8KqTPVBAKvJAV2cFGoc4W/t8q1Zntg==
dependencies:
"@babel/traverse" "^7.0.0-beta.31"
babylon "^7.0.0-beta.31"
-babel-preset-jest@^22.4.1:
- version "22.4.1"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.1.tgz#efa2e5f5334242a9457a068452d7d09735db172a"
+babel-preset-jest@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46"
+ integrity sha1-jsegOhOPABoaj7HoETZSvxpV2kY=
dependencies:
- babel-plugin-jest-hoist "^22.4.1"
+ babel-plugin-jest-hoist "^23.2.0"
babel-plugin-syntax-object-rest-spread "^6.13.0"
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
@@ -1603,6 +1653,7 @@ babel-register@^6.26.0:
babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
@@ -1610,6 +1661,7 @@ babel-runtime@^6.22.0, babel-runtime@^6.26.0:
babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
@@ -1617,9 +1669,10 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
babylon "^6.18.0"
lodash "^4.17.4"
-babel-traverse@^6.18.0, babel-traverse@^6.26.0:
+babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
@@ -1631,9 +1684,10 @@ babel-traverse@^6.18.0, babel-traverse@^6.26.0:
invariant "^2.2.2"
lodash "^4.17.4"
-babel-types@^6.18.0, babel-types@^6.26.0:
+babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
@@ -1643,18 +1697,17 @@ babel-types@^6.18.0, babel-types@^6.26.0:
babylon@7.0.0-beta.40, babylon@^7.0.0-beta.31:
version "7.0.0-beta.40"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.40.tgz#91fc8cd56d5eb98b28e6fde41045f2957779940a"
-
-babylon@7.0.0-beta.44:
- version "7.0.0-beta.44"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d"
+ integrity sha512-AVxF2EcxvGD5hhOuLTOLAXBb0VhwWpEX0HyHdAI2zU+AAP4qEwtQj8voz1JR3uclGai0rfcE+dCTHnNMOnimFg==
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
bach@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880"
+ integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=
dependencies:
arr-filter "^1.1.1"
arr-flatten "^1.0.1"
@@ -1669,14 +1722,17 @@ bach@^1.0.0:
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-js@^1.0.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz#fb13668233d9614cf5fb4bce95a9ba4096cdf801"
+ integrity sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
dependencies:
cache-base "^1.0.1"
class-utils "^0.3.5"
@@ -1689,62 +1745,74 @@ base@^0.11.1:
bcrypt-pbkdf@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ integrity sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=
dependencies:
tweetnacl "^0.14.3"
beeper@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
+ integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=
big.js@^3.1.3:
version "3.2.0"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
+ integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==
binary-extensions@^1.0.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+ integrity sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=
bl@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e"
+ integrity sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=
dependencies:
readable-stream "^2.0.5"
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
dependencies:
inherits "~2.0.0"
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
boolbase@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
boom@2.x.x:
version "2.10.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=
dependencies:
hoek "2.x.x"
boom@4.x.x:
version "4.3.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
+ integrity sha1-T4owBctKfjiJ90kDD9JbluAdLjE=
dependencies:
hoek "4.x.x"
boom@5.x.x:
version "5.2.0"
resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
+ integrity sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==
dependencies:
hoek "4.x.x"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
@@ -1752,6 +1820,7 @@ brace-expansion@^1.1.7:
braces@^1.8.2:
version "1.8.5"
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
dependencies:
expand-range "^1.8.1"
preserve "^0.2.0"
@@ -1760,6 +1829,7 @@ braces@^1.8.2:
braces@^2.3.0, braces@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb"
+ integrity sha512-SO5lYHA3vO6gz66erVvedSCkp7AKWdv6VcQ2N4ysXfPxdAlxAMMAdwegGGcv1Bqwm7naF1hNdk5d6AAIEHV2nQ==
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
@@ -1777,10 +1847,12 @@ braces@^2.3.0, braces@^2.3.1:
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
browser-pack@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-5.0.1.tgz#4197719b20c6e0aaa09451c5111e53efb6fbc18d"
+ integrity sha1-QZdxmyDG4KqglFHFER5T77b7wY0=
dependencies:
JSONStream "^1.0.3"
combine-source-map "~0.6.1"
@@ -1791,6 +1863,7 @@ browser-pack@^5.0.1:
browser-pack@^6.0.1:
version "6.0.4"
resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.4.tgz#9a73beb3b48f9e36868be007b64400102c04a99f"
+ integrity sha512-Q4Rvn7P6ObyWfc4stqLWHtG1MJ8vVtjgT24Zbu+8UTzxYuZouqZsmNRRTFVMY/Ux0eIKv1d+JWzsInTX+fdHPQ==
dependencies:
JSONStream "^1.0.3"
combine-source-map "~0.8.0"
@@ -1802,16 +1875,26 @@ browser-pack@^6.0.1:
browser-process-hrtime@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"
+ integrity sha1-Ql1opY00R/AqBKqJQYf86K+Le44=
-browser-resolve@^1.11.0, browser-resolve@^1.11.2, browser-resolve@^1.7.0:
+browser-resolve@^1.11.0, browser-resolve@^1.7.0:
version "1.11.2"
resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ integrity sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=
+ dependencies:
+ resolve "1.1.7"
+
+browser-resolve@^1.11.3:
+ version "1.11.3"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
+ integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==
dependencies:
resolve "1.1.7"
browser-unpack@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browser-unpack/-/browser-unpack-1.2.0.tgz#357aee31fc467831684d063e4355e070a782970d"
+ integrity sha1-NXruMfxGeDFoTQY+Q1XgcKeClw0=
dependencies:
acorn "^4.0.3"
browser-pack "^5.0.1"
@@ -1821,6 +1904,7 @@ browser-unpack@^1.1.0:
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.1.1"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f"
+ integrity sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==
dependencies:
buffer-xor "^1.0.3"
cipher-base "^1.0.0"
@@ -1832,6 +1916,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
browserify-cipher@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ integrity sha1-mYgkSHS/XtTijalWZtzWasj8Njo=
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
@@ -1840,6 +1925,7 @@ browserify-cipher@^1.0.0:
browserify-des@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ integrity sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
@@ -1848,6 +1934,7 @@ browserify-des@^1.0.0:
browserify-rsa@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
dependencies:
bn.js "^4.1.0"
randombytes "^2.0.1"
@@ -1855,6 +1942,7 @@ browserify-rsa@^4.0.0:
browserify-sign@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+ integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
dependencies:
bn.js "^4.1.1"
browserify-rsa "^4.0.0"
@@ -1864,47 +1952,44 @@ browserify-sign@^4.0.0:
inherits "^2.0.1"
parse-asn1 "^5.0.0"
-browserify-zlib@^0.2.0:
+browserify-zlib@^0.2.0, browserify-zlib@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
dependencies:
pako "~1.0.5"
-browserify-zlib@~0.1.2:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
- dependencies:
- pako "~0.2.0"
-
-browserify@^13.1.1:
- version "13.3.0"
- resolved "https://registry.yarnpkg.com/browserify/-/browserify-13.3.0.tgz#b5a9c9020243f0c70e4675bec8223bc627e415ce"
+browserify@^16.2.2:
+ version "16.2.2"
+ resolved "https://registry.yarnpkg.com/browserify/-/browserify-16.2.2.tgz#4b1f66ba0e54fa39dbc5aa4be9629142143d91b0"
+ integrity sha512-fMES05wq1Oukts6ksGUU2TMVHHp06LyQt0SIwbXIHm7waSrQmNBZePsU0iM/4f94zbvb/wHma+D1YrdzWYnF/A==
dependencies:
JSONStream "^1.0.3"
assert "^1.4.0"
browser-pack "^6.0.1"
browser-resolve "^1.11.0"
- browserify-zlib "~0.1.2"
- buffer "^4.1.0"
+ browserify-zlib "~0.2.0"
+ buffer "^5.0.2"
cached-path-relative "^1.0.0"
- concat-stream "~1.5.1"
+ concat-stream "^1.6.0"
console-browserify "^1.1.0"
constants-browserify "~1.0.0"
crypto-browserify "^3.0.0"
defined "^1.0.0"
deps-sort "^2.0.0"
- domain-browser "~1.1.0"
+ domain-browser "^1.2.0"
duplexer2 "~0.1.2"
- events "~1.1.0"
+ events "^2.0.0"
glob "^7.1.0"
has "^1.0.0"
htmlescape "^1.1.0"
- https-browserify "~0.0.0"
+ https-browserify "^1.0.0"
inherits "~2.0.1"
insert-module-globals "^7.0.0"
labeled-stream-splicer "^2.0.0"
- module-deps "^4.0.8"
- os-browserify "~0.1.1"
+ mkdirp "^0.5.0"
+ module-deps "^6.0.0"
+ os-browserify "~0.3.0"
parents "^1.0.1"
path-browserify "~0.0.0"
process "~0.11.0"
@@ -1917,57 +2002,79 @@ browserify@^13.1.1:
shell-quote "^1.6.1"
stream-browserify "^2.0.0"
stream-http "^2.0.0"
- string_decoder "~0.10.0"
+ string_decoder "^1.1.1"
subarg "^1.0.0"
syntax-error "^1.1.1"
through2 "^2.0.0"
timers-browserify "^1.0.1"
- tty-browserify "~0.0.0"
+ tty-browserify "0.0.1"
url "~0.11.0"
util "~0.10.1"
- vm-browserify "~0.0.1"
+ vm-browserify "^1.0.0"
xtend "^4.0.0"
-browserslist@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.1.1.tgz#d380fc048bc3a33e60fb87dc135110ebaaa6320a"
+browserslist@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.0.tgz#81cbb8e52dfa09918f93c6e051d779cb7360785d"
+ integrity sha512-kQBKB8hnq1SRfSpwHDpM1JNHAyk9fydW8hIDvndR2ijTFKIlBPEvkJkCt8JznOugdm12/YCaRgyq/sqDGz9PwA==
dependencies:
- caniuse-lite "^1.0.30000809"
- electron-to-chromium "^1.3.33"
+ caniuse-lite "^1.0.30000878"
+ electron-to-chromium "^1.3.61"
+ node-releases "^1.0.0-alpha.11"
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
+ integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=
dependencies:
node-int64 "^0.4.0"
buffer-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
+ integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
+
+buffer-from@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
+ integrity sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==
buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
-buffer@^4.1.0, buffer@^4.3.0:
+buffer@^4.3.0:
version "4.9.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+ integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
isarray "^1.0.0"
+buffer@^5.0.2:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.0.tgz#53cf98241100099e9eeae20ee6d51d21b16e541e"
+ integrity sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+
builtin-modules@^1.0.0, builtin-modules@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+ integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
builtin-status-codes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
bundle-collapser@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/bundle-collapser/-/bundle-collapser-1.3.0.tgz#f4b4ff58b2f22ee7701b20fa76306e23f53a3fb6"
+ integrity sha1-9LT/WLLyLudwGyD6djBuI/U6P7Y=
dependencies:
browser-pack "^5.0.1"
browser-unpack "^1.1.0"
@@ -1979,10 +2086,12 @@ bundle-collapser@^1.2.1:
byline@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
+ integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
dependencies:
collection-visit "^1.0.0"
component-emitter "^1.2.1"
@@ -1997,24 +2106,29 @@ cache-base@^1.0.1:
cached-path-relative@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7"
+ integrity sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=
caller-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=
dependencies:
callsites "^0.2.0"
callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+ integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=
callsites@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
camel-case@3.0.x:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
+ integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
dependencies:
no-case "^2.2.0"
upper-case "^1.1.1"
@@ -2022,6 +2136,7 @@ camel-case@3.0.x:
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
dependencies:
camelcase "^2.0.0"
map-obj "^1.0.0"
@@ -2029,6 +2144,7 @@ camelcase-keys@^2.0.0:
camelcase-keys@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77"
+ integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=
dependencies:
camelcase "^4.1.0"
map-obj "^2.0.0"
@@ -2037,41 +2153,50 @@ camelcase-keys@^4.0.0:
camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+ integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
camelcase@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+ integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
-caniuse-lite@^1.0.30000809:
- version "1.0.30000812"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000812.tgz#d173b686b49bc941fa18ff2e7e533048e20ed92c"
+caniuse-lite@^1.0.30000878:
+ version "1.0.30000883"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000883.tgz#597c1eabfb379bd9fbeaa778632762eb574706ac"
+ integrity sha512-ovvb0uya4cKJct8Rj9Olstz0LaWmyJhCp3NawRG5fVigka8pEhIIwipF7zyYd2Q58UZb5YfIt52pVF444uj2kQ==
capture-stack-trace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
+ integrity sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
center-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
dependencies:
align-text "^0.1.3"
lazy-cache "^1.0.3"
-chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.0.0, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
@@ -2082,6 +2207,16 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65"
+ integrity sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^2.3.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
+ integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
@@ -2090,14 +2225,22 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2:
charcodes@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/charcodes/-/charcodes-0.1.0.tgz#61f8c244fc7f94f186fe74f31078901a3ed7928e"
+ integrity sha512-m4ne5Zw6XsdHhM5teBUHvu5s1SeJnwP0ljQ+IrGyZZ6U1TMohi+pVtsvgSgEsj5CPY6PLd/vMknFRuXdifdk+g==
chardet@^0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
+ integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
cheerio@^1.0.0-rc.1:
version "1.0.0-rc.2"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"
+ integrity sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=
dependencies:
css-select "~1.2.0"
dom-serializer "~0.1.0"
@@ -2109,6 +2252,7 @@ cheerio@^1.0.0-rc.1:
chokidar@^2.0.0, chokidar@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176"
+ integrity sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.0"
@@ -2127,6 +2271,7 @@ chokidar@^2.0.0, chokidar@^2.0.3:
chokidar@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7"
+ integrity sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.0"
@@ -2145,14 +2290,22 @@ chokidar@^2.0.2:
chownr@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
+ integrity sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=
ci-info@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4"
+ integrity sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==
+
+ci-info@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
+ integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -2160,10 +2313,12 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
circular-json@^0.3.1:
version "0.3.3"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
+ integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
dependencies:
arr-union "^3.1.0"
define-property "^0.2.5"
@@ -2173,28 +2328,28 @@ class-utils@^0.3.5:
clean-css@4.1.x:
version "4.1.9"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301"
+ integrity sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=
dependencies:
source-map "0.5.x"
cli-cursor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=
dependencies:
restore-cursor "^1.0.1"
cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
dependencies:
restore-cursor "^2.0.0"
-cli-spinners@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
-
cli-truncate@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
+ integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=
dependencies:
slice-ansi "0.0.4"
string-width "^1.0.1"
@@ -2202,10 +2357,12 @@ cli-truncate@^0.2.1:
cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+ integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
dependencies:
center-align "^0.1.1"
right-align "^0.1.1"
@@ -2214,6 +2371,7 @@ cliui@^2.1.0:
cliui@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
@@ -2222,6 +2380,7 @@ cliui@^3.2.0:
cliui@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc"
+ integrity sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==
dependencies:
string-width "^2.1.1"
strip-ansi "^4.0.0"
@@ -2230,26 +2389,32 @@ cliui@^4.0.0:
clone-buffer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
+ integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
clone-stats@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
+ integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
clone-stats@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
+ integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
clone@^1.0.0, clone@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f"
+ integrity sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=
clone@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
+ integrity sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=
cloneable-readable@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117"
+ integrity sha1-pikNQT8hemEjL5XkWP84QYz7ARc=
dependencies:
inherits "^2.0.1"
process-nextick-args "^1.0.6"
@@ -2258,6 +2423,7 @@ cloneable-readable@^1.0.0:
cmd-shim@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb"
+ integrity sha1-b8vamUg6j9FdfTChlspp1oii79s=
dependencies:
graceful-fs "^4.1.2"
mkdirp "~0.5.0"
@@ -2265,14 +2431,17 @@ cmd-shim@^2.0.2:
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
collection-map@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c"
+ integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=
dependencies:
arr-map "^2.0.2"
for-own "^1.0.0"
@@ -2281,6 +2450,7 @@ collection-map@^1.0.0:
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
dependencies:
map-visit "^1.0.0"
object-visit "^1.0.0"
@@ -2288,20 +2458,24 @@ collection-visit@^1.0.0:
color-convert@^1.9.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ integrity sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==
dependencies:
color-name "^1.1.1"
color-name@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+ integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
columnify@^1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
+ integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=
dependencies:
strip-ansi "^3.0.0"
wcwidth "^1.0.0"
@@ -2309,6 +2483,7 @@ columnify@^1.5.4:
combine-source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.6.1.tgz#9b4a09c316033d768e0f11e029fa2730e079ad96"
+ integrity sha1-m0oJwxYDPXaODxHgKfonMOB5rZY=
dependencies:
convert-source-map "~1.1.0"
inline-source-map "~0.5.0"
@@ -2318,6 +2493,7 @@ combine-source-map@~0.6.1:
combine-source-map@~0.7.1:
version "0.7.2"
resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e"
+ integrity sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=
dependencies:
convert-source-map "~1.1.0"
inline-source-map "~0.6.0"
@@ -2327,6 +2503,7 @@ combine-source-map@~0.7.1:
combine-source-map@~0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b"
+ integrity sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=
dependencies:
convert-source-map "~1.1.0"
inline-source-map "~0.6.0"
@@ -2336,73 +2513,107 @@ combine-source-map@~0.8.0:
combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
+ integrity sha1-cj599ugBrFYTETp+RFqbactjKBg=
dependencies:
delayed-stream "~1.0.0"
command-join@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf"
+ integrity sha1-Uui5hPSHLZUv8b3IuYOX0nxxRM8=
-commander@2.14.x, commander@^2.11.0, commander@^2.8.1, commander@^2.9.0, commander@~2.14.1:
+commander@2.14.x, commander@^2.8.1, commander@^2.9.0, commander@~2.14.1:
version "2.14.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
+ integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==
+
+commander@^2.14.1:
+ version "2.18.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970"
+ integrity sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
compare-func@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648"
+ integrity sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=
dependencies:
array-ify "^1.0.0"
dot-prop "^3.0.0"
+compare-versions@^3.1.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3"
+ integrity sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==
+
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+ integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
concat-stream@^1.4.10, concat-stream@^1.4.6, concat-stream@^1.5.0, concat-stream@^1.6.0:
version "1.6.1"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26"
+ integrity sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==
dependencies:
inherits "^2.0.3"
readable-stream "^2.2.2"
typedarray "^0.0.6"
-concat-stream@~1.5.0, concat-stream@~1.5.1:
+concat-stream@~1.5.1:
version "1.5.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
+ integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY=
dependencies:
inherits "~2.0.1"
readable-stream "~2.0.0"
typedarray "~0.0.5"
+concat-stream@~1.6.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
console-browserify@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+ integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=
dependencies:
date-now "^0.1.4"
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
constants-browserify@^1.0.0, constants-browserify@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
content-type-parser@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7"
+ integrity sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==
conventional-changelog-angular@^1.6.6:
version "1.6.6"
resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz#b27f2b315c16d0a1f23eb181309d0e6a4698ea0f"
+ integrity sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==
dependencies:
compare-func "^1.3.1"
q "^1.5.1"
@@ -2410,12 +2621,14 @@ conventional-changelog-angular@^1.6.6:
conventional-changelog-atom@^0.2.8:
version "0.2.8"
resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.2.8.tgz#8037693455990e3256f297320a45fa47ee553a14"
+ integrity sha512-8pPZqhMbrnltNBizjoDCb/Sz85KyUXNDQxuAEYAU5V/eHn0okMBVjqc8aHWYpHrytyZWvMGbayOlDv7i8kEf6g==
dependencies:
q "^1.5.1"
conventional-changelog-cli@^1.3.13:
version "1.3.22"
resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-1.3.22.tgz#13570fe1728f56f013ff7a88878ff49d5162a405"
+ integrity sha512-pnjdIJbxjkZ5VdAX/H1wndr1G10CY8MuZgnXuJhIHglOXfIrXygb7KZC836GW9uo1u8PjEIvIw/bKX0lOmOzZg==
dependencies:
add-stream "^1.0.0"
conventional-changelog "^1.1.24"
@@ -2426,12 +2639,14 @@ conventional-changelog-cli@^1.3.13:
conventional-changelog-codemirror@^0.3.8:
version "0.3.8"
resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.3.8.tgz#a1982c8291f4ee4d6f2f62817c6b2ecd2c4b7b47"
+ integrity sha512-3HFZKtBXTaUCHvz7ai6nk2+psRIkldDoNzCsom0egDtVmPsvvHZkzjynhdQyULfacRSsBTaiQ0ol6nBOL4dDiQ==
dependencies:
q "^1.5.1"
conventional-changelog-core@^2.0.11:
version "2.0.11"
resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-2.0.11.tgz#19b5fbd55a9697773ed6661f4e32030ed7e30287"
+ integrity sha512-HvTE6RlqeEZ/NFPtQeFLsIDOLrGP3bXYr7lFLMhCVsbduF1MXIe8OODkwMFyo1i9ku9NWBwVnVn0jDmIFXjDRg==
dependencies:
conventional-changelog-writer "^3.0.9"
conventional-commits-parser "^2.1.7"
@@ -2450,36 +2665,42 @@ conventional-changelog-core@^2.0.11:
conventional-changelog-ember@^0.3.12:
version "0.3.12"
resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.3.12.tgz#b7d31851756d0fcb49b031dffeb6afa93b202400"
+ integrity sha512-mmJzA7uzbrOqeF89dMMi6z17O07ORTXlTMArnLG9ZTX4oLaKNolUlxFUFlFm9JUoVWajVpaHQWjxH1EOQ+ARoQ==
dependencies:
q "^1.5.1"
conventional-changelog-eslint@^1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-1.0.9.tgz#b13cc7e4b472c819450ede031ff1a75c0e3d07d3"
+ integrity sha512-h87nfVh2fdk9fJIvz26wCBsbDC/KxqCc5wSlNMZbXcARtbgNbNDIF7Y7ctokFdnxkzVdaHsbINkh548T9eBA7Q==
dependencies:
q "^1.5.1"
conventional-changelog-express@^0.3.6:
version "0.3.6"
resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.3.6.tgz#4a6295cb11785059fb09202180d0e59c358b9c2c"
+ integrity sha512-3iWVtBJZ9RnRnZveNDzOD8QRn6g6vUif0qVTWWyi5nUIAbuN1FfPVyKdAlJJfp5Im+dE8Kiy/d2SpaX/0X678Q==
dependencies:
q "^1.5.1"
conventional-changelog-jquery@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510"
+ integrity sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=
dependencies:
q "^1.4.1"
conventional-changelog-jscs@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c"
+ integrity sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=
dependencies:
q "^1.4.1"
conventional-changelog-jshint@^0.3.8:
version "0.3.8"
resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.3.8.tgz#9051c1ac0767abaf62a31f74d2fe8790e8acc6c8"
+ integrity sha512-hn9QU4ZI/5V50wKPJNPGT4gEWgiBFpV6adieILW4MaUFynuDYOvQ71EMSj3EznJyKi/KzuXpc9dGmX8njZMjig==
dependencies:
compare-func "^1.3.1"
q "^1.5.1"
@@ -2487,10 +2708,12 @@ conventional-changelog-jshint@^0.3.8:
conventional-changelog-preset-loader@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-1.1.8.tgz#40bb0f142cd27d16839ec6c74ee8db418099b373"
+ integrity sha512-MkksM4G4YdrMlT2MbTsV2F6LXu/hZR0Tc/yenRrDIKRwBl/SP7ER4ZDlglqJsCzLJi4UonBc52Bkm5hzrOVCcw==
conventional-changelog-writer@^3.0.9:
version "3.0.9"
resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-3.0.9.tgz#4aecdfef33ff2a53bb0cf3b8071ce21f0e994634"
+ integrity sha512-n9KbsxlJxRQsUnK6wIBRnARacvNnN4C/nxnxCkH+B/R1JS2Fa+DiP1dU4I59mEDEjgnFaN2+9wr1P1s7GYB5/Q==
dependencies:
compare-func "^1.3.1"
conventional-commits-filter "^1.1.6"
@@ -2506,6 +2729,7 @@ conventional-changelog-writer@^3.0.9:
conventional-changelog@^1.1.24:
version "1.1.24"
resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.24.tgz#3d94c29c960f5261c002678315b756cdd3d7d1f0"
+ integrity sha512-2WcSUst4Y3Z4hHvoMTWXMJr/DmgVdLiMOVY1Kak2LfFz+GIz2KDp5naqbFesYbfXPmaZ5p491dO0FWZIJoJw1Q==
dependencies:
conventional-changelog-angular "^1.6.6"
conventional-changelog-atom "^0.2.8"
@@ -2522,6 +2746,7 @@ conventional-changelog@^1.1.24:
conventional-commits-filter@^1.1.1:
version "1.1.5"
resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.5.tgz#77aac065e3de9c1a74b801e8e25c9affb3184f65"
+ integrity sha512-mj3+WLj8UZE72zO9jocZjx8+W4Bwnx/KHoIz1vb4F8XUXj0XSjp8Y3MFkpRyIpsRiCBX+DkDjxGKF/nfeu7BGw==
dependencies:
is-subset "^0.1.1"
modify-values "^1.0.0"
@@ -2529,6 +2754,7 @@ conventional-commits-filter@^1.1.1:
conventional-commits-filter@^1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.1.6.tgz#4389cd8e58fe89750c0b5fb58f1d7f0cc8ad3831"
+ integrity sha512-KcDgtCRKJCQhyk6VLT7zR+ZOyCnerfemE/CsR3iQpzRRFbLEs0Y6rwk3mpDvtOh04X223z+1xyJ582Stfct/0Q==
dependencies:
is-subset "^0.1.1"
modify-values "^1.0.0"
@@ -2536,6 +2762,7 @@ conventional-commits-filter@^1.1.6:
conventional-commits-parser@^2.1.1:
version "2.1.5"
resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.5.tgz#9ac3a4ab221c0c3c9e9dd2c09ae01e6d1e1dabe0"
+ integrity sha512-jaAP61py+ISMF3/n3yIiIuY5h6mJlucOqawu5mLB1HaQADLvg/y5UB3pT7HSucZJan34lp7+7ylQPfbKEGmxrA==
dependencies:
JSONStream "^1.0.4"
is-text-path "^1.0.0"
@@ -2548,6 +2775,7 @@ conventional-commits-parser@^2.1.1:
conventional-commits-parser@^2.1.7:
version "2.1.7"
resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e"
+ integrity sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==
dependencies:
JSONStream "^1.0.4"
is-text-path "^1.0.0"
@@ -2560,6 +2788,7 @@ conventional-commits-parser@^2.1.7:
conventional-recommended-bump@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-1.2.1.tgz#1b7137efb5091f99fe009e2fe9ddb7cc490e9375"
+ integrity sha512-oJjG6DkRgtnr/t/VrPdzmf4XZv8c4xKVJrVT4zrSHd92KEL+EYxSbYoKq8lQ7U5yLMw7130wrcQTLRjM/T+d4w==
dependencies:
concat-stream "^1.4.10"
conventional-commits-filter "^1.1.1"
@@ -2572,18 +2801,22 @@ conventional-recommended-bump@^1.2.1:
convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0:
version "1.5.1"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+ integrity sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=
convert-source-map@~1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
+ integrity sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
copy-props@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.2.tgz#6151fc8fd47fd8703df00f53940a0ebfeb8c2162"
+ integrity sha512-/W7IE8h4Zj1jdyf26YhdEjTS/xO42ltxtlH6B9+rmFNeXO+LL7KhzqqJdKJUwwO+4ZZ4IRw7rFhm8VEw95T25A==
dependencies:
each-props "^1.3.0"
is-plain-object "^2.0.1"
@@ -2591,27 +2824,31 @@ copy-props@^2.0.1:
core-js@^2.4.0, core-js@^2.5.0:
version "2.5.3"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+ integrity sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=
core-js@^2.5.7:
version "2.5.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
+ integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-cosmiconfig@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc"
+cosmiconfig@^5.0.2, cosmiconfig@^5.0.6:
+ version "5.0.6"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39"
+ integrity sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==
dependencies:
is-directory "^0.3.1"
js-yaml "^3.9.0"
parse-json "^4.0.0"
- require-from-string "^2.0.1"
create-ecdh@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ integrity sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
@@ -2619,12 +2856,14 @@ create-ecdh@^4.0.0:
create-error-class@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
+ integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=
dependencies:
capture-stack-trace "^1.0.0"
create-hash@^1.1.0, create-hash@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
+ integrity sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=
dependencies:
cipher-base "^1.0.1"
inherits "^2.0.1"
@@ -2634,6 +2873,7 @@ create-hash@^1.1.0, create-hash@^1.1.2:
create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
version "1.1.6"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
+ integrity sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=
dependencies:
cipher-base "^1.0.3"
create-hash "^1.1.0"
@@ -2645,6 +2885,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
cross-spawn@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
dependencies:
lru-cache "^4.0.1"
shebang-command "^1.2.0"
@@ -2653,6 +2894,7 @@ cross-spawn@^5.0.1:
cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
dependencies:
nice-try "^1.0.4"
path-key "^2.0.1"
@@ -2663,18 +2905,21 @@ cross-spawn@^6.0.5:
cryptiles@2.x.x:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+ integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=
dependencies:
boom "2.x.x"
cryptiles@3.x.x:
version "3.1.2"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
+ integrity sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=
dependencies:
boom "5.x.x"
crypto-browserify@^3.0.0, crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
dependencies:
browserify-cipher "^1.0.0"
browserify-sign "^4.0.0"
@@ -2691,6 +2936,7 @@ crypto-browserify@^3.0.0, crypto-browserify@^3.11.0:
css-select@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
dependencies:
boolbase "~1.0.0"
css-what "2.1"
@@ -2700,72 +2946,86 @@ css-select@~1.2.0:
css-what@2.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
+ integrity sha1-lGfQMsOM+u+58teVASUwYvh/ob0=
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
version "0.3.2"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b"
+ integrity sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=
"cssstyle@>= 0.2.37 < 0.3.0":
version "0.2.37"
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54"
+ integrity sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=
dependencies:
cssom "0.3.x"
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
dependencies:
array-find-index "^1.0.1"
d@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
+ integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=
dependencies:
es5-ext "^0.10.9"
dargs@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17"
+ integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=
dependencies:
number-is-nan "^1.0.0"
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
dependencies:
assert-plus "^1.0.0"
date-fns@^1.27.2:
version "1.29.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6"
+ integrity sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+ integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
dateformat@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
+ integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=
dateformat@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
+ integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
debug@^3.0.0, debug@^3.0.1, debug@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
dependencies:
ms "2.0.0"
decamelize-keys@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
+ integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=
dependencies:
decamelize "^1.1.0"
map-obj "^1.0.0"
@@ -2773,52 +3033,63 @@ decamelize-keys@^1.0.0:
decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
deep-extend@~0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+ integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=
deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
default-compare@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f"
+ integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==
dependencies:
kind-of "^5.0.2"
-default-require-extensions@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+default-require-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
+ integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=
dependencies:
- strip-bom "^2.0.0"
+ strip-bom "^3.0.0"
default-resolution@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684"
+ integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=
defaults@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
dependencies:
clone "^1.0.2"
define-properties@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
+ integrity sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=
dependencies:
foreach "^2.0.5"
object-keys "^1.0.8"
@@ -2826,18 +3097,21 @@ define-properties@^1.1.2:
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
dependencies:
is-descriptor "^0.1.0"
define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
dependencies:
is-descriptor "^1.0.0"
define-property@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
dependencies:
is-descriptor "^1.0.2"
isobject "^3.0.1"
@@ -2845,10 +3119,12 @@ define-property@^2.0.2:
defined@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+ integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
del@^2.0.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+ integrity sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=
dependencies:
globby "^5.0.0"
is-path-cwd "^1.0.0"
@@ -2861,14 +3137,17 @@ del@^2.0.2:
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
deps-sort@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5"
+ integrity sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=
dependencies:
JSONStream "^1.0.3"
shasum "^1.0.0"
@@ -2878,6 +3157,7 @@ deps-sort@^2.0.0:
derequire@^2.0.2:
version "2.0.6"
resolved "https://registry.yarnpkg.com/derequire/-/derequire-2.0.6.tgz#31a414bb7ca176239fa78b116636ef77d517e768"
+ integrity sha1-MaQUu3yhdiOfp4sRZjbvd9UX52g=
dependencies:
acorn "^4.0.3"
concat-stream "^1.4.6"
@@ -2888,6 +3168,7 @@ derequire@^2.0.2:
des.js@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
dependencies:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
@@ -2895,39 +3176,48 @@ des.js@^1.0.0:
detect-file@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
+ integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
dependencies:
repeating "^2.0.0"
detect-indent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
+ integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50=
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
detect-newline@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
+ integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
-detective@^4.0.0:
- version "4.7.1"
- resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e"
+detective@^5.0.2:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-5.1.0.tgz#7a20d89236d7b331ccea65832e7123b5551bb7cb"
+ integrity sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==
dependencies:
- acorn "^5.2.1"
+ acorn-node "^1.3.0"
defined "^1.0.0"
+ minimist "^1.1.1"
diff@^3.2.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
+ integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
diffie-hellman@^5.0.0:
version "5.0.2"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ integrity sha1-tYNXOScM/ias9jIJn97SoH8gnl4=
dependencies:
bn.js "^4.1.0"
miller-rabin "^4.0.0"
@@ -2936,47 +3226,51 @@ diffie-hellman@^5.0.0:
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
dependencies:
esutils "^2.0.2"
dom-serializer@0, dom-serializer@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
+ integrity sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=
dependencies:
domelementtype "~1.1.1"
entities "~1.1.1"
-domain-browser@^1.1.1:
+domain-browser@^1.1.1, domain-browser@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
-
-domain-browser@~1.1.0:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
domelementtype@1, domelementtype@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+ integrity sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=
domelementtype@~1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+ integrity sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=
domexception@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
+ integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
dependencies:
webidl-conversions "^4.0.2"
domhandler@^2.3.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
+ integrity sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=
dependencies:
domelementtype "1"
domutils@1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
dependencies:
dom-serializer "0"
domelementtype "1"
@@ -2984,6 +3278,7 @@ domutils@1.5.1:
domutils@^1.5.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
+ integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
dependencies:
dom-serializer "0"
domelementtype "1"
@@ -2991,32 +3286,38 @@ domutils@^1.5.1:
dot-prop@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
+ integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc=
dependencies:
is-obj "^1.0.0"
duplexer2@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
+ integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
dependencies:
readable-stream "~1.1.9"
duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
+ integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=
dependencies:
readable-stream "^2.0.2"
duplexer3@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+ integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+ integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
duplexify@^3.5.3:
version "3.5.4"
resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.4.tgz#4bb46c1796eabebeec4ca9a2e66b808cb7a3d8b4"
+ integrity sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==
dependencies:
end-of-stream "^1.0.0"
inherits "^2.0.1"
@@ -3026,6 +3327,7 @@ duplexify@^3.5.3:
each-props@^1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.1.tgz#fc138f51e3a2774286d4858e02d6e7de462de158"
+ integrity sha1-/BOPUeOid0KG1IWOAtbn3kYt4Vg=
dependencies:
is-plain-object "^2.0.1"
object.defaults "^1.1.0"
@@ -3033,20 +3335,24 @@ each-props@^1.3.0:
ecc-jsbn@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ integrity sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=
dependencies:
jsbn "~0.1.0"
-electron-to-chromium@^1.3.33:
- version "1.3.34"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.34.tgz#d93498f40391bb0c16a603d8241b9951404157ed"
+electron-to-chromium@^1.3.61:
+ version "1.3.62"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz#2e8e2dc070c800ec8ce23ff9dfcceb585d6f9ed8"
+ integrity sha512-x09ndL/Gjnuk3unlAyoGyUg3wbs4w/bXurgL7wL913vXHAOWmMhrLf1VNGRaMLngmadd5Q8gsV9BFuIr6rP+Xg==
elegant-spinner@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
+ integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
elliptic@^6.0.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
+ integrity sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
@@ -3059,22 +3365,26 @@ elliptic@^6.0.0:
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
encoding@^0.1.11:
version "0.1.12"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
+ integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=
dependencies:
iconv-lite "~0.4.13"
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
+ integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==
dependencies:
once "^1.4.0"
enhanced-resolve@^3.0.0, enhanced-resolve@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
+ integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=
dependencies:
graceful-fs "^4.1.2"
memory-fs "^0.4.0"
@@ -3084,32 +3394,26 @@ enhanced-resolve@^3.0.0, enhanced-resolve@^3.4.0:
entities@^1.1.1, entities@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
+ integrity sha1-blwtClYhtdra7O+AuQ7ftc13cvA=
errno@^0.1.3:
version "0.1.7"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
+ integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
dependencies:
prr "~1.0.1"
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ integrity sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.10.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
- dependencies:
- es-to-primitive "^1.1.1"
- function-bind "^1.1.1"
- has "^1.0.1"
- is-callable "^1.1.3"
- is-regex "^1.0.4"
-
es-abstract@^1.4.3, es-abstract@^1.5.1:
version "1.10.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
+ integrity sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==
dependencies:
es-to-primitive "^1.1.1"
function-bind "^1.1.1"
@@ -3120,6 +3424,7 @@ es-abstract@^1.4.3, es-abstract@^1.5.1:
es-to-primitive@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
+ integrity sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=
dependencies:
is-callable "^1.1.1"
is-date-object "^1.0.1"
@@ -3128,6 +3433,7 @@ es-to-primitive@^1.1.1:
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
version "0.10.39"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.39.tgz#fca21b67559277ca4ac1a1ed7048b107b6f76d87"
+ integrity sha512-AlaXZhPHl0po/uxMx1tyrlt1O86M6D5iVaDH8UgLfgek4kXTX6vzsRfJQWC2Ku+aG8pkw1XWzh9eTkwfVrsD5g==
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.1"
@@ -3135,6 +3441,7 @@ es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
dependencies:
d "1"
es5-ext "^0.10.35"
@@ -3143,6 +3450,7 @@ es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
es6-map@^0.1.3:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
+ integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -3154,6 +3462,7 @@ es6-map@^0.1.3:
es6-set@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
+ integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -3164,6 +3473,7 @@ es6-set@~0.1.5:
es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -3171,6 +3481,7 @@ es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
es6-templates@^0.2.2:
version "0.2.3"
resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4"
+ integrity sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=
dependencies:
recast "~0.11.12"
through "~2.3.6"
@@ -3178,6 +3489,7 @@ es6-templates@^0.2.2:
es6-weak-map@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
+ integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=
dependencies:
d "1"
es5-ext "^0.10.14"
@@ -3187,10 +3499,12 @@ es6-weak-map@^2.0.1:
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escodegen@^1.9.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2"
+ integrity sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==
dependencies:
esprima "^3.1.3"
estraverse "^4.2.0"
@@ -3202,58 +3516,77 @@ escodegen@^1.9.0:
escope@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+ integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
dependencies:
es6-map "^0.1.3"
es6-weak-map "^2.0.1"
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-config-babel@^7.0.2:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/eslint-config-babel/-/eslint-config-babel-7.0.2.tgz#cbde74f61cee087d8cd6e607fcfa087869a02d99"
+eslint-config-babel@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-config-babel/-/eslint-config-babel-8.0.1.tgz#394a1d24aa9f725a2d33c43d33dddd5bdae89f79"
+ integrity sha512-z3woNZxSPtiLh933oeiMhPoYeHq00qk9NKEDxhRXLtQp/9XLt0wL+1BRHmGzVR+WYpSxMobS6X+aQS/GtuiHog==
-eslint-plugin-flowtype@^2.49.3:
- version "2.49.3"
- resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.49.3.tgz#ccca6ee5ba2027eb3ed36bc2ec8c9a842feee841"
+eslint-plugin-flowtype@^2.50.1:
+ version "2.50.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.1.tgz#36d4c961ac8b9e9e1dc091d3fba0537dad34ae8a"
+ integrity sha512-9kRxF9hfM/O6WGZcZPszOVPd2W0TLHBtceulLTsGfwMPtiCCLnCW0ssRiOOiXyqrCA20pm1iXdXm7gQeN306zQ==
dependencies:
lodash "^4.17.10"
-eslint-plugin-prettier@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.1.tgz#de902b4a66b7bca24296429a59a1cc04020ccbbd"
+eslint-plugin-local-rules@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-local-rules/-/eslint-plugin-local-rules-0.1.0.tgz#6808bb4c1b9a432f6e54ff4dfb290073e1cdf700"
+ integrity sha1-aAi7TBuaQy9uVP9N+ykAc+HN9wA=
+
+eslint-plugin-prettier@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz#71998c60aedfa2141f7bfcbf9d1c459bf98b4fad"
+ integrity sha512-tGek5clmW5swrAx1mdPYM8oThrBE83ePh7LeseZHBWfHVGrHPhKn7Y5zgRMbU/9D5Td9K4CEmUPjGxA7iw98Og==
dependencies:
fast-diff "^1.1.1"
jest-docblock "^21.0.0"
-eslint-scope@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
+eslint-scope@3.7.1:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
+ integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-scope@~3.7.1:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
+eslint-scope@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
+ integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-utils@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
+ integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
+
eslint-visitor-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+ integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
-eslint@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.0.1.tgz#109b90ab7f7a736f54e0f341c8bb9d09777494c3"
+eslint@^5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.6.0.tgz#b6f7806041af01f71b3f1895cbb20971ea4b6223"
+ integrity sha512-/eVYs9VVVboX286mBK7bbKnO1yamUy2UCRjiY6MryhQL2PaaXCExsCQ2aO83OeYRhU2eCU/FMFP+tVMoOrzNrA==
dependencies:
- ajv "^6.5.0"
- babel-code-frame "^6.26.0"
+ "@babel/code-frame" "^7.0.0"
+ ajv "^6.5.3"
chalk "^2.1.0"
cross-spawn "^6.0.5"
debug "^3.1.0"
doctrine "^2.1.0"
eslint-scope "^4.0.0"
+ eslint-utils "^1.3.1"
eslint-visitor-keys "^1.0.0"
espree "^4.0.0"
esquery "^1.0.1"
@@ -3261,12 +3594,12 @@ eslint@^5.0.1:
file-entry-cache "^2.0.0"
functional-red-black-tree "^1.0.1"
glob "^7.1.2"
- globals "^11.5.0"
- ignore "^3.3.3"
+ globals "^11.7.0"
+ ignore "^4.0.6"
imurmurhash "^0.1.4"
- inquirer "^5.2.0"
+ inquirer "^6.1.0"
is-resolvable "^1.1.0"
- js-yaml "^3.11.0"
+ js-yaml "^3.12.0"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.3.0"
lodash "^4.17.5"
@@ -3277,10 +3610,9 @@ eslint@^5.0.1:
path-is-inside "^1.0.2"
pluralize "^7.0.0"
progress "^2.0.0"
- regexpp "^1.1.0"
+ regexpp "^2.0.0"
require-uncached "^1.0.3"
- semver "^5.5.0"
- string.prototype.matchall "^2.0.0"
+ semver "^5.5.1"
strip-ansi "^4.0.0"
strip-json-comments "^2.0.1"
table "^4.0.3"
@@ -3289,6 +3621,7 @@ eslint@^5.0.1:
espree@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634"
+ integrity sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==
dependencies:
acorn "^5.6.0"
acorn-jsx "^4.1.1"
@@ -3296,49 +3629,64 @@ espree@^4.0.0:
esprima@^3.1.3, esprima@~3.1.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
+ integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
esprima@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+ integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==
esquery@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
dependencies:
estraverse "^4.0.0"
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
dependencies:
estraverse "^4.1.0"
estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+ integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
estree-walker@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.3.1.tgz#e6b1a51cf7292524e7237c312e5fe6660c1ce1aa"
+ integrity sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+ integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
event-emitter@~0.3.5:
version "0.3.5"
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
dependencies:
d "1"
es5-ext "~0.10.14"
-events@^1.0.0, events@~1.1.0:
+events@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
+
+events@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-2.1.0.tgz#2a9a1e18e6106e0e812aa9ebd4a819b3c29c0ba5"
+ integrity sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
dependencies:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
@@ -3346,12 +3694,14 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
exec-sh@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38"
+ integrity sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==
dependencies:
merge "^1.1.3"
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
dependencies:
cross-spawn "^5.0.1"
get-stream "^3.0.0"
@@ -3364,6 +3714,20 @@ execa@^0.7.0:
execa@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
+ integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+execa@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.9.0.tgz#adb7ce62cf985071f60580deb4a88b9e34712d01"
+ integrity sha512-BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==
dependencies:
cross-spawn "^5.0.1"
get-stream "^3.0.0"
@@ -3376,20 +3740,24 @@ execa@^0.8.0:
exit-hook@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+ integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+ integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
dependencies:
is-posix-bracket "^0.1.0"
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
dependencies:
debug "^2.3.3"
define-property "^0.2.5"
@@ -3402,41 +3770,47 @@ expand-brackets@^2.1.4:
expand-range@^1.8.1:
version "1.8.2"
resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
dependencies:
fill-range "^2.1.0"
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
dependencies:
homedir-polyfill "^1.0.1"
-expect@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.0.tgz#371edf1ae15b83b5bf5ec34b42f1584660a36c16"
+expect@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz#1e0c8d3ba9a581c87bd71fb9bc8862d443425f98"
+ integrity sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==
dependencies:
ansi-styles "^3.2.0"
- jest-diff "^22.4.0"
+ jest-diff "^23.6.0"
jest-get-type "^22.1.0"
- jest-matcher-utils "^22.4.0"
- jest-message-util "^22.4.0"
- jest-regex-util "^22.1.0"
+ jest-matcher-utils "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
extend-shallow@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
+ integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=
dependencies:
kind-of "^1.1.0"
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
is-extendable "^0.1.0"
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
dependencies:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
@@ -3444,32 +3818,37 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
extend@^3.0.0, extend@~3.0.0, extend@~3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+ integrity sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=
external-editor@^2.0.4:
version "2.1.0"
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
+ integrity sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==
dependencies:
chardet "^0.4.0"
iconv-lite "^0.4.17"
tmp "^0.0.33"
-external-editor@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
+external-editor@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27"
+ integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==
dependencies:
- chardet "^0.4.0"
- iconv-lite "^0.4.17"
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
tmp "^0.0.33"
extglob@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
dependencies:
is-extglob "^1.0.0"
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
dependencies:
array-unique "^0.3.2"
define-property "^1.0.0"
@@ -3483,14 +3862,17 @@ extglob@^2.0.4:
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
falafel@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c"
+ integrity sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=
dependencies:
acorn "^5.0.0"
foreach "^2.0.5"
@@ -3500,6 +3882,7 @@ falafel@^2.1.0:
fancy-log@^1.1.0, fancy-log@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1"
+ integrity sha1-9BEl49hPLn2JpD0G2VjI94vha+E=
dependencies:
ansi-gray "^0.1.1"
color-support "^1.1.3"
@@ -3508,36 +3891,44 @@ fancy-log@^1.1.0, fancy-log@^1.3.2:
fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+ integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=
fast-deep-equal@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-diff@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
+ integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+ integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fastparse@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
+ integrity sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=
fb-watchman@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
+ integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=
dependencies:
bser "^2.0.0"
figures@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=
dependencies:
escape-string-regexp "^1.0.5"
object-assign "^4.1.0"
@@ -3545,12 +3936,14 @@ figures@^1.7.0:
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
dependencies:
escape-string-regexp "^1.0.5"
file-entry-cache@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=
dependencies:
flat-cache "^1.2.1"
object-assign "^4.0.1"
@@ -3558,10 +3951,12 @@ file-entry-cache@^2.0.0:
filename-regex@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+ integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
fileset@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
+ integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=
dependencies:
glob "^7.0.3"
minimatch "^3.0.3"
@@ -3569,6 +3964,7 @@ fileset@^2.0.2:
fill-range@^2.1.0:
version "2.2.3"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ integrity sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=
dependencies:
is-number "^2.1.0"
isobject "^2.0.0"
@@ -3579,6 +3975,7 @@ fill-range@^2.1.0:
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
dependencies:
extend-shallow "^2.0.1"
is-number "^3.0.0"
@@ -3588,6 +3985,7 @@ fill-range@^4.0.0:
find-cache-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
+ integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=
dependencies:
commondir "^1.0.1"
make-dir "^1.0.0"
@@ -3596,10 +3994,12 @@ find-cache-dir@^1.0.0:
find-parent-dir@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54"
+ integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
dependencies:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
@@ -3607,12 +4007,21 @@ find-up@^1.0.0:
find-up@^2.0.0, find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
dependencies:
locate-path "^2.0.0"
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ dependencies:
+ locate-path "^3.0.0"
+
findup-sync@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
+ integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=
dependencies:
detect-file "^1.0.0"
is-glob "^3.1.0"
@@ -3622,6 +4031,7 @@ findup-sync@^2.0.0:
fined@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476"
+ integrity sha1-s33IRLdqL15wgeiE98CuNE8VNHY=
dependencies:
expand-tilde "^2.0.2"
is-plain-object "^2.0.3"
@@ -3632,29 +4042,34 @@ fined@^1.0.1:
first-chunk-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70"
+ integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=
dependencies:
readable-stream "^2.0.2"
flagged-respawn@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7"
+ integrity sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=
flat-cache@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
+ integrity sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=
dependencies:
circular-json "^0.3.1"
del "^2.0.2"
graceful-fs "^4.1.2"
write "^0.2.1"
-flow-bin@^0.75.0:
- version "0.75.0"
- resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.75.0.tgz#b96d1ee99d3b446a3226be66b4013224ce9df260"
+flow-bin@^0.82.0:
+ version "0.82.0"
+ resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.82.0.tgz#fbec84c0d6cab7877565eca8214d655f3aefb8db"
+ integrity sha512-D7ViTCVJSVv19CB6dFWS9k2iKQlavtkRXn9el0ofVTTpGuybe+EPE8DZwdyohzEt6wRhHV8gwkteWvxdcVuOzg==
flush-write-stream@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd"
+ integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==
dependencies:
inherits "^2.0.1"
readable-stream "^2.0.4"
@@ -3662,30 +4077,36 @@ flush-write-stream@^1.0.2:
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
for-own@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
dependencies:
for-in "^1.0.1"
for-own@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
+ integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
dependencies:
for-in "^1.0.1"
foreach@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+ integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
form-data@~2.1.1:
version "2.1.4"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
+ integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
@@ -3694,6 +4115,7 @@ form-data@~2.1.1:
form-data@~2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
+ integrity sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=
dependencies:
asynckit "^0.4.0"
combined-stream "1.0.6"
@@ -3702,12 +4124,14 @@ form-data@~2.3.1:
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
dependencies:
map-cache "^0.2.2"
fs-extra@^4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
+ integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
dependencies:
graceful-fs "^4.1.2"
jsonfile "^4.0.0"
@@ -3716,27 +4140,32 @@ fs-extra@^4.0.1:
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
+ integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==
dependencies:
minipass "^2.2.1"
fs-mkdirp-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb"
+ integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=
dependencies:
graceful-fs "^4.1.11"
through2 "^2.0.3"
-fs-readdir-recursive@^1.0.0:
+fs-readdir-recursive@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
+ integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^1.0.0, fsevents@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
+ integrity sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==
dependencies:
nan "^2.3.0"
node-pre-gyp "^0.6.39"
@@ -3744,6 +4173,7 @@ fsevents@^1.0.0, fsevents@^1.1.1:
fsevents@^1.1.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.2.tgz#4f598f0f69b273188ef4a62ca4e9e08ace314bbf"
+ integrity sha512-iownA+hC4uHFp+7gwP/y5SzaiUo7m2vpa0dhpzw8YuKtiZsz7cIXsFbXpLEeBM6WuCQyw1MH4RRe6XI8GFUctQ==
dependencies:
nan "^2.9.2"
node-pre-gyp "^0.9.0"
@@ -3751,6 +4181,7 @@ fsevents@^1.1.2:
fstream-ignore@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
+ integrity sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=
dependencies:
fstream "^1.0.0"
inherits "2"
@@ -3759,6 +4190,7 @@ fstream-ignore@^1.0.5:
fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
version "1.0.11"
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
+ integrity sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=
dependencies:
graceful-fs "^4.1.2"
inherits "~2.0.0"
@@ -3768,14 +4200,17 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
function-bind@^1.0.2, function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
@@ -3789,14 +4224,17 @@ gauge@~2.7.3:
get-caller-file@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+ integrity sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=
get-own-enumerable-property-symbols@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b"
+ integrity sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug==
get-pkg-repo@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d"
+ integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0=
dependencies:
hosted-git-info "^2.1.4"
meow "^3.3.0"
@@ -3807,28 +4245,39 @@ get-pkg-repo@^1.0.0:
get-port@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
+ integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+
+get-stdin@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
+ integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
dependencies:
assert-plus "^1.0.0"
git-raw-commits@^1.3.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.4.tgz#442c3df5985b4f5689e9e43597f5194736aac001"
+ integrity sha512-G3O+41xHbscpgL5nA0DUkbFVgaAz5rd57AMSIMew8p7C8SyFwZDyn08MoXHkTl9zcD0LmxsLFPxbqFY4YPbpPA==
dependencies:
dargs "^4.0.1"
lodash.template "^4.0.2"
@@ -3839,6 +4288,7 @@ git-raw-commits@^1.3.0:
git-raw-commits@^1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff"
+ integrity sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==
dependencies:
dargs "^4.0.1"
lodash.template "^4.0.2"
@@ -3849,6 +4299,7 @@ git-raw-commits@^1.3.6:
git-remote-origin-url@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f"
+ integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=
dependencies:
gitconfiglocal "^1.0.0"
pify "^2.3.0"
@@ -3856,6 +4307,7 @@ git-remote-origin-url@^2.0.0:
git-semver-tags@^1.3.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.4.tgz#2ceb2a355c6d7514c123c35e297067d08caf3a92"
+ integrity sha512-Xe2Z74MwXZfAezuaO6e6cA4nsgeCiARPzaBp23gma325c/OXdt//PhrknptIaynNeUp2yWtmikV7k5RIicgGIQ==
dependencies:
meow "^4.0.0"
semver "^5.5.0"
@@ -3863,6 +4315,7 @@ git-semver-tags@^1.3.0:
git-semver-tags@^1.3.6:
version "1.3.6"
resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.3.6.tgz#357ea01f7280794fe0927f2806bee6414d2caba5"
+ integrity sha512-2jHlJnln4D/ECk9FxGEBh3k44wgYdWjWDtMmJPaecjoRmxKo3Y1Lh8GMYuOPu04CHw86NTAODchYjC5pnpMQig==
dependencies:
meow "^4.0.0"
semver "^5.5.0"
@@ -3870,12 +4323,14 @@ git-semver-tags@^1.3.6:
gitconfiglocal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b"
+ integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=
dependencies:
ini "^1.3.2"
glob-base@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
dependencies:
glob-parent "^2.0.0"
is-glob "^2.0.0"
@@ -3883,12 +4338,14 @@ glob-base@^0.3.0:
glob-parent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
dependencies:
is-glob "^2.0.0"
glob-parent@^3.0.1, glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
dependencies:
is-glob "^3.1.0"
path-dirname "^1.0.0"
@@ -3896,6 +4353,7 @@ glob-parent@^3.0.1, glob-parent@^3.1.0:
glob-stream@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
+ integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=
dependencies:
extend "^3.0.0"
glob "^7.1.1"
@@ -3911,6 +4369,7 @@ glob-stream@^6.1.0:
glob-watcher@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.1.tgz#239aaa621b6bd843b288fdf6b155f50963c7d7ea"
+ integrity sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g==
dependencies:
async-done "^1.2.0"
chokidar "^2.0.0"
@@ -3920,6 +4379,7 @@ glob-watcher@^5.0.0:
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -3931,6 +4391,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2:
global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
dependencies:
global-prefix "^1.0.1"
is-windows "^1.0.1"
@@ -3939,6 +4400,7 @@ global-modules@^1.0.0:
global-prefix@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
dependencies:
expand-tilde "^2.0.2"
homedir-polyfill "^1.0.1"
@@ -3949,18 +4411,22 @@ global-prefix@^1.0.1:
globals@^11.1.0:
version "11.3.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.3.0.tgz#e04fdb7b9796d8adac9c8f64c14837b2313378b0"
+ integrity sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==
-globals@^11.5.0:
+globals@^11.7.0:
version "11.7.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673"
+ integrity sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
globby@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+ integrity sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=
dependencies:
array-union "^1.0.1"
arrify "^1.0.0"
@@ -3972,6 +4438,7 @@ globby@^5.0.0:
globby@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
+ integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
dependencies:
array-union "^1.0.1"
glob "^7.0.3"
@@ -3982,12 +4449,14 @@ globby@^6.1.0:
glogg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810"
+ integrity sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==
dependencies:
sparkles "^1.0.0"
got@^6.7.1:
version "6.7.1"
resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
+ integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=
dependencies:
create-error-class "^3.0.0"
duplexer3 "^0.1.4"
@@ -4004,14 +4473,17 @@ got@^6.7.1:
graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+ integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=
growly@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
+ integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
gulp-babel@^8.0.0-beta.2:
version "8.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-8.0.0-beta.2.tgz#0ceed820eeece53da75bbb466b56db336c4136dd"
+ integrity sha512-GTC2PxAXWkp6u1fP+C5+kn5biQ0dKGhkOSSXvKAf3ykF0+R3tevmLm/zSIkc1+S7U1JwH3XTvuMwRL6LD+sEiw==
dependencies:
plugin-error "^1.0.1"
replace-ext "^1.0.0"
@@ -4021,6 +4493,7 @@ gulp-babel@^8.0.0-beta.2:
gulp-cli@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.0.1.tgz#7847e220cb3662f2be8a6d572bf14e17be5a994b"
+ integrity sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==
dependencies:
ansi-colors "^1.0.1"
archy "^1.0.0"
@@ -4044,6 +4517,7 @@ gulp-cli@^2.0.0:
gulp-filter@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73"
+ integrity sha1-oF4Rr/sHz33PQafeHLe2OsN4PnM=
dependencies:
multimatch "^2.0.0"
plugin-error "^0.1.2"
@@ -4052,6 +4526,7 @@ gulp-filter@^5.1.0:
gulp-newer@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/gulp-newer/-/gulp-newer-1.4.0.tgz#25243ed6eac8f5462b95894e0d41937b112e65f3"
+ integrity sha512-h79fGO55S/P9eAADbLAP9aTtVYpLSR1ONj08VPaSdVVNVYhTS8p1CO1TW7kEMu+hC+sytmCqcUr5LesvZEtDoQ==
dependencies:
glob "^7.0.3"
kew "^0.7.0"
@@ -4060,6 +4535,7 @@ gulp-newer@^1.0.0:
gulp-plumber@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/gulp-plumber/-/gulp-plumber-1.2.0.tgz#18ea03912c9ee483f8a5499973b5954cd90f6ad8"
+ integrity sha512-L/LJftsbKoHbVj6dN5pvMsyJn9jYI0wT0nMg3G6VZhDac4NesezecYTi8/48rHi+yEic3sUpw6jlSc7qNWh32A==
dependencies:
chalk "^1.1.3"
fancy-log "^1.3.2"
@@ -4069,10 +4545,12 @@ gulp-plumber@^1.0.1:
gulp-rename@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817"
+ integrity sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=
gulp-uglify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-3.0.0.tgz#0df0331d72a0d302e3e37e109485dddf33c6d1ca"
+ integrity sha1-DfAzHXKg0wLj434QlIXd3zPG0co=
dependencies:
gulplog "^1.0.0"
has-gulplog "^0.1.0"
@@ -4085,6 +4563,7 @@ gulp-uglify@^3.0.0:
gulp-util@^3.0.7:
version "3.0.8"
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
+ integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08=
dependencies:
array-differ "^1.0.0"
array-uniq "^1.0.2"
@@ -4108,6 +4587,7 @@ gulp-util@^3.0.7:
gulp-watch@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-5.0.0.tgz#6fb03ab1735972e0d2866475b568555836dfd0eb"
+ integrity sha512-q+HLppxXd11z9ndqql4Z0sd5xOAesJjycl0PRaq6ImK7b1BqBRL37YvxEE8ngUdIfpfHa0O9OCoovoggcFpCaQ==
dependencies:
anymatch "^1.3.0"
chokidar "^2.0.0"
@@ -4123,6 +4603,7 @@ gulp-watch@^5.0.0:
gulp@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.0.tgz#95766c601dade4a77ed3e7b2b6dc03881b596366"
+ integrity sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=
dependencies:
glob-watcher "^5.0.0"
gulp-cli "^2.0.0"
@@ -4132,12 +4613,14 @@ gulp@^4.0.0:
gulplog@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
+ integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U=
dependencies:
glogg "^1.0.0"
handlebars@^4.0.2, handlebars@^4.0.3:
version "4.0.11"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ integrity sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=
dependencies:
async "^1.4.0"
optimist "^0.6.1"
@@ -4148,14 +4631,17 @@ handlebars@^4.0.2, handlebars@^4.0.3:
har-schema@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
+ integrity sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
har-validator@~4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
+ integrity sha1-M0gdDxu/9gDdID11gSpqX7oALio=
dependencies:
ajv "^4.9.1"
har-schema "^1.0.5"
@@ -4163,6 +4649,7 @@ har-validator@~4.2.1:
har-validator@~5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
+ integrity sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=
dependencies:
ajv "^5.1.0"
har-schema "^2.0.0"
@@ -4170,38 +4657,46 @@ har-validator@~5.0.3:
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
dependencies:
ansi-regex "^2.0.0"
has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+ integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
has-flag@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
has-gulplog@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
+ integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=
dependencies:
sparkles "^1.0.0"
has-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
+ integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
dependencies:
get-value "^2.0.3"
has-values "^0.1.4"
@@ -4210,6 +4705,7 @@ has-value@^0.3.1:
has-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
dependencies:
get-value "^2.0.6"
has-values "^1.0.0"
@@ -4218,10 +4714,12 @@ has-value@^1.0.0:
has-values@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
has-values@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
@@ -4229,18 +4727,21 @@ has-values@^1.0.0:
has@^1.0.0, has@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
+ integrity sha1-hGFzP1OLCDfJNh45qauelwTcLyg=
dependencies:
function-bind "^1.0.2"
hash-base@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
+ integrity sha1-ZuodhW206KVHDK32/OI65SRO8uE=
dependencies:
inherits "^2.0.1"
hash-base@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -4248,6 +4749,7 @@ hash-base@^3.0.0:
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==
dependencies:
inherits "^2.0.3"
minimalistic-assert "^1.0.0"
@@ -4255,6 +4757,7 @@ hash.js@^1.0.0, hash.js@^1.0.3:
hawk@3.1.3, hawk@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+ integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=
dependencies:
boom "2.x.x"
cryptiles "2.x.x"
@@ -4264,6 +4767,7 @@ hawk@3.1.3, hawk@~3.1.3:
hawk@~6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
+ integrity sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==
dependencies:
boom "4.x.x"
cryptiles "3.x.x"
@@ -4273,10 +4777,12 @@ hawk@~6.0.2:
he@1.1.x:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
+ integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0=
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
dependencies:
hash.js "^1.0.3"
minimalistic-assert "^1.0.0"
@@ -4285,14 +4791,17 @@ hmac-drbg@^1.0.0:
hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+ integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=
hoek@4.x.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
+ integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
@@ -4300,30 +4809,36 @@ home-or-tmp@^2.0.0:
home-or-tmp@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb"
+ integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs=
homedir-polyfill@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
+ integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw=
dependencies:
parse-passwd "^1.0.0"
hosted-git-info@^2.1.4:
version "2.5.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
+ integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==
hosted-git-info@^2.5.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
+ integrity sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==
html-encoding-sniffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
+ integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
dependencies:
whatwg-encoding "^1.0.1"
html-loader@^0.4.5:
version "0.4.5"
resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.5.tgz#5fbcd87cd63a5c49a7fce2fe56f425e05729c68c"
+ integrity sha1-X7zYfNY6XEmn/OL+VvQl4Fcpxow=
dependencies:
es6-templates "^0.2.2"
fastparse "^1.1.1"
@@ -4334,6 +4849,7 @@ html-loader@^0.4.5:
html-minifier@^3.0.1:
version "3.5.10"
resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.10.tgz#8522c772c388db81aa5c26f62033302d906ea1c7"
+ integrity sha512-5c8iAyeIGAiuFhVjJ0qy1lgvyQxxuZgjeOuMnoK/wjEyy8DF3xKUnE9pO+6H7VMir976K6SGlZV8ZEmIOea/Zg==
dependencies:
camel-case "3.0.x"
clean-css "4.1.x"
@@ -4347,10 +4863,12 @@ html-minifier@^3.0.1:
htmlescape@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351"
+ integrity sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=
htmlparser2@^3.9.1:
version "3.9.2"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
+ integrity sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=
dependencies:
domelementtype "^1.3.0"
domhandler "^2.3.0"
@@ -4362,6 +4880,7 @@ htmlparser2@^3.9.1:
http-signature@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=
dependencies:
assert-plus "^0.2.0"
jsprim "^1.2.2"
@@ -4370,6 +4889,7 @@ http-signature@~1.1.0:
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
@@ -4378,46 +4898,64 @@ http-signature@~1.2.0:
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-https-browserify@~0.0.0:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
-
-husky@^0.14.3:
- version "0.14.3"
- resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3"
+husky@^1.0.0-rc.15:
+ version "1.0.0-rc.15"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-1.0.0-rc.15.tgz#f1545d15c7f34d5db19e40b70df07ac9a362673d"
+ integrity sha512-JTZhkESlc4r1YFilvGgpbEC6wkFZdi1Sm/Haa1TiMFPHOErMUBlpScrIlgN0ttXO9EBYJyanL5WF+lwCtorrZw==
dependencies:
- is-ci "^1.0.10"
- normalize-path "^1.0.0"
- strip-indent "^2.0.0"
+ cosmiconfig "^5.0.6"
+ execa "^0.9.0"
+ find-up "^3.0.0"
+ get-stdin "^6.0.0"
+ is-ci "^1.2.1"
+ pkg-dir "^3.0.0"
+ please-upgrade-node "^3.1.1"
+ read-pkg "^4.0.1"
+ run-node "^1.0.0"
+ slash "^2.0.0"
iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13:
version "0.4.19"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+ integrity sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==
+
+iconv-lite@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.4.4:
version "0.4.21"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798"
+ integrity sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==
dependencies:
safer-buffer "^2.1.0"
ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+ integrity sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=
ignore-walk@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
dependencies:
minimatch "^3.0.4"
-ignore@^3.3.3:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
import-local@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
+ integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==
dependencies:
pkg-dir "^2.0.0"
resolve-cwd "^2.0.0"
@@ -4425,24 +4963,29 @@ import-local@^1.0.0:
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
indent-string@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
dependencies:
repeating "^2.0.0"
indent-string@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+ integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
@@ -4450,30 +4993,36 @@ inflight@^1.0.4:
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
inherits@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
ini@^1.3.2, ini@^1.3.4, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+ integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
inline-source-map@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.5.0.tgz#4a4c5dd8e4fb5e9b3cda60c822dfadcaee66e0af"
+ integrity sha1-Skxd2OT7Xps82mDIIt+tyu5m4K8=
dependencies:
source-map "~0.4.0"
inline-source-map@~0.6.0:
version "0.6.2"
resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5"
+ integrity sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=
dependencies:
source-map "~0.5.3"
inquirer@^3.2.2:
version "3.3.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
+ integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==
dependencies:
ansi-escapes "^3.0.0"
chalk "^2.0.0"
@@ -4490,20 +5039,21 @@ inquirer@^3.2.2:
strip-ansi "^4.0.0"
through "^2.3.6"
-inquirer@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726"
+inquirer@^6.1.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8"
+ integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==
dependencies:
ansi-escapes "^3.0.0"
chalk "^2.0.0"
cli-cursor "^2.1.0"
cli-width "^2.0.0"
- external-editor "^2.1.0"
+ external-editor "^3.0.0"
figures "^2.0.0"
- lodash "^4.3.0"
+ lodash "^4.17.10"
mute-stream "0.0.7"
run-async "^2.2.0"
- rxjs "^5.5.2"
+ rxjs "^6.1.0"
string-width "^2.1.0"
strip-ansi "^4.0.0"
through "^2.3.6"
@@ -4511,6 +5061,7 @@ inquirer@^5.2.0:
insert-module-globals@^7.0.0:
version "7.0.2"
resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.2.tgz#012c56baa7d3307a8b417d4ec5270cf9741c18f4"
+ integrity sha512-p3s7g96Nm62MbHRuj9ZXab0DuJNWD7qcmdUXCOQ/ZZn42DtDXfsLill7bq19lDCx3K3StypqUnuE3H2VmIJFUw==
dependencies:
JSONStream "^1.0.3"
combine-source-map "~0.7.1"
@@ -4524,20 +5075,31 @@ insert-module-globals@^7.0.0:
interpret@^1.0.0, interpret@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
+ integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=
invariant@^2.2.0, invariant@^2.2.2:
version "2.2.3"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.3.tgz#1a827dfde7dcbd7c323f0ca826be8fa7c5e9d688"
+ integrity sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==
+ dependencies:
+ loose-envify "^1.0.0"
+
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
is-absolute@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
+ integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
dependencies:
is-relative "^1.0.0"
is-windows "^1.0.1"
@@ -4545,64 +5107,83 @@ is-absolute@^1.0.0:
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
dependencies:
kind-of "^3.0.2"
is-accessor-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
dependencies:
kind-of "^6.0.0"
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-binary-path@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
dependencies:
binary-extensions "^1.0.0"
is-buffer@^1.1.0, is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-builtin-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74=
dependencies:
builtin-modules "^1.0.0"
is-callable@^1.1.1, is-callable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+ integrity sha1-hut1OSgF3cM69xySoO7fdO52BLI=
is-ci@^1.0.10:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5"
+ integrity sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==
dependencies:
ci-info "^1.0.0"
+is-ci@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
+ integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==
+ dependencies:
+ ci-info "^1.5.0"
+
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
dependencies:
kind-of "^3.0.2"
is-data-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
dependencies:
kind-of "^6.0.0"
is-date-object@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+ integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
dependencies:
is-accessor-descriptor "^0.1.6"
is-data-descriptor "^0.1.4"
@@ -4611,6 +5192,7 @@ is-descriptor@^0.1.0:
is-descriptor@^1.0.0, is-descriptor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
dependencies:
is-accessor-descriptor "^1.0.0"
is-data-descriptor "^1.0.0"
@@ -4619,317 +5201,378 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
is-directory@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
is-dotfile@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
is-equal-shallow@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
dependencies:
is-primitive "^2.0.0"
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
is-extendable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
dependencies:
is-plain-object "^2.0.4"
is-extglob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
is-extglob@^2.1.0, is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
is-generator-fn@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
+ integrity sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=
is-glob@^2.0.0, is-glob@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
dependencies:
is-extglob "^1.0.0"
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
is-glob@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0"
+ integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=
dependencies:
is-extglob "^2.1.1"
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+ integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
is-negated-glob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
+ integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=
is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
dependencies:
kind-of "^3.0.2"
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
kind-of "^3.0.2"
is-number@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
is-obj@^1.0.0, is-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
-is-observable@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2"
+is-observable@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
+ integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
dependencies:
- symbol-observable "^0.2.2"
+ symbol-observable "^1.1.0"
is-odd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24"
+ integrity sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==
dependencies:
is-number "^4.0.0"
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+ integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=
is-path-in-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
+ integrity sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=
dependencies:
is-path-inside "^1.0.0"
is-path-inside@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
+ integrity sha1-jvW33lBDej/cprToZe96pVy0gDY=
dependencies:
path-is-inside "^1.0.1"
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
dependencies:
isobject "^3.0.1"
is-posix-bracket@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+ integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+ integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+ integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
is-redirect@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+ integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
dependencies:
has "^1.0.1"
is-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
is-relative@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
+ integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
dependencies:
is-unc-path "^1.0.0"
is-resolvable@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
+ integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
is-retry-allowed@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
+ integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=
is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-subset@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
+ integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=
is-symbol@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
+ integrity sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=
is-text-path@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e"
+ integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=
dependencies:
text-extensions "^1.0.0"
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
is-unc-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
+ integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
dependencies:
unc-path-regex "^0.1.2"
is-utf8@^0.2.0, is-utf8@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
is-valid-glob@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa"
+ integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=
is-windows@^1.0.1, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
isarray@0.0.1, isarray@~0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
dependencies:
isarray "1.0.0"
isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-istanbul-api@^1.1.14:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.2.tgz#e17cd519dd5ec4141197f246fdf380b75487f3b1"
+istanbul-api@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954"
+ integrity sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==
dependencies:
async "^2.1.4"
+ compare-versions "^3.1.0"
fileset "^2.0.2"
- istanbul-lib-coverage "^1.1.2"
- istanbul-lib-hook "^1.1.0"
- istanbul-lib-instrument "^1.9.2"
- istanbul-lib-report "^1.1.3"
- istanbul-lib-source-maps "^1.2.3"
- istanbul-reports "^1.1.4"
+ istanbul-lib-coverage "^1.2.0"
+ istanbul-lib-hook "^1.2.0"
+ istanbul-lib-instrument "^1.10.1"
+ istanbul-lib-report "^1.1.4"
+ istanbul-lib-source-maps "^1.2.4"
+ istanbul-reports "^1.3.0"
js-yaml "^3.7.0"
mkdirp "^0.5.1"
once "^1.4.0"
-istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz#4113c8ff6b7a40a1ef7350b01016331f63afde14"
+istanbul-lib-coverage@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341"
+ integrity sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==
-istanbul-lib-hook@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b"
+istanbul-lib-hook@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805"
+ integrity sha512-eLAMkPG9FU0v5L02lIkcj/2/Zlz9OuluaXikdr5iStk8FDbSwAixTK9TkYxbF0eNnzAJTwM2fkV2A1tpsIp4Jg==
dependencies:
- append-transform "^0.4.0"
+ append-transform "^1.0.0"
-istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0, istanbul-lib-instrument@^1.9.2:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz#84905bf47f7e0b401d6b840da7bad67086b4aab6"
+istanbul-lib-instrument@^1.10.1:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b"
+ integrity sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==
dependencies:
babel-generator "^6.18.0"
babel-template "^6.16.0"
babel-traverse "^6.18.0"
babel-types "^6.18.0"
babylon "^6.18.0"
- istanbul-lib-coverage "^1.1.2"
+ istanbul-lib-coverage "^1.2.0"
semver "^5.3.0"
-istanbul-lib-report@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz#2df12188c0fa77990c0d2176d2d0ba3394188259"
+istanbul-lib-report@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5"
+ integrity sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==
dependencies:
- istanbul-lib-coverage "^1.1.2"
+ istanbul-lib-coverage "^1.2.0"
mkdirp "^0.5.1"
path-parse "^1.0.5"
supports-color "^3.1.2"
-istanbul-lib-source-maps@^1.2.1, istanbul-lib-source-maps@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6"
+istanbul-lib-source-maps@^1.2.4:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1"
+ integrity sha512-8O2T/3VhrQHn0XcJbP1/GN7kXMiRAlPi+fj3uEHrjBD8Oz7Py0prSC25C09NuAZS6bgW1NNKAvCSHZXB0irSGA==
dependencies:
debug "^3.1.0"
- istanbul-lib-coverage "^1.1.2"
+ istanbul-lib-coverage "^1.2.0"
mkdirp "^0.5.1"
rimraf "^2.6.1"
source-map "^0.5.3"
-istanbul-reports@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.4.tgz#5ccba5e22b7b5a5d91d5e0a830f89be334bf97bd"
+istanbul-reports@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554"
+ integrity sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==
dependencies:
handlebars "^4.0.3"
-jest-changed-files@^22.2.0:
- version "22.2.0"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.2.0.tgz#517610c4a8ca0925bdc88b0ca53bd678aa8d019e"
+jest-changed-files@^23.4.2:
+ version "23.4.2"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83"
+ integrity sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==
dependencies:
throat "^4.0.0"
-jest-cli@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.2.tgz#e6546dc651e13d164481aa3e76e53ac4f4edab06"
+jest-cli@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz#61ab917744338f443ef2baa282ddffdd658a5da4"
+ integrity sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==
dependencies:
ansi-escapes "^3.0.0"
chalk "^2.0.1"
@@ -4938,137 +5581,160 @@ jest-cli@^22.4.2:
graceful-fs "^4.1.11"
import-local "^1.0.0"
is-ci "^1.0.10"
- istanbul-api "^1.1.14"
- istanbul-lib-coverage "^1.1.1"
- istanbul-lib-instrument "^1.8.0"
- istanbul-lib-source-maps "^1.2.1"
- jest-changed-files "^22.2.0"
- jest-config "^22.4.2"
- jest-environment-jsdom "^22.4.1"
+ istanbul-api "^1.3.1"
+ istanbul-lib-coverage "^1.2.0"
+ istanbul-lib-instrument "^1.10.1"
+ istanbul-lib-source-maps "^1.2.4"
+ jest-changed-files "^23.4.2"
+ jest-config "^23.6.0"
+ jest-environment-jsdom "^23.4.0"
jest-get-type "^22.1.0"
- jest-haste-map "^22.4.2"
- jest-message-util "^22.4.0"
- jest-regex-util "^22.1.0"
- jest-resolve-dependencies "^22.1.0"
- jest-runner "^22.4.2"
- jest-runtime "^22.4.2"
- jest-snapshot "^22.4.0"
- jest-util "^22.4.1"
- jest-validate "^22.4.2"
- jest-worker "^22.2.2"
+ jest-haste-map "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve-dependencies "^23.6.0"
+ jest-runner "^23.6.0"
+ jest-runtime "^23.6.0"
+ jest-snapshot "^23.6.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.6.0"
+ jest-watcher "^23.4.0"
+ jest-worker "^23.2.0"
micromatch "^2.3.11"
node-notifier "^5.2.1"
+ prompts "^0.1.9"
realpath-native "^1.0.0"
rimraf "^2.5.4"
slash "^1.0.0"
string-length "^2.0.0"
strip-ansi "^4.0.0"
which "^1.2.12"
- yargs "^10.0.3"
+ yargs "^11.0.0"
-jest-config@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.2.tgz#580ba5819bf81a5e48f4fd470e8b81834f45c855"
+jest-config@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d"
+ integrity sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==
dependencies:
+ babel-core "^6.0.0"
+ babel-jest "^23.6.0"
chalk "^2.0.1"
glob "^7.1.1"
- jest-environment-jsdom "^22.4.1"
- jest-environment-node "^22.4.1"
+ jest-environment-jsdom "^23.4.0"
+ jest-environment-node "^23.4.0"
jest-get-type "^22.1.0"
- jest-jasmine2 "^22.4.2"
- jest-regex-util "^22.1.0"
- jest-resolve "^22.4.2"
- jest-util "^22.4.1"
- jest-validate "^22.4.2"
- pretty-format "^22.4.0"
+ jest-jasmine2 "^23.6.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve "^23.6.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.6.0"
+ micromatch "^2.3.11"
+ pretty-format "^23.6.0"
-jest-diff@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.0.tgz#384c2b78519ca44ca126382df53f134289232525"
+jest-diff@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d"
+ integrity sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==
dependencies:
chalk "^2.0.1"
diff "^3.2.0"
jest-get-type "^22.1.0"
- pretty-format "^22.4.0"
+ pretty-format "^23.6.0"
jest-docblock@^21.0.0:
version "21.2.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414"
+ integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==
-jest-docblock@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.0.tgz#dbf1877e2550070cfc4d9b07a55775a0483159b8"
+jest-docblock@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
+ integrity sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=
dependencies:
detect-newline "^2.1.0"
-jest-environment-jsdom@^22.4.1:
- version "22.4.1"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.1.tgz#754f408872441740100d3917e5ec40c74de6447f"
+jest-each@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz#ba0c3a82a8054387016139c733a05242d3d71575"
+ integrity sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==
dependencies:
- jest-mock "^22.2.0"
- jest-util "^22.4.1"
+ chalk "^2.0.1"
+ pretty-format "^23.6.0"
+
+jest-environment-jsdom@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023"
+ integrity sha1-BWp5UrP+pROsYqFAosNox52eYCM=
+ dependencies:
+ jest-mock "^23.2.0"
+ jest-util "^23.4.0"
jsdom "^11.5.1"
-jest-environment-node@^22.4.1:
- version "22.4.1"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.1.tgz#418850eb654596b8d6e36c2021cbedbc23df8e16"
+jest-environment-node@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10"
+ integrity sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=
dependencies:
- jest-mock "^22.2.0"
- jest-util "^22.4.1"
-
-jest-get-type@^21.2.0:
- version "21.2.0"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23"
+ jest-mock "^23.2.0"
+ jest-util "^23.4.0"
jest-get-type@^22.1.0:
version "22.1.0"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.1.0.tgz#4e90af298ed6181edc85d2da500dbd2753e0d5a9"
+ integrity sha512-nD97IVOlNP6fjIN5i7j5XRH+hFsHL7VlauBbzRvueaaUe70uohrkz7pL/N8lx/IAwZRTJ//wOdVgh85OgM7g3w==
-jest-haste-map@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.2.tgz#a90178e66146d4378bb076345a949071f3b015b4"
+jest-haste-map@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz#2e3eb997814ca696d62afdb3f2529f5bbc935e16"
+ integrity sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==
dependencies:
fb-watchman "^2.0.0"
graceful-fs "^4.1.11"
- jest-docblock "^22.4.0"
- jest-serializer "^22.4.0"
- jest-worker "^22.2.2"
+ invariant "^2.2.4"
+ jest-docblock "^23.2.0"
+ jest-serializer "^23.0.1"
+ jest-worker "^23.2.0"
micromatch "^2.3.11"
sane "^2.0.0"
-jest-jasmine2@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.2.tgz#dfd3d259579ed6f52510d8f1ab692808f0d40691"
+jest-jasmine2@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz#840e937f848a6c8638df24360ab869cc718592e0"
+ integrity sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==
dependencies:
+ babel-traverse "^6.0.0"
chalk "^2.0.1"
co "^4.6.0"
- expect "^22.4.0"
- graceful-fs "^4.1.11"
+ expect "^23.6.0"
is-generator-fn "^1.0.0"
- jest-diff "^22.4.0"
- jest-matcher-utils "^22.4.0"
- jest-message-util "^22.4.0"
- jest-snapshot "^22.4.0"
- jest-util "^22.4.1"
- source-map-support "^0.5.0"
+ jest-diff "^23.6.0"
+ jest-each "^23.6.0"
+ jest-matcher-utils "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-snapshot "^23.6.0"
+ jest-util "^23.4.0"
+ pretty-format "^23.6.0"
-jest-leak-detector@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.0.tgz#64da77f05b001c96d2062226e079f89989c4aa2f"
+jest-leak-detector@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz#e4230fd42cf381a1a1971237ad56897de7e171de"
+ integrity sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==
dependencies:
- pretty-format "^22.4.0"
+ pretty-format "^23.6.0"
-jest-matcher-utils@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.0.tgz#d55f5faf2270462736bdf7c7485ee931c9d4b6a1"
+jest-matcher-utils@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz#726bcea0c5294261a7417afb6da3186b4b8cac80"
+ integrity sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==
dependencies:
chalk "^2.0.1"
jest-get-type "^22.1.0"
- pretty-format "^22.4.0"
+ pretty-format "^23.6.0"
-jest-message-util@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.0.tgz#e3d861df16d2fee60cb2bc8feac2188a42579642"
+jest-message-util@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f"
+ integrity sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=
dependencies:
"@babel/code-frame" "^7.0.0-beta.35"
chalk "^2.0.1"
@@ -5076,138 +5742,167 @@ jest-message-util@^22.4.0:
slash "^1.0.0"
stack-utils "^1.0.1"
-jest-mock@^22.2.0:
- version "22.2.0"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.2.0.tgz#444b3f9488a7473adae09bc8a77294afded397a7"
+jest-mock@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134"
+ integrity sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=
-jest-regex-util@^22.1.0:
- version "22.1.0"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.1.0.tgz#5daf2fe270074b6da63e5d85f1c9acc866768f53"
+jest-regex-util@^23.3.0:
+ version "23.3.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5"
+ integrity sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=
-jest-resolve-dependencies@^22.1.0:
- version "22.1.0"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.1.0.tgz#340e4139fb13315cd43abc054e6c06136be51e31"
+jest-resolve-dependencies@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz#b4526af24c8540d9a3fab102c15081cf509b723d"
+ integrity sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==
dependencies:
- jest-regex-util "^22.1.0"
+ jest-regex-util "^23.3.0"
+ jest-snapshot "^23.6.0"
-jest-resolve@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.2.tgz#25d88aa4147462c9c1c6a1ba16250d3794c24d00"
+jest-resolve@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz#cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae"
+ integrity sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==
dependencies:
- browser-resolve "^1.11.2"
+ browser-resolve "^1.11.3"
chalk "^2.0.1"
+ realpath-native "^1.0.0"
-jest-runner@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.2.tgz#19390ea9d99f768973e16f95a1efa351c0017e87"
+jest-runner@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz#3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38"
+ integrity sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==
dependencies:
exit "^0.1.2"
- jest-config "^22.4.2"
- jest-docblock "^22.4.0"
- jest-haste-map "^22.4.2"
- jest-jasmine2 "^22.4.2"
- jest-leak-detector "^22.4.0"
- jest-message-util "^22.4.0"
- jest-runtime "^22.4.2"
- jest-util "^22.4.1"
- jest-worker "^22.2.2"
+ graceful-fs "^4.1.11"
+ jest-config "^23.6.0"
+ jest-docblock "^23.2.0"
+ jest-haste-map "^23.6.0"
+ jest-jasmine2 "^23.6.0"
+ jest-leak-detector "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-runtime "^23.6.0"
+ jest-util "^23.4.0"
+ jest-worker "^23.2.0"
+ source-map-support "^0.5.6"
throat "^4.0.0"
-jest-runtime@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.2.tgz#0de0444f65ce15ee4f2e0055133fc7c17b9168f3"
+jest-runtime@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz#059e58c8ab445917cd0e0d84ac2ba68de8f23082"
+ integrity sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==
dependencies:
babel-core "^6.0.0"
- babel-jest "^22.4.1"
- babel-plugin-istanbul "^4.1.5"
+ babel-plugin-istanbul "^4.1.6"
chalk "^2.0.1"
convert-source-map "^1.4.0"
exit "^0.1.2"
+ fast-json-stable-stringify "^2.0.0"
graceful-fs "^4.1.11"
- jest-config "^22.4.2"
- jest-haste-map "^22.4.2"
- jest-regex-util "^22.1.0"
- jest-resolve "^22.4.2"
- jest-util "^22.4.1"
- jest-validate "^22.4.2"
- json-stable-stringify "^1.0.1"
+ jest-config "^23.6.0"
+ jest-haste-map "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve "^23.6.0"
+ jest-snapshot "^23.6.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.6.0"
micromatch "^2.3.11"
realpath-native "^1.0.0"
slash "^1.0.0"
strip-bom "3.0.0"
write-file-atomic "^2.1.0"
- yargs "^10.0.3"
+ yargs "^11.0.0"
-jest-serializer@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.0.tgz#b5d145b98c4b0d2c20ab686609adbb81fe23b566"
+jest-serializer@^23.0.1:
+ version "23.0.1"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165"
+ integrity sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=
-jest-snapshot@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.0.tgz#03d3ce63f8fa7352388afc6a3c8b5ccc3a180ed7"
+jest-snapshot@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz#f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a"
+ integrity sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==
dependencies:
+ babel-types "^6.0.0"
chalk "^2.0.1"
- jest-diff "^22.4.0"
- jest-matcher-utils "^22.4.0"
+ jest-diff "^23.6.0"
+ jest-matcher-utils "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-resolve "^23.6.0"
mkdirp "^0.5.1"
natural-compare "^1.4.0"
- pretty-format "^22.4.0"
+ pretty-format "^23.6.0"
+ semver "^5.5.0"
-jest-util@^22.4.1:
- version "22.4.1"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.1.tgz#dd17c3bdb067f8e90591563ec0c42bf847dc249f"
+jest-util@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561"
+ integrity sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=
dependencies:
callsites "^2.0.0"
chalk "^2.0.1"
graceful-fs "^4.1.11"
is-ci "^1.0.10"
- jest-message-util "^22.4.0"
+ jest-message-util "^23.4.0"
mkdirp "^0.5.1"
+ slash "^1.0.0"
source-map "^0.6.0"
-jest-validate@^21.1.0:
- version "21.2.1"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.2.1.tgz#cc0cbca653cd54937ba4f2a111796774530dd3c7"
+jest-validate@^23.5.0, jest-validate@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474"
+ integrity sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==
dependencies:
chalk "^2.0.1"
- jest-get-type "^21.2.0"
- leven "^2.1.0"
- pretty-format "^21.2.1"
-
-jest-validate@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.2.tgz#e789a4e056173bf97fe797a2df2d52105c57d4f4"
- dependencies:
- chalk "^2.0.1"
- jest-config "^22.4.2"
jest-get-type "^22.1.0"
leven "^2.1.0"
- pretty-format "^22.4.0"
+ pretty-format "^23.6.0"
-jest-worker@^22.2.2:
- version "22.2.2"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.2.2.tgz#c1f5dc39976884b81f68ec50cb8532b2cbab3390"
+jest-watcher@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c"
+ integrity sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.1"
+ string-length "^2.0.0"
+
+jest-worker@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9"
+ integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=
dependencies:
merge-stream "^1.0.1"
-jest@^22.4.2:
- version "22.4.2"
- resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.2.tgz#34012834a49bf1bdd3bc783850ab44e4499afc20"
+jest@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz#ad5835e923ebf6e19e7a1d7529a432edfee7813d"
+ integrity sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==
dependencies:
import-local "^1.0.0"
- jest-cli "^22.4.2"
+ jest-cli "^23.6.0"
js-levenshtein@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.3.tgz#3ef627df48ec8cf24bacf05c0f184ff30ef413c5"
+ integrity sha512-/812MXr9RBtMObviZ8gQBhHO8MOrGj8HlEE+4ccMTElNA/6I3u39u+bhny55Lk921yn44nSZFy9naNLElL5wgQ==
js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-js-yaml@^3.11.0:
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.12.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
+ integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@@ -5215,6 +5910,7 @@ js-yaml@^3.11.0:
js-yaml@^3.2.1, js-yaml@^3.7.0, js-yaml@^3.9.0:
version "3.11.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
+ integrity sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@@ -5222,10 +5918,12 @@ js-yaml@^3.2.1, js-yaml@^3.7.0, js-yaml@^3.9.0:
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
jsdom@^11.5.1:
version "11.6.2"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.6.2.tgz#25d1ef332d48adf77fc5221fe2619967923f16bb"
+ integrity sha512-pAeZhpbSlUp5yQcS6cBQJwkbzmv4tWFaYxHbFVSxzXefqjvtRA851Z5N2P+TguVG9YeUDcgb8pdeVQRJh0XR3Q==
dependencies:
abab "^1.0.4"
acorn "^5.3.0"
@@ -5257,76 +5955,93 @@ jsdom@^11.5.1:
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+ integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
jsesc@^2.5.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe"
+ integrity sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
json-loader@^0.5.4:
version "0.5.7"
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
+ integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
json-parse-better-errors@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a"
+ integrity sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==
json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+ integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
dependencies:
jsonify "~0.0.0"
json-stable-stringify@~0.0.0:
version "0.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45"
+ integrity sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=
dependencies:
jsonify "~0.0.0"
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
json5@^0.5.0, json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
optionalDependencies:
graceful-fs "^4.1.6"
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
jsonparse@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
+ integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
dependencies:
assert-plus "1.0.0"
extsprintf "1.3.0"
@@ -5336,44 +6051,58 @@ jsprim@^1.2.2:
just-debounce@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea"
+ integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=
kew@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b"
+ integrity sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=
kind-of@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44"
+ integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
is-buffer "^1.1.5"
kind-of@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
dependencies:
is-buffer "^1.1.5"
kind-of@^5.0.0, kind-of@^5.0.2:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+ integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
klaw@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.1.1.tgz#42b76894701169cc910fd0d19ce677b5fb378af1"
+ integrity sha1-QrdolHARacyRD9DRnOZ3tfs3ivE=
dependencies:
graceful-fs "^4.1.9"
+kleur@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-1.0.2.tgz#637f126d3cda40a423b1297da88cf753bd04ebdd"
+ integrity sha512-4u2TF1/mKmiawrkjzCxRKszdCvqRsPgTJwjmZZt0RE4OiZMzvFfb4kwqfFP/p0gvakH1lhQOfCMYXUOYI9dTgA==
+
labeled-stream-splicer@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59"
+ integrity sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=
dependencies:
inherits "^2.0.1"
isarray "~0.0.1"
@@ -5382,6 +6111,7 @@ labeled-stream-splicer@^2.0.0:
last-run@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b"
+ integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls=
dependencies:
default-resolution "^2.0.0"
es6-weak-map "^2.0.1"
@@ -5389,38 +6119,45 @@ last-run@^1.1.0:
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+ integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
lazy-cache@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264"
+ integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=
dependencies:
set-getter "^0.1.0"
lazystream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
+ integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=
dependencies:
readable-stream "^2.0.5"
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
dependencies:
invert-kv "^1.0.0"
lead@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42"
+ integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=
dependencies:
flush-write-stream "^1.0.2"
left-pad@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee"
+ integrity sha1-0wpzxrggHY99jnlWupYWCHpo4O4=
lerna-changelog@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/lerna-changelog/-/lerna-changelog-0.5.0.tgz#1617a8193a1309451ffa1e686b425faf0424b3f8"
+ integrity sha512-+HFe8T3Q35Fwn2+fTRBvi0EdbKXrsGOozkuWBhq33DTJLBAqAFZ7m1LtKqF8LLuP0asZ0W9L+tGCAhoAt1+J1w==
dependencies:
chalk "^1.1.3"
mkdirp "^0.5.1"
@@ -5433,6 +6170,7 @@ lerna-changelog@^0.5.0:
lerna@^2.11.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.11.0.tgz#89b5681e286d388dda5bbbdbbf6b84c8094eff65"
+ integrity sha512-kgM6zwe2P2tR30MYvgiLLW+9buFCm6E7o8HnRlhTgm70WVBvXVhydqv+q/MF2HrVZkCawfVtCfetyQmtd4oHhQ==
dependencies:
async "^1.5.0"
chalk "^2.1.0"
@@ -5477,10 +6215,12 @@ lerna@^2.11.0:
leven@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
+ integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA=
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
dependencies:
prelude-ls "~1.1.2"
type-check "~0.3.2"
@@ -5488,12 +6228,14 @@ levn@^0.3.0, levn@~0.3.0:
lexical-scope@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4"
+ integrity sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=
dependencies:
astw "^2.0.0"
liftoff@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec"
+ integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=
dependencies:
extend "^3.0.0"
findup-sync "^2.0.0"
@@ -5504,38 +6246,43 @@ liftoff@^2.5.0:
rechoir "^0.6.2"
resolve "^1.1.7"
-lint-staged@^6.0.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-6.1.1.tgz#cd08c4d9b8ccc2d37198d1c47ce77d22be6cf324"
+lint-staged@^7.3.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-7.3.0.tgz#90ff33e5ca61ed3dbac35b6f6502dbefdc0db58d"
+ integrity sha512-AXk40M9DAiPi7f4tdJggwuKIViUplYtVj1os1MVEteW7qOkU50EOehayCfO9TsoGK24o/EsWb41yrEgfJDDjCw==
dependencies:
- app-root-path "^2.0.0"
- chalk "^2.1.0"
- commander "^2.11.0"
- cosmiconfig "^4.0.0"
+ chalk "^2.3.1"
+ commander "^2.14.1"
+ cosmiconfig "^5.0.2"
debug "^3.1.0"
dedent "^0.7.0"
- execa "^0.8.0"
+ execa "^0.9.0"
find-parent-dir "^0.3.0"
is-glob "^4.0.0"
- jest-validate "^21.1.0"
- listr "^0.13.0"
- lodash "^4.17.4"
- log-symbols "^2.0.0"
- minimatch "^3.0.0"
+ is-windows "^1.0.2"
+ jest-validate "^23.5.0"
+ listr "^0.14.1"
+ lodash "^4.17.5"
+ log-symbols "^2.2.0"
+ micromatch "^3.1.8"
npm-which "^3.0.1"
p-map "^1.1.1"
path-is-inside "^1.0.2"
pify "^3.0.0"
- staged-git-files "1.0.0"
- stringify-object "^3.2.0"
+ please-upgrade-node "^3.0.2"
+ staged-git-files "1.1.1"
+ string-argv "^0.0.2"
+ stringify-object "^3.2.2"
listr-silent-renderer@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
+ integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=
listr-update-renderer@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7"
+ integrity sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=
dependencies:
chalk "^1.1.3"
cli-truncate "^0.2.1"
@@ -5549,37 +6296,32 @@ listr-update-renderer@^0.4.0:
listr-verbose-renderer@^0.4.0:
version "0.4.1"
resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35"
+ integrity sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=
dependencies:
chalk "^1.1.3"
cli-cursor "^1.0.2"
date-fns "^1.27.2"
figures "^1.7.0"
-listr@^0.13.0:
- version "0.13.0"
- resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d"
+listr@^0.14.1:
+ version "0.14.2"
+ resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.2.tgz#cbe44b021100a15376addfc2d79349ee430bfe14"
+ integrity sha512-vmaNJ1KlGuGWShHI35X/F8r9xxS0VTHh9GejVXwSN20fG5xpq3Jh4bJbnumoT6q5EDM/8/YP1z3YMtQbFmhuXw==
dependencies:
- chalk "^1.1.3"
- cli-truncate "^0.2.1"
- figures "^1.7.0"
- indent-string "^2.1.0"
- is-observable "^0.2.0"
+ "@samverschueren/stream-to-observable" "^0.3.0"
+ is-observable "^1.1.0"
is-promise "^2.1.0"
is-stream "^1.1.0"
listr-silent-renderer "^1.1.1"
listr-update-renderer "^0.4.0"
listr-verbose-renderer "^0.4.0"
- log-symbols "^1.0.2"
- log-update "^1.0.2"
- ora "^0.2.3"
p-map "^1.1.1"
- rxjs "^5.4.2"
- stream-to-observable "^0.2.0"
- strip-ansi "^3.0.1"
+ rxjs "^6.1.0"
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
dependencies:
graceful-fs "^4.1.2"
parse-json "^2.2.0"
@@ -5590,6 +6332,7 @@ load-json-file@^1.0.0:
load-json-file@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
dependencies:
graceful-fs "^4.1.2"
parse-json "^2.2.0"
@@ -5599,6 +6342,7 @@ load-json-file@^2.0.0:
load-json-file@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+ integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
dependencies:
graceful-fs "^4.1.2"
parse-json "^4.0.0"
@@ -5608,10 +6352,12 @@ load-json-file@^4.0.0:
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
+ integrity sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=
loader-utils@^1.0.2, loader-utils@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
+ integrity sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
@@ -5620,67 +6366,90 @@ loader-utils@^1.0.2, loader-utils@^1.1.0:
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
dependencies:
p-locate "^2.0.0"
path-exists "^3.0.0"
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
+ integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=
lodash._basetostring@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
+ integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=
lodash._basevalues@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
+ integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+ integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+ integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=
lodash._reescape@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
+ integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=
lodash._reevaluate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
+ integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=
lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+ integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
lodash._root@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
+ integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=
lodash.clone@^4.3.2:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6"
+ integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=
lodash.escape@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
+ integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=
dependencies:
lodash._root "^3.0.0"
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+ integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+ integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
lodash.keys@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+ integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
dependencies:
lodash._getnative "^3.0.0"
lodash.isarguments "^3.0.0"
@@ -5689,22 +6458,27 @@ lodash.keys@^3.0.0:
lodash.memoize@~3.0.3:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
+ integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=
lodash.restparam@^3.0.0:
version "3.6.1"
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
+ integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
lodash.some@^4.2.2:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
+ integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
lodash.template@^3.0.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
+ integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=
dependencies:
lodash._basecopy "^3.0.0"
lodash._basetostring "^3.0.0"
@@ -5719,6 +6493,7 @@ lodash.template@^3.0.0:
lodash.template@^4.0.2:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
+ integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=
dependencies:
lodash._reinterpolate "~3.0.0"
lodash.templatesettings "^4.0.0"
@@ -5726,6 +6501,7 @@ lodash.template@^4.0.2:
lodash.templatesettings@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
+ integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=
dependencies:
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
@@ -5733,32 +6509,38 @@ lodash.templatesettings@^3.0.0:
lodash.templatesettings@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
+ integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=
dependencies:
lodash._reinterpolate "~3.0.0"
lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0:
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
+ integrity sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==
lodash@^4.17.10, lodash@^4.17.5:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
+ integrity sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==
log-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
+ integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=
dependencies:
chalk "^1.0.0"
-log-symbols@^2.0.0:
+log-symbols@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
+ integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
dependencies:
chalk "^2.0.1"
log-update@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1"
+ integrity sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=
dependencies:
ansi-escapes "^1.0.0"
cli-cursor "^1.0.2"
@@ -5766,16 +6548,19 @@ log-update@^1.0.2:
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+ integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
loose-envify@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ integrity sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=
dependencies:
js-tokens "^3.0.0"
loud-rejection@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
dependencies:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
@@ -5783,14 +6568,17 @@ loud-rejection@^1.0.0:
lower-case@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+ integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
lowercase-keys@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+ integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
lru-cache@^4.0.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
+ integrity sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==
dependencies:
pseudomap "^1.0.2"
yallist "^2.1.2"
@@ -5798,52 +6586,62 @@ lru-cache@^4.0.1:
make-dir@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b"
+ integrity sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==
dependencies:
pify "^3.0.0"
make-error-cause@^1.1.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d"
+ integrity sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=
dependencies:
make-error "^1.2.0"
make-error@^1.2.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535"
+ integrity sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==
make-iterator@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.0.tgz#57bef5dc85d23923ba23767324d8e8f8f3d9694b"
+ integrity sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=
dependencies:
kind-of "^3.1.0"
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
+ integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=
dependencies:
tmpl "1.0.x"
map-cache@^0.2.0, map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
map-obj@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9"
+ integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk=
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
object-visit "^1.0.0"
matchdep@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e"
+ integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4=
dependencies:
findup-sync "^2.0.0"
micromatch "^3.0.4"
@@ -5853,6 +6651,7 @@ matchdep@^2.0.0:
md5.js@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d"
+ integrity sha1-6b296UogpawYsENA/Fdk1bCdkB0=
dependencies:
hash-base "^3.0.0"
inherits "^2.0.1"
@@ -5860,12 +6659,14 @@ md5.js@^1.3.4:
mem@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=
dependencies:
mimic-fn "^1.0.0"
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
dependencies:
errno "^0.1.3"
readable-stream "^2.0.1"
@@ -5873,6 +6674,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
meow@^3.3.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
dependencies:
camelcase-keys "^2.0.0"
decamelize "^1.1.2"
@@ -5888,6 +6690,7 @@ meow@^3.3.0:
meow@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.0.tgz#fd5855dd008db5b92c552082db1c307cba20b29d"
+ integrity sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==
dependencies:
camelcase-keys "^4.0.0"
decamelize-keys "^1.0.0"
@@ -5902,16 +6705,19 @@ meow@^4.0.0:
merge-stream@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
+ integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
dependencies:
readable-stream "^2.0.1"
merge@^1.1.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
+ integrity sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=
micromatch@^2.1.5, micromatch@^2.3.11:
version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
dependencies:
arr-diff "^2.0.0"
array-unique "^0.2.1"
@@ -5930,6 +6736,7 @@ micromatch@^2.1.5, micromatch@^2.3.11:
micromatch@^3.0.4, micromatch@^3.1.4:
version "3.1.9"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89"
+ integrity sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -5945,9 +6752,10 @@ micromatch@^3.0.4, micromatch@^3.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-micromatch@^3.1.10:
+micromatch@^3.1.8:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -5966,6 +6774,7 @@ micromatch@^3.1.10:
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
dependencies:
bn.js "^4.0.0"
brorand "^1.0.1"
@@ -5973,34 +6782,41 @@ miller-rabin@^4.0.0:
mime-db@~1.33.0:
version "1.33.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+ integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7:
version "2.1.18"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
+ integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==
dependencies:
mime-db "~1.33.0"
mimic-fn@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+ integrity sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
minimist-options@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954"
+ integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==
dependencies:
arrify "^1.0.1"
is-plain-obj "^1.1.0"
@@ -6008,22 +6824,27 @@ minimist-options@^3.0.1:
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de"
+ integrity sha1-md9lelJXTCHJBXSX33QnkLK0wN4=
minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+ integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+ integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=
minipass@^2.2.1, minipass@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.2.4.tgz#03c824d84551ec38a8d1bb5bc350a5a30a354a40"
+ integrity sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==
dependencies:
safe-buffer "^5.1.1"
yallist "^3.0.0"
@@ -6031,12 +6852,14 @@ minipass@^2.2.1, minipass@^2.2.4:
minizlib@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
+ integrity sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==
dependencies:
minipass "^2.2.1"
mixin-deep@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
+ integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
@@ -6044,28 +6867,31 @@ mixin-deep@^1.2.0:
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
modify-values@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2"
+ integrity sha1-4rbN65zhn5kxelNyLz2/XfXqqrI=
-module-deps@^4.0.8:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd"
+module-deps@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-6.1.0.tgz#d1e1efc481c6886269f7112c52c3236188e16479"
+ integrity sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==
dependencies:
JSONStream "^1.0.3"
browser-resolve "^1.7.0"
cached-path-relative "^1.0.0"
- concat-stream "~1.5.0"
+ concat-stream "~1.6.0"
defined "^1.0.0"
- detective "^4.0.0"
+ detective "^5.0.2"
duplexer2 "^0.1.2"
inherits "^2.0.1"
parents "^1.0.0"
readable-stream "^2.0.2"
- resolve "^1.1.3"
+ resolve "^1.4.0"
stream-combiner2 "^1.1.1"
subarg "^1.0.0"
through2 "^2.0.0"
@@ -6074,14 +6900,17 @@ module-deps@^4.0.8:
moment@^2.6.0:
version "2.21.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a"
+ integrity sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
multimatch@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b"
+ integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=
dependencies:
array-differ "^1.0.0"
array-union "^1.0.1"
@@ -6091,28 +6920,34 @@ multimatch@^2.0.0:
multipipe@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
+ integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=
dependencies:
duplexer2 "0.0.2"
mute-stdout@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.0.tgz#5b32ea07eb43c9ded6130434cf926f46b2a7fd4d"
+ integrity sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=
mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
nan@^2.3.0:
version "2.9.2"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.2.tgz#f564d75f5f8f36a6d9456cca7a6c4fe488ab7866"
+ integrity sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==
nan@^2.9.2:
version "2.10.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
+ integrity sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==
nanomatch@^1.2.9:
version "1.2.9"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2"
+ integrity sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -6130,16 +6965,19 @@ nanomatch@^1.2.9:
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
ncname@1.0.x:
version "1.0.0"
resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
+ integrity sha1-W1etGLHKCShk72Kwse2BlPODtxw=
dependencies:
xml-char-classes "^1.0.0"
needle@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.0.tgz#f14efc69cee1024b72c8b21c7bdf94a731dc12fa"
+ integrity sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==
dependencies:
debug "^2.1.2"
iconv-lite "^0.4.4"
@@ -6148,20 +6986,24 @@ needle@^2.2.0:
neo-async@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.0.tgz#76b1c823130cca26acfbaccc8fbaf0a2fa33b18f"
+ integrity sha512-nJmSswG4As/MkRq7QZFuH/sf/yuv8ODdMZrY4Bedjp77a5MK4A6s7YbBB64c9u79EBUOfXUXBvArmvzTD0X+6g==
nice-try@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4"
+ integrity sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==
no-case@^2.2.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
dependencies:
lower-case "^1.1.1"
node-fetch@^1.7.0:
version "1.7.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
+ integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"
@@ -6169,10 +7011,12 @@ node-fetch@^1.7.0:
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+ integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
node-libs-browser@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df"
+ integrity sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==
dependencies:
assert "^1.1.1"
browserify-zlib "^0.2.0"
@@ -6201,10 +7045,12 @@ node-libs-browser@^2.0.0:
node-modules-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
+ integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
node-notifier@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea"
+ integrity sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==
dependencies:
growly "^1.3.0"
semver "^5.4.1"
@@ -6214,6 +7060,7 @@ node-notifier@^5.2.1:
node-pre-gyp@^0.6.39:
version "0.6.39"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
+ integrity sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==
dependencies:
detect-libc "^1.0.2"
hawk "3.1.3"
@@ -6230,6 +7077,7 @@ node-pre-gyp@^0.6.39:
node-pre-gyp@^0.9.0:
version "0.9.1"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz#f11c07516dd92f87199dbc7e1838eab7cd56c9e0"
+ integrity sha1-8RwHUW3ZL4cZnbx+GDjqt81WyeA=
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
@@ -6242,9 +7090,17 @@ node-pre-gyp@^0.9.0:
semver "^5.3.0"
tar "^4"
+node-releases@^1.0.0-alpha.11:
+ version "1.0.0-alpha.11"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.11.tgz#73c810acc2e5b741a17ddfbb39dfca9ab9359d8a"
+ integrity sha512-CaViu+2FqTNYOYNihXa5uPS/zry92I3vPU4nCB6JB3OeZ2UGtOpF5gRwuN4+m3hbEcL47bOXyun1jX2iC+3uEQ==
+ dependencies:
+ semver "^5.3.0"
+
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
dependencies:
abbrev "1"
osenv "^0.1.4"
@@ -6252,35 +7108,36 @@ nopt@^4.0.1:
normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5:
version "2.4.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==
dependencies:
hosted-git-info "^2.1.4"
is-builtin-module "^1.0.0"
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-path@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
-
normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
dependencies:
remove-trailing-separator "^1.0.1"
now-and-later@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee"
+ integrity sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=
dependencies:
once "^1.3.2"
npm-bundled@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
+ integrity sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==
npm-packlist@^1.1.6:
version "1.1.10"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
+ integrity sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
@@ -6288,18 +7145,21 @@ npm-packlist@^1.1.6:
npm-path@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64"
+ integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==
dependencies:
which "^1.2.10"
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
dependencies:
path-key "^2.0.0"
npm-which@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
+ integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=
dependencies:
commander "^2.9.0"
npm-path "^2.0.2"
@@ -6308,6 +7168,7 @@ npm-which@^3.0.1:
npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
@@ -6317,32 +7178,39 @@ npmlog@^4.0.2, npmlog@^4.1.2:
nth-check@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
+ integrity sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=
dependencies:
boolbase "~1.0.0"
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
nwmatcher@^1.4.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c"
+ integrity sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==
oauth-sign@~0.8.1, oauth-sign@~0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+ integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=
object-assign@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+ integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=
object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
object-copy@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
dependencies:
copy-descriptor "^0.1.0"
define-property "^0.2.5"
@@ -6351,16 +7219,19 @@ object-copy@^0.1.0:
object-keys@^1.0.11, object-keys@^1.0.6, object-keys@^1.0.8:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+ integrity sha1-xUYBd4rVYPEULODgG8yotW0TQm0=
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
dependencies:
isobject "^3.0.0"
object.assign@^4.0.4:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+ integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
dependencies:
define-properties "^1.1.2"
function-bind "^1.1.1"
@@ -6370,6 +7241,7 @@ object.assign@^4.0.4:
object.defaults@^1.0.0, object.defaults@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
+ integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=
dependencies:
array-each "^1.0.1"
array-slice "^1.0.0"
@@ -6379,6 +7251,7 @@ object.defaults@^1.0.0, object.defaults@^1.1.0:
object.getownpropertydescriptors@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
+ integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=
dependencies:
define-properties "^1.1.2"
es-abstract "^1.5.1"
@@ -6386,6 +7259,7 @@ object.getownpropertydescriptors@^2.0.3:
object.map@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
+ integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=
dependencies:
for-own "^1.0.0"
make-iterator "^1.0.0"
@@ -6393,6 +7267,7 @@ object.map@^1.0.0:
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
dependencies:
for-own "^0.1.4"
is-extendable "^0.1.1"
@@ -6400,12 +7275,14 @@ object.omit@^2.0.0:
object.pick@^1.2.0, object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
dependencies:
isobject "^3.0.1"
object.reduce@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad"
+ integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=
dependencies:
for-own "^1.0.0"
make-iterator "^1.0.0"
@@ -6413,22 +7290,26 @@ object.reduce@^1.0.0:
once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.3.3, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
onetime@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+ integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=
onetime@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
dependencies:
mimic-fn "^1.0.0"
optimist@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY=
dependencies:
minimist "~0.0.1"
wordwrap "~0.0.2"
@@ -6436,6 +7317,7 @@ optimist@^0.6.1:
optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
dependencies:
deep-is "~0.1.3"
fast-levenshtein "~2.0.4"
@@ -6444,42 +7326,34 @@ optionator@^0.8.1, optionator@^0.8.2:
type-check "~0.3.2"
wordwrap "~1.0.0"
-ora@^0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
- dependencies:
- chalk "^1.1.1"
- cli-cursor "^1.0.2"
- cli-spinners "^0.1.2"
- object-assign "^4.0.1"
-
ordered-read-streams@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e"
+ integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=
dependencies:
readable-stream "^2.0.1"
-os-browserify@^0.3.0:
+os-browserify@^0.3.0, os-browserify@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
-
-os-browserify@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
os-locale@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
dependencies:
lcid "^1.0.0"
os-locale@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
+ integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==
dependencies:
execa "^0.7.0"
lcid "^1.0.0"
@@ -6488,10 +7362,12 @@ os-locale@^2.0.0:
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
osenv@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
@@ -6499,6 +7375,7 @@ osenv@^0.1.4:
output-file-sync@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0"
+ integrity sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==
dependencies:
graceful-fs "^4.1.11"
is-plain-obj "^1.1.0"
@@ -6507,59 +7384,84 @@ output-file-sync@^2.0.0:
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-limit@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
+ integrity sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==
dependencies:
p-try "^1.0.0"
+p-limit@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec"
+ integrity sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==
+ dependencies:
+ p-try "^2.0.0"
+
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
dependencies:
p-limit "^1.1.0"
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ dependencies:
+ p-limit "^2.0.0"
+
p-map@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
+ integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
+p-try@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1"
+ integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==
package-json@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
+ integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=
dependencies:
got "^6.7.1"
registry-auth-token "^3.0.1"
registry-url "^3.0.3"
semver "^5.1.0"
-pako@~0.2.0:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
-
pako@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
+ integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==
param-case@2.1.x:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
+ integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
dependencies:
no-case "^2.2.0"
parents@^1.0.0, parents@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751"
+ integrity sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=
dependencies:
path-platform "~0.11.15"
parse-asn1@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+ integrity sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=
dependencies:
asn1.js "^4.0.0"
browserify-aes "^1.0.0"
@@ -6570,6 +7472,7 @@ parse-asn1@^5.0.0:
parse-filepath@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
+ integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=
dependencies:
is-absolute "^1.0.0"
map-cache "^0.2.0"
@@ -6578,10 +7481,12 @@ parse-filepath@^1.0.1:
parse-github-repo-url@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50"
+ integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A=
parse-glob@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
dependencies:
glob-base "^0.3.0"
is-dotfile "^1.0.0"
@@ -6591,12 +7496,14 @@ parse-glob@^3.0.4:
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
dependencies:
error-ex "^1.2.0"
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
dependencies:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
@@ -6604,72 +7511,88 @@ parse-json@^4.0.0:
parse-passwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
parse5@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
+ integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
parse5@^3.0.1:
version "3.0.3"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
+ integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==
dependencies:
"@types/node" "*"
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
path-browserify@0.0.0, path-browserify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+ integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
path-exists@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
dependencies:
pinkie-promise "^2.0.0"
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-is-inside@^1.0.1, path-is-inside@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-parse@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+ integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=
path-platform@~0.11.15:
version "0.11.15"
resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"
+ integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=
path-root-regex@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
+ integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=
path-root@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
+ integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=
dependencies:
path-root-regex "^0.1.0"
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
dependencies:
graceful-fs "^4.1.2"
pify "^2.0.0"
@@ -6678,18 +7601,21 @@ path-type@^1.0.0:
path-type@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
dependencies:
pify "^2.0.0"
path-type@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
dependencies:
pify "^3.0.0"
pbkdf2@^3.0.3:
version "3.0.14"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade"
+ integrity sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@@ -6700,44 +7626,67 @@ pbkdf2@^3.0.3:
performance-now@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+ integrity sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
dependencies:
pinkie "^2.0.0"
pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
-pirates@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-3.0.2.tgz#7e6f85413fd9161ab4e12b539b06010d85954bb9"
+pirates@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd"
+ integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==
dependencies:
node-modules-regexp "^1.0.0"
pkg-dir@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
dependencies:
find-up "^2.1.0"
+pkg-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+ dependencies:
+ find-up "^3.0.0"
+
+please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac"
+ integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==
+ dependencies:
+ semver-compare "^1.0.0"
+
plugin-error@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace"
+ integrity sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=
dependencies:
ansi-cyan "^0.1.1"
ansi-red "^0.1.1"
@@ -6748,6 +7697,7 @@ plugin-error@^0.1.2:
plugin-error@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c"
+ integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==
dependencies:
ansi-colors "^1.0.1"
arr-diff "^4.0.0"
@@ -6757,41 +7707,42 @@ plugin-error@^1.0.1:
pluralize@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+ integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==
pn@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
+ integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
prepend-http@^1.0.1:
version "1.0.4"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+ integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
-prettier@1.13.2:
- version "1.13.2"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.2.tgz#412b87bc561cb11074d2877a33a38f78c2303cda"
+prettier@^1.14.3:
+ version "1.14.3"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.3.tgz#90238dd4c0684b7edce5f83b0fb7328e48bd0895"
+ integrity sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==
-pretty-format@^21.2.1:
- version "21.2.1"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.2.1.tgz#ae5407f3cf21066cd011aa1ba5fce7b6a2eddb36"
- dependencies:
- ansi-regex "^3.0.0"
- ansi-styles "^3.2.0"
-
-pretty-format@^22.4.0:
- version "22.4.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.0.tgz#237b1f7e1c50ed03bc65c03ccc29d7c8bb7beb94"
+pretty-format@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760"
+ integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==
dependencies:
ansi-regex "^3.0.0"
ansi-styles "^3.2.0"
@@ -6799,42 +7750,60 @@ pretty-format@^22.4.0:
pretty-hrtime@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
+ integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
private@^0.1.6, private@^0.1.7, private@~0.1.5:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+ integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
process-nextick-args@^1.0.6, process-nextick-args@^1.0.7, process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+ integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
process-nextick-args@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+ integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==
process@^0.11.10, process@~0.11.0:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
progress@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+ integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
progress@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
+ integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=
+
+prompts@^0.1.9:
+ version "0.1.12"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.12.tgz#39dc42de7d2f0ec3e2af76bf40713fcb8726090d"
+ integrity sha512-pgR1GE1JM8q8UsHVIgjdK62DPwvrf0kvaKWJ/mfMoCm2lwfIReX/giQ1p0AlMoUXNhQap/8UiOdqi3bOROm/eg==
+ dependencies:
+ kleur "^1.0.0"
+ sisteransi "^0.1.1"
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
public-encrypt@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ integrity sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=
dependencies:
bn.js "^4.1.0"
browserify-rsa "^4.0.0"
@@ -6845,6 +7814,7 @@ public-encrypt@^4.0.0:
pump@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954"
+ integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
@@ -6852,6 +7822,7 @@ pump@^1.0.2:
pump@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
@@ -6859,6 +7830,7 @@ pump@^2.0.0:
pumpify@^1.3.5:
version "1.4.0"
resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb"
+ integrity sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==
dependencies:
duplexify "^3.5.3"
inherits "^2.0.3"
@@ -6867,42 +7839,52 @@ pumpify@^1.3.5:
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
punycode@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d"
+ integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=
q@^1.4.1, q@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
qs@~6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+ integrity sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=
qs@~6.5.1:
version "6.5.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
+ integrity sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==
querystring-es3@^0.2.0, querystring-es3@~0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
quick-lru@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8"
+ integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=
randomatic@^1.1.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
+ integrity sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
@@ -6910,12 +7892,14 @@ randomatic@^1.1.3:
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80"
+ integrity sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==
dependencies:
safe-buffer "^5.1.0"
randomfill@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
dependencies:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
@@ -6923,6 +7907,7 @@ randomfill@^1.0.3:
rc@^1.0.1, rc@^1.1.6:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
dependencies:
deep-extend "^0.6.0"
ini "~1.3.0"
@@ -6932,6 +7917,7 @@ rc@^1.0.1, rc@^1.1.6:
rc@^1.1.7:
version "1.2.5"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd"
+ integrity sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=
dependencies:
deep-extend "~0.4.0"
ini "~1.3.0"
@@ -6941,18 +7927,21 @@ rc@^1.1.7:
read-cmd-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b"
+ integrity sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs=
dependencies:
graceful-fs "^4.1.2"
read-only-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0"
+ integrity sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=
dependencies:
readable-stream "^2.0.2"
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
dependencies:
find-up "^1.0.0"
read-pkg "^1.0.0"
@@ -6960,6 +7949,7 @@ read-pkg-up@^1.0.1:
read-pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
dependencies:
find-up "^2.0.0"
read-pkg "^2.0.0"
@@ -6967,6 +7957,7 @@ read-pkg-up@^2.0.0:
read-pkg-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
+ integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
dependencies:
find-up "^2.0.0"
read-pkg "^3.0.0"
@@ -6974,6 +7965,7 @@ read-pkg-up@^3.0.0:
read-pkg@^1.0.0, read-pkg@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
dependencies:
load-json-file "^1.0.0"
normalize-package-data "^2.3.2"
@@ -6982,6 +7974,7 @@ read-pkg@^1.0.0, read-pkg@^1.1.0:
read-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
dependencies:
load-json-file "^2.0.0"
normalize-package-data "^2.3.2"
@@ -6990,14 +7983,25 @@ read-pkg@^2.0.0:
read-pkg@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+ integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
dependencies:
load-json-file "^4.0.0"
normalize-package-data "^2.3.2"
path-type "^3.0.0"
+read-pkg@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237"
+ integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc=
+ dependencies:
+ normalize-package-data "^2.3.2"
+ parse-json "^4.0.0"
+ pify "^3.0.0"
+
"readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@~1.1.9:
version "1.1.14"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
@@ -7007,6 +8011,7 @@ read-pkg@^3.0.0:
readable-stream@^2.0.0, readable-stream@^2.0.4:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
@@ -7019,6 +8024,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.4:
readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3:
version "2.3.5"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d"
+ integrity sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
@@ -7031,6 +8037,7 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable
readable-stream@~2.0.0:
version "2.0.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ integrity sha1-j5A0HmilPMySh4jaz80Rs265t44=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
@@ -7042,6 +8049,7 @@ readable-stream@~2.0.0:
readdirp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ integrity sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=
dependencies:
graceful-fs "^4.1.2"
minimatch "^3.0.2"
@@ -7051,12 +8059,14 @@ readdirp@^2.0.0:
realpath-native@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.0.tgz#7885721a83b43bd5327609f0ddecb2482305fdf0"
+ integrity sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ==
dependencies:
util.promisify "^1.0.0"
recast@~0.11.12:
version "0.11.23"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3"
+ integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=
dependencies:
ast-types "0.9.6"
esprima "~3.1.0"
@@ -7066,12 +8076,14 @@ recast@~0.11.12:
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
dependencies:
resolve "^1.1.6"
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
dependencies:
indent-string "^2.1.0"
strip-indent "^1.0.1"
@@ -7079,6 +8091,7 @@ redent@^1.0.0:
redent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa"
+ integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=
dependencies:
indent-string "^3.0.0"
strip-indent "^2.0.0"
@@ -7086,59 +8099,68 @@ redent@^2.0.0:
regenerate-unicode-properties@^5.1.1:
version "5.1.3"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-5.1.3.tgz#54f5891543468f36f2274b67c6bc4c033c27b308"
+ integrity sha512-Yjy6t7jFQczDhYE+WVm7pg6gWYE258q4sUkk9qDErwXJIqx7jU9jGrMFHutJK/SRfcg7MEkXjGaYiVlOZyev/A==
dependencies:
regenerate "^1.3.3"
regenerate-unicode-properties@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"
+ integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==
dependencies:
regenerate "^1.4.0"
regenerate@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
+ integrity sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==
regenerate@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
+ integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regenerator-runtime@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.0.tgz#8052ac952d85b10f3425192cd0c53f45cf65c6cb"
+ integrity sha512-SpV2LhF5Dm9UYMEprB3WwsBnWwqTrmjrm2UZb42cl2G02WVGgx7Mg8aa9pdLEKp6hZ+/abcMc2NxKA8f02EG2w==
regenerator-transform@^0.13.3:
version "0.13.3"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb"
+ integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==
dependencies:
private "^0.1.6"
regex-cache@^0.4.2:
version "0.4.4"
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
dependencies:
is-equal-shallow "^0.1.3"
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
dependencies:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
-regexp.prototype.flags@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c"
- dependencies:
- define-properties "^1.1.2"
-
-regexpp@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
+regexpp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.0.tgz#b2a7534a85ca1b033bcf5ce9ff8e56d4e0755365"
+ integrity sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==
regexpu-core@^4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.1.3.tgz#fb81616dbbc2a917a7419b33f8379144f51eb8d0"
+ integrity sha512-mB+njEzO7oezA57IbQxxd6fVPOeWKDmnGvJ485CwmfNchjHe5jWwqKepapmzUEj41yxIAqOg+C4LbXuJlkiO8A==
dependencies:
regenerate "^1.3.3"
regenerate-unicode-properties "^5.1.1"
@@ -7150,6 +8172,7 @@ regexpu-core@^4.1.3:
regexpu-core@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d"
+ integrity sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==
dependencies:
regenerate "^1.4.0"
regenerate-unicode-properties "^7.0.0"
@@ -7161,6 +8184,7 @@ regexpu-core@^4.2.0:
registry-auth-token@^3.0.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20"
+ integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==
dependencies:
rc "^1.1.6"
safe-buffer "^5.0.1"
@@ -7168,36 +8192,43 @@ registry-auth-token@^3.0.1:
registry-url@^3.0.3:
version "3.1.0"
resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
+ integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI=
dependencies:
rc "^1.0.1"
regjsgen@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.3.0.tgz#0ee4a3e9276430cda25f1e789ea6c15b87b0cb43"
+ integrity sha1-DuSj6SdkMM2iXx54nqbBW4ewy0M=
regjsgen@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561"
+ integrity sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==
regjsparser@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.2.1.tgz#c3787553faf04e775c302102ef346d995000ec1c"
+ integrity sha1-w3h1U/rwTndcMCEC7zRtmVAA7Bw=
dependencies:
jsesc "~0.5.0"
regjsparser@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96"
+ integrity sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==
dependencies:
jsesc "~0.5.0"
relateurl@0.2.x:
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+ integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
remove-bom-buffer@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53"
+ integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==
dependencies:
is-buffer "^1.1.5"
is-utf8 "^0.2.1"
@@ -7205,6 +8236,7 @@ remove-bom-buffer@^3.0.0:
remove-bom-stream@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523"
+ integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=
dependencies:
remove-bom-buffer "^3.0.0"
safe-buffer "^5.1.0"
@@ -7213,32 +8245,39 @@ remove-bom-stream@^1.2.0:
remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
repeat-element@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+ integrity sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=
repeat-string@^1.5.2, repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
dependencies:
is-finite "^1.0.0"
replace-ext@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
+ integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
replace-ext@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+ integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
replace-homedir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c"
+ integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=
dependencies:
homedir-polyfill "^1.0.1"
is-absolute "^1.0.0"
@@ -7247,12 +8286,14 @@ replace-homedir@^1.0.0:
request-promise-core@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6"
+ integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=
dependencies:
lodash "^4.13.1"
request-promise-native@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5"
+ integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=
dependencies:
request-promise-core "1.1.1"
stealthy-require "^1.1.0"
@@ -7261,6 +8302,7 @@ request-promise-native@^1.0.5:
request@2.81.0:
version "2.81.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
+ integrity sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
@@ -7288,6 +8330,7 @@ request@2.81.0:
request@^2.83.0:
version "2.83.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
+ integrity sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.6.0"
@@ -7315,18 +8358,17 @@ request@^2.83.0:
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-
-require-from-string@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.1.tgz#c545233e9d7da6616e9d59adfb39fc9f588676ff"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+ integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
require-uncached@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
dependencies:
caller-path "^0.1.0"
resolve-from "^1.0.0"
@@ -7334,12 +8376,14 @@ require-uncached@^1.0.3:
resolve-cwd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
+ integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
dependencies:
resolve-from "^3.0.0"
resolve-dir@^1.0.0, resolve-dir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
dependencies:
expand-tilde "^2.0.0"
global-modules "^1.0.0"
@@ -7347,40 +8391,55 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1:
resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+ integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha1-six699nWiBvItuZTM17rywoYh0g=
resolve-options@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131"
+ integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=
dependencies:
value-or-function "^3.0.0"
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+ integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
-resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2:
+resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
+ integrity sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==
dependencies:
path-parse "^1.0.5"
resolve@^1.4.0:
version "1.7.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
+ integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==
+ dependencies:
+ path-parse "^1.0.5"
+
+resolve@^1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
+ integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=
dependencies:
exit-hook "^1.0.0"
onetime "^1.0.0"
@@ -7388,6 +8447,7 @@ restore-cursor@^1.0.1:
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
dependencies:
onetime "^2.0.0"
signal-exit "^3.0.2"
@@ -7395,22 +8455,26 @@ restore-cursor@^2.0.0:
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
right-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
dependencies:
align-text "^0.1.1"
rimraf@2, rimraf@^2.2.8, rimraf@^2.4.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
dependencies:
glob "^7.0.5"
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
+ integrity sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=
dependencies:
hash-base "^2.0.0"
inherits "^2.0.1"
@@ -7418,6 +8482,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
rollup-plugin-babel@^4.0.0-beta.0:
version "4.0.0-beta.2"
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.0.0-beta.2.tgz#abc05af4644aa52180e3fa2452f909b39b4ef145"
+ integrity sha1-q8Ba9GRKpSGA4/okUvkJs5tO8UU=
dependencies:
"@babel/helper-module-imports" "7.0.0-beta.35"
rollup-pluginutils "^2.0.1"
@@ -7425,6 +8490,7 @@ rollup-plugin-babel@^4.0.0-beta.0:
rollup-plugin-node-resolve@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.3.tgz#8f57b253edd00e5b0ad0aed7b7e9cf5982e98fa4"
+ integrity sha512-qJLXJ1aASV6p8SrEfRdQdHmb5OQmqXyIWIdVGcju8QFzftSsHcuL554Vy+n8mr0fZCC+ksO6aWJ7TAVl2F+Qwg==
dependencies:
builtin-modules "^1.1.0"
is-module "^1.0.0"
@@ -7433,6 +8499,7 @@ rollup-plugin-node-resolve@^3.0.2:
rollup-pluginutils@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz#7ec95b3573f6543a46a6461bd9a7c544525d0fc0"
+ integrity sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=
dependencies:
estree-walker "^0.3.0"
micromatch "^2.3.11"
@@ -7440,58 +8507,67 @@ rollup-pluginutils@^2.0.1:
rollup-stream@^1.24.1:
version "1.24.1"
resolved "https://registry.yarnpkg.com/rollup-stream/-/rollup-stream-1.24.1.tgz#9bc002afba51c517e6daa3e17f9559580a460f89"
+ integrity sha512-iQ159xbWSOPc7ey8tjEYf7pCaQwBz3ov37KNCeDewqh6Qj1gntAgZSmmEJIPs2niXMDNqVZ3rnTFXBXhZ+sYSg==
dependencies:
rollup "^0.49.2"
rollup@^0.49.2:
version "0.49.3"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.49.3.tgz#4cce32643dd8cf2154c69ff0e43470067db0adbf"
+ integrity sha512-n/vHRX4GhMIyGZEQRANcSFVtvz99bSRbNMuoC33ar9f4CViqffyF9WklLb2mxIQ6I/uFf7wDEpc66bXBFE7FvA==
run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
+ integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
dependencies:
is-promise "^2.1.0"
+run-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
+ integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
+
rx-lite-aggregates@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=
dependencies:
rx-lite "*"
rx-lite@*, rx-lite@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
+ integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=
-rxjs@^5.4.2:
- version "5.5.6"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02"
+rxjs@^6.1.0:
+ version "6.3.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.2.tgz#6a688b16c4e6e980e62ea805ec30648e1c60907f"
+ integrity sha512-hV7criqbR0pe7EeL3O66UYVg92IR0XsA97+9y+BWTePK9SKmEI5Qd3Zj6uPnGkNzXsBywBQWTvujPl+1Kn9Zjw==
dependencies:
- symbol-observable "1.0.1"
-
-rxjs@^5.5.2:
- version "5.5.11"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.11.tgz#f733027ca43e3bec6b994473be4ab98ad43ced87"
- dependencies:
- symbol-observable "1.0.1"
+ tslib "^1.9.0"
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+ integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
dependencies:
ret "~0.1.10"
-safer-buffer@^2.1.0:
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sane@^2.0.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/sane/-/sane-2.4.1.tgz#29f991208cf28636720efdc584293e7fd66663a5"
+ integrity sha512-fW9svvNd81XzHDZyis9/tEY1bZikDGryy8Hi1BErPyNPYv47CdLseUN+tI5FBHWXEENRtj1SWtX/jBnggLaP0w==
dependencies:
anymatch "^1.3.0"
exec-sh "^0.2.0"
@@ -7506,34 +8582,51 @@ sane@^2.0.0:
sax@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+semver-compare@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+ integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
semver-greatest-satisfied-range@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b"
+ integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els=
dependencies:
sver-compat "^1.5.0"
"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+ integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==
+
+semver@^5.5.1:
+ version "5.5.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477"
+ integrity sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
set-getter@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376"
+ integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=
dependencies:
to-object-path "^0.3.0"
set-immediate-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+ integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=
set-value@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
+ integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE=
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
@@ -7543,6 +8636,7 @@ set-value@^0.4.3:
set-value@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
+ integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
@@ -7552,10 +8646,12 @@ set-value@^2.0.0:
setimmediate@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
sha.js@^2.4.0, sha.js@^2.4.8, sha.js@~2.4.4:
version "2.4.10"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.10.tgz#b1fde5cd7d11a5626638a07c604ab909cfa31f9b"
+ integrity sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -7563,6 +8659,7 @@ sha.js@^2.4.0, sha.js@^2.4.8, sha.js@~2.4.4:
shasum@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f"
+ integrity sha1-5wEjENj0F/TetXEhUOVni4euVl8=
dependencies:
json-stable-stringify "~0.0.0"
sha.js "~2.4.4"
@@ -7570,16 +8667,19 @@ shasum@^1.0.0:
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
dependencies:
shebang-regex "^1.0.0"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
shell-quote@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
+ integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=
dependencies:
array-filter "~0.0.0"
array-map "~0.0.0"
@@ -7589,28 +8689,44 @@ shell-quote@^1.6.1:
shellwords@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
+ integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+
+sisteransi@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
+ integrity sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+
+slash@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
+ integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+ integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=
slice-ansi@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+ integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
dependencies:
is-fullwidth-code-point "^2.0.0"
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
dependencies:
define-property "^1.0.0"
isobject "^3.0.0"
@@ -7619,12 +8735,14 @@ snapdragon-node@^2.0.1:
snapdragon-util@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
dependencies:
kind-of "^3.2.0"
snapdragon@^0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370"
+ integrity sha1-4StUh/re0+PeoKyR6UAL91tAE3A=
dependencies:
base "^0.11.1"
debug "^2.2.0"
@@ -7638,28 +8756,33 @@ snapdragon@^0.8.1:
sntp@1.x.x:
version "1.0.9"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+ integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=
dependencies:
hoek "2.x.x"
sntp@2.x.x:
version "2.1.0"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
+ integrity sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==
dependencies:
hoek "4.x.x"
sort-keys@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
+ integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=
dependencies:
is-plain-obj "^1.0.0"
source-list-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
+ integrity sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==
source-map-resolve@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a"
+ integrity sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==
dependencies:
atob "^2.0.0"
decode-uri-component "^0.2.0"
@@ -7667,43 +8790,60 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@^0.4.15, source-map-support@^0.4.2:
+source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
dependencies:
source-map "^0.5.6"
-source-map-support@^0.5.0:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76"
+source-map-support@^0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13"
+ integrity sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==
dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-support@^0.5.9:
+ version "0.5.9"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f"
+ integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==
+ dependencies:
+ buffer-from "^1.0.0"
source-map "^0.6.0"
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
source-map@^0.4.4, source-map@~0.4.0, source-map@~0.4.2:
version "0.4.4"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
dependencies:
amdefine ">=0.0.4"
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sparkles@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"
+ integrity sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=
spdx-correct@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
+ integrity sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==
dependencies:
spdx-expression-parse "^3.0.0"
spdx-license-ids "^3.0.0"
@@ -7711,10 +8851,12 @@ spdx-correct@^3.0.0:
spdx-exceptions@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"
+ integrity sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==
spdx-expression-parse@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
dependencies:
spdx-exceptions "^2.1.0"
spdx-license-ids "^3.0.0"
@@ -7722,32 +8864,38 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
+ integrity sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
dependencies:
extend-shallow "^3.0.0"
split2@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
+ integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==
dependencies:
through2 "^2.0.2"
split@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
+ integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
dependencies:
through "2"
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
sshpk@^1.7.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
+ integrity sha1-US322mKHFEMW3EwY/hzx2UBzm+M=
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
@@ -7762,18 +8910,22 @@ sshpk@^1.7.0:
stack-trace@0.0.10:
version "0.0.10"
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
+ integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
stack-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"
+ integrity sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=
-staged-git-files@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.0.0.tgz#cdb847837c1fcc52c08a872d4883cc0877668a80"
+staged-git-files@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.1.tgz#37c2218ef0d6d26178b1310719309a16a59f8f7b"
+ integrity sha512-H89UNKr1rQJvI1c/PIR3kiAMBV23yvR7LItZiV74HWZwzt7f3YHuujJ9nJZlt58WlFox7XQsOahexwk7nTe69A==
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
dependencies:
define-property "^0.2.5"
object-copy "^0.1.0"
@@ -7781,10 +8933,12 @@ static-extend@^0.1.1:
stealthy-require@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
+ integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
stream-browserify@^2.0.0, stream-browserify@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
+ integrity sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=
dependencies:
inherits "~2.0.1"
readable-stream "^2.0.2"
@@ -7792,6 +8946,7 @@ stream-browserify@^2.0.0, stream-browserify@^2.0.1:
stream-combiner2@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
+ integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4=
dependencies:
duplexer2 "~0.1.0"
readable-stream "^2.0.2"
@@ -7799,10 +8954,12 @@ stream-combiner2@^1.1.1:
stream-exhaust@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d"
+ integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==
stream-http@^2.0.0, stream-http@^2.7.2:
version "2.8.0"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.0.tgz#fd86546dac9b1c91aff8fc5d287b98fafb41bc10"
+ integrity sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==
dependencies:
builtin-status-codes "^3.0.0"
inherits "^2.0.1"
@@ -7813,29 +8970,32 @@ stream-http@^2.0.0, stream-http@^2.7.2:
stream-shift@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+ integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
stream-splicer@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83"
+ integrity sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=
dependencies:
inherits "^2.0.1"
readable-stream "^2.0.2"
-stream-to-observable@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10"
- dependencies:
- any-observable "^0.2.0"
-
streamfilter@^1.0.5:
version "1.0.7"
resolved "https://registry.yarnpkg.com/streamfilter/-/streamfilter-1.0.7.tgz#ae3e64522aa5a35c061fd17f67620c7653c643c9"
+ integrity sha512-Gk6KZM+yNA1JpW0KzlZIhjo3EaBJDkYfXtYSbOwNIQ7Zd6006E6+sCFlW1NDvFG/vnXhKmw6TJJgiEQg/8lXfQ==
dependencies:
readable-stream "^2.0.2"
+string-argv@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736"
+ integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY=
+
string-length@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
+ integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=
dependencies:
astral-regex "^1.0.0"
strip-ansi "^4.0.0"
@@ -7843,6 +9003,7 @@ string-length@^2.0.0:
string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
@@ -7851,23 +9012,15 @@ string-width@^1.0.1, string-width@^1.0.2:
string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
dependencies:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
-string.prototype.matchall@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz#2af8fe3d2d6dc53ca2a59bd376b089c3c152b3c8"
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.10.0"
- function-bind "^1.1.1"
- has-symbols "^1.0.0"
- regexp.prototype.flags "^1.2.0"
-
string.prototype.padend@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0"
+ integrity sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=
dependencies:
define-properties "^1.1.2"
es-abstract "^1.4.3"
@@ -7876,22 +9029,26 @@ string.prototype.padend@^3.0.0:
string_decoder@^1.0.0, string_decoder@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
+ integrity sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==
dependencies:
safe-buffer "~5.1.0"
-string_decoder@~0.10.0, string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-
-string_decoder@~1.1.1:
+string_decoder@^1.1.1, string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
-stringify-object@^3.2.0:
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+stringify-object@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd"
+ integrity sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg==
dependencies:
get-own-enumerable-property-symbols "^2.0.1"
is-obj "^1.0.1"
@@ -7900,22 +9057,26 @@ stringify-object@^3.2.0:
stringstream@~0.0.4, stringstream@~0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+ integrity sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
ansi-regex "^2.0.0"
strip-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
dependencies:
ansi-regex "^3.0.0"
strip-bom-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca"
+ integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco=
dependencies:
first-chunk-stream "^2.0.0"
strip-bom "^2.0.0"
@@ -7923,34 +9084,41 @@ strip-bom-stream@^2.0.0:
strip-bom@3.0.0, strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
dependencies:
is-utf8 "^0.2.0"
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
dependencies:
get-stdin "^4.0.1"
strip-indent@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
+ integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
strong-log-transformer@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-1.0.6.tgz#f7fb93758a69a571140181277eea0c2eb1301fa3"
+ integrity sha1-9/uTdYpppXEUAYEnfuoMLrEwH6M=
dependencies:
byline "^5.0.0"
duplexer "^0.1.1"
@@ -7961,59 +9129,65 @@ strong-log-transformer@^1.0.6:
subarg@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+ integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI=
dependencies:
minimist "^1.1.0"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
supports-color@^3.1.2:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=
dependencies:
has-flag "^1.0.0"
supports-color@^4.2.1:
version "4.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
dependencies:
has-flag "^2.0.0"
supports-color@^5.2.0, supports-color@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
+ integrity sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==
dependencies:
has-flag "^3.0.0"
sver-compat@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8"
+ integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=
dependencies:
es6-iterator "^2.0.1"
es6-symbol "^3.1.1"
-symbol-observable@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
-
-symbol-observable@^0.2.2:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40"
+symbol-observable@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
+ integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
symbol-tree@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
+ integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=
syntax-error@^1.1.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c"
+ integrity sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==
dependencies:
acorn-node "^1.2.0"
table@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
+ integrity sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==
dependencies:
ajv "^6.0.1"
ajv-keywords "^3.0.0"
@@ -8025,10 +9199,12 @@ table@^4.0.3:
tapable@^0.2.7:
version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
+ integrity sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=
tar-pack@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
+ integrity sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==
dependencies:
debug "^2.2.0"
fstream "^1.0.10"
@@ -8042,6 +9218,7 @@ tar-pack@^3.4.0:
tar@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+ integrity sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=
dependencies:
block-stream "*"
fstream "^1.0.2"
@@ -8050,6 +9227,7 @@ tar@^2.2.1:
tar@^4:
version "4.4.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.1.tgz#b25d5a8470c976fd7a9a8a350f42c59e9fa81749"
+ integrity sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==
dependencies:
chownr "^1.0.1"
fs-minipass "^1.2.5"
@@ -8062,10 +9240,12 @@ tar@^4:
temp-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+ integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=
temp-write@^3.3.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492"
+ integrity sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI=
dependencies:
graceful-fs "^4.1.2"
is-stream "^1.1.0"
@@ -8077,16 +9257,18 @@ temp-write@^3.3.0:
tempfile@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2"
+ integrity sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=
dependencies:
os-tmpdir "^1.0.0"
uuid "^2.0.1"
-test-exclude@^4.1.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.0.tgz#07e3613609a362c74516a717515e13322ab45b3c"
+test-exclude@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa"
+ integrity sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==
dependencies:
arrify "^1.0.1"
- micromatch "^2.3.11"
+ micromatch "^3.1.8"
object-assign "^4.1.0"
read-pkg-up "^1.0.1"
require-main-filename "^1.0.1"
@@ -8094,6 +9276,7 @@ test-exclude@^4.1.1:
test262-parser@^2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/test262-parser/-/test262-parser-2.0.7.tgz#733b46bf7759e747eae34b5b14d6a3c8d2082add"
+ integrity sha1-cztGv3dZ50fq40tbFNajyNIIKt0=
dependencies:
js-yaml "^3.2.1"
through "^2.3.4"
@@ -8101,6 +9284,7 @@ test262-parser@^2.0.7:
test262-stream@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/test262-stream/-/test262-stream-1.2.0.tgz#37f03bf56672ec0f0120596372ea98313309d32e"
+ integrity sha512-SHuSII4Dmg4BTNybTYf+h8rFs7y8rqm+WP9XxxrJvhOmbbkItlo4zRgaoavNUNbCMWrZiy6e81DF3vJhIlkf8A==
dependencies:
klaw "^2.1.0"
test262-parser "^2.0.7"
@@ -8108,18 +9292,22 @@ test262-stream@^1.2.0:
text-extensions@^1.0.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39"
+ integrity sha512-AKXZeDq230UaSzaO5s3qQUZOaC7iKbzq0jOFL614R7d9R593HLqAOL0cYoqLdkNrjBSOdmoQI06yigq1TSBXAg==
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
throat@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
+ integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=
through2-filter@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"
+ integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=
dependencies:
through2 "~2.0.0"
xtend "~4.0.0"
@@ -8127,6 +9315,7 @@ through2-filter@^2.0.0:
through2@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz#0847cbc4449f3405574dbdccd9bb841b83ac3545"
+ integrity sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=
dependencies:
readable-stream ">=1.1.13-1 <1.2.0-0"
xtend ">=4.0.0 <4.1.0-0"
@@ -8134,6 +9323,7 @@ through2@^1.0.0:
through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+ integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=
dependencies:
readable-stream "^2.1.5"
xtend "~4.0.1"
@@ -8141,40 +9331,48 @@ through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2.
through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8, through@~2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
time-stamp@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
+ integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=
timed-out@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+ integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
timers-browserify@^1.0.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+ integrity sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=
dependencies:
process "~0.11.0"
timers-browserify@^2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.6.tgz#241e76927d9ca05f4d959819022f5b3664b64bae"
+ integrity sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==
dependencies:
setimmediate "^1.0.4"
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
dependencies:
os-tmpdir "~1.0.2"
tmpl@1.0.x:
version "1.0.4"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
+ integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
to-absolute-glob@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b"
+ integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=
dependencies:
is-absolute "^1.0.0"
is-negated-glob "^1.0.0"
@@ -8182,24 +9380,29 @@ to-absolute-glob@^2.0.0:
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+ integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
kind-of "^3.0.2"
to-regex-range@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
dependencies:
is-number "^3.0.0"
repeat-string "^1.6.1"
@@ -8207,6 +9410,7 @@ to-regex-range@^2.1.0:
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
dependencies:
define-property "^2.0.2"
extend-shallow "^3.0.2"
@@ -8216,68 +9420,87 @@ to-regex@^3.0.1, to-regex@^3.0.2:
to-through@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6"
+ integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=
dependencies:
through2 "^2.0.3"
tough-cookie@>=2.3.3, tough-cookie@^2.3.3, tough-cookie@~2.3.0, tough-cookie@~2.3.3:
version "2.3.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
+ integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==
dependencies:
punycode "^1.4.1"
tr46@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+ integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
dependencies:
punycode "^2.1.0"
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
trim-newlines@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20"
+ integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=
trim-off-newlines@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
+ integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+ integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+
+tslib@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
+ integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
-tty-browserify@~0.0.0:
+tty-browserify@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811"
+ integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
dependencies:
safe-buffer "^5.0.1"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
dependencies:
prelude-ls "~1.1.2"
typedarray@^0.0.6, typedarray@~0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
uglify-js@3.3.x, uglify-js@^3.0.5:
version "3.3.13"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.13.tgz#8a1a89eeb16e2d6a66b0db2b04cb871af3c669cf"
+ integrity sha512-7rdn/bDOG1ElSTPdh7AI5TCjLv63ZD4k8BBadN3ssIkhlaQL2c0yRxmXCyOYhZK0wZTgGgUSnYQ4CGu+Jos5cA==
dependencies:
commander "~2.14.1"
source-map "~0.6.1"
@@ -8285,6 +9508,7 @@ uglify-js@3.3.x, uglify-js@^3.0.5:
uglify-js@^2.4.16, uglify-js@^2.6, uglify-js@^2.8.29:
version "2.8.29"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
dependencies:
source-map "~0.5.1"
yargs "~3.10.0"
@@ -8294,10 +9518,12 @@ uglify-js@^2.4.16, uglify-js@^2.6, uglify-js@^2.8.29:
uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+ integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
uglifyjs-webpack-plugin@^0.4.6:
version "0.4.6"
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309"
+ integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=
dependencies:
source-map "^0.5.6"
uglify-js "^2.8.29"
@@ -8306,22 +9532,27 @@ uglifyjs-webpack-plugin@^0.4.6:
uid-number@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+ integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=
umd@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e"
+ integrity sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=
unc-path-regex@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
+ integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
undertaker-registry@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50"
+ integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=
undertaker@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.0.tgz#339da4646252d082dc378e708067299750e11b49"
+ integrity sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=
dependencies:
arr-flatten "^1.0.1"
arr-map "^2.0.0"
@@ -8336,14 +9567,17 @@ undertaker@^1.0.0:
unicode-canonical-property-names-ecmascript@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz#f6119f417467593c0086357c85546b6ad5abc583"
+ integrity sha512-iG/2t0F2LAU8aZYPkX5gi7ebukHnr3sWFESpb+zPQeeaQwOkfoO6ZW17YX7MdRPNG9pCy+tjzGill+Ah0Em0HA==
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
+ integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
unicode-match-property-ecmascript@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.3.tgz#db9b1cb4ffc67e0c5583780b1b59370e4cbe97b9"
+ integrity sha512-nFcaBFcr08UQNF15ZgI5ISh3yUnQm7SJRRxwYrL5VYX46pS+6Q7TCTv4zbK+j6/l7rQt0mMiTL2zpmeygny6rA==
dependencies:
unicode-canonical-property-names-ecmascript "^1.0.2"
unicode-property-aliases-ecmascript "^1.0.3"
@@ -8351,6 +9585,7 @@ unicode-match-property-ecmascript@^1.0.3:
unicode-match-property-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
+ integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
dependencies:
unicode-canonical-property-names-ecmascript "^1.0.4"
unicode-property-aliases-ecmascript "^1.0.4"
@@ -8358,22 +9593,27 @@ unicode-match-property-ecmascript@^1.0.4:
unicode-match-property-value-ecmascript@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.1.tgz#fea059120a016f403afd3bf586162b4db03e0604"
+ integrity sha512-lM8B0FDZQh9yYGgiabRQcyWicB27VLOolSBRIxsO7FeQPtg+79Oe7sC8Mzr8BObDs+G9CeYmC/shHo6OggNEog==
unicode-match-property-value-ecmascript@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4"
+ integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==
unicode-property-aliases-ecmascript@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz#ac3522583b9e630580f916635333e00c5ead690d"
+ integrity sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==
unicode-property-aliases-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0"
+ integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==
union-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
+ integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=
dependencies:
arr-union "^3.1.0"
get-value "^2.0.6"
@@ -8383,6 +9623,7 @@ union-value@^1.0.0:
unique-stream@^2.0.2:
version "2.2.1"
resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369"
+ integrity sha1-WqADz76Uxf+GbE59ZouxxNuts2k=
dependencies:
json-stable-stringify "^1.0.0"
through2-filter "^2.0.0"
@@ -8390,10 +9631,12 @@ unique-stream@^2.0.2:
universalify@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
+ integrity sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
dependencies:
has-value "^0.3.1"
isobject "^3.0.0"
@@ -8401,34 +9644,41 @@ unset-value@^1.0.0:
unzip-response@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
+ integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=
upath@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd"
+ integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==
upper-case@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+ integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
-uri-js@^4.2.1:
+uri-js@^4.2.1, uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
dependencies:
punycode "^2.1.0"
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
url-parse-lax@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
dependencies:
prepend-http "^1.0.1"
url@^0.11.0, url@~0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
dependencies:
punycode "1.3.2"
querystring "0.2.0"
@@ -8436,6 +9686,7 @@ url@^0.11.0, url@~0.11.0:
use@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8"
+ integrity sha1-riig1y+TvyJCKhii43mZMRLeyOg=
dependencies:
define-property "^0.2.5"
isobject "^3.0.0"
@@ -8444,10 +9695,12 @@ use@^2.0.0:
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
util.promisify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
dependencies:
define-properties "^1.1.2"
object.getownpropertydescriptors "^2.0.3"
@@ -8455,26 +9708,31 @@ util.promisify@^1.0.0:
util@0.10.3, util@^0.10.3, util@~0.10.1:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
dependencies:
inherits "2.0.1"
uuid@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+ integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=
uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+ integrity sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==
v8flags@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.2.tgz#ad6a78a20a6b23d03a8debc11211e3cc23149477"
+ integrity sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==
dependencies:
homedir-polyfill "^1.0.1"
validate-npm-package-license@^3.0.1:
version "3.0.3"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
+ integrity sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==
dependencies:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
@@ -8482,10 +9740,12 @@ validate-npm-package-license@^3.0.1:
value-or-function@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"
+ integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
dependencies:
assert-plus "^1.0.0"
core-util-is "1.0.2"
@@ -8494,6 +9754,7 @@ verror@1.10.0:
vinyl-buffer@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/vinyl-buffer/-/vinyl-buffer-1.0.1.tgz#96c1a3479b8c5392542c612029013b5b27f88bbf"
+ integrity sha1-lsGjR5uMU5JULGEgKQE7Wyf4i78=
dependencies:
bl "^1.2.1"
through2 "^2.0.3"
@@ -8501,6 +9762,7 @@ vinyl-buffer@^1.0.1:
vinyl-file@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a"
+ integrity sha1-p+v1/779obfRjRQPyweyI++2dRo=
dependencies:
graceful-fs "^4.1.2"
pify "^2.3.0"
@@ -8512,6 +9774,7 @@ vinyl-file@^2.0.0:
vinyl-fs@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.2.tgz#1b86258844383f57581fcaac081fe09ef6d6d752"
+ integrity sha512-AUSFda1OukBwuLPBTbyuO4IRWgfXmqC4UTW0f8xrCa8Hkv9oyIU+NSqBlgfOLZRoUt7cHdo75hKQghCywpIyIw==
dependencies:
fs-mkdirp-stream "^1.0.0"
glob-stream "^6.1.0"
@@ -8534,6 +9797,7 @@ vinyl-fs@^3.0.0:
vinyl-source-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-2.0.0.tgz#f38a5afb9dd1e93b65d550469ac6182ac4f54b8e"
+ integrity sha1-84pa+53R6Ttl1VBGmsYYKsT1S44=
dependencies:
through2 "^2.0.3"
vinyl "^2.1.0"
@@ -8541,6 +9805,7 @@ vinyl-source-stream@^2.0.0:
vinyl-sourcemap@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16"
+ integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=
dependencies:
append-buffer "^1.0.2"
convert-source-map "^1.5.0"
@@ -8553,12 +9818,14 @@ vinyl-sourcemap@^1.1.0:
vinyl-sourcemaps-apply@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
+ integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=
dependencies:
source-map "^0.5.1"
vinyl@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
+ integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=
dependencies:
clone "^1.0.0"
clone-stats "^0.0.1"
@@ -8567,6 +9834,7 @@ vinyl@^0.5.0:
vinyl@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
+ integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=
dependencies:
clone "^1.0.0"
clone-stats "^0.0.1"
@@ -8575,6 +9843,7 @@ vinyl@^1.1.0:
vinyl@^2.0.0, vinyl@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c"
+ integrity sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=
dependencies:
clone "^2.1.1"
clone-buffer "^1.0.0"
@@ -8583,27 +9852,36 @@ vinyl@^2.0.0, vinyl@^2.1.0:
remove-trailing-separator "^1.0.1"
replace-ext "^1.0.0"
-vm-browserify@0.0.4, vm-browserify@~0.0.1:
+vm-browserify@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+ integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=
dependencies:
indexof "0.0.1"
+vm-browserify@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
+ integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
+
w3c-hr-time@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
+ integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=
dependencies:
browser-process-hrtime "^0.1.2"
walker@~1.0.5:
version "1.0.7"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
+ integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
dependencies:
makeerror "1.0.x"
watch@~0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"
+ integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY=
dependencies:
exec-sh "^0.2.0"
minimist "^1.2.0"
@@ -8611,6 +9889,7 @@ watch@~0.18.0:
watchpack@^1.4.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.5.0.tgz#231e783af830a22f8966f65c4c4bacc814072eed"
+ integrity sha512-RSlipNQB1u48cq0wH/BNfCu1tD/cJ8ydFIkNYhp9o+3d+8unClkIovpW5qpFPgmL9OE48wfAnlZydXByWP82AA==
dependencies:
chokidar "^2.0.2"
graceful-fs "^4.1.2"
@@ -8619,16 +9898,19 @@ watchpack@^1.4.0:
wcwidth@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
dependencies:
defaults "^1.0.3"
webidl-conversions@^4.0.1, webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+ integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
webpack-dependency-suite@^2.4.4:
version "2.4.5"
resolved "https://registry.yarnpkg.com/webpack-dependency-suite/-/webpack-dependency-suite-2.4.5.tgz#e2d3c9a178140edb7be41de57413a31cb2f11ec0"
+ integrity sha512-UyAXvIu12XjcuiUkO1QQ7xRC/rpOyCfdCOhlhgJrLkt2FqK/l0dhynVxLRHO/QyGoNpfoO0N7k+m/LTxfriwrQ==
dependencies:
"@types/acorn" "^4.0.2"
"@types/cheerio" "^0.22.1"
@@ -8653,6 +9935,7 @@ webpack-dependency-suite@^2.4.4:
webpack-sources@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
+ integrity sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==
dependencies:
source-list-map "^2.0.0"
source-map "~0.6.1"
@@ -8660,6 +9943,7 @@ webpack-sources@^1.0.1:
webpack-stream@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webpack-stream/-/webpack-stream-4.0.2.tgz#7b90aec71d45c8a4519ff8b5a4d59e039cfd02c0"
+ integrity sha512-x9st6kLpPXaB7wPb7nKVtTgdIZx2TFV0+rTAzMQEPyA72qzYPKR5OItxP7e1vTtbX5T4Fm7rAlMPfAq1Ijq6gg==
dependencies:
fancy-log "^1.3.2"
lodash.clone "^4.3.2"
@@ -8674,6 +9958,7 @@ webpack-stream@^4.0.0:
webpack@^3.4.1:
version "3.11.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.11.0.tgz#77da451b1d7b4b117adaf41a1a93b5742f24d894"
+ integrity sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==
dependencies:
acorn "^5.0.0"
acorn-dynamic-import "^2.0.0"
@@ -8701,12 +9986,14 @@ webpack@^3.4.1:
whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3"
+ integrity sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==
dependencies:
iconv-lite "0.4.19"
whatwg-url@^6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08"
+ integrity sha512-Z0CVh/YE217Foyb488eo+iBv+r7eAQ0wSTyApi9n06jhcA3z6Nidg/EGvl0UFkg7kMdKxfBzzr+o9JF+cevgMg==
dependencies:
lodash.sortby "^4.7.0"
tr46 "^1.0.0"
@@ -8715,42 +10002,51 @@ whatwg-url@^6.4.0:
which-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+ integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
which@^1.2.10, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ integrity sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
+ integrity sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==
dependencies:
string-width "^1.0.2"
window-size@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+ integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+ integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+ integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
wrap-ansi@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
@@ -8758,10 +10054,12 @@ wrap-ansi@^2.0.0:
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
write-file-atomic@^2.0.0, write-file-atomic@^2.1.0, write-file-atomic@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
+ integrity sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==
dependencies:
graceful-fs "^4.1.11"
imurmurhash "^0.1.4"
@@ -8770,6 +10068,7 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.1.0, write-file-atomic@^2.3.0:
write-json-file@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f"
+ integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=
dependencies:
detect-indent "^5.0.0"
graceful-fs "^4.1.2"
@@ -8781,6 +10080,7 @@ write-json-file@^2.2.0:
write-pkg@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21"
+ integrity sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw==
dependencies:
sort-keys "^2.0.0"
write-json-file "^2.2.0"
@@ -8788,12 +10088,14 @@ write-pkg@^3.1.0:
write@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=
dependencies:
mkdirp "^0.5.1"
ws@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289"
+ integrity sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==
dependencies:
async-limiter "~1.0.0"
safe-buffer "~5.1.0"
@@ -8801,54 +10103,65 @@ ws@^4.0.0:
xml-char-classes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
+ integrity sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
+ integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+ integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+ integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
yallist@^3.0.0, yallist@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
+ integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=
yargs-parser@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
+ integrity sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=
dependencies:
camelcase "^3.0.0"
yargs-parser@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
+ integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=
dependencies:
camelcase "^3.0.0"
yargs-parser@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
+ integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k=
dependencies:
camelcase "^4.1.0"
-yargs-parser@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
+yargs-parser@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
+ integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=
dependencies:
camelcase "^4.1.0"
-yargs@^10.0.3:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5"
+yargs@^11.0.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77"
+ integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==
dependencies:
cliui "^4.0.0"
decamelize "^1.1.1"
@@ -8861,11 +10174,12 @@ yargs@^10.0.3:
string-width "^2.0.0"
which-module "^2.0.0"
y18n "^3.2.1"
- yargs-parser "^8.1.0"
+ yargs-parser "^9.0.2"
yargs@^6.5.0, yargs@^6.6.0:
version "6.6.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
+ integrity sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
@@ -8884,6 +10198,7 @@ yargs@^6.5.0, yargs@^6.6.0:
yargs@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
+ integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
@@ -8902,6 +10217,7 @@ yargs@^7.1.0:
yargs@^8.0.2:
version "8.0.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
+ integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A=
dependencies:
camelcase "^4.1.0"
cliui "^3.2.0"
@@ -8920,6 +10236,7 @@ yargs@^8.0.2:
yargs@~3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
dependencies:
camelcase "^1.0.2"
cliui "^2.1.0"