Compare commits

..

1907 Commits

Author SHA1 Message Date
Henry Zhu
f76ac0b197 v7.0.0-beta.31 2017-11-03 16:03:01 -04:00
Henry Zhu
f5b6e69214 Change version to beta.30 since babylon was already at that version [skip ci] 2017-11-03 15:56:41 -04:00
Henry Zhu
efdc32fec5 Run with loose, exclude typeof in standalone (#6736) 2017-11-03 15:42:37 -04:00
Henry Zhu
1196ec1e38 add loose/useBuiltIns option to stage presets, use it, opt babylon build (#6733)
* add loose, useBuiltIns options to presets + use loose class properties

* whitelist helpers for babylon

* use transform-for-of-as-array in babylon
2017-11-03 14:22:06 -04:00
Artem Yavorsky
9cf017b2ca Fix global reference for use-built-ins plugin (#6478)
* Consider instance type for polyfills.

* Add test cases for evaluated objects.

* preset-env fixtures: babel-polyfill -> @babel/polyfill

* Split up fixtures with evaluated variables.
2017-11-03 11:22:11 -04:00
Clement Hoang
1a7194a22f Add JSX Fragment syntax support (#6552)
* Add JSX Fragments to babel-types

* Support JSX fragments in the transform-react-jsx plugin

* Add tests JSX fragments

* Update helper-builder and transform plugin documentations for jsx fragment

* Add generator for jsx fragments

* Add test for jsx fragment generator

* Split jsx transform example into normal and fragment examples

* Remove unnecessary fields from ElementState in babel-helper-builder-react-jsx

* inline [skip ci]
2017-11-03 10:43:48 -04:00
Logan Smyth
9e2828322e Merge pull request #6556 from loganfsmyth/early-validation
Strictly validate Babel's options to centralize Flow refinement of datatype
2017-11-02 16:24:36 -07:00
MICHAEL JACKSON
ce53c7668a Fix unpkg link (#6730) [skip ci] 2017-11-02 13:36:05 -04:00
Raja Sekar
2d0211a085 Fix parsing arrow with existential return type (#6726) 2017-11-02 10:56:27 -05:00
Daniel Tschinder
3b540e3f5a Integrate babylon into babel workflow 2017-11-01 23:26:51 +01:00
Daniel Tschinder
52537410ef Merge histories of babylon and babel 2017-11-01 16:17:41 +01:00
Daniel Tschinder
2d378d076e Move babylon into monorepo 2017-11-01 16:16:48 +01:00
Daniel Tschinder
1b612148bf "yield" parsing inside function name and parameters (#689)
* Use parseFunctionParams to parse method parameters

* [funct] Set this.state.inGenerator before parsing the function name/params

This allows "yield" inside generator parameters to be actually
parsed as a yield expression

* [funct] Disallow yield in function parameters

* [arrow] "yield" can start an arrow function (e.g. "yield => {}")

* [arrow] Disallow YieldExpressions inside arrow parameters.

* [err msg] Disallow yield as fn name in strict mode using checkReservedWord.

So Babylon throws "yield is a reserved word" instead of
a custom "Binding yield in strict mode"

* [err msg] "X is reserved in strict mode" should have precedence over "X is reserved", since it is more specific.

This was observable if "checkKeywords" is true and the word is both a keyword and a reserved
word in strict mode

* Disallow "yield" as an identifier inside generators

* [tests] Add tests, update wrong esprima tests and enable disabled esprima tests

* [tests] Move uncategorized tests to es2015/yield

* [tests] Update test262 whitelist

* Fix regression introduced by 8c77073

* [tests] Update flow whitelist

* Fix flow errors
2017-11-01 16:05:18 +01:00
Logan Smyth
0b3182911a Avoid node duplication to fix spread bug with import. (#6657) 2017-10-31 20:37:16 -07:00
Henry Zhu
dbff057b8c update lockfile [skip ci] 2017-10-31 21:26:54 -04:00
Logan Smyth
d31c2c1470 Merge pull request #6655 from loganfsmyth/more-peerdeps
Use peerDeps in register and babel-node, add missing peerDependencies, and declare devDependencies
2017-10-31 18:10:55 -07:00
Logan Smyth
2d7685bdeb Explicitly declare devDependency to satisfy peerDep on babel-core. 2017-10-31 17:00:55 -07:00
Logan Smyth
ffad34e1a6 Remove unused @babel/types dependency. 2017-10-31 17:00:45 -07:00
Logan Smyth
8c95145c14 Use peerDependency for @babel register/node/cli. 2017-10-31 17:00:41 -07:00
Logan Smyth
948f741067 Add missing peerDependencies. 2017-10-31 16:57:56 -07:00
Henry Zhu
0e2a249746 Update to beta.5 with scoped packages 👻 (#6654)
* Update to beta.5 with scoped packages

* update to released version

* allow node 9 [skip ci]
2017-10-31 19:55:54 -04:00
Brian Ng
29a4aea27b Update parsing flow type/typeof imports (#773)
* Remove extranneous backticks from type/typeof error message

* Add isLookaheadContextual util

* Update parsing flow type/typeof imports
2017-10-31 17:09:39 +01:00
Nicolò Ribaudo
cd050e1405 Parse parameters inside function's env (#652)
* Parse parameters inside function context

* Add test for new.target inside parameters
2017-10-31 16:31:35 +01:00
M Behzad
fee7de2c1d white lists getter and setter acceseors for having stage-2 decorators (#766)
- adds `get` and `set` kind in addition to `method` to the list of allowed class members for having a decorator,
- adds tests for this two cases (decorator + set and decorator + get)
2017-10-31 16:13:04 +01:00
Henry Zhu
690d6465d8 v7.0.0-beta.5 2017-10-30 16:55:46 -04:00
Henry Zhu
bede73122d fixup places that aren not scoped [skip ci] (#6646) 2017-10-30 16:47:13 -04:00
Mateusz Burzyński
a1c7449a92 Fixed incorrect static class field initialization order (#6530) 2017-10-30 16:32:45 -04:00
Henry Zhu
624f00f23c Fix peerDep to ^ for beta only (#6644) 2017-10-30 16:24:42 -04:00
Henry Zhu
38f984f956 v7.0.0-beta.4 2017-10-30 14:33:56 -04:00
Henry Zhu
acfe99a4bc remove deprecated lerna command [skip ci] 2017-10-30 14:27:41 -04:00
Henry Zhu
96c380899b update types [skip ci] 2017-10-30 12:35:08 -04:00
Henry Zhu
397953c32d update lock [skip ci] 2017-10-30 12:21:20 -04:00
Benedikt Meurer
00342452e2 Fix OOB string character access in Printer#_maybeAddParen. (#6589)
* Fix OOB string character access in Printer#_maybeAddParen.

The `_maybeAddParen` method of the `Printer` class does

```js
const chaPost = str[i + 1]
```

without checking that `i + 1` is still within the bounds of `str`. It
seems like this triggers fairly often that the `str[i + 1]` access is
out of bounds. The first out of bounds access will turn the KeyedLoadIC
(in case of V8) into *MEGAMORPHIC* state, which is significantly slower
for strings (there's a fix in flight for V8 to mitigate the cost a bit
in that case). Even worse than that, the out of bounds access also
pollutes the later comparisons, namely

```js
chaPost === "/"
```

and

```js
chaPost === "*"
```

which are now no longer monomorphic on strings, since `chaPost` was
sometimes `undefined`.

This is a non-breaking performance fix, which improves babel execution
on the [web-tooling-benchmark](github.com/v8/web-tooling-benchmark)
workload by around 6-9%.

* Restructure and optimize the code a bit.
2017-10-30 09:16:44 -04:00
Daniel Tschinder
86abc16b37 Fix decorators2 to support export @decorator class A {} (#767)
* Fix decorators2 to support `export @decorator class A {}`

* change to better error message

Also ensure that null/undefined options get default value
2017-10-29 12:20:15 +01:00
Jakub Beneš
04d2c030be Add a 'throwIfNamespace' option for JSX transform (#6563)
* Added tests for ifThrowNamespace flag

* JSX transformator could work with XMLNamespaces (ifThrowNamespace flag)

* Use template literal instead

* Attempt to reword the message

* Added docs

* Reworded docs

* Reworded docs

* Fixed missing space in error message
2017-10-28 20:44:15 -04:00
Henry Zhu
9ac326b075 remove es20xx prefixes from plugins and rename folders (#6575) 2017-10-28 20:43:15 -04:00
Henry Zhu
92a3caeb9c remove warning (still applies but don't need it there) [skip ci] (#6579) 2017-10-28 20:17:16 -04:00
Benedikt Meurer
ffe4301fe2 Fix property lookup on booleans in needsWhitespace. (#6584)
The code

```js
linesInfo && linesInfo[type]
```

performs a lot of dynamic lookups on the `Boolean.prototype`, as the
*ToBoolean* operation let's `true` pass for `linesInfo` (which might
itself be concerning that this can be a boolean). Instead of the
coercion, the code should properly check for valid objects via `typeof`
and strict equality with `null` comparison.

This is a non-breaking performance fix.
2017-10-28 20:16:48 -04:00
Benedikt Meurer
5baa36109e Fix access to "-1" property on nodesOut array. (#6582)
Similar to the fixes in https://github.com/babel/babel/pull/6580 and
https://github.com/babel/babel/pull/6581, accesses of the form

```js
nodesOut[nodesOut.length - 1]
```

where `nodesOut` can be an empty array, are bad for performance in Node.
In this particular case it's easy to restructure the code a bit to not
require the array access at all, but just track the current `tail` as we
go.

This is a non-breaking performance fix.
2017-10-28 20:16:04 -04:00
Henry Zhu
962128c0f0 Update to babylon v7 beta.30 (#6587) 2017-10-28 20:01:52 -04:00
Henry Zhu
8f8ea04b62 7.0.0-beta.30 2017-10-28 19:40:53 -04:00
Henry Zhu
c6d369b32b fix flow unused supressing comment [skip ci] 2017-10-28 19:40:31 -04:00
Benedikt Meurer
f9e0643460 Fix path.popContext() to not try to load "-1" from contexts array. (#6580)
* Fix path.popContext() to not try to load "-1" from contexts array.

The current implement of popContext does

```js
this.setContext(this.contexts[this.contexts.length - 1]);
```

even if `this.contexts` can be empty, which causes it to lookup the
property `"-1"`, which is not found on the array itself and obviously
also not in the `Object.prototype` and the `Array.prototype`. However
since `"-1"` is not a valid array index, but has a valid integer
representation, this is a very expensive lookup in V8 (and probably
other engines too, but that is probably less relevant, since Babel
most often runs on Node nowadays).

* Make zero check explicit (for readability).
2017-10-28 16:17:05 -04:00
Benedikt Meurer
df0d9d05a3 Fix hasRest to not try to load "-1" from params array. (#6581)
Similar in spirit to https://github.com/babel/babel/pull/6580, the
current implementation did

```js
node.params[node.params.length - 1]
```

where `node.params` can also be empty, which causes it to lookup the
property `"-1"`, which is not found on the array itself and obviously
also not in the `Object.prototype` and the `Array.prototype`. However
since `"-1"` is not a valid array index, but has a valid integer
representation, this is a very expensive lookup in V8 (and probably
other engines too, but that is probably less relevant, since Babel
most often runs on Node nowadays). In V8 this causes a call to
the `%SetProperty` runtime function for each of these `"-1"`
property lookups, and in addition sends the whole `KeyedLoadIC`
to `MEGAMORPHIC` state, which also penalizes other accesses
on this line.

This is a small non-breaking performance fix.
2017-10-28 16:16:05 -04:00
Clement Hoang
a1125b26ce Add JSX fragment syntax support (#755) 2017-10-28 16:12:14 -04:00
Benedikt Meurer
55d5545614 Fix "-1" array accesses in CommentsParser. (#777)
Similar to the fixes in https://github.com/babel/babel/pull/6580 and
https://github.com/babel/babel/pull/6581, accesses of the form

```js
stack[stack.length - 1];
```

when `stack` can be an empty array are pretty bad for performance.
In this case it also breaks the type safety, since the function
`last<T>` is declared to only return values of type `T`, but
occasionally also returns `undefined` now, since the `stack` parameters
passed to it never contain a property `"-1"` and neither do the
`Object.prototype` or the `Array.prototype`.

This is a non-breaking performance fix, which adds proper checking
to ensure that `last` is only invoked on non-empty arrays.
2017-10-28 16:07:28 -04:00
Henry Zhu
5b47e4a6cb Merge transform-async-to-module-method into transform-async-to-generator (#6573) 2017-10-27 17:14:40 -04:00
Henry Zhu
f5ec9251c9 updated readme organization [skip ci] 2017-10-27 17:12:45 -04:00
Henry Zhu
c41abd79a1 Rename all proposal plugins to -proposal- from -transform- (#6570) 2017-10-27 15:26:38 -04:00
Logan Smyth
e4bcd1d0ff Allow Flowtype's imports and exports when sourceType:script is set. (#771) 2017-10-27 11:55:24 -07:00
Brian Ng
a94aa54230 Re-add electron-to-chromium as preset-env devdep (#6551) 2017-10-27 11:51:46 -04:00
Henry Zhu
476ec5ed8f Fix readmes to use @babel/ [skip ci] (#6569) 2017-10-27 11:50:59 -04:00
Henry Zhu
e5e7f5bf79 Lerna: Add publishConfig access public [skip ci] (#6557) 2017-10-26 19:22:13 -04:00
Logan Smyth
1d6cbd8dce Standardize descriptor creation. 2017-10-25 15:55:58 -07:00
Logan Smyth
fed2a14da1 Fail if there are cycles in config files. 2017-10-25 15:55:58 -07:00
Logan Smyth
0f31ce5686 Disallow 'null' as a general blank option placeholder. 2017-10-25 15:55:58 -07:00
Logan Smyth
64abf75d1f Perform option validation up front to avoid repeating assertions. 2017-10-25 15:55:58 -07:00
Logan Smyth
3673fbbd52 Refactor config item processing. 2017-10-25 15:55:58 -07:00
Logan Smyth
14901aa74f Remove the .loc from config items. 2017-10-25 15:55:57 -07:00
Logan Smyth
a25942bda9 Remove unused suppressDeprecationMessages option. 2017-10-25 15:55:57 -07:00
Logan Smyth
107648cd0b Remove unused 'mode' option. 2017-10-25 15:55:57 -07:00
Logan Smyth
0a2a0bb254 Remove the relative babel-core option. 2017-10-25 15:55:57 -07:00
Henry Zhu
0a823fbe8d add another team link [skip ci] 2017-10-25 17:51:47 -04:00
Henry Zhu
e3cebbf6bc Add peerDep on specific babel-core version in transform plugins, presets, and cli (#6549) 2017-10-25 08:36:00 -07:00
Simon Lydell
d2b3138bdd Make syntax highlighting for @ and # nicer (#6550) 2017-10-25 03:10:32 -04:00
Brian Ng
cb6082e98f Update flow tests whitelist (#770) 2017-10-24 15:58:27 -05:00
Sylvain Delabye
eb19ea18cc Remove stale emoji tests in plugin-transform-unicode-property-regex (#6548) 2017-10-24 13:17:05 -05:00
Raja Sekar
7f5a216e2d Changed Team link to babel website 2017-10-24 08:56:16 -05:00
Logan Smyth
11d8e0555f Avoid mutating the passed-in options for babel-register (#6542) 2017-10-23 15:49:10 -07:00
Ruslan Gunawardana
70818c3db8 UepdateEADME: useBuiltins: true is changed to "entry" [skip ci] (#6527)
babel-preset-env@next founds "useBuiltins": true is illegal. README is updated accordingly.
2017-10-23 17:08:00 -05:00
Sven SAULEAU
101529ffe0 Merge pull request #6529 from Borales/core-transformation-file-has
Providing File.has method for core/transformation package
2017-10-23 15:37:00 +02:00
Adam
3214c5004e docs - Add helper-get-function-arity readme [skip ci] (#6532)
* Add README to babel-helper-get-function-arity

* Use javascript template

* Address code review

* Comment out ellipsis
2017-10-23 10:30:36 +02:00
Sven SAULEAU
7185bd25e8 Merge pull request #6533 from athomann/add-helper-bindify-decorators-docs
Add API to helper-bindify-decorators README [skip ci]
2017-10-23 10:28:52 +02:00
Sven SAULEAU
546a844e32 Merge pull request #6534 from athomann/add-helper-hoist-variables-api
Add API to babel-helper-hoist-vars README [skip ci]
2017-10-23 10:23:32 +02:00
Adam Thomann
aeedabfa4f Add installation 2017-10-22 21:42:27 -04:00
Adam Thomann
9cebe88a9c Add API to babel-helper-hoist-vars README 2017-10-22 21:31:07 -04:00
Adam Thomann
a94b0d2e54 Add API to helper-bindify-decorators 2017-10-22 21:14:48 -04:00
Lucas Azzola
cd4f0ae393 Add loose mode for nullish coalescing operator (#6531)
* Add loose mode for nullish-coalescing

* Remove unneeded SequenceExpression
2017-10-22 13:25:29 +02:00
Borales
416e9aba39 Providing File.has method for core/transformation package 2017-10-22 00:45:40 +02:00
Lucas Azzola
9e0f5235b1 Optional Chaining: Account for document.all (#6525) 2017-10-21 15:55:39 -04:00
Mateusz Burzyński
4684edaec7 Adhering to async generator yield behavior change (#6452) 2017-10-21 21:48:27 +02:00
Alex Jover
39d05da3ed fix(babel-core): add missing extension to package.json dependency (#6524) 2017-10-21 11:46:10 +02:00
Mateusz Burzyński
54aa4cb3f9 Fixed async generator named declarations with inline helpers 2017-10-20 14:23:27 +02:00
Logan Smyth
765e920e48 Fix regression that leaks JSX pragma config between files. (#6519) 2017-10-19 16:09:56 -07:00
Mateusz Burzyński
fc75198fb4 Cloning reused node in class properties transform (#6517) 2017-10-19 18:12:57 -04:00
Justin Ridgewell
8d4674ca5a Fix destructuring in pipeline operator (#6515)
* Fix destructuring in pipeline operator

Fixes #6514.

* Run exec only on node 6
2017-10-19 15:59:36 -04:00
Brian Ng
923fd4705e Remove syntax-trailing-function-commas from Babel presets (#6513) 2017-10-19 15:50:48 -04:00
Jen Luker
c2c72c4224 Update reference from babel- to @babel/ in README.md (#6508) 2017-10-19 11:23:58 -05:00
Jen Luker
b6ae9e2db2 Updating references to @babel/ and adding dependencies to package.json (#6509)
* Updating references to @babel/ and adding dependencies to package.json all in babel-runtime.

* Removing extra ../../ from the require calls.
2017-10-19 08:23:27 -04:00
Will
752a16d44c Remove babel-plugin-transform-async-functions (#6510) [skip ci]
This is leftover from #6495

Closes #6504

Signed-off-by: Will Soto <will.soto9@gmail.com>
2017-10-19 08:05:52 -04:00
Logan Smyth
c87cc18586 Merge pull request #6379 from nicolo-ribaudo/helper-runtime-dependencies
Fix helper dependencies in babel runtime
2017-10-18 18:11:44 -07:00
Nicolò Ribaudo
a740b28a9e Commit the temporalRef runtime helper 2017-10-19 00:37:09 +02:00
Nicolò Ribaudo
d2af56bcae Fix helpers dependencies loading 2017-10-19 00:37:09 +02:00
Nicolò Ribaudo
e0a6e1e864 Import temporalUndefined inside temporalRef helper 2017-10-19 00:32:43 +02:00
Mauro Bringolf
2311ddbe67 Add transform to rename variables that are ES3 reserved words (#6479)
* Initial version

* Replace .includes with .indexOf and better node set to visit

* Alphabetically sort es3 reserved words and make difference helper for readability

* Fix second Array.include error that was not polyfilled

* Move es3 keywords into separate babel-types helper and use in all es3 transforms

* Reference local plugin build directly for tests

* Try relative import for babel-types

* Update to scoped package name and beta 3

* Fix unscoped package import

* Replace local plugin reference with proper plugin name
2017-10-18 15:00:58 -07:00
Robert Rossmann
e6d44fd68e babel-core: Pass the right err to callback in transformFile() (#6503) 2017-10-18 14:14:35 -07:00
Logan Smyth
97a217db30 Merge pull request #6492 from loganfsmyth/better-template
Make babel-template nicer in a bunch of ways
2017-10-18 14:14:14 -07:00
Logan Smyth
f230497d08 Use literal-based templates for more stuff. 2017-10-18 13:58:48 -07:00
Logan Smyth
673eaf839a Simplfy assertion generation. 2017-10-18 13:58:48 -07:00
Logan Smyth
107c37715e Use .program template for helpers. 2017-10-18 13:58:47 -07:00
Logan Smyth
cc802c1e00 Reimplement 'babel-template' with better caching and tagged literal utilities. 2017-10-18 13:58:47 -07:00
Logan Smyth
191624d800 Add a new utility for traversing the AST. 2017-10-18 13:55:14 -07:00
Logan Smyth
ef185feb35 Split template module into multiple files. 2017-10-18 13:55:14 -07:00
Logan Smyth
fc3433c5cf Default templates to sourceType:module. 2017-10-18 13:55:14 -07:00
Logan Smyth
afc3963848 Clean up template calls. 2017-10-18 13:55:14 -07:00
Logan Smyth
cc22ea04bb Add type declaration for t.validate. 2017-10-18 13:55:13 -07:00
Logan Smyth
ad05c9935e Generate types with %checks annotations. 2017-10-18 13:55:13 -07:00
Logan Smyth
e6beb7cb61 Regenerate flow types and add more types. 2017-10-18 13:55:13 -07:00
Mathias Bynens
5d4c736413 Import babel-plugin-transform-unicode-property-regex (#6499)
* Import babel-plugin-transform-unicode-property-regex

Original: https://github.com/mathiasbynens/babel-plugin-transform-unicode-property-regex

Moving it into the official Babel repository makes it easier to maintain the transform.

* Update package.json

* Update README.md

* fixup

* fixup 2
2017-10-18 13:58:44 -04:00
Logan Smyth
1b4307205e Limit file-based plugins/presets to only exporting functions. (#6494) 2017-10-18 10:17:45 -07:00
Logan Smyth
445b252bc4 Simplify dirname option in plugins/presets? (#6436) 2017-10-18 08:59:32 -07:00
Brian Ng
85d82152c6 Update scope pkg ref in nullish syntax README [skip ci] 2017-10-18 09:54:51 -05:00
Brian Ng
d7af472dc0 Update scope pkg ref in nullish README [skip ci] 2017-10-18 09:53:16 -05:00
Brian Ng
c23281dc54 Update more scope package refs in preset-env docs [skip ci] 2017-10-18 09:51:35 -05:00
Brian Ng
72d1a72122 Update babel-types docs and lib/types [skip ci] 2017-10-18 09:43:54 -05:00
Lucas Azzola
99be60b53d Implement transform for nullish-coalescing operator (#6483)
* Implement transform for nullish-coalescing operator

* Update example output

* Switch from BinaryExpression to LogicalExpression

* Address review comments

- Use generateUidIdentifierBasedOnNode
- Inline "??"
- Clone ref node
- Move "??" to LogicalExpression in babel-types

* Fix reference to @babel/helper-plugin-test-runner

* Fix reference to @babel/plugin-syntax-nullish-coalescing-operator

* Don't use parent scope

* Remove .vscode from .gitignore, change 'lib/index.js' to 'lib'

* Ensure `document.all ?? 0 === document.all`

* Fix note and copy to an inline comment
2017-10-18 03:10:05 -04:00
James Kyle
5c47929983 Export File from babel-core again 2017-10-18 12:28:56 +11:00
Logan Smyth
a75e69ecec Regenerate incorrectly-updated helpers from @babel scope PR. 2017-10-17 10:47:15 -07:00
Daniel Tschinder
c16986b0c7 [preset-env] Add 1.6.1 to Changelog [skip ci] 2017-10-17 14:40:16 +02:00
Henry Zhu
830c527bb7 Merge pull request #6495 from babel/scoped-packages
Rename everything: use scoped packages
2017-10-17 08:29:18 -04:00
Henry Zhu
20729b2625 Scoped: fix flow module resolution thanks to James 2017-10-16 23:35:50 -04:00
Henry Zhu
5eea11f1f9 Scoped: misc fixes 2017-10-16 23:00:48 -04:00
Henry Zhu
f30924e655 Scoped: fix tests [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
33af5f745a Scoped: fix more tests in preset-env [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
3400b3644b Scoped: fix bugs in tests [skip ci] 2017-10-16 22:49:57 -04:00
Mateusz Burzyński
6d2f4a6955 Scoped: updated more docs with scoped packages change [skip ci] 2017-10-16 22:49:57 -04:00
Mateusz Burzyński
859ea4b175 Scoped: updated numerous docs with scoped packages change [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
919bdf5e79 Scoped: remove unncessary deps from standalone [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
eab0a1fadb Scoped: remove old references to default enabled syntax plugins, fix bootstrap [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
d19a0e8635 Scoped: fix dep [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
425c2090c1 Scoped: update standalone [skip ci] 2017-10-16 22:49:57 -04:00
Henry Zhu
c0a958098f Scoped: update readme headers to @babel/ [skip ci] 2017-10-16 22:49:57 -04:00
Mateusz Burzyński
adfacbb270 Removed deprecated babel-core/register [skip ci] 2017-10-16 22:49:57 -04:00
Mateusz Burzyński
df721f067e reverted change to keywords in package.jsons [skip ci] 2017-10-16 22:49:57 -04:00
Mateusz Burzyński
47fa189053 Scoped: update more babel- to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
696df10f51 Scoped: update more babel- to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Brian Ng
65495105e9 Scoped: rename installation instructions for transforms [skip ci] 2017-10-16 22:49:56 -04:00
Brian Ng
645bf56838 Scoped: rename installation instructions for presets [skip ci] 2017-10-16 22:49:56 -04:00
Brian Ng
4739677965 Scoped: rename installation instructions for syntax plugins [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
79ddf12d9d Scoped: rename to @babel/ in readme [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
dfbbe82598 Scoped: rename npm pkg keyword [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
70080063a4 Scoped: update experimental/codemods to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
691f90a774 Scoped: change test imports to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
cde0054227 Scoped: change src imports to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
8e5e27577a Scoped: update package.json dependencies to @babel/ [skip ci] 2017-10-16 22:49:56 -04:00
Henry Zhu
1cd564bd16 Scoped: rename package names to @babel/ [skip ci] 2017-10-16 22:49:01 -04:00
Henry Zhu
279f55cd9b update to babylon beta.29 2017-10-16 20:10:55 -05:00
Henry Zhu
24d62cd191 7.0.0-beta.29 2017-10-16 18:34:08 -04:00
Henry Zhu
eaf054ba1f Merge pull request #762 from azz/nullish-tests
Add more tests for the nullish coalescing operator
2017-10-16 18:32:26 -04:00
Zachary Sang
98621a6901 Removed index.js stub from packages/babel-core (#6474)
* Removed index.js stub from packages/babel-core

Added "main":"./lib/index.js" entry to package.json to replace index.js in packages/babel-core

* Fix indentation of new main.
2017-10-16 08:52:56 -07:00
Henry Zhu
58da50aace simplify register test (#6391) 2017-10-16 11:09:11 -04:00
Daniel Tschinder
9d00dac416 Update compat-data in babel-preset-env (#6489) 2017-10-16 11:07:41 -04:00
Henry Zhu
3659652fae update to beta.3 (#6488) 2017-10-16 10:51:56 -04:00
Lucas Azzola
727767c923 Add tests for ?? with other LogicalExpressions 2017-10-16 19:34:52 +11:00
Sven SAULEAU
12c389b718 Merge pull request #6490 from Andarist/deps-fix
Fixed es2015-template-literals dependencies
2017-10-15 20:33:56 +02:00
Mateusz Burzyński
1215db2dd3 Fixed es2015-template-literals dependencies 2017-10-15 18:05:05 +02:00
Daniel Tschinder
d80fea47af Add polyfills for ES6 static Object methods
These functions do exist in ES5, but we still need to
load the polyfills, as they differ in ES6 sligthly
2017-10-15 09:27:27 -05:00
Lucas Azzola
f1b8404750 Move ?? to LogicalExpression 2017-10-15 15:10:34 +11:00
Lucas Azzola
fcdfb0e31e Add more tests for the nullish coalescing operator 2017-10-15 12:04:10 +11:00
Henry Zhu
f1d2db6cf4 7.0.0-beta.28 2017-10-14 18:23:44 -04:00
Lucas Azzola
e53ce38c75 Implement nullish coalescing operator in parser (#761)
* Implement nullish coalescing operator in parser

* Add ?? to AST
2017-10-14 17:18:28 -04:00
Brian Ng
b5e6ba62db Allow new.target in class properties (#759) 2017-10-14 16:50:21 -04:00
Brian Ng
60ea39aa70 Fix export extensions handling of TS declare keyword (#757) 2017-10-14 15:25:42 -04:00
Andy
0fbf3a61fb Fix new type errors (#754) 2017-10-10 16:11:28 -05:00
Sven SAULEAU
6fc9af52ca Merge pull request #751 from gebilaoxiong/remove-unnecessary-return
chore: remove unnecessary return
2017-10-09 13:53:21 +02:00
gebilaoxiong
94a17419d4 chore: remove unnecessary return 2017-10-09 00:48:40 +08:00
Brandon Weaver
43afb984c4 fix readme (#749) [skip ci]
Amusingly the pipeline OP "breaks" the readme formatting because Markdown likes the `|` character a bit too much. Escaping the `|` fixes this and makes the readme display properly
2017-10-03 20:06:07 -04:00
greenkeeper[bot]
bbdde80992 Update flow-bin to the latest version 🚀 (#746) 2017-10-03 09:09:15 -05:00
Henry Zhu
64366a207e 7.0.0-beta.27 2017-09-28 23:26:01 -04:00
Henry Zhu
d2e06a9496 Pipeline Operator proposal (#742) 2017-09-28 23:13:41 -04:00
Rick Waldron
18c6b4e3e9 Fix: major revision to valid and invalid numeric literal separator "sibling" characters (#745) 2017-09-28 23:12:46 -04:00
greenkeeper[bot]
17be9360af Update babel-eslint to the latest version 🚀 (#738)
* chore(package): update babel-eslint to version 8.0.1

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-09-28 14:25:43 -04:00
Rick Waldron
b8ba10532e Fix NumericLiteralSeparator SyntaxError message to match V8 (#743) 2017-09-28 14:25:30 -04:00
Henry Zhu
ab268877fd don't build for tags (#741) 2017-09-28 10:51:04 -04:00
Henry Zhu
508cb70a35 7.0.0-beta.26 2017-09-27 14:34:39 -04:00
Nicolò Ribaudo
664ff37b36 Fix flow errors (#735) 2017-09-27 14:33:11 -04:00
Justin Ridgewell
8af007d560 Add throw expressions (#740) 2017-09-27 14:12:30 -04:00
Zoe Carver
ef8e30419c Add yield-result (#737) 2017-09-27 11:00:14 -05:00
Nicolò Ribaudo
4de29fe5e6 Distinguish between ternary's : and arrow fn's return type (#596) 2017-09-26 00:32:52 +02:00
Henry Zhu
20ec5c77b7 7.0.0-beta.25 2017-09-25 15:48:29 -04:00
James Kyle
d9766932db Ensure no-overlap between Flow and TS node types (#710) 2017-09-25 15:42:33 -04:00
Zoe Carver
a4acf2da6d Clean up uncatagorised decorators (1/2) (#731)
* Re-name uncatagorised 1 and 2

* Move to es2015

* Add expected.json to parenthesized lhs object

* Orginize into parenthesized-lhs-array and parenthesized-lhs-object

* Remove uncategorised/33 because it was repeditive decorators/class-decorator

* Move uncatagorised/34 to decorators/class-decorator-assignment

* Move uncategorised/35 to decorators/method-decorator

* Move uncategorised/36 to decorators/class-decorator-setter

* Move uncategorised/37 to decorators/class-decorator-getter

* Move uncategorised/38 to decorators/class-decorators-multiple

* Clean up syntax

* Move uncategorised/39 to decorators/object-decorator

* Remove syntax in order to pass tests

* Re-add uncategorisd/33 as decorators/class-decorator-new-line

* Move class-decorator-new-line to class-decorator-same-line
2017-09-24 16:33:01 -04:00
Zoe Carver
bfd9c7ba50 Clean up uncategorised tests (#730) 2017-09-21 16:12:36 -05:00
Brian Ng
5983ae38fc Merge pull request #729 from babel/greenkeeper/flow-bin-0.55.0
Update flow-bin to the latest version 🚀
2017-09-21 10:34:50 -05:00
greenkeeper[bot]
f6d7209f0e chore(package): update lockfile
https://npm.im/greenkeeper-lockfile
2017-09-20 19:59:29 +00:00
greenkeeper[bot]
040e46d4f8 chore(package): update flow-bin to version 0.55.0 2017-09-20 19:51:48 +00:00
Henry Zhu
38504c68e3 7.0.0-beta.24 2017-09-19 14:19:01 -04:00
greenkeeper[bot]
7eaf556094 Update babel-eslint to the latest version 🚀 (#719) [skip ci]
* chore(package): update babel-eslint to version 8.0.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-09-19 14:12:25 -04:00
Brian Ng
d016deac3d Merge pull request #727 from jridgewell/private-methods
classPrivateMethods enables PrivateName usage
2017-09-18 08:55:44 -05:00
Justin Ridgewell
1f11dc0881 classPrivateMethods enables PrivateName usage
This separates `classPrivateMethods`'s dependency on
`classPrivateProperties`. It also starts a `PrivateName` at the hash
symbol, not the `Identifier`.
2017-09-17 21:24:37 -04:00
greenkeeper[bot]
9b582c913a Update rollup to the latest version 🚀 (#725)
* chore(package): update rollup to version 0.50.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-09-16 15:47:33 -04:00
Henry Zhu
4df30fc300 7.0.0-beta.23 2017-09-14 20:38:17 -04:00
Sven SAULEAU
3bd142ba8a Merge pull request #716 from babel/rollup
Bump rollup
2017-09-10 09:36:52 +02:00
Brian Ng
b8544de9a8 Bump rollup 2017-09-08 10:00:59 -05:00
Brian Ng
e8c533ba68 Merge pull request #715 from nicolo-ribaudo/makePredicate-comment
Remove outdated code
2017-09-08 09:56:16 -05:00
Nicolò Ribaudo
b97c534b32 Remove outdated imports
They were not needed since c4fb3fe742
because now each files declare a new class
instead of adding method to the existing one.
2017-09-08 15:24:46 +02:00
Nicolò Ribaudo
ef31a148a6 Remove outdated comment
The described code was removed in 5f1c3c3b8d (2 years ago!)
2017-09-08 12:59:22 +02:00
Karl Cheng
65bea96544 Add support for class private methods (#703)
* Add support for class private methods

This commit adds parser support for the TC39 Stage 2 Private Methods
proposal.

This commit also changes "key" in ClassPrivateProperty from an
Identifier to a PrivateName, as well as disallowing #constructor as a
valid private field name.

* Add tests for string literal get/set/async

These should be treated as regular methods and not special get/set/async
behaviour.

* Add tests for class private methods

This also removes a test from the Test262 whitelist that failed before
the changes for private methods support and now passes.

* Modify class private prop tests for PrivateName

* Add class private prop tests for #constructor

* Fix existing ASI test case failure
2017-09-06 18:09:12 -04:00
greenkeeper[bot]
b65b5a2f1c Update flow-bin to the latest version 🚀 (#714)
* chore(package): update flow-bin to version 0.54.1

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-09-06 13:56:26 -04:00
Brian Ng
8cc89e6228 Remove duplicate flow travis job, and update whitelist (#711) 2017-09-01 12:41:34 -04:00
Daniel Tschinder
5e018d507b Use correct branch for babel test (#707) 2017-08-31 20:36:57 +02:00
Henry Zhu
c6b2c6bef0 Merge pull request #680 from nicolo-ribaudo/flow-tests
Fix flow test runner
2017-08-31 14:36:47 -04:00
Brian Ng
0beaf4d54e Merge pull request #705 from babel/flow-declare-var-primitive
Add allowPrimitiveOverride option to flowParseTypeAnnotatableIdentifier
2017-08-29 21:19:20 -05:00
Brian Ng
55f38933bf Add allowPrimitiveOverride option to flowParseTypeAnnotatableIdentifier 2017-08-29 14:11:50 -05:00
Henry Zhu
3f1dbecd2e 7.0.0-beta.22 2017-08-28 18:06:39 -04:00
Henry Zhu
cde42329ac Merge pull request #658 from babel/expect
Syntax Error: add message with the plugin that should be enabled
2017-08-28 15:44:26 -06:00
Daniel Tschinder
19c099d116 Use expectPlugin 2017-08-28 17:31:58 -04:00
Daniel Tschinder
96bd271495 Fix tests 2017-08-28 17:31:58 -04:00
Daniel Tschinder
aec1bdb359 Enable no-case-declarations to prevent bugs and remove if (true) 2017-08-28 17:31:58 -04:00
Daniel Tschinder
dfb279f478 Add test for function. 2017-08-28 17:30:10 -04:00
Henry Zhu
de47b0423f rename folders, add more 2017-08-28 17:30:10 -04:00
Henry Zhu
2dbba25d1a change some things to expectPlugin 2017-08-28 17:30:10 -04:00
Moti Zilberman
cf3ebacf4f add expectPlugin which throws an error with the missing plugin 2017-08-28 17:30:09 -04:00
Brian Ng
2f76fc88be Fix regression with generic type and jsx (#702) 2017-08-28 14:51:37 -06:00
Karl Cheng
19bc694e7d Rename PrivateName.name to .id (#698)
Given that it refers to an identifier, it's somewhat confusing to have
to use .name.name to get the actual string. The type declared within
types.js is also incorrect, which this commit fixes.
2017-08-28 13:47:37 -04:00
Henry Zhu
6d24416645 7.0.0-beta.21 2017-08-26 12:05:26 -06:00
James Henry
acf0e65090 Apply location data fix to decorators plugin (#699) 2017-08-26 11:38:11 -04:00
Brian Ng
8f2f250144 Merge pull request #696 from babel/obj-rest-not-last
Throw if rest element is not in last position for object expressions
2017-08-26 09:57:51 -05:00
Brian Ng
2fa1f9929f Throw if rest element is not in last position for object expressions 2017-08-26 09:34:33 -05:00
Brian Ng
083a44658c Enable optionalCatchBinding plugin for test262 tests (#697) 2017-08-26 12:14:56 +02:00
Brian Ng
6ba38a2a78 Merge pull request #693 from babel/trailing-comma-rest-param
Raise error if trailing comma after rest element in async func params
2017-08-25 20:12:59 -05:00
Brian Ng
a659ac6bda Merge pull request #695 from babel/issue691
Fix TypeScript TypeParameterDeclaration location start values
2017-08-25 20:12:47 -05:00
Brian Ng
af2c974473 Fix TypeScript TypeParameterDeclaration location start values 2017-08-25 09:54:16 -05:00
James Henry
87b322cfc2 Add failing test case 2017-08-25 09:49:03 -05:00
Brian Ng
65db277364 Raise error if trailing comma after rest element in async func params 2017-08-24 21:59:01 -05:00
Brian Ng
c441afeaa6 Improve error message for comma after rest element in arrow func 2017-08-24 21:28:19 -05:00
Brian Ng
27aae6c0f9 Merge pull request #686 from babel/invalid-label-declarations 2017-08-24 19:45:17 -05:00
Brian Ng
2bc124bf49 Fix some cases of keywords with escape sequences 2017-08-24 19:27:09 -05:00
Brian Ng
5e60ad6688 Fix some cases of invalid labeled declarations 2017-08-24 19:00:52 -05:00
Mateusz Burzyński
5d83e2692f Adjusted Object Rest/Spread syntax handling to the latest spec (#670) 2017-08-24 18:31:50 -05:00
Mateusz Burzyński
5df1139567 Test262 update (#692) 2017-08-24 17:42:04 -05:00
Brian Ng
be0fe1c6b6 Update rollup config options (#685) 2017-08-22 15:59:05 -04:00
Sangboak Lee
d83064a82e add test for do expressions (#688) 2017-08-22 08:48:56 -05:00
James Henry
d0c7d7a8c7 Fix: Use parseExprAtom() for TS module id string (#684) 2017-08-20 10:38:55 -05:00
greenkeeper[bot]
d685b3999c Update rollup to the latest version 🚀 (#682) 2017-08-20 10:27:15 -05:00
Nicolò Ribaudo
79d6bad5c2 Disallow failures in the flow-test JOB 🎉 2017-08-19 23:13:47 +02:00
Nicolò Ribaudo
748b6fc477 Add option to update the whitelist 2017-08-19 22:18:10 +02:00
Nicolò Ribaudo
656815a53a Add whitelist to flow tests 2017-08-19 22:02:27 +02:00
Nicolò Ribaudo
942d22dd70 Remove the get_harcoded_tests function, use get_tests 2017-08-19 18:25:18 +02:00
Nicolò Ribaudo
1a9b340cb9 Use a Map instead of an Obejct to store tests
This change has two reasons:
- The object was actually used as a map
- Using an object leads some problems with the
  private_class_fields/constructor.js test, since
  `tests[test_name] || {}` returned the Obejct
  constructor instead of an empty object.
2017-08-19 18:24:21 +02:00
Henry Zhu
f87b81a8b1 7.0.0-beta.20 2017-08-19 10:36:28 -04:00
Daniel Tschinder
559e333557 Remove babel-cli as unused (#679) 2017-08-19 07:34:06 -04:00
Daniel Tschinder
9c2b5e6b1f Update dependencies and add babel-core as dependency
it is requried by rollup-plugin-babel
2017-08-19 12:08:46 +02:00
laoxiong
a8021fafc4 chore: add comment for whitespace char code (#676) 2017-08-16 21:51:56 +02:00
greenkeeper[bot]
dfec243fba Update flow-bin to the latest version 🚀 (#675)
* chore(package): update flow-bin to version 0.53.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-08-16 13:33:41 +02:00
greenkeeper[bot]
3a5690ab1c Update ava to the latest version 🚀 (#672)
* chore(package): update ava to version 0.22.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-08-15 12:55:56 +02:00
Justin Ridgewell
bab28d68f6 Merge pull request #669 from babel/greenkeeper/rollup-0.47.0
Update rollup to the latest version 🚀
2017-08-13 20:33:09 -04:00
greenkeeper[bot]
e9aeffcb60 chore(package): update lockfile
https://npm.im/greenkeeper-lockfile
2017-08-12 03:23:30 +00:00
greenkeeper[bot]
10a3965772 chore(package): update rollup to version 0.47.0 2017-08-12 03:17:33 +00:00
greenkeeper[bot]
88cf1bc140 Update rollup to the latest version 🚀 (#668)
* chore(package): update rollup to version 0.46.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-08-11 10:56:38 -05:00
Andy
a39ea5dc9d Fix indentation in typescript.js (#665) [skip ci] 2017-08-08 22:44:20 -04:00
Andy
d565eca976 Don't enable class properties just because "typescript" plugin is enabled (#666) 2017-08-08 20:51:57 -05:00
Andy
00ad6d8310 Fix conflict between "typescript" and "exportExtensions" plugins (#664)
* Fix conflict between "typescript" and "exportExtensions" plugins

* `==` -> `===`
2017-08-08 22:30:08 +02:00
Henry Zhu
41debcd286 rollup-plugin-babel v3.0.1 2017-08-07 17:36:42 -04:00
greenkeeper[bot]
77aa094122 chore(package): update rollup-plugin-babel to version 3.0.1 (#662) 2017-08-07 17:36:03 -04:00
jugglinmike
0466504d7b Integrate Test262 (#654)
* Integrate Test262

Introduce a GNU Make target for retrieving TC-39's Test262 suite and
validating parsing of the files it contains. Interpret each file as a
parser test in accordance with that project's `INTERPRETING.md`
document. Allow for the specification of allowed failures via a
"whitelist" file so that the test suite may help prevent regressions in
this project in situations where this project has known bugs. Initialize
the "whitelist" file with a listing of all tests that are currently
failing. Extend the continuous integration environment's configuration
to automatically run these tests.

* use graceful-fs and latest yarn on travis
2017-08-06 21:20:25 -04:00
Daniel Tschinder
fb6d0491f6 Upgrade dependencies 2017-08-05 00:37:55 +02:00
Nicolò Ribaudo
7353a38846 Arrow fns can't be used as the left side of a binary or ternary expression (#559)
* Arrow fns can't be used as the left side of a binary or ternary expression

Fixes #536

* Add test for logical expression with arrow function

* Fix eslint
2017-08-05 00:27:11 +02:00
Henry Zhu
5c867240f7 7.0.0-beta.19 2017-08-04 12:44:51 -04:00
Henry Zhu
9c91e75cb3 yarn.lock 2017-08-04 12:38:08 -04:00
Henry Zhu
579aabf23e alpha.18 (#660) 2017-08-04 12:34:17 -04:00
Naveen jain
0c11af8fc5 Fix #656 (#659)
* Fix #656

* Fix #656
2017-08-04 11:54:03 +02:00
Nicolò Ribaudo
eee1a3854e Alow regex after "of" in for(...of...) (#579)
Fixes #456
2017-08-03 09:11:31 -05:00
greenkeeper[bot]
880fa582c3 Update flow-bin to the latest version 🚀 (#657)
* chore(package): update flow-bin to version 0.52.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-08-03 11:02:29 +02:00
Justin Ridgewell
6821cfb064 Merge pull request #648 from Qantas94Heavy/private-field-no-shorthand
Remove private field shorthand
2017-07-27 14:56:19 -04:00
Henry Zhu
0bc9d78927 7.0.0-beta.18 2017-07-25 18:23:45 -04:00
Henry Zhu
a3128619ff update (#649) 2017-07-25 18:22:07 -04:00
Karl Cheng
42d5dbe544 Remove private field shorthand
There seems to be tentative agreement to remove the private field
shorthand given the added confusion and edge cases involved with the
shorthand.

Refs: https://github.com/tc39/proposal-class-fields/issues/21
2017-07-25 11:53:38 +10:00
Daniel Tschinder
59ffa6268e Fix flow test runner (#647)
* Fix flow test runner

* Retry parsing in scriptmode
2017-07-22 11:11:52 +02:00
greenkeeper[bot]
23d325ba75 Update flow-bin to the latest version 🚀 (#646)
* chore(package): update flow-bin to version 0.51.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-07-22 09:38:18 +02:00
Henry Zhu
92d64f202d 7.0.0-beta.17 2017-07-21 15:56:42 -04:00
jbrown215
e7e7593ca5 Flow opaque type aliases parsing (#643)
* Add support for Flow opaque type aliases

* Add tests for Flow opaque type aliases
2017-07-21 10:48:28 -04:00
MarckK
c88af90c0a Add optionality to catch bindings (#634)
* Add optionality to catch bindings (plus tests)

* Update ast/spec, README, set param to null if no param with plugin optionalCatchBinding

* Fix: wrap param = null in else case

* Fix tests for optional catch binding; add tests which include finally clause
2017-07-21 10:18:57 -04:00
Brian Ng
77bdb9ae3e Reorganize new.target tests (#642) 2017-07-20 16:17:40 -05:00
Henry Zhu
2f50fd00c3 update to babel 7 alpha.15 (#638) 2017-07-19 16:38:45 -04:00
Henry Zhu
135c3bafac drop node 7 [skip ci] 2017-07-19 16:37:09 -04:00
Brian Ng
a46f87f726 Check for function when parsing export async (#639) 2017-07-19 14:03:49 -04:00
greenkeeper[bot]
fa4d4040dc Update flow-bin to the latest version 🚀 (#629)
* chore(package): update flow-bin to version 0.50.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-07-17 11:45:00 +02:00
Joseph Frazier
f9b8fa1ddf Add comments property to babylon.parseExpression() result 2017-07-14 09:22:23 -05:00
Brian Ng
688a1e523e Fix parsing a <!-- b in modules (#626) 2017-07-14 09:16:31 -05:00
Brian Ng
63143ea5e9 Fix incorrect parsing of %* (#624) 2017-07-13 15:04:05 -05:00
greenkeeper[bot]
f2b8d1f179 Update ava to the latest version 🚀 (#625) 2017-07-13 11:12:34 -05:00
Nicolò Ribaudo
b0c3a9dcdd Add support for flow's export type * from (#617) 2017-07-11 22:56:04 -05:00
greenkeeper[bot]
ff513df283 Update rollup to the latest version 🚀 (#618)
* chore(package): update rollup to version 0.45.1

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2017-07-11 05:43:07 +02:00
greenkeeper[bot]
39ae6f6d28 Update rollup to the latest version 🚀 (#615) 2017-07-09 23:52:20 -05:00
Justin Ridgewell
68fb475661 Merge pull request #604 from babel/greenkeeper/chalk-2.0.0
Update chalk to the latest version 🚀
2017-07-09 20:16:25 -04:00
Justin Ridgewell
880b9a38a3 Merge pull request #614 from babel/greenkeeper/rollup-0.43.1
Update rollup to the latest version 🚀
2017-07-09 20:12:44 -04:00
greenkeeper[bot]
c020a0b2b4 chore(package): update lockfile
https://npm.im/greenkeeper-lockfile
2017-07-09 23:26:21 +00:00
greenkeeper[bot]
a48f5a6780 chore(package): update rollup to version 0.43.1 2017-07-09 23:20:37 +00:00
Justin Ridgewell
cc643668c8 Merge pull request #613 from jridgewell/function-sent-statement
Fix function.sent parsing
2017-07-09 08:56:06 -04:00
Justin Ridgewell
aa1bad90d1 Test function.sent statement without declarations 2017-07-08 02:08:46 -04:00
Justin Ridgewell
62d313e753 Fix function.sent parsing 2017-07-07 23:14:20 -04:00
Justin Ridgewell
f09eb3200f Merge pull request #609 from jridgewell/static-private
Add static private class field support
2017-07-03 19:55:34 -04:00
Justin Ridgewell
9c9f9e2adb Add static private class field support 2017-07-02 01:44:12 -04:00
Nicolò Ribaudo
5e1e94917c Add link to decorators proposal (#606) [skip ci] 2017-07-01 06:21:52 -04:00
greenkeeper[bot]
4d851fa44d chore(package): update lockfile
https://npm.im/greenkeeper-lockfile
2017-06-30 00:10:05 +00:00
greenkeeper[bot]
2f1b7d543d chore(package): update chalk to version 2.0.0 2017-06-29 23:59:29 +00:00
Daniel Tschinder
5f5c6fcc4e Remove deprecated option in flowconfig 2017-06-29 10:38:44 -07:00
greenkeeper[bot]
62b527851f Update ava to the latest version 🚀 (#599)
* chore(package): update ava to version 0.20.0

* Update yarn.lock
2017-06-29 10:20:20 -07:00
greenkeeper[bot]
30dfccf84c Update flow-bin to the latest version 🚀 (#601)
* chore(package): update flow-bin to version 0.49.1

* Update yarn.lock
2017-06-29 10:20:09 -07:00
Daniel Tschinder
ae5e6b954c Add greenkeeper-lockfile support (#602) 2017-06-29 10:19:57 -07:00
Brian Ng
7576397b25 Force color output in test runs to ensure consistent behavior in Travis (#603) 2017-06-29 10:19:29 -07:00
Henry Zhu
6474dd5b88 basic publish steps [skip ci] 2017-06-28 12:50:31 -04:00
Henry Zhu
364a9fe72d 7.0.0-beta.16 2017-06-28 12:48:05 -04:00
Brian Ng
5180ecdca4 Use prettier (#600) 2017-06-28 12:41:42 -04:00
Henry Zhu
a95f55c468 add ts to readme [skip ci] 2017-06-28 10:59:02 -04:00
Andy
97c23461f9 TypeScript parser plugin (#523) 2017-06-28 10:57:50 -04:00
Henry Zhu
f7547fd35a Use the string "module" in err message (#598) 2017-06-28 10:46:30 -04:00
Nicolò Ribaudo
03b3b39b17 Allow jsx to be the body of a typed arrow function (#595)
Fixes #593
2017-06-28 10:17:51 -04:00
Sebastian McKenzie
759266a2e8 Remove future plans from README (#597) [skip ci] 2017-06-28 08:44:47 -04:00
Henry Zhu
7795615dac fix example [skip ci] 2017-06-28 06:49:55 -04:00
Henry Zhu
107aea75f1 add a code example [skip ci] (#594) 2017-06-27 23:53:23 -04:00
William Horton
baa5f4dca7 Stage 2: BigInt (#588)
* Stage 2: BigInt

* Change plugin name to bigInt (camelcase).

* Update based on PR review, add test cases.

* Use hex for charCodes.
2017-06-27 23:35:57 -04:00
Daniel Tschinder
fecdb6feeb Make tokens optional (#563)
Adding tokens to the ast is significant slower and most tools
don't ever use them anyway
2017-06-27 23:26:24 -04:00
Henry Zhu
3d03414c05 update readme with decorators2 [skip ci] 2017-06-27 16:06:33 -04:00
Henry Zhu
a0f054b5ce 7.0.0-beta.15 2017-06-27 16:03:30 -04:00
Henry Zhu
88298536c5 Revert "Distinguish between ternary's : and arrow fn's return type (#573)"
This reverts commit a9a55fbd3f.
2017-06-27 15:58:57 -04:00
Nicolò Ribaudo
a9a55fbd3f Distinguish between ternary's : and arrow fn's return type (#573)
* Distinguish between ternary's : and arrow fn's return type

* Correctly parse nested arrow functions inside conditional expressions

Defer the conversion of arrow function parameters to assignable nodes so that
it is possible to use the (invalid) ast to get the exact position of the (wrong)
arrow functions.

* Check params of arrow fns w/ type params or w/o return type

* Fix also async functions

* Add test from prettier

https://github.com/prettier/prettier/issues/2194

* Don't check arrow params if they are valid at the first attemp

* Use state instead of relying on the "noArrowParamsConversion" parameter

* Remove noArrowParamsConversion
2017-06-27 15:44:56 -04:00
Henry Zhu
39447b1cca Merge pull request #590 from peey/decorators-followup
Follow-up on Decorators PR
2017-06-27 15:34:44 -04:00
Peeyush Kushwaha
f2ad94d0e3 Incorporate suggestions from review 2017-06-27 22:46:43 +05:30
Henry Zhu
994cde616d Merge pull request #589 from Qantas94Heavy/fix-private-fields
Add delete check and fix nested class parsing for private fields
2017-06-27 11:33:19 -04:00
Justin Ridgewell
1c7151e8ba Merge pull request #592 from nicolo-ribaudo/dead-code
Remove dead code
2017-06-25 19:07:36 -04:00
Nicolò Ribaudo
d93860393c Remove dead code 2017-06-26 00:48:18 +02:00
Peeyush Kushwaha
c3b992e031 Minor change in an error message 2017-06-23 22:04:35 +05:30
Peeyush Kushwaha
2c8fc75643 Add test case for decorated static method 2017-06-23 18:13:51 +05:30
Peeyush Kushwaha
37fa77e84f Support decorator in decorator
Fixes #524
2017-06-23 18:10:16 +05:30
Karl Cheng
44d842c30b Add private fields numeric name test 2017-06-23 18:34:59 +10:00
Karl Cheng
b4e06aa279 Fix parsing of nested classes with private fields
The parsing of private fields checks whether or not it is within a
class to determine if it is valid or not. However, the state.inClass
property is incorrect as it marks it as outside a class when the inner
class is closed.

This commit fixes this problem by replacing the state.inClass property
with a class nesting counter.
2017-06-23 18:34:59 +10:00
Karl Cheng
43dba7e7c1 Throw on attempt to delete a private field
Given that private fields can only be used within classes, any code
using them must be in a strict mode context. As private fields cannot
be deleted, throw an early SyntaxError.
2017-06-23 18:34:59 +10:00
Peeyush Kushwaha
add8e4ad13 Helpful error message for @dec export class 2017-06-23 02:19:08 +05:30
Henry Zhu
f976bdd21c Merge pull request #587 from peey/decorators-stage-2
Decorators Stage 2 Parsing
2017-06-22 10:20:08 -04:00
Peeyush Kushwaha
d99618cdfe renames files 2017-06-22 02:01:28 +05:30
Peeyush Kushwaha
e5fdb3448d rename decoratorsStage2 -> decorators2 2017-06-22 02:00:36 +05:30
Peeyush Kushwaha
e1972baff5 Decorated classes/methods start where the decorator starts 2017-06-22 01:45:53 +05:30
Peeyush Kushwaha
04b40868f9 Add more tests; fix plugin conflict code 2017-06-19 23:45:57 +05:30
Henry Zhu
a59103f15d link to the handbook [skip ci] 2017-06-19 12:42:53 -04:00
Henry Zhu
8febb09404 update babel alpha 12, fixes build issues (#583) 2017-06-18 19:01:02 -04:00
Daniel Tschinder
cb09891fff 7.0.0-beta.14 2017-06-18 23:06:56 +02:00
aardito2
ac936e315a Fix comment attachment for call expressions (#575) 2017-06-18 22:57:42 +02:00
Peeyush Kushwaha
b60ac52ae6 Reorganize tests and add tests
Add tests for static properties and private properties
2017-06-18 02:00:13 +05:30
Peeyush Kushwaha
4f8ac6bada Merge branch 'master' into decorators-stage-2 2017-06-18 01:33:16 +05:30
Peeyush Kushwaha
b7c1c559c7 Add test case for object properties 2017-06-18 01:30:46 +05:30
Peeyush Kushwaha
38c417e971 Reorganize tests; camelCase plugin name 2017-06-18 01:25:54 +05:30
Daniel Tschinder
e1e2c32bf3 Correctly put typeParameters on FunctionExpression (#585) 2017-06-17 15:43:31 -04:00
Daniel Tschinder
e982c0652c Fix v8 deopts (#581) 2017-06-17 11:41:23 -04:00
Peeyush Kushwaha
b5e23835ce Disallow exports between decorator & class body
For stage 2 decorators
2017-06-17 18:12:14 +05:30
Peeyush Kushwaha
9c639743dd Disallow in object literals, params, class props
And add tests to reflect the same
2017-06-17 17:49:33 +05:30
Peeyush Kushwaha
162bc905a6 Throw if both decorators decorators-stage-2 used 2017-06-17 13:38:04 +05:30
Peeyush Kushwaha
001044ffa7 Add tests for stage 2 decorators from PR#353 2017-06-17 13:33:42 +05:30
Peeyush Kushwaha
a24dc6e630 Let decorator stage 2 parsing be under a new plugin name
Parse stage 0 decorators when "decorators" plugin is active and
parse stage 2 decorators when "decorators-stage-2" plugin is active
2017-06-17 13:25:21 +05:30
Kevin Gibbons
06afa0761b Update decorator parsing to match current spec
Refer to PR #353
2017-06-17 13:23:30 +05:30
Daniel Tschinder
e11794c735 Add back shorthand field to Property (#580)
Also add some better types for estree
2017-06-17 01:05:32 +02:00
Nicolò Ribaudo
6b4fba4deb The { after a function generic type annotation is a statement (#578)
This would have previously been interpreted as an expression,
because usually after ">" there can't be a statement.

Fixes #36
2017-06-15 09:39:39 -05:00
Andy
50ae16de38 Factor parseSubscript out of parseSubscripts (#576) 2017-06-14 00:26:12 +02:00
Henry Zhu
dc87d99713 7.0.0-beta.13 2017-06-06 11:50:17 -04:00
Henry Zhu
2b7fab87d0 fix flow 2017-06-06 11:49:24 -04:00
Daniel Tschinder
69cba43f82 Fix parsing of private fields (#566)
The computed key is not part of the spec.
key for ClassProperties is an Expression
Do not parse computed and literal keys for PrivateClassProperties
2017-06-06 11:42:07 -04:00
Henry Zhu
37793d5be7 add links [skip ci] 2017-06-06 11:28:08 -04:00
greenkeeper[bot]
e5e4981e79 Update rollup-watch to the latest version 🚀 (#568)
* chore(package): update rollup-watch to version 4.0.0

* Update yarn.lock
2017-06-06 11:38:53 +02:00
Sven SAULEAU
e064bb9135 Merge pull request #545 from xtuc/feat-optional-chaining
Optional Chaining: Stage 1 plugin
2017-06-05 23:13:16 +02:00
Henry Zhu
4c8f4a23db add another test 2017-06-05 16:51:45 -04:00
Daniel Tschinder
775dcfa6d6 Improve performance by removing all spread/rest usages (#561) 2017-06-05 19:21:41 +02:00
Michal Srb
bbc3cd45cf Fix location info on FunctionTypeParam nodes (#565) 2017-06-05 12:41:46 -04:00
Daniel Tschinder
e579109f0b Use preset-env and update other dependencies (#562) 2017-06-04 00:01:36 +02:00
Daniel Tschinder
0656717552 Fix stmt value being the raw value (#557) 2017-06-03 16:16:45 +02:00
Sven SAULEAU
4628bb957d Merge pull request #1 from jridgewell/pr/545
Finish optionalChaining plugin
2017-06-03 16:07:38 +02:00
Justin Ridgewell
e1ec23cd3e Finish optionalChaining plugin 2017-06-03 01:20:40 -04:00
Boopathi Rajaa
edf34dc780 [skip ci] Add classPrivateProperties to README & fix classProperties proposal link (#554) 2017-06-01 21:31:25 -04:00
Daniel Tschinder
c3e256fdb5 Add node 8 to travis (#552) 2017-06-01 11:50:25 +02:00
Henry Zhu
2dd624b44e Merge branch 'master' into feat-optional-chaining 2017-05-31 14:33:47 -04:00
Henry Zhu
324e2f0253 7.0.0-beta.12 2017-05-30 19:30:08 -04:00
Jan Olaf Krems
d4e842d4eb Add plugin for import.meta proposal (#544)
* Add plugin for import.meta proposal

Fixes https://github.com/babel/babylon/issues/539

* Tests for assignment/mutation of import.meta

* Use correct identifier in failure message

* Simpler & more consistent script errors for import.meta
2017-05-30 19:28:51 -04:00
Rick Waldron
2f5d146d54 Don't treat e, b, E, B as forbidden siblings for hex literals. (#549) 2017-05-30 18:14:31 -05:00
Rick Waldron
3ca75dc9ec Adds test to ensure that numericSeparator plugin does not alter "_" handling in Identifier (#548) 2017-05-30 14:31:13 -05:00
Sven SAULEAU
c1702e1da6 fix: minor change 2017-05-30 20:16:13 +02:00
Sven SAULEAU
b0386005c8 docs: NewExpression spec 2017-05-30 20:14:19 +02:00
Sven SAULEAU
9bcd85acf3 feat: CallExpression support 2017-05-30 20:12:43 +02:00
Sven SAULEAU
26096d6a3d style: [skip ci] updated comment 2017-05-30 18:38:50 +02:00
Sven SAULEAU
51bd87baa8 feat: use syntax plugin 2017-05-30 18:35:29 +02:00
Sven SAULEAU
03d89b6307 docs: fix typo in spec [skip ci] 2017-05-29 18:46:52 +02:00
Sven SAULEAU
d3bc8fcbdf Merge branch 'master' into feat-optional-chaining 2017-05-29 18:43:40 +02:00
Henry Zhu
f326ef6424 7.0.0-beta.11 2017-05-27 00:19:22 -04:00
Andy
50694f99b1 Extract 'parseClassMember' method (#533) 2017-05-26 23:44:56 -04:00
Brian Ng
aad95c63ec Fix some flow unused warnings (#543) 2017-05-26 23:44:36 -04:00
Henry Zhu
81ce415359 add proposal links [skip ci] 2017-05-26 16:44:25 -04:00
Rick Waldron
b344f62056 NumberLiteralSeparator: Stage 1 feature plugin. Closes gh-538 (#541)
* NumberLiteralSeparator: Stage 1 feature plugin

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

* fix-up per review

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

* nit: forbiddenNumericLiteralSeparatorSibling -> forbiddenNumericLiteralSeparatorSiblings

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

* fix-up to change includes -> indexOf

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-05-26 16:37:05 -04:00
Henry Zhu
589ceb4ee7 add extra note [skip ci] 2017-05-26 16:27:16 -04:00
Henry Zhu
ed1809c2d1 link to contributing [skip ci] 2017-05-26 16:25:45 -04:00
Henry Zhu
702d413b83 add contributing docs on making a plugin [skip ci] (#542)
* add contributing docs on making a plugin [skip ci]

* fixes [skip ci]
2017-05-26 16:24:10 -04:00
greenkeeper[bot]
dd83ad6d60 Update flow-bin to the latest version 🚀 (#537)
* chore(package): update flow-bin to version 0.47.0

* Update yarn.lock
2017-05-26 15:48:56 -04:00
Henry Zhu
6eeb0317b9 pin to alpha.9 2017-05-26 12:27:28 -04:00
Henry Zhu
9709c8d932 7.0.0-beta.10 2017-05-22 17:02:42 -04:00
aardito2
557696da3a Fixed disappearing comments following a trailing comma on the last property of an object literal or the last argument of a call expression (#478) 2017-05-22 17:02:02 -04:00
Henry Zhu
0f66dbd4b6 add changelog label data [skip ci] 2017-05-22 17:01:48 -04:00
Henry Zhu
1a92c1f34c 7.0.0-beta.9 2017-05-22 14:57:21 -04:00
Andy
2541ab5fda Simplify PrivateName and ClassPrivateProperty types (#532)
* Simplify PrivateName and ClassPrivateProperty types

* ClassPrivateProperty is not a ClassMemberBase; can't be static, can't be computed
2017-05-22 13:42:32 -04:00
Diego Ferreiro Val
01da62283c Modify grammar to support Private Fields proposal: (#260)
* Modify grammar to support Private Fields proposal:
- Adding optional plugin `classPrivateProperties`
- Adding PrivateName type identifier
- Adding ClassPrivateProperty to ClassBody
- Allow PrivateName in MemberExpression
- Allow PrivateName as a reference
- Adding tests

* Remove unnecesary liberal parameter

* Guarding for plugin dependecy for future versioning

* update spec.md [skip ci]

* move comment [skip ci]

* remove unused param [skip ci]

* Refactor PrivateName to contain Identifier in name property
2017-05-22 11:33:48 -04:00
Kevin Gibbons
6c4acecf00 Fix #437: only prohibit 'export type from "module" ' when flow is enabled (#438)
* Only prohibit 'export type' when flow is enabled

* Fix lint
2017-05-19 10:05:44 +02:00
Brian Ng
dcef4012a0 Disallow SpreadElement inside dynamic import (#529)
* Disallow SpreadElement inside dynamic import

* tweak error message
2017-05-17 12:07:09 -04:00
James Browning
23ff45fcfa Spec fix as BindExpression only have a single object/callee not an Array (#436) [skip ci]
* Fixed spec.md to reflect that BindExpressions only have a single node not an array for their properties

* Added semicolons to BindExpression props
2017-05-17 10:25:10 -04:00
Max Schaefer
b08fdf87e8 Fix handling of anonymous parameters in flowParseObjectTypeMethodish. (#526)
By analogy with `flowParseFunctionTypeParams` (cf. commit 407c97c9c2).
2017-05-16 22:53:13 +02:00
greenkeeper[bot]
4ef964e066 Update cross-env to the latest version 🚀 (#520)
* chore(package): update cross-env to version 5.0.0

* Update yarn.lock
2017-05-14 20:03:20 +02:00
Andy
aa78011666 Fix type check errors (#521) 2017-05-14 19:59:56 +02:00
Andy
d95b5fb83d Remove unused parameters from parseParenAndDistinguishExpression (#522) 2017-05-14 19:59:03 +02:00
Andy
a738870472 Type-check ExpressionParser (#488)
* Type-check ExpressionParser

* Improve test coverage
2017-05-11 16:30:21 +02:00
Andy
7a8b64c0d3 Type-check StatementParser (#489) 2017-05-11 16:28:12 +02:00
Daniel Tschinder
f6020aecbf Convert argument of SpreadElement correctly to assignable (#518) 2017-05-11 00:45:08 +02:00
Daniel Tschinder
d605a9a4de Fix flow errors (#517) 2017-05-11 00:04:43 +02:00
Andy
1773ca7457 Type-check State (#492) 2017-05-10 21:55:09 +02:00
greenkeeper[bot]
8862c96237 Update flow-bin to the latest version 🚀 (#497)
* chore(package): update flow-bin to version 0.45.0

https://greenkeeper.io/

* Update yarn.lock
2017-05-10 21:50:30 +02:00
Andy
1f113fd650 Fix FunctionDeclaration spec: Id may be null (#503)
* Fix FunctionDeclaration spec: Id may be null

* Use OptFunctionDeclaration and OptFunctionExpression
2017-05-10 21:29:05 +02:00
Alex Rattray
4e776bf00b Better error message for anonymous class declarations (#509) 2017-05-10 21:26:38 +02:00
Daniel Tschinder
7f9eb50b2c Fix changelog 2017-05-10 18:40:12 +02:00
Daniel Tschinder
2b77908ac9 Merge branch '6.x'
# Conflicts:
#	CHANGELOG.md
#	package.json
#	src/parser/expression.js
#	src/parser/statement.js
#	src/plugins/flow.js
#	test/fixtures/flow/type-annotations/135/expected.json
#	test/fixtures/flow/type-annotations/136/expected.json
#	test/fixtures/flow/type-annotations/139/options.json
#	test/fixtures/flow/type-generics/1/expected.json
#	test/fixtures/flow/type-generics/2/expected.json
2017-05-10 18:39:32 +02:00
Daniel Tschinder
28985e7acc 6.17.1 2017-05-10 18:25:58 +02:00
Daniel Tschinder
934a3a78b6 Update changelog 2017-05-10 18:25:13 +02:00
Daniel Tschinder
9a1ef48ae3 Merge pull request #516 from babel/backport2
Backport #433 #473 + typo
2017-05-10 18:22:06 +02:00
Brian Ng
1077a7304e Fix typo in flow spread operator error [skip ci] 2017-05-10 18:20:06 +02:00
Alex Kuzmenko
b98f463aa7 Fixed invalid number literal parsing (#473)
* Fixed invalid number literal parsing

* Don't ignore period or E characters after octal numbers
cherry-pick fix from acorn

* Fix tests
2017-05-10 18:14:09 +02:00
Alex Kuzmenko
406c3dabc0 Fix number parser (#433)
Fixed number parser #2

Added one more test
2017-05-10 18:13:46 +02:00
Daniel Tschinder
8c885eaef6 Merge pull request #515 from babel/backport1
Backport #499, #510, #475, #479
2017-05-10 18:03:58 +02:00
Brian Ng
7c56c24bb0 Ensure non pattern shorthand props are checked for reserved words (#479) 2017-05-10 16:59:09 +02:00
Brian Ng
67db275c94 Remove jsx context when parsing arrow functions (#475) 2017-05-10 16:56:21 +02:00
Brian Ng
4a29ccdd1a Allow super in class properties (#499) 2017-05-10 16:46:45 +02:00
Brian Ng
63412e54f4 Allow flow class field to be named constructor (#510) 2017-05-10 16:46:38 +02:00
Brian Ng
9d1f819320 Allow flow class field to be named constructor (#510) 2017-05-10 16:18:08 +02:00
Sven SAULEAU
0e12f565da Document babylon plugin system (#507) [skip ci]
* docs: document babylon plugin system

* [skip ci]

* [skip ci]

* [skip ci] it's -> its

* [skip ci]
2017-05-03 10:56:22 -04:00
Brian Ng
d33c82781a Allow super in class properties (#499) 2017-05-02 14:41:10 -04:00
Andy
9660f06b25 Don't add 'shorthand' property to ObjectMethod (#506) 2017-05-02 14:39:21 -04:00
Andy
3a6b77f374 Don't add 'await' property to ForInStatement (#504) 2017-05-02 14:37:58 -04:00
Andy
e81b5f8af2 Type-check flow plugin (#495)
* Type-check flow plugin

* Fix typo
2017-04-27 12:04:06 -04:00
Henry Zhu
5ae165d489 update changelog [skip ci] 2017-04-27 11:16:48 -04:00
Andy
cccee00606 Type-check JSX plugin (#496)
* Type-check JSX plugin

* Improve test coverage
2017-04-27 10:58:33 -04:00
Andy
8288f7d9e4 Type-check tokenizer/types.js (#493) 2017-04-27 10:53:17 -04:00
Andy
cd5bfb786a Type-check estree plugin (#494) 2017-04-27 10:40:51 -04:00
Andy
d8ff63181e Type-check LValParser (#487) 2017-04-27 10:37:08 -04:00
Andy
e1a06544bc Type-check utils (#491)
* Type-check utils

* Improve test coverage
2017-04-27 10:23:13 -04:00
Andy
47cade874c Type-check options.js and index.js (#490) 2017-04-26 17:18:17 -04:00
Andy
7627c5a2be Type-check UtilParser (#485) 2017-04-25 18:01:55 -04:00
Andy
3199ceecdb Type-check node.js (#486) 2017-04-25 17:54:47 -04:00
Andy
34acecca2e Type-check CommentsParser and LocationParser (#484) 2017-04-25 16:07:01 -04:00
Brian Ng
68967bf515 Remove jsx context when parsing arrow functions (#475) 2017-04-24 00:45:19 +02:00
Andy
c4fb3fe742 Convert each file with parser methods to a class in an inheritance chain (#481) 2017-04-24 00:40:49 +02:00
Andy
2c1193b7da Move plugin helpers out of Parser.prototype and into the plugin itself (#482) 2017-04-24 00:34:35 +02:00
Andy
8601f2f7da Add type declarations for AST nodes (#480) 2017-04-21 19:48:09 +02:00
Brian Ng
bc0719a145 Ensure non pattern shorthand props are checked for reserved words (#479) 2017-04-21 16:25:34 +02:00
Andy
d975b91a54 Refresh property ordering in baselines (#454) 2017-04-21 15:59:46 +02:00
Alex Kuzmenko
00d6db9fbb Fixed invalid number literal parsing (#473)
* Fixed invalid number literal parsing

* Don't ignore period or E characters after octal numbers
cherry-pick fix from acorn

* Fix tests
2017-04-21 15:22:50 +02:00
Daniel Tschinder
d1a5220b89 Add support for declare export + fixes (#224)
* Add support for declare export

* Do not allow declare module inside declare module

* Reallow module exports outside module

* Add handling of `declare export default`

Add check for multiple module.export declarations

* Disallow export let/const/type

Refactor parsing object properties to share more code and add support
for getters and setters

* Rename tests

* Update test fixtures

* Optimize for performance

* disallow declare export interface outside of module

* Refactor code to be more readable and less lookahead

* Add comments

* Add test for export star as

* Test for number literal getter/setter

* Add more tests

* Fix tests

* Allow union types and correctly eat semi after type

* Use non computed keys

* Fix tests
2017-04-21 14:41:59 +02:00
greenkeeper[bot]
28ccd05bab Update flow-bin to the latest version 🚀 (#468)
* chore(package): update flow-bin to version 0.44.0

https://greenkeeper.io/

* Update yarn.lock
2017-04-21 14:26:30 +02:00
Andy
5e156310ca Type-check tokenizer/index.js (#460)
* Type-check tokenizer/index.js

* Update test baselines
2017-04-21 14:25:31 +02:00
Andy
ad284d5c36 Convert each plugin to a function from a class to an overriding class (#459)
* Convert each plugin to a function from a class to an overriding class

* Handle undefined options

* Fix indentation

* Fix double space
2017-04-21 13:53:51 +02:00
Sebastian McKenzie
a2c143299a Add changelog 2017-04-20 16:43:47 +01:00
Sebastian McKenzie
2e17e5bc39 6.17.0 2017-04-20 16:41:23 +01:00
Sebastian McKenzie
a4ca1cc645 Cherry-pick #418 to 6.x (#476)
* Add support for flow type spread (#418)

* Add support for flow type spread

* Broaden spreadable types from primary to all, more tests

* Eliminate variance sigil for type spreads, better errors, fix tests

# Conflicts:
#	src/plugins/flow.js

* Fix tests
2017-04-20 16:40:55 +01:00
Brian Ng
2ef436641e Ensure locations in ObjectTypeAnnotations do not include semi or comma (#472) 2017-04-19 14:08:51 +02:00
Brian Ng
17f2a2036c Allow namespace exotic to be exported as default (#474) 2017-04-19 13:59:49 +02:00
Sven SAULEAU
bc9edd139f fix: move tests in experimental 2017-04-17 13:33:48 +02:00
Sven SAULEAU
b2fdd944fe feat: add tests 2017-04-17 13:33:00 +02:00
Sven SAULEAU
0927e24ac6 Merge remote-tracking branch 'kristofdegrave/nullPropagation' into feat-optional-chaining 2017-04-17 13:21:35 +02:00
Sven SAULEAU
7b51979152 feat: add optional MemberExpression 2017-04-15 18:19:43 +02:00
Andy
482b8155a3 Update test baselines (#461) 2017-04-10 11:24:34 -05:00
Brian Ng
637119a017 Fix typo in flow spread operator error [skip ci] 2017-04-10 10:48:51 -05:00
greenkeeper[bot]
344f070445 Update ava to the latest version 🚀 (#450)
* chore(package): update ava to version 0.19.0

https://greenkeeper.io/

* Fix tests for latest ava
2017-04-07 15:52:19 +02:00
greenkeeper[bot]
aef9e4fb5c Update flow-bin to the latest version 🚀 (#448)
* chore(package): update flow-bin to version 0.43.0

https://greenkeeper.io/

* Update yarn.lock
2017-04-07 15:02:11 +02:00
Andy
4bf18ccbea Simplify cd commands (#452) [skip ci] 2017-04-06 13:48:20 -04:00
Logan Smyth
1c07efb5fc Use a .babelignore to skip compiling lib and fixtures. (#451) 2017-04-05 15:16:51 -04:00
Daniel Tschinder
ed452b6f78 Update CONTRIBUTING.md 2017-04-04 23:16:59 +02:00
Daniel Tschinder
4147c01ac0 7.0.0-beta.8 2017-04-04 22:08:28 +02:00
Daniel Tschinder
c8ac8abad7 Update yarn.lock 2017-04-04 22:07:44 +02:00
Brian Ng
bdfa92464b Fix predicate attachment to match flow parser (#428) 2017-04-04 15:48:50 +02:00
Alex Rattray
cbf4203237 Add extra.raw back to JSXText and JSXAttribute (#344) 2017-04-04 15:47:59 +02:00
Brian Ng
14b7f50e51 Fix rest parameters with array and objects (#424)
* Fix rest parameters with array and objects

* Add test for array rest  with object

* reuse parseBindingIdentifier
2017-04-03 22:27:43 +02:00
Alex Kuzmenko
22741a8068 Fix number parser (#433)
Fixed number parser #2

Added one more test
2017-04-03 22:25:29 +02:00
greenkeeper[bot]
9222562b82 Update cross-env to the latest version 🚀 (#443)
* chore(package): update cross-env to version 4.0.0

https://greenkeeper.io/

* Update yarn.lock
2017-04-03 22:23:44 +02:00
greenkeeper[bot]
786d73b2ce Update rollup-plugin-node-resolve to the latest version 🚀 (#445)
* chore(package): update rollup-plugin-node-resolve to version 3.0.0

https://greenkeeper.io/

* Update yarn.lock
2017-04-03 22:23:02 +02:00
Conrad Buck
213fdab063 Add support for flow type spread (#418)
* Add support for flow type spread

* Broaden spreadable types from primary to all, more tests

* Eliminate variance sigil for type spreads, better errors, fix tests
2017-04-03 22:05:05 +02:00
Brian Ng
4d18221098 Use babel-register script when running babel smoke tests (#442) 2017-03-30 11:25:23 -04:00
Alex Kuzmenko
2f3123ca03 Fix CONTRIBUTING.md [skip ci] (#432) 2017-03-24 10:57:36 +01:00
Brian Ng
a495d7f65d Allow statics in flow interfaces (#427) 2017-03-23 22:10:07 +01:00
Henry Zhu
e4e1cb0bda 7.0.0-beta.7 2017-03-22 14:07:10 -04:00
Henry Zhu
9f7d9080cf remove babylon plugin for template revision since it's stage-4 (#426) 2017-03-22 14:05:56 -04:00
Daniel Tschinder
32eabf620b Fix push-pop logic in flow (#405) 2017-03-22 10:25:10 +01:00
Henry Zhu
af5fdc2ebd 7.0.0-beta.6 2017-03-22 00:08:04 -04:00
Henry Zhu
ad1eb149fe update lock [skip ci] 2017-03-22 00:07:32 -04:00
Arshabh Kumar Agarwal
964105e3fb Improves error message when super is called outside of constructor (#408) 2017-03-21 17:44:21 -04:00
Henry Zhu
0f982799b6 Merge branch '7.0' 2017-03-21 17:05:48 -04:00
Kevin Gibbons
2e467ef3bc Add support for invalid escapes in tagged templates (#274)
Per the stage-3 TC39 proposal:
https://github.com/tc39/proposal-template-literal-revision
2017-03-21 16:55:54 -04:00
Kevin Gibbons
fab343e379 Add support for invalid escapes in tagged templates (#274)
Per the stage-3 TC39 proposal:
https://github.com/tc39/proposal-template-literal-revision
2017-03-21 16:50:34 -04:00
James Browning
5f048b4f5d [7.0] Moved value field in spec from ObjectMember to ObjectProperty as ObjectMethod's don't have it (#415) [skip ci] 2017-03-21 16:44:54 -04:00
Henry Zhu
6a94d0eb9c 7.0.0-beta.5 2017-03-21 15:56:16 -04:00
Daniel Tschinder
0811438c82 Update flow (#422) 2017-03-19 22:07:16 +01:00
Andy
0545173f66 Test runner: Detect extra property in 'actual' but not in 'expected'. (#407)
* Test runner: Detect extra property in 'actual' but not in 'expected'.

Also update all expected.json where this would result in errors.

* Include rmExpected.js script in case it is needed again
2017-03-19 22:03:11 +01:00
Daniel Tschinder
82b7872cb8 Optimize travis builds (#419)
* Optimize travis builds

* Use yarn

* Fix babel tests to correctly fail

* Check against 7.0 branch of babel
2017-03-19 21:58:20 +01:00
Daniel Tschinder
9690daabd4 Update codecov to 2.0 (#412) 2017-03-15 23:40:58 +01:00
Andy
873bf284ba Fix spec for ClassMethod: It doesn't have a function, it *is* a function. (#406) [skip ci] 2017-03-13 20:52:12 -04:00
James Browning
a5386433e1 Changed Non-existent RestPattern to RestElement which is what is actually parsed (#409) [skip ci] 2017-03-13 17:27:16 -04:00
Daniel Tschinder
4a813dc51a Revert "Disable failing tests (fixed in 7.0)"
This reverts commit 4c88cfe765.
2017-03-10 13:51:24 +01:00
Daniel Tschinder
90f2b12569 Merge branch 'master' into 7.0
* master:
  Disable failing tests (fixed in 7.0)
2017-03-10 13:51:05 +01:00
Daniel Tschinder
4c88cfe765 Disable failing tests (fixed in 7.0) 2017-03-10 13:50:53 +01:00
Daniel Tschinder
68e8550e84 Merge branch 'master' into 7.0
* master:
  Upgrade flow to 0.41
  Throw error if new.target is used outside of a function (#402)
  Fix watch command (#403)
  Update yarn lock
  Fix parsing of class properties (#351)

# Conflicts:
#	src/parser/statement.js
#	test/fixtures/experimental/class-constructor-call/illegal-key/options.json
2017-03-10 13:47:45 +01:00
Daniel Tschinder
c0a89f4c15 Upgrade flow to 0.41 2017-03-10 13:41:08 +01:00
Brian Ng
ca652bd934 Throw error if new.target is used outside of a function (#402) 2017-03-10 13:38:45 +01:00
Brian Ng
35e7732156 Fix watch command (#403) 2017-03-10 13:37:54 +01:00
Daniel Tschinder
902f93d937 Update yarn lock 2017-03-10 13:35:49 +01:00
Brian Ng
250cd65479 Fix watch command (#403) 2017-03-10 12:45:45 +01:00
Kevin Gibbons
81056eeee7 Fix parsing of class properties (#351) 2017-03-10 12:43:45 +01:00
Brian Ng
7a6d495704 Throw error if new.target is used outside of a function (#402) 2017-03-08 16:34:22 +01:00
Henry Zhu
5e0dc7a689 add version badge [skip ci] 2017-03-08 08:43:49 -05:00
greenkeeper[bot]
c7492454ca chore(package): update flow-bin to version 0.41.0 (#395)
https://greenkeeper.io/
2017-03-05 13:53:48 +01:00
Daniel Tschinder
12abc20575 Merge branch 'master' into 7.0 2017-03-04 21:00:42 +01:00
Daniel Tschinder
0b7da509d9 Add estree test for correct order of directives 2017-03-04 21:00:10 +01:00
Alex Kuzmenko
962ce16e84 Add DoExpression to spec (#364) 2017-03-03 21:38:04 +01:00
Henry Zhu
1165d7e8c7 typo [skip ci] 2017-03-02 11:48:55 -05:00
Sumedh Nimkarde
05dd6d4545 Mention cloning of repository in CONTRIBUTING.md (#391) [skip ci] 2017-03-02 11:10:02 -05:00
Aaron Ang
265d2c1e4f Explain how to run only one test (#389) [skip ci] 2017-03-01 22:48:14 -05:00
Henry Zhu
2766263eea 7.0-beta.3 changelog [skip ci] 2017-03-01 12:32:08 -05:00
Henry Zhu
38cf1910c1 7.0.0-beta.4 2017-03-01 12:15:32 -05:00
Brian Ng
c8c71684c4 Don't consume async when checking for async func decl (#377) 2017-03-01 12:11:48 -05:00
Henry Zhu
fdb0b50c86 add ranges [skip ci] 2017-03-01 11:00:36 -05:00
Henry Zhu
f1e2cca767 Add back ranges property (#363)
* Add back ranges property

* Correctly adjust range in flow plugin

* Make it an option
2017-03-01 10:57:06 -05:00
Andrew Levine
aec4beff0c Don't parse class properties without initializers when classProperties is disabled and Flow is enabled (#300) 2017-03-01 11:55:24 +01:00
Henry Zhu
56a92ccec1 changelog [skip ci] 2017-02-28 14:56:40 -05:00
Henry Zhu
e2cd62449e 7.0.0-beta.3 2017-02-28 14:47:08 -05:00
Henry Zhu
575e0d58dd update lock 2017-02-28 14:46:25 -05:00
Henry Zhu
5e0cce4974 Merge branch 'master' into 7.0 2017-02-28 14:37:13 -05:00
Alex Kuzmenko
d9e9466350 Update spec.md [skip ci] (#367) 2017-02-28 12:45:25 -05:00
Brian Ng
09bb9bc6be Fix parsing yield with dynamicImport (#383) 2017-02-28 12:43:34 -05:00
Henry Zhu
8d90dc0d10 [7.0] Change RestProperty/SpreadProperty to RestElement/SpreadElement (#384)
* [7.0] Change RestProperty/SpreadProperty to RestElement/SpreadElement

* Fix rest element in array pattern at invalid location
2017-02-28 12:31:58 -05:00
Brian Ng
cd133ff8e1 Ensure consistent start args for parseParenItem (#386) 2017-02-28 12:56:56 +01:00
greenkeeper[bot]
9a5d93fa61 chore(package): update flow-bin to version 0.40.0 (#380)
https://greenkeeper.io/
2017-02-27 12:08:56 +01:00
Henry Zhu
1e747835db add estree to docs [skip ci] (#372) 2017-02-23 18:12:30 -05:00
Henry Zhu
539d345d9b 6.16.1 2017-02-23 09:53:50 -05:00
Henry Zhu
2dd57d17b9 Revert "Fix export default async function to be FunctionDeclaration" (#375) 2017-02-23 09:50:33 -05:00
Henry Zhu
b0f8405b52 Revert "Don't parse class properties without initializers when classProperties plugin is disabled, and Flow is enabled" (#376) 2017-02-23 09:50:25 -05:00
Daniel Tschinder
9ed026df08 Fix error in changelog 2017-02-23 14:04:25 +01:00
Daniel Tschinder
b301d436da 6.16.0 2017-02-23 14:00:35 +01:00
Daniel Tschinder
76c7f55fb5 Fix date [skip ci] 2017-02-23 13:56:22 +01:00
Daniel Tschinder
99484d4c39 Fix typo [skip ci] 2017-02-23 13:52:53 +01:00
Daniel Tschinder
8dbdeff762 Fix typo [skip ci] 2017-02-23 13:51:44 +01:00
Daniel Tschinder
c6c4222789 Changelog 6.16 (#371)
* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Address review comments

* Update CHANGELOG.md
2017-02-23 13:50:41 +01:00
Kevin Gibbons
561d4f74b0 Forbid semicolons after decorators in classes (#352) 2017-02-22 16:24:40 +01:00
Brian Ng
ad8d520406 Ensure takeDecorators is called on exported class (#358) 2017-02-22 16:22:38 +01:00
Alex Rattray
94eda1254e Fix generator-method-with-computed-name spec (#360) 2017-02-22 16:21:44 +01:00
Alex Rattray
fab4ca2a18 Fix flow type-parameter-declaration test with unintended semantic (#361) 2017-02-22 16:19:42 +01:00
Daniel Tschinder
fe2d2a99ea 7.0.0-beta.2 2017-02-20 23:50:07 +01:00
Daniel Tschinder
7bf553a575 Merge branch 'master' into 7.0 2017-02-20 23:49:27 +01:00
Daniel Tschinder
b023470c7e estree: correctly change literals in all cases (#368) 2017-02-20 23:47:57 +01:00
Daniel Tschinder
a4bf244f9a 7.0.0-beta.1 2017-02-20 23:12:19 +01:00
Daniel Tschinder
e52962f4c9 upgrade yarn.lock 2017-02-20 23:11:47 +01:00
Daniel Tschinder
72a0f10825 Merge branch '7.0-dev' into 7.0 2017-02-20 23:09:42 +01:00
Daniel Tschinder
50ffa49201 Merge branch 'master' into 7.0
# Conflicts:
#	src/plugins/flow.js
2017-02-20 22:47:17 +01:00
Daniel Tschinder
2ef00a6631 Fix negative number literal typeannotations (#366)
* Fix negative number literal typeannotations

Also use parseLiteral() to parser string and number literal typeannotations
so that future changes (estree) to literals are also reflected to flow.

* Instead of invalid fallthrough throw immediately

* Increase coverage and better error mesage
2017-02-20 22:43:59 +01:00
Henry Zhu
401733d19f 7.0.0-beta.0 2017-02-15 14:28:29 -05:00
Daniel Tschinder
d2ccc6ae22 Fix test 2017-02-12 15:39:52 +01:00
Daniel Tschinder
09c1f069f9 Fix test 2017-02-12 15:38:11 +01:00
Brian Ng
57aaceaae7 Update contributing with more test info [skip ci] (#355) 2017-02-12 13:45:23 +01:00
Daniel Tschinder
d88befdd30 Merge branch 'master' into 7.0
# Conflicts:
#	src/parser/index.js
2017-02-12 13:32:06 +01:00
Daniel Tschinder
1cca7000d1 Reintroduce Variance node (#333)
* Reintroduce Variance node

* Optimize code and coverage

tt.plusMin can only be + or - so no need to have an elseif
2017-02-12 13:28:14 +01:00
Charles Pick
cd3f14921e Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#332) 2017-02-12 13:14:35 +01:00
Daniel Tschinder
fac13290d7 Estree compatibility as plugin (#277)
* Initial estree support for ClassMethod

* Handle literals for estree

* Fix regex

* correct output of regexp and regenerate test

* Add tests for validation stuff with estree plugin

* Parse Properties correctly

This also refactors how babylon parses obj properties in general
so that this logic can be more easily extended.

* Run all throws-tests a second time with estree plugin

* Fix all throw tests

* Remove rebase conflict

* Correctly set kind

This ensures state.inMethod gets propagated correctly

* Add computed: false to methods with ident async

* Implement directive field on Directives

* Test invalid directives

* more tests
2017-02-12 12:48:41 +01:00
Kristof Degrave
1eaf01661b babel/babylon#328 babel/babylon#205 ?. as nullPropagation. For now it only works for member access. (.? or ?.[) If the object is undefined this will return undefined. If the object on which you want to access the property is defined, the value of the propery will be given back. 2017-02-11 21:20:15 +01:00
Kristof Degrave
b902fe6c7b ?. && ?[ as member access with nullPropagation. If the object is undefined this will return undefined. If the object on which you want to access the property is defined, the value of the propery will be given back. 2017-02-11 16:44:28 +01:00
Daniel Tschinder
c79dd953ea Fix #304 and #309 (#339) 2017-02-10 15:36:46 +01:00
Raphael Mu
f25a2fbc78 add startLine option (#346) 2017-02-10 15:06:28 +01:00
Daniel Tschinder
407c97c9c2 Fix #321 by allowing question marks in type params (#338)
* Fix #321 by allowing question marks in type params

* Require commas between params
2017-02-10 15:03:15 +01:00
Daniel Tschinder
bc771bd0f9 Fix #336 by correctly setting arrow-param (#337) 2017-02-10 15:01:39 +01:00
Timothy Gu
88d38a1abb Update API documentation (#330) 2017-02-10 14:59:35 +01:00
Daniel Tschinder
4bd682e90b keywords are not allowed as local specifier (#307)
Also fix some error messages to be more specific
2017-02-10 14:58:44 +01:00
Panagiotis Vekris
e049ec3456 [Flow] Function predicate declaration (#103)
* [Flow] Function predicate declaration

The accepted syntax for function declarations is extended to allow
the following predicate declaration:

  FunctionReturnType :=
    Type
    Predicate
    Type Predicate

  Predicate :=
    %checks
    %checks ( ConditionalExpression )

* [Flow] Minor tweaks and more examples to function predicates

* [Flow] Clean-up and better message for function predicates

* [Flow] Adding abstract function predicate example

* [Flow] Rearranging the `predicate` field to ease babel generator.
2017-02-10 14:55:13 +01:00
Brandon Dail
56928dca66 [7.0] Remove ForAwaitStatement, add await flag to ForOfStatement (#349)
* Remove ForAwaitStatement, add await flag to ForOfStatement

* Set await flag for all ForOfStatements
2017-02-09 17:37:03 -05:00
greenkeeper[bot]
0834cb5b72 chore(package): update ava to version 0.18.0 (#345)
https://greenkeeper.io/
2017-02-09 14:55:55 +01:00
greenkeeper[bot]
b0220bfd3e chore(package): update babel-plugin-istanbul to version 4.0.0 (#350)
https://greenkeeper.io/
2017-02-09 14:30:19 +01:00
Daniel Tschinder
0309a5ba8a Merge branch 'master' into 7.0
# Conflicts:
#	src/parser/statement.js
#	src/plugins/jsx/index.js
2017-01-27 23:12:20 +01:00
Daniel Tschinder
e614032504 Change location of ObjectTypeIndexer to match flow (#228) 2017-01-27 23:08:20 +01:00
jeromew
898c4a7623 Add a parseExpression public method (#213) 2017-01-27 20:13:02 +01:00
Dmytro
b6b4610cea added keywords to package.json (#323) 2017-01-27 19:44:09 +01:00
Daniel Tschinder
d2faddf0d9 Fix export default async function to be FunctionDeclaration (#324) 2017-01-27 19:43:06 +01:00
Toru Kobayashi
c424156751 Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#322) 2017-01-27 19:42:15 +01:00
Andrew Levine
9929baaca8 Don't parse class properties without initializers when classProperties is disabled and Flow is enabled (#300) 2017-01-23 23:56:39 +01:00
Daniel Tschinder
b6c3b5aa83 Cleanup and splitup parser functions (#295)
This makes it easier to integrate the estree plugin.
2017-01-20 23:52:16 +01:00
Daniel Tschinder
0a00aff2fe Do not allow overwritting of primitive types (#314)
* Do not allow overwritting of primitive types

* Better name for method
2017-01-20 22:22:25 +01:00
Brian Ng
461ed45942 Fix parse error when destructuring set with default value (#317) 2017-01-20 22:21:40 +01:00
Daniel Tschinder
55df6631fa Address comments on flow type imports (#312) 2017-01-20 22:20:13 +01:00
Daniel Tschinder
d5cd2c3231 Allow imports in declare module (#315)
* Allow imports in declare module {}

* Rename bodyElement to bodyNode
2017-01-20 22:19:50 +01:00
Mathias Bynens
f2df08e253 AST spec: fix casing of RegExpLiteral (#318) [skip ci] 2017-01-20 11:05:21 -05:00
Daniel Tschinder
a1bfa0253a Update yarn.lock 2017-01-18 20:43:31 +01:00
greenkeeper[bot]
1150c0d3fb chore(package): update flow-bin to version 0.38.0 (#313)
https://greenkeeper.io/
2017-01-18 16:49:12 +01:00
Daniel Tschinder
999b655ca6 Disallow import type { type a } from … (#305) 2017-01-17 20:34:20 +01:00
Daniel Tschinder
bd001767fb Revert "Temporary rollback for erroring on trailing comma with spread (#154)" (#290)
This reverts commit 5bac6e8ad9.
2017-01-16 10:50:51 +01:00
Brian Ng
c5462e1a30 Remove classConstructorCall plugin (#291) 2017-01-16 10:49:42 +01:00
Dan Harper
28c467e8fe Fix ObjectTypeCallProperty static (#298)
* add failing test for ObjectTypeCallProperty static (#297)

* fix ObjectTypeCallProperty static
2017-01-16 10:42:13 +01:00
Gabriel Peña
00f03bb3b0 Remove '*' as a plugin option (#301) 2017-01-16 10:34:23 +01:00
Daniel Tschinder
5977479f57 Call inner function instead of 1:1 copy to plugin (#294) 2017-01-16 10:21:44 +01:00
greenkeeper[bot]
68a173c97c Update eslint-config-babel to the latest version 🚀 (#299)
* chore(package): update eslint-config-babel to version 6.0.0

https://greenkeeper.io/

* Fix linting
2017-01-15 11:12:49 +01:00
Brian Ng
9d78213ab6 Improve error message on attempt to destructure named import (#288) 2017-01-14 15:38:30 +01:00
Daniel Tschinder
b918554d73 Correct indent eslint rule config (#276)
* Change indent rule to correctly lint

* Remove rule again
2017-01-14 15:11:50 +01:00
greenkeeper[bot]
62d1970f77 Update eslint-config-babel to the latest version 🚀 (#293)
* chore(package): update eslint-config-babel to version 5.0.0

https://greenkeeper.io/

* fix lint warnings
2017-01-14 15:04:10 +01:00
Kai Cataldo
a465d2580e devDeps: remove eslint-plugin-babel (#292) 2017-01-14 08:01:13 -05:00
Daniel Tschinder
7a3e717f15 Update yarn.lock 2017-01-12 22:55:00 +01:00
Daniel Tschinder
8f7a19e3ad Update cross-env to 3.x 2017-01-12 22:53:48 +01:00
Sergey Rubanov
b72d4d40a5 [7.0] Remove node 0.10, 0.12 and 5 from Travis (#284)
* Remove node 0.10, 0.12 and 5 from Travis

* add engines to package.json
2017-01-12 22:51:05 +01:00
Daniel Tschinder
5785f0ce72 Merge branch 'master' into 7.0 2017-01-12 22:42:25 +01:00
Daniel Tschinder
13bebfdf45 Fail tests that have expected.json and throws-option (#285)
* Fail tests that have expected.json and throws

* Remove obsolete test files
2017-01-12 22:38:41 +01:00
Daniel Tschinder
aa1a4be5ec 6.15.0 2017-01-10 22:38:45 +01:00
Daniel Tschinder
fdc106c9b6 Update yarn.lock 2017-01-10 22:37:36 +01:00
Daniel Tschinder
0f0b7290f4 Changelog 6.15.0 (#283)
* Update CHANGELOG.md

* Update CHANGELOG.md [skip ci]
2017-01-10 22:35:19 +01:00
Sven SAULEAU
ed13a4ab05 Refactor tokenizer types file (#263)
* refactor(tokenizer): use class for keywork tokens

* refactor(tokenizer): re-use constacts in types

* refactor(tokenizer): binop token type

* feat(tokenizer): use beforeAndStartExpr for shortcut

* fix(tokenizer): typo in keywordTokenType

* refactor(tokenizer): don't use spread operator

* refactor(tokenizer): constant for isLoop, isAssign, prefix, postfix

* fix(tokenizer): remove constant beforeAndStartExpr

* style(tokenizer): space after comma
2017-01-10 20:22:56 +01:00
Mathias Bynens
ed625cb2e1 Remove String.fromCodePoint shim (#279)
This is not necessary anymore if we drop support for Node.js v0.10 and v0.12.

Ref. https://github.com/babel/babel/issues/4315.
2017-01-10 20:14:11 +01:00
Ryan Plant
5055b335b2 Rename folder to avoid Windows-illegal characters (#281) 2017-01-10 14:12:13 -05:00
greenkeeper[bot]
6773279039 Update eslint-config-babel to the latest version 🚀 (#273)
* chore(package): update eslint-config-babel to version 4.0.0

https://greenkeeper.io/

* Fix prefer-const

* Update package.json
2017-01-10 19:42:43 +01:00
Daniel Tschinder
cd9aaf2a58 Fix syntax error in .travis.yml 2017-01-10 15:06:08 +01:00
Daniel Tschinder
008a29cb5f Update yarn.lock 2017-01-08 00:33:39 +01:00
greenkeeper[bot]
326670dd29 chore(package): update rollup to version 0.41.0 (#272)
https://greenkeeper.io/
2017-01-08 00:28:44 +01:00
Andrew Levine
cec8bc0354 Add some test coverage for decorators stage-0 plugin (#250) 2017-01-05 22:07:40 +01:00
Vladimir Kurchatkin
3267e5f365 Don't set inType flag when parsing property names (#266)
* Don't set inType flag when parsing property names

* Add inPropertyName type definition

* Move inPropertyName check before this.curContext()
2017-01-05 12:25:57 +01:00
greenkeeper[bot]
dd4c4ead2d chore(package): update rollup to version 0.40.0 (#270)
https://greenkeeper.io/
2017-01-05 12:24:31 +01:00
Jeff Morrison
9ea4e9dead Add support for Flow shorthand import type (#267) 2017-01-03 10:52:18 +01:00
Alex Rattray
68bb1c6598 Allow this.state.clone() when parsing decorators (#262)
Adding the line `this.state = this.state.clone();` in a parser plugin 
(specifically, in my case `parseExprAtom`)
would break decorators. 

This change fixes that.
2017-01-02 10:37:05 +01:00
Ryan Duffy
1c13800efd Use fromCodePoint to convert high value unicode entities (#243)
* Use fromCodePoint to convert high value unicode entities

* Include polyfill for String.fromCodePoint

* copy and adapt fromCodePoint into String.fromcodepoint

In order to avoid modifying String as the polyfill does, I've copied
the source from the polyfill and adapted it return the polyfill
function if the native version does not exist. Once support for node
versions that lack fromCodePoint is dropped, this polyfill can be
removed.

* move license notice to top of file
2017-01-02 10:15:56 +01:00
Vladimir Kurchatkin
3dc403974c flow: allow leading pipes in all positions (#256) 2017-01-02 10:13:53 +01:00
Daniel Tschinder
b875ed755b Update yarn.lock 2017-01-02 10:00:13 +01:00
Daniel Tschinder
0fb1be4744 User external-helpers (#254)
Add yarn.lock as recommended
2017-01-02 09:57:55 +01:00
greenkeeper[bot]
7e6b0dac5c chore(package): update rollup to version 0.39.0 (#269)
https://greenkeeper.io/
2017-01-02 09:57:05 +01:00
greenkeeper[bot]
d3507eb5ce chore(package): update rollup to version 0.38.0 (#265)
https://greenkeeper.io/
2016-12-28 22:59:57 +01:00
James Long
ba96b91f40 Fix source location for JSXEmptyExpression nodes (fixes #248) (#249) 2016-12-14 16:32:36 -05:00
greenkeeper[bot]
4958225645 chore(package): update rollup to version 0.37.0 (#253)
https://greenkeeper.io/
2016-12-13 23:50:07 +01:00
greenkeeper[bot]
9adfd4c4e2 chore(package): update flow-bin to version 0.37.0 (#255)
https://greenkeeper.io/
2016-12-13 10:31:59 +01:00
Daniel Tschinder
375838db35 Prepare tests for multiple fixture runners. (#240)
* Prepare tests for multiple fixture runners.

* Replace ES2015
2016-12-08 17:58:53 +01:00
Andrew Levine
30545e883f Freeze current plugins list for "*" option, and remove from README.md (#245) 2016-12-06 14:09:36 -05:00
Kai Cataldo
4072dfddab Add watch script for dev (#234) 2016-12-05 16:54:18 -05:00
Kai Cataldo
5fb4353778 Throw error when exporting non-declaration (#241)
* Throw error when exporting non-declaration

fixes #238

* Do check ahead of parsing export statement
2016-12-01 21:03:13 +01:00
greenkeeper[bot]
5630380026 Update dependencies to enable Greenkeeper 🌴 (#233)
* chore(package): update dependencies

https://greenkeeper.io/

* cross-env 3 is not compatible to node 0.10

* ignore cross-env
2016-11-28 23:22:42 +01:00
Henry Zhu
9b6bb3cb9b 6.14.1 2016-11-17 19:09:24 -05:00
Henry Zhu
225adb100b v6.14.1 changelog [skip ci] 2016-11-17 19:08:57 -05:00
Henry Zhu
89a606ce11 document * [skip ci] 2016-11-17 19:06:16 -05:00
Daniel Tschinder
6d3b63454c Allow plugins:["*"] (#229) 2016-11-17 19:04:58 -05:00
Daniel Tschinder
03352cb480 Fix date in Changelog 2016-11-16 16:52:59 +01:00
Daniel Tschinder
38dcafc8ac 6.14.0 2016-11-16 16:32:32 +01:00
Daniel Tschinder
186a58ac31 6.14.0 (#221) [skip ci]
* 6.14.0

* fixes [skip ci]

* fixes [skip ci]
2016-11-16 16:29:11 +01:00
Daniel Tschinder
2caee29703 Run npm test with sourceMaps (#222) 2016-11-15 13:32:02 -05:00
Ryan Clark
b4c56ce9f9 Fix typo (#226) [skip ci] 2016-11-14 20:37:32 -05:00
Daniel Tschinder
58887ed14e Run tests of flow with babylon (#225)
* Run tests of flow with babylon

* Fix travis

* Fix typo

* Again...

* Brtter hint

* proper exit code

* Fix some flase-positives and better reporting

* Enable some plugins, that flow supports by default
2016-11-14 18:16:36 +01:00
Henry Zhu
48873f886a Correctly eat a semicolon at the end of DelcareModuleExports (#223) 2016-11-14 10:25:19 -05:00
Daniel Tschinder
ad88d461d3 Correctly eat a semicolon at the end of DelcareModuleExports 2016-11-13 14:29:46 +01:00
Daniel Tschinder
c30a556615 Replace emojis with github tags 2016-11-13 10:35:04 +01:00
Bernhard Häussner
01ed943deb Parse flow nested array type annotations like number[][] (#219)
* Parse flow nested array type annotations like number[][]

Fixes #217.

* Do not parse a newline separated array statement into a flow type annotation

* Get rid of lineBreak dependency in flow.js in favor of higher level method
2016-11-13 10:22:16 +01:00
Moti Zilberman
6cb023590a Count Babel tests towards Babylon code coverage (#182)
* Add code coverage from Babel tests

* Configure nyc correctly for Babel test coverage

* Guard against nyc config conflicts if Babel switches to nyc in the future

* Move .nyc_output from Babel build dir to root
2016-11-09 17:24:57 +01:00
Kai Cataldo
e260381e06 Throw error for reserved words enum and await (#195)
* Throw error for reserved words enum and await when source type is module

* Extract reserved word check into method

* Fix tests
2016-11-09 16:29:02 +01:00
Gabe Levi
643124744f Optional names for function types and object type indexers (#197)
* Use .gitattributes to ignore files with weird newlines

* [Flow] Make parameter names in function types optional

* [Flow] Anonymous function types with single params can omit parens

* [Flow] Optional names for object indexer keys

* Add noAnonFunctionType explicitly to state

* Adjust gitattributes as files have been fixed
2016-11-09 16:22:53 +01:00
Thomas Grainger
e05bbeefd1 Fix strange line endings (#214) 2016-11-09 16:19:00 +01:00
Daniel Tschinder
4141683935 Add node 7 2016-11-01 21:00:50 +01:00
Greenkeeper
96404aa4fe chore(package): update flow-bin to version 0.34.0 (#204)
https://greenkeeper.io/
2016-11-01 16:51:56 +01:00
Daniel Tschinder
ca0de3b7d4 Correct repo [skip ci] 2016-11-01 16:51:12 +01:00
Daniel Tschinder
87707c18ca Create github Templates (#209) [skip ci]
* Create PULL_REQUEST_TEMPLATE.md

* Create ISSUE_TEMPLATE.md
2016-11-01 11:49:30 -04:00
Henry Zhu
572bc9c199 v6.13.1 changelog [skip ci] 2016-10-26 12:11:54 -04:00
Henry Zhu
b5de37fcd7 6.13.1 2016-10-26 12:08:01 -04:00
Henry Zhu
2ba3dcf4ff add clean command [skip ci] (#201) 2016-10-26 10:56:27 -04:00
Andrew Levine
beb8db6264 Use rollup for bundling to speed up startup time (#190) 2016-10-26 10:44:21 -04:00
Henry Zhu
d1b0886d46 add ForAwaitStatement (async generator already added) [skip ci] (#196) 2016-10-25 16:25:25 +02:00
Daniel Tschinder
930cdd01a7 6.13.0 2016-10-21 16:39:40 +02:00
Daniel Tschinder
b77a57faf8 Changelog 6.13.0 (#193) [skip ci]
* Update CHANGELOG.md

* Add link to flow docs [skip ci]

* type [skip ci]
2016-10-21 16:39:02 +02:00
Moti Zilberman
e047a1b89a Flow: Allow class properties to be named static (#184)
Related: #158
2016-10-17 15:55:50 -04:00
Moti Zilberman
d14c8bd894 Fix .gitattributes line ending setting (#191)
h/t @nhajidin in babel/babel#4744
2016-10-17 15:53:54 -04:00
Daniel Tschinder
0d72a89df6 Fix flowtype and add inType to state (#189)
this improves the performance slightly
2016-10-17 10:45:46 -04:00
Andrew Levine
01e984fd0f Allow "async" as identifier for object literal property shorthand (#187) 2016-10-17 10:33:18 -04:00
Moti Zilberman
9b6e243736 Raise error on duplicate definition of __proto__ (#183)
Spec: http://www.ecma-international.org/ecma-262/6.0/#sec-__proto__-property-names-in-object-initializers

This brings back to life a bit of dead code in Parser.prototype.checkPropClash, and enables several tests that were previously disabled.
2016-10-16 15:16:38 +02:00
Moti Zilberman
7c18bf83cc Increase test coverage (#175)
* Increase test coverage

* Test for error when binding `this` in destructuring pattern

* Ignore coverage of inAsync check in parseAwait - already checked externally

* Ignore coverage of default case in checkPropClash

* Remove unused parameter isAsync from parseParenAndDistinguishExpression

* Ignore coverage of an `else` branch in flowParseTypeParameterDeclaration

* Flow: remove unused parameters to flowParseTypeAnnotatableIdentifier

* Flow: ignore coverage of pass-through throw statement in parseConditional

* Flow: Add test for error on property with type param

* Flow: ignore coverage of pass-through throw statements in parseMaybeAssign, parseArrow

* Add test for error on XML-style comment in module code

* Update test for error on method in object pattern

* Test for error: "Only '=' operator can be used for specifying default value"
2016-10-16 15:04:13 +02:00
Moti Zilberman
490ae9a44c Error on missing expected.json fixture in CI (#188) 2016-10-16 07:55:41 -04:00
Moti Zilberman
394c9543c9 Add .gitattributes and .editorconfig for LF line endings (#179)
* Add .gitattributes forcing LF line endings

* Add .editorconfig from Babel
2016-10-15 11:08:12 +02:00
Daniel Tschinder
0bbe1e1eec Readd missin .eslinignore for IDEs 2016-10-15 10:33:05 +02:00
Sam Goldman
26809e8ce7 Property variance type annotations for Flow plugin (#161)
* Property variance type annotations for Flow plugin

Non-method properties and indexers of object types, declare class, and
interfaces can be "positive" or "negative." Class fields, but again not
methods, can also have variance.

This PR generalizes the variance annotations for type parameters into a
new node type, and reuses that node for those properties.

The code for object types is reused for interfaces and declare classes.
The changes there are straightfoward.

The code for class fields is reused for object literals, which do not
support variance annotations (currently). This code is a bit sketchy,
because we always parse variance annotations in the `parsePropertyName`
extension, then error in a the subsequent parse phase for object
literals (`parseObjPropValue`) or class methods (`parseClassMethod`).

* Remove bogus unreachable code, clarify variance parsing conditional

* Don't use a new node type for variance annotations

Adding a new node type, specifically changing the TypeParameter node's
variance property to be node-valued, is a breaking change. We might
choose to make this breaking change in a later version.

* s/start/variancePos
2016-10-14 23:13:27 +02:00
Moti Zilberman
b5877f04b1 Fix up #172 (#177)
* Update two esprima tests to the new "expected TOKEN" messages

* Update dynamic-import to use "expected (" error message
2016-10-14 16:50:07 -04:00
Henry Zhu
3525c00397 v6.12.0 changelog [skip ci] (#176) 2016-10-14 16:17:17 -04:00
Henry Zhu
a88a8e9c15 6.12.0 2016-10-14 16:14:54 -04:00
Henry Zhu
6b4a19d520 test fixes 2016-10-14 16:14:38 -04:00
Henry Zhu
9ecf763218 lint [skip ci] 2016-10-14 16:12:05 -04:00
Moti Zilberman
d3af158ba5 Annotate more errors with expected token (#172)
Expanding on #150, this allows `unexpected()` to accept the expected token type instead of a message string.
This overload is then used in a couple more places (that independently implement a logic similar to `expect()`'s) to construct an `Unexpected token, expected FOO` message.
2016-10-14 16:10:09 -04:00
Dan Harper
99fbcefa65 allow keyword in Flow object declaration property names with type parameters (#146) 2016-10-14 21:15:00 +02:00
Dan Harper
f7c1af1c1f allow keyword in object/class property names with Flow type parameters (#145) 2016-10-14 21:13:00 +02:00
Jordan Gensler
c63c1bc728 [dynamic-import] Implementing import() syntax (#163) 2016-10-14 14:54:21 -04:00
Daniel Tschinder
4c445fd5f8 Remove kcheck (#173) 2016-10-14 12:12:55 -04:00
Daniel Tschinder
b31834ad29 Allow typeAnnotations for yield epressions (#174) 2016-10-14 12:07:46 -04:00
Sam Goldman
44f77bd724 Add EmptyTypeAnnotation (#171)
I also noticed that there was missing test coverage for builtin types,
so I added a test for that, which includes the newly added type as well
as the other existing types.
2016-10-13 19:22:13 -04:00
Henry Zhu
c300230a59 v6.11.6 changelog [skip ci] 2016-10-12 19:39:59 -04:00
Henry Zhu
c6e36eff86 6.11.6 2016-10-12 19:37:16 -04:00
Jeroen Engels
e14f93d1bb Fix crash when exporting with destructuring and sparse array (#170)
* Create reproducible crash when exporting with destructuring and sparse array

* Fix crash when exporting with destructuring and sparse array
2016-10-12 19:36:08 -04:00
Henry Zhu
b1fc65530d v6.11.4 changelog [skip ci] 2016-10-12 11:58:11 -04:00
Henry Zhu
066826f7fa skipped v6.11.4 [skip ci] 2016-10-12 11:56:14 -04:00
Henry Zhu
ebe7c8a90c 6.11.5 2016-10-12 11:53:46 -04:00
Henry Zhu
b05bd7839a fixes [skip ci] 2016-10-12 11:52:26 -04:00
Henry Zhu
02d6cc6ccb v6.11.4 changelog [skip ci] (#168) 2016-10-12 11:50:40 -04:00
Henry Zhu
6e17a646ff changelog emoji [skip ci] 2016-10-12 11:33:19 -04:00
Daniel Tschinder
d4d6d05d25 Slightly better error messages (#150)
* Slightly better errors

Instead of "Unexpected token" we now print
"Unexpected token, expected <type.label>"
2016-10-12 10:38:26 -04:00
Kai Cataldo
4fc0a3839e Fix: Allow identifier async for default param in arrow expression (#165)
fixes #118
2016-10-12 10:46:40 +02:00
Kai Cataldo
7dd45f7465 Check for duplicate named exports in exported rest elements/properties (#164) 2016-10-10 10:10:16 -04:00
Henry Zhu
2697bfd820 clarify proposals [skip ci] 2016-10-06 19:38:43 -04:00
Daniel Tschinder
680f35f606 Update links to estree 2016-10-04 18:02:56 +02:00
Kai Cataldo
76e69277d7 Check for duplicate named exports in exported destructuring assignments (#144)
* Check for duplicate named exports in exported destructuring assignments

* Refactor duplicate error reporting

* Remove unnecessary check
2016-10-04 15:06:26 +02:00
Henry Zhu
7c2302a02f 6.11.4 2016-10-01 20:08:48 -04:00
Henry Zhu
5bac6e8ad9 Temporary rollback for erroring on trailing comma with spread (#154) 2016-10-01 20:08:25 -04:00
Henry Zhu
1285131e3e v6.11.3 changelog [skip ci] (#153)
* v6.11.3 changelog [skip ci]
2016-10-01 17:33:31 -04:00
Henry Zhu
45c68c7311 6.11.3 2016-10-01 16:33:29 -04:00
Henry Zhu
4847403b84 add npm run changelog 2016-10-01 16:33:10 -04:00
Daniel Tschinder
7877829fcb Add static errors for object rest (#149)
* Fix parsing object rest

This makes object-rest-spread behave according to spec and only
allow one rest operator and enforces it to be the last
param in the object.

Also move all object-rest-spread tests to a own folder.

* Show nicer error messages
2016-09-30 11:37:55 -04:00
jezell
9cc0981c51 get / set are valid property names in default assignment (#142) 2016-09-27 23:29:16 +02:00
Daniel Tschinder
4115bcb97d Fix travis 2016-09-26 10:05:16 +02:00
Henry Zhu
44d44a20f9 changelog update 2016-09-23 00:51:29 -04:00
Henry Zhu
a1c0ef220a Don't build on *.md change [skip ci] 2016-09-23 00:50:36 -04:00
Henry Zhu
6ce192d883 6.11.2 changelog [skip ci] 2016-09-23 00:49:06 -04:00
Henry Zhu
fbd3f6a183 6.11.2 2016-09-23 00:44:36 -04:00
Henry Zhu
1d04d12794 Don't do the duplicate check if not an identifier (#140) 2016-09-23 00:44:13 -04:00
Daniel Tschinder
101e9e5636 Fix styling 2016-09-22 22:31:30 +02:00
Daniel Tschinder
4b11aad516 6.11.1 (#138)
* Update CHANGELOG.md

* Update CHANGELOG.md
2016-09-22 22:30:41 +02:00
Henry Zhu
8a544542db 6.11.1 2016-09-22 16:01:02 -04:00
Daniel Tschinder
952d50faf9 Make exportIdentifiers and array so that base object properties are not accounted (#137) 2016-09-22 16:00:39 -04:00
Henry Zhu
3210bbbce0 6.11.0 2016-09-22 14:08:21 -04:00
Henry Zhu
b1584cac6a link to example pr [skip ci] 2016-09-22 14:05:20 -04:00
Henry Zhu
0ca8f167c7 6.11.0 changelog [skip ci] (#136)
* 6.11.0 changelog [skip ci]

* add examples [skip ci]
2016-09-22 14:03:44 -04:00
Moti Zilberman
774e6b446b Rephrase "assigning/binding to rvalue" errors to include context (#119) (#123)
* Rephrase "assigning/binding to rvalue" error messages with context (#119)

* Fix code style in parser/lval.js

* istanbul ignore some unused branches in parser/lval.js

* Fix code style again in parser/lval.js
2016-09-22 12:02:20 -04:00
Kai Cataldo
650e33376a Disallow duplicate named exports (#107)
fixes #69
2016-09-22 10:20:47 -04:00
Moti Zilberman
4e1fbd48d5 Add support for computed class property names (#120) (#121) 2016-09-21 21:24:59 -04:00
Dan Harper
b68918e377 fix static falling through in declare class Flow AST (#135) 2016-09-21 00:17:55 -04:00
Daniel Tschinder
9cb73d8e96 fix call to this.parseMaybeAssign with correct arguments (#133) 2016-09-20 09:42:14 -04:00
Daniel Tschinder
8d2fdb1515 let travis handle depth 2016-09-19 20:39:06 +02:00
Henry Zhu
374908611c add semver note to changelog [skip ci] (#131)
* add semver note to changelog [skip ci]

* fix [skip ci]
2016-09-19 11:40:37 -04:00
Henry Zhu
df60dcbb98 6.10.0 2016-09-19 11:32:59 -04:00
Henry Zhu
399bc6e931 explanation + fix [skip ci] 2016-09-17 23:11:41 -04:00
Steve Mao
c04a8594ae fix typo: interspatial (#129) 2016-09-16 10:28:11 +02:00
Henry Zhu
8fc6c28900 add note about spec-compliancy and semver (#128)
* add note about spec-compliancy and semver

* review [skip ci]
2016-09-15 19:24:19 -04:00
Henry Zhu
d000ead2b3 6.10.0 changelog [skip ci] 2016-09-15 19:23:54 -04:00
Daniel Tschinder
f91da191a1 Include typeParameter location in the arrow function expression (#126) 2016-09-15 19:08:33 -04:00
Timothy Gu
643d3f37a4 Implement ES2016 check for simple parameter list in strict mode (#106)
* Slightly simplify logic

* Implement ES2016 check for simple parameter list in strict mode

See e.g. ECMA-262 7.0 14.1.2:

> It is a Syntax Error if ContainsUseStrict of FunctionBody is true and
> IsSimpleParameterList of FormalParameters is false.

Similar clauses cover arrow functions, generator functions, methods, and
generator methods, as well as async functions and async arrow functions.
2016-09-15 19:58:01 +02:00
Dan Harper
64145b07e3 error on invalid flow type annotation with default assignment (#122) 2016-09-15 19:35:03 +02:00
Dan Harper
dc3036627b Fix Flow return types on arrow functions (#124)
* fix: arrow return type on next line is valid

https://github.com/babel/babel-eslint/issues/348

* fix: arrow on line after return type annotation is invalid

* lint
2016-09-15 19:27:11 +02:00
Daniel Tschinder
abf6ca8e5e Add tests for export extensions (#127)
The case which includes a namespaced and default import was not tested yet
2016-09-15 19:24:11 +02:00
Daniel Tschinder
0adca96529 Fix Contributing guidelines [skip ci] 2016-09-15 18:39:10 +02:00
Basil Hosmer
ddbda7dd04 exact object type annotations for Flow plugin (#104)
* exact object type annotations for Flow plugin

* Couple tweaks per suggestions

* s/==/===/

* add test for unexpected token in flowObjectType Semicolon
2016-09-13 10:07:23 -04:00
Henry Zhu
015035cd27 6.9.2 changelog [skip ci] 2016-09-09 11:02:16 -04:00
Henry Zhu
7d561e7a04 6.9.2 2016-09-09 10:54:59 -04:00
Henry Zhu
75cb271134 Package.json: remove dependencies object [skip ci] 2016-09-09 10:51:48 -04:00
Henry Zhu
5f9c381f9c update packages, use es2015 loose mode, remove babel-runtime transform (#110)
* update packages, use es2015 loose mode, remove babel-runtime transform

* reuse [skip ci]

* remove runtime
2016-09-09 10:47:07 -04:00
Daniel Tschinder
69a9ba86ae Enable partial code coverage (#109) 2016-09-06 15:14:19 +02:00
Daniel Tschinder
e3d5a7d646 Update contributing [skip ci] (#108)
* Update contributing [skip ci]

* typo
2016-09-05 23:31:46 +02:00
Daniel Tschinder
dc56c0b54d Change to export codecoverage as json (#102) 2016-08-30 23:50:56 +02:00
Daniel Tschinder
e0b2c86950 Remove deprecated plugin from README.md (#101)
As we probably remove it anyway in the next major we can already at least not expose it in the readme.
2016-08-29 11:06:23 -04:00
Daniel Tschinder
abec2a70e9 changelog 6.9.1 2016-08-24 11:25:39 +02:00
Henry Zhu
32d5c7195e 6.9.1 2016-08-23 17:48:08 -04:00
Henry Zhu
c8b32485a0 Update readme - es2017 [skip ci] 2016-08-23 17:47:20 -04:00
Daniel Tschinder
27ad69d43f Fix declare class with qualified type identifier (#97)
This makes declare class extends behave the same way as in flow
The ast-token after the extends keyword, might be either Identifier or
QualifiedTypeIdentifier

To do that this commits splits the parseGenericType into two functions,
one for parsing genericType and on for qualifiedTypeIdentifier
2016-08-23 17:29:23 -04:00
Dan Harper
efab40154e Fix arrow functions with destructuring, types & default value (#94)
Flow's "toAssignable" override wasn't calling the inner function,
resulting in the destructuring in an AssignmentPattern not having the
node type changed from ObjectExpression to ObjectPattern, resulting in
"Binding rvalue" thrown from "checkLVal()"
2016-08-23 17:27:39 -04:00
Daniel Tschinder
db0705bc51 Fix issues with flow-types and async function (#95)
the typeAnnotation was not correctly resolved in async
functions
2016-08-23 17:22:01 -04:00
Daniel Tschinder
2cfae60b15 Fix issues with default object params in async functions (#96)
This change allows async functions to have a spread argument which
defines a default value.
2016-08-23 17:19:49 -04:00
Daniel Tschinder
4506822180 Remove exponentiationOperator, asyncFunctions, trailingFunctionCommas (#98)
* This removes the exponentiationOperator as it is now in es2016

* Remove from tests

* Remove asyncFunctions and restructure test dirs

* Remove trailingFunctionCommas
2016-08-23 17:11:01 -04:00
Daniel Tschinder
b6496718a7 Correct codecoverage paths (#93) 2016-08-17 18:21:25 +02:00
Daniel Tschinder
8bef3156be Correct code example 2016-08-16 19:07:56 +02:00
Daniel Tschinder
56c7d5a67d Update CHANGELOG.md [skip ci] (#91) 2016-08-16 16:34:51 +02:00
Sebastian McKenzie
dc6a5d2f86 6.9.0 2016-08-16 15:11:06 +01:00
Sebastian McKenzie
4af484b805 Merge pull request #65 from danez/fix-syntax-error-pos
Fixes SyntaxError position with flow optional type
2016-08-16 15:06:25 +01:00
Sebastian McKenzie
43cdd2f5b0 Merge pull request #57 from danez/fix-arrow-location
Fix arrow param locations with flow types
2016-08-16 15:06:19 +01:00
Sebastian McKenzie
0b87d4c97c Add identifier name to node loc field (#90) 2016-08-16 09:41:10 -04:00
Daniel Tschinder
69e914baeb Set correct include patterns for code-coverage 2016-08-14 12:39:41 +02:00
Greenkeeper
2abef9dbaa chore(package): update nyc to version 8.0.0 (#88)
https://greenkeeper.io/
2016-08-14 12:37:25 +02:00
Greenkeeper
0b23e5cc2d chore(package): update babel-plugin-istanbul to version 2.0.0 (#89)
https://greenkeeper.io/
2016-08-14 12:27:05 +02:00
Greenkeeper
0a6d333531 chore(package): update ava to version 0.16.0 (#86)
https://greenkeeper.io/
2016-08-06 18:29:38 +02:00
Sebastian McKenzie
c9a7bed6d0 Merge pull request #83 from gabelevi/flow
Small fix for parsing type parameter declarations
2016-08-04 00:37:37 +10:00
Daniel Tschinder
eb691425b6 Only allow declares inside declare module (#73)
* Only allow declares inside declare module

* Better error message
2016-07-29 20:22:49 +02:00
Gabe Levi
859ed04be9 Small fix for parsing type parameter declarations 2016-07-29 12:45:20 -04:00
Dale Bustad
4811d617ce If supplied, attach filename property to comment node loc. (#80) 2016-07-28 23:12:41 +02:00
Daniel Tschinder
64ca55cfe0 Fixes Syntax error position with flow optional type 2016-07-28 23:09:40 +02:00
Daniel Tschinder
cd987cd8e4 Fix arrow param locations with flow types
This patch corrects the end locations for params in arrow functions
which use type params.
2016-07-28 23:09:19 +02:00
Daniel Tschinder
f576865ce9 Add support for declare module.exports (#72)
* Add support for declare module.exports

* Use doublequotes

* Use expect instead of eat
2016-07-28 22:16:58 +02:00
Max Schaefer
fd18d89d8e Fix accidental fall-through in Flow type parsing. (#82)
When parsing a primary type, `>` would erroneously be treated like `(`.
2016-07-28 22:12:47 +02:00
Daniel Tschinder
88d7e2012c Fix lookahead to not add comments to arrays which are not cloned (#76)
We do not clone arrays in lookahead() but comments were added
to leading/trailing arrays during lookahead, leading to leak to the next next() call.

Also extracted parsing of JSXSpreadChild to own parse function.
2016-07-17 11:08:25 +02:00
Daniel Tschinder
97325592fa Fix exponential operator to behave according to spec (#75) 2016-07-17 11:08:12 +02:00
Greenkeeper
f5df4b9411 chore(package): update cross-env to version 2.0.0 (#77)
https://greenkeeper.io/
2016-07-14 00:35:13 +02:00
Daniel Tschinder
406cd33ca2 Use plugin-babel-istanbul for codecoverage 2016-07-13 11:43:31 +02:00
Sebastian McKenzie
3fad8cc9a7 Merge pull request #42 from calebmer/feat/jsx-spread-children
Add JSX spread children
2016-07-13 01:32:09 +01:00
Daniel Tschinder
b00ba47e6c run build before publish with production env 2016-07-13 01:02:11 +02:00
Daniel Tschinder
964bd4d609 Add coverage badge 2016-07-13 00:43:26 +02:00
Daniel Tschinder
0b62ecee21 Add sourcemaps for code coverage 2016-07-13 00:27:53 +02:00
Daniel Tschinder
149a339932 Use codecov node client 2016-07-12 23:05:13 +02:00
Daniel Tschinder
f4b8b85f11 Use correct coverage reporter 2016-07-12 22:34:43 +02:00
Daniel Tschinder
47d11ae084 Enable coverage on travis 2016-07-12 22:20:31 +02:00
Daniel Tschinder
15a391d305 Fix tests to not save expected output if we expect the test to fail 2016-07-11 13:35:50 +02:00
Daniel Tschinder
50422c6db1 Add PR numbers to changelog [skip ci] 2016-07-07 10:17:33 +02:00
Daniel Tschinder
ee6a578478 Make a shallow clone of babel for testing
There is no need to retrieve the whole history.
2016-07-07 10:00:04 +02:00
Henry Zhu
46ed49fe3a add 6.8.3,6.8.4 changelog [skip ci] 2016-07-06 19:40:51 -04:00
Henry Zhu
46fc224382 6.8.4 2016-07-06 19:34:38 -04:00
Daniel Tschinder
34a82f716e Fix the location of params, when flow and default value used (#68)
Fixes #67
2016-07-06 17:48:47 -04:00
Daniel Tschinder
83bf84f7cd 6.8.2 changelog [skip ci] (#60) 2016-07-06 17:48:31 -04:00
Sebastian McKenzie
e0639505d1 6.8.3 2016-07-03 16:47:35 +01:00
Sebastian McKenzie
22cf1f8826 Merge pull request #63 from danez/performance-regression
Fix performance regression introduced in 6.8.2
2016-07-03 16:46:44 +01:00
Daniel Tschinder
4e2072def8 Fix performance regression introduced in 6.8.2
This commit e6c11a0 (#19) made a big performance regression.
The reason was that parseConditional was always cloning the current state
even if no question mark (potential conditional or flow-optional
token) was at the current position.
Simply checking if questionmark matches the current token solves the problem.

Fixes #62
2016-07-03 11:52:01 +02:00
Daniel Tschinder
84b1bc52e1 Ensure that build directories are not included in release 2016-06-30 00:59:43 +02:00
Daniel Tschinder
b02dba8d24 Ignore build directory in eslint 2016-06-30 00:55:03 +02:00
Daniel Tschinder
5a74dedeb6 Remove cache because of outdated versions on travis 2016-06-30 00:34:35 +02:00
Daniel Tschinder
7593b802ae Enable babel tests on travis 2016-06-30 00:26:36 +02:00
Daniel Tschinder
5e1e1d296a Merge pull request #56 from babel/hzoo-patch-1
6.8.1 changelog [skip ci]
2016-06-29 19:42:37 +02:00
Henry Zhu
4dd64dbe0f 6.8.1 changelog [skip ci] 2016-06-24 14:43:37 -04:00
Sebastian McKenzie
376fb835b9 6.8.2 2016-06-24 18:36:50 +01:00
Sebastian McKenzie
d976b56bbe Merge pull request #54 from gabelevi/arrow
[Flow] Arrow function type parameter declarations
2016-06-24 18:36:07 +01:00
Gabe Levi
22374b6bec [Flow] Arrow function type parameter declarations 2016-06-24 10:34:09 -07:00
Sebastian McKenzie
f30f1942b6 Merge pull request #55 from vkurchatkin/gen-getset
flow: allow generic method with name get or set
2016-06-24 18:24:27 +01:00
Vladimir Kurchatkin
f0c7660980 move logic to flow plugin 2016-06-24 20:23:02 +03:00
Vladimir Kurchatkin
d5f75cb2f0 flow: allow generic method with name get or set 2016-06-24 19:47:30 +03:00
Sebastian McKenzie
cde17b33bd Merge branch 'master' of github.com:babel/babylon 2016-06-22 15:28:24 +01:00
Henry Zhu
3f266691a8 fix ast links again [skip ci] 2016-06-22 09:54:05 -04:00
Sebastian McKenzie
59537a473b Merge pull request #50 from jmm/ast-spec-link
Fix link to AST spec
2016-06-22 14:49:06 +01:00
Jesse McCarthy
6dac2afd43 Fix link to AST spec
[ci skip]
2016-06-22 09:46:26 -04:00
Sebastian McKenzie
cf6e0d365e rename parser context types 2016-06-22 14:06:58 +01:00
Henry Zhu
c8e35ee70a Test on node 6, remove iojs 2016-06-22 08:58:39 -04:00
Henry Zhu
dcc3b981f9 rm extraneous text [skip ci] 2016-06-22 08:55:41 -04:00
Sebastian McKenzie
0b58ad29ab Merge pull request #46 from babel/ast-spec
Move ast spec from babel/babel [skip ci]
2016-06-22 13:54:05 +01:00
Sebastian McKenzie
b0236b8ede Merge pull request #47 from babel/hzoo-patch-1
Update Output, change links [skip ci]
2016-06-22 13:53:56 +01:00
Sebastian McKenzie
35b6c09f8f Merge pull request #45 from mathiasbynens/unicode-9
Update to Unicode v9
2016-06-22 13:53:25 +01:00
Henry Zhu
2d4c117485 Update Output, change links [skip ci] 2016-06-22 08:50:48 -04:00
Sebastian McKenzie
3524ad510f remove grouped type arrow restriction as it seems flow no longer has it - fixes #44 2016-06-22 13:43:32 +01:00
Henry Zhu
be7d968903 Move ast spec from babel/babel [skip ci] 2016-06-22 08:39:29 -04:00
Mathias Bynens
b7ed4f5d12 Update to Unicode v9 2016-06-22 14:35:19 +02:00
Sebastian McKenzie
f63802c716 add missing generate-identifier-regex script - fixes #7 2016-06-22 13:24:35 +01:00
Sebastian McKenzie
4ca3cd8d1a remove line terminator restriction after await keyword - fixes #38 2016-06-22 13:18:43 +01:00
Sebastian McKenzie
43e01e40f1 upgrade ava 2016-06-22 13:17:31 +01:00
Sebastian McKenzie
ec0a349ec8 support negative numeric type literals - fixes T7450 2016-06-22 13:17:27 +01:00
Sebastian McKenzie
96a7eadbe4 Merge branch 'danez-fix-flow-optional-type' 2016-06-22 12:52:55 +01:00
Sebastian McKenzie
461261b181 Merge branch 'fix-flow-optional-type' of https://github.com/danez/babylon into danez-fix-flow-optional-type
# Conflicts:
#	src/plugins/flow.js
2016-06-22 12:52:42 +01:00
Sebastian McKenzie
74ee30bfbe Merge pull request #21 from danez/test-babel
Test babel with dev babylon
2016-06-22 12:45:05 +01:00
Sebastian McKenzie
78597290ec Merge pull request #23 from danez/fix-comments
Fix leading comments added from previous node
2016-06-22 12:44:12 +01:00
Sebastian McKenzie
55d47ab7b4 Merge pull request #41 from nene/ast-spec
Document AST differences from ESTree
2016-06-22 12:43:41 +01:00
Sebastian McKenzie
4d2e1dddfb Merge pull request #10 from danez/fix-flow-arrow-spread
Fix flow plugin when flow+arrow+spread used together
2016-06-22 12:36:52 +01:00
Daniel Tschinder
f11a82c96c Adjust cloning of nodes in import/export-specifiers and obj-destructuring (#24)
The cloning caused comments that where added to the original node to be persisted into
the cloned node.
Espree/Acorn does not have any cloning, that's why it is working there.
This change omits comments when cloning, as removing the cloning
causes tests in babel to fail.
2016-06-21 09:55:15 -04:00
Sebastian McKenzie
92d45c3f6c Merge pull request #16 from danez/enable-tests
Enable deactivated tests
2016-06-21 00:03:38 +01:00
Sebastian McKenzie
8977d8c75a Merge pull request #31 from eldereal/master
Allow use react elements after yield statement
2016-06-20 22:50:36 +01:00
calebmer
a25a4ffdc1 Add JSX spread children 2016-06-19 10:48:20 -04:00
Rene Saarsoo
d7dc857bbf Document AST deviations from ESTree spec
Refs #40
2016-06-18 11:05:48 +03:00
Rene Saarsoo
dd8856d5cc Correct Options heading level in README 2016-06-18 10:30:55 +03:00
Sebastian McKenzie
ca6450b057 6.8.1 2016-06-06 19:21:21 +01:00
Sebastian McKenzie
1c48c4c9db Merge pull request #25 from gabelevi/default
Support defaults in Flow's type parameter declarations
2016-05-17 01:00:49 +01:00
Yiyuan Bai
de56e12c68 Allow use react elements after yield statement 2016-05-12 18:41:41 +08:00
Henry Zhu
21c4b4d779 6.8.0 changelog (#27) 2016-05-04 10:05:58 -04:00
Henry Zhu
6ef4a731b7 6.8.0 2016-05-04 10:04:32 -04:00
Henry Zhu
d4cd0bf7b7 Actually remove it.. 2016-05-02 22:44:50 -04:00
Henry Zhu
c81db57b03 Remove unused file
Ref f81c281fc4 (commitcomment-17331315)
2016-05-02 22:43:47 -04:00
Gabe Levi
fe5193a40a Support defaults in Flow's type parameter declarations
The primary goal of this commit is to add the ability to parse type parameter
declarations with defaults, like `type Foo<T = string> = T`. While I was in the
code, I fixed a few small things, like

* Type parameter declarations need 1 or more type parameters.
* The existential type `*` is not a valid type parameter.
* The existential type `*` is a primary type
* The param list for type parameter declarations now consists of
  `TypeParameter` nodes
2016-04-27 16:12:10 -04:00
Daniel Tschinder
4bfececdad Fix leading comments added from previous node
This fixes an issue that comments were added as leading comments
to expressions, which are not immediately folowing the comment.
This was also reported and fixed in espree, and is basically a port to
babylon. eslint/espree#256

this also fixes an issue in babel-eslint with certain rules babel/babel-eslint#289
2016-04-23 12:24:20 +02:00
Daniel Tschinder
91b818d486 Add Makefile that makes it able to test babel with current babylon 2016-04-17 22:16:15 +02:00
Daniel Tschinder
e6c11a0673 Fix support for flow optional parameters in arrow functions T7096
This overwrites the conditional handling in babylon for flow to support
optional parameters in arrow functions.
2016-04-10 13:06:48 +02:00
Sebastian McKenzie
b926e401c6 Merge pull request #17 from zenparsing/master
Parse for-await statements when asyncGenerators plugin is active
2016-04-05 18:42:44 +01:00
Kevin Smith
f81c281fc4 Parse for-await statements when asyncGenerators plugin is active 2016-04-05 13:33:49 -04:00
Daniel Tschinder
bb6586d1e6 Enable deactivated tests, as it seems they work now 2016-04-04 18:22:10 +02:00
Daniel Tschinder
d15a2310cd Fix flow plugin when flow+arrow+spread used together
The fix includes creating a new method on the parser called `parseArrow`.
This new function by default only checks if current position matches an
arrow. If it does returns the `node` otherwise `undefined`.
The flow plugin can then extend this function and correctly parse the typeAnnotation
and add it to the node.

With this change, in the flow plugin there is no need anymore to extend
`parseParenAndDistinguishExpression` and the arrow handling in `parseParenItem`
could also be removed, because it is all handled now in `parseArrow`.

Some existing tests were failing, because `extra->parentesized` is now missing,
but this is correct as it is now inline with parsing without flow annotation. No extra
is added for arrow function without type annotations.

In the expression-parser `this.next()` was replaced by a more specific
`this.expect(tt.parenL)`.
2016-04-04 18:10:58 +02:00
Sebastian McKenzie
8b150813f5 Merge pull request #12 from shuhei/parameter-decorators
Parse parameter decorators
2016-03-28 22:14:15 +01:00
Shuhei Kagawa
29a6578658 parse parameter decorators 2016-03-25 14:04:33 +09:00
Sebastian McKenzie
6b14e4cb91 Merge pull request #2 from babel/travis-badge
Add travis badge
2016-03-10 14:57:01 +00:00
Sebastian McKenzie
695109d505 t push
Merge branch 'master' of github.com:babel/babylon
2016-03-10 14:48:51 +00:00
Sebastian McKenzie
2115a28b40 add lodash to dev deps 2016-03-10 14:48:46 +00:00
Henry Zhu
e31dd18750 Add travis badge 2016-03-10 09:45:41 -05:00
Sebastian McKenzie
b75f175863 Merge pull request #1 from babel/hzoo-patch-1
don't ignore compiled files
2016-03-10 13:31:47 +00:00
Henry Zhu
a47286ba2b don't ignore compiled files 2016-03-10 08:28:33 -05:00
Sebastian McKenzie
64ff4c3561 first commit 2016-03-10 06:24:44 +00:00
Amjad Masad
f8e33840b0 v6.7.0 2016-03-08 16:52:45 -08:00
Amjad Masad
6b498d7e5a Merge pull request #3323 from divmain/master
Source-map support for multiple input source files
2016-03-07 11:57:59 -08:00
Dale Bustad
bb4919500c Attach filename property to node.loc when provided. 2016-03-07 02:47:28 -08:00
Sam Goldman
b85d6c7e4a Add support for Flow def-site variance syntax
This syntax allows you to specify whether a type variable can appear in
a covariant or contravariant position, and is super useful for, say,
Promise.

Right now this is hacked in jankily, but in the next major release we
should stop using Identifier nodes for type parameters.
2016-03-06 14:44:09 -08:00
Henry Zhu
6adbe96bf1 v6.6.5 2016-03-04 18:16:17 -05:00
Amjad Masad
aca8010438 Remove remaining @flow annotations 2016-03-03 15:10:59 -08:00
Amjad Masad
b5315d4b27 Revert "Remove Flow annotations and pragmas"
This reverts commit 4252244d06.
2016-03-03 15:03:55 -08:00
Amjad Masad
9a180797c0 Revert "Remove flow"
This reverts commit 2827ff6b01.
2016-03-03 14:49:20 -08:00
Henry Zhu
5b7fa17cbe v6.6.4 2016-03-02 16:29:17 -05:00
Sam Goldman
d6ee428857 Remove flow 2016-03-01 22:33:30 -08:00
Henry Zhu
48e8db2247 v6.6.0 2016-02-29 16:12:12 -05:00
Sam Goldman
08249b29e4 Remove weird codemod artifact 2016-02-28 13:23:28 -10:00
Sam Goldman
085361ad1a Remove Flow annotations and pragmas 2016-02-28 13:18:57 -10:00
Logan Smyth
5f94206382 Merge pull request #3355 from loganfsmyth/babylon-browserifiable
Clean up babylon bundle to allow it to be re-bundled - fixes T6930
2016-02-22 08:50:06 -08:00
Sebastian McKenzie
31f3eba4c1 Merge pull request #3361 from babel/klint
Switch to klint, fix some lint rules
2016-02-14 23:26:30 +00:00
Sebastian McKenzie
c9f9435445 Switch to klint, fix some lint rules 2016-02-14 23:25:14 +00:00
Logan Smyth
40e5f505f4 Properly fail to parse >== and <== - fixes T2921 2016-02-13 10:08:05 -08:00
Logan Smyth
19de6dea3d Clean up babylon bundle to allow it to be re-bundled - fixes T6930 2016-02-12 22:48:00 -08:00
Henry Zhu
13cb34a966 v6.5.2 2016-02-12 11:29:58 -05:00
Henry Zhu
2e73358fcc Add class properties test with a generator method that results in a parse error 2016-02-11 13:03:36 -05:00
Logan Smyth
88a67773e6 Merge pull request #3332 from loganfsmyth/revert-prop-semi
Revert to standard ASI behavior for class properties
2016-02-10 22:40:44 -07:00
Logan Smyth
abd39d688e Add tests for class property ASI. 2016-02-06 23:01:38 -08:00
Logan Smyth
0c35bbfc07 Revert "babylon: throw parse error if class properties do not have a semicolon (fixes T6873)"
This reverts commit 976edfc067.
2016-02-06 18:36:31 -08:00
Logan Smyth
d9ade8a63a Revert "babylon: fix error location for class properties with a missing semicolon"
This reverts commit f31099f383.
2016-02-06 18:36:22 -08:00
Henry Zhu
8d241c9c40 v6.5.0 2016-02-06 19:06:41 -05:00
Amjad Masad
024cba6433 Merge pull request #3305 from jviereck/T7052
Fix: Arrow functions with trailing comma + return type are throwing an error when parsing
2016-02-05 13:50:57 -08:00
Jeff Morrison
acc946c09e Add support for leading pipes in Flow type alias RHS syntax 2016-02-05 13:23:55 -05:00
Henry Zhu
5f0ece0bdb add some more flow types 2016-02-04 11:07:03 -05:00
Julian Viereck
a121d1b7b5 Fix and tests 2016-01-31 01:22:31 +01:00
Henry Zhu
97fd9d65e7 v6.4.5 2016-01-19 18:02:31 -05:00
Bradley Farias
b6f5b6ab11 fix flow for babylon 2016-01-19 13:01:26 -06:00
Chris Cowan
d425927ff1 Make babylon ignore duplicate plugins. 2016-01-15 19:29:21 -08:00
Chris Cowan
9c75f27240 Make Babylon correctly handle "flow" being present multiple times in plugins. 2016-01-15 19:00:38 -08:00
Henry Zhu
98504720df v6.4.2 2016-01-06 21:26:43 -05:00
Henry Zhu
2f00b4c329 babylon: fix error location for class properties with a missing semicolon 2016-01-06 18:42:26 -05:00
Henry Zhu
359b8533b6 v6.4.0 2016-01-06 15:34:12 -05:00
Sebastian McKenzie
6c79639801 Merge pull request #3225 from hzoo/cp-semi
`babylon`: throw parse error if class properties do not have a semico…
2016-01-06 15:22:37 +00:00
Sam Goldman
541b576c7a Guard export interface against isExportDefaultSpecifier 2016-01-05 17:28:21 -08:00
Sam Goldman
a04948f70f Add export interface Flow syntax support
An interface export is just like a type export. In fact, it's a syntax affordance which makes the following equivalent:

```javascript
interface I_ { ... }
export type I = I_;
```

```javascript
export interface I { ... }
```

See facebook/flow#1145
2016-01-05 15:57:45 -08:00
Sam Goldman
bd5c1a5b1b Add support for "declare interface" Flow syntax
This has been a feature in Flow for a long time (couldn't easily find a
specific commit adding this). Interfaces are basically undocumented, though, so
it's easy to see how this was missed.
2016-01-04 11:50:12 -08:00
Sam Goldman
0980819346 Add support for "declare type" Flow syntax
See facebook/flow#1105
2016-01-04 11:42:43 -08:00
Henry Zhu
e849c62144 babylon: throw parse error if class properties do not have a semicolon (fixes T6873) 2015-12-30 14:01:46 -05:00
Jesse McCarthy
b1da92e8cb Don't make directive from parenthesized string. 2015-12-28 11:04:33 -05:00
Jesse McCarthy
c5a8d4c5b0 Add non-directive fixture.
(Failing.)
2015-12-28 11:04:33 -05:00
Sebastian McKenzie
326e157e5d Merge pull request #3203 from samwgoldman/flow-mixins-6.x
Add support for mixins to Babel 6.x
2015-12-27 21:04:40 +00:00
Sebastian McKenzie
c72ef3755a stop people from patching babylon by building it 2015-12-24 03:58:52 +00:00
Sam Goldman
137abcaf7a Add support for mixins to Babel 6.x 2015-12-23 16:09:12 -05:00
Sam Goldman
f0fd729883 Add support for this type to Babel 6.x 2015-12-23 13:54:57 -05:00
Amjad Masad
939ad92deb v6.3.26 2015-12-22 23:11:59 -08:00
Amjad Masad
1d82e48d36 Merge pull request #3190 from hzoo/remove-await-star
Remove await* from babel-generator, add parsing error to babylon - (fixes T6688)
2015-12-22 22:57:23 -08:00
Henry Zhu
c7bdf7fc63 remove all property, fixup tests 2015-12-23 00:02:02 -05:00
Amjad Masad
75e2a398af v6.3.25 2015-12-21 13:59:11 -08:00
Henry Zhu
7bac3627fe Remove await* from babel-generator, add parsing error to babylon - (fixes T6688) 2015-12-19 23:15:09 -05:00
TSUYUSATO Kitsune
8d8f75a5b8 Fix ignoring previous strict mode after twice "use strict"
For example:

    var foo = function () {
      "use strict";
      "use strict";
      // there is inside of strict mode,
      // so `0123` (octal number) occurs a syntax error.
    };
    // there is outside of strict mode,
    0123; // so left is valid syntax.
    // however:
    //   SyntaxError: Invalid number (8:0)

I fixed it and add the test case.
2015-12-19 09:26:10 +09:00
Amjad Masad
2304ce0b4a v6.3.21 2015-12-18 00:23:03 -08:00
Marshall Roch
4a140af08d Upgrade to flow 0.20.0 2015-12-17 12:49:48 -08:00
Amjad Masad
f350853db9 v6.3.20 2015-12-16 12:24:45 -08:00
Henry Zhu
fa23b4359b add functionBind to babylon plugins readme 2015-12-16 09:47:08 -05:00
Amjad Masad
b0eb0f3ff9 v6.3.18 2015-12-13 23:01:37 -08:00
Sebastian McKenzie
694ad8eb8a Merge pull request #3107 from MakeNowJust/fix/t6675-2
Fixed T6675
2015-12-12 01:30:05 +11:00
Henry Zhu
15e02657fa v6.3.15 2015-12-06 11:31:46 -05:00
Henry Zhu
d833e8bbee eslint: add space-after-keywords 2015-12-06 11:30:07 -05:00
Henry Zhu
b3de3c2514 v6.3.14 2015-12-04 13:52:36 -05:00
Sebastian McKenzie
80a10e144b Merge branch 'master' of github.com:babel/babel 2015-12-04 23:17:11 +11:00
Sebastian McKenzie
e81a5dc8fe v6.3.13 2015-12-04 22:56:51 +11:00
Sebastian McKenzie
a5cd87c401 v6.3.12 2015-12-04 22:56:13 +11:00
Amjad Masad
8716fb6f3f Test name, and remove todos 2015-12-04 00:12:37 -08:00
Amjad Masad
e3da84bcc3 Add support for null literal type 2015-12-03 23:58:25 -08:00
Amjad Masad
5a15231cfe v6.3.0 2015-11-30 14:58:30 -08:00
TSUYUSATO Kitsune
dc596d73d3 Fixed T6675
https://phabricator.babeljs.io/T6675.
2015-11-24 22:39:50 +09:00
Aliaksei Shytkin
5e987cd46e Make arrow functions to work with multiple args and flow return type (fixes T2422) 2015-11-23 15:20:16 +03:00
Sebastian McKenzie
59ec2b2dfb v6.2.0 2015-11-18 20:33:47 -08:00
Sebastian McKenzie
d79d0cf73d add function.sent 2015-11-17 23:02:21 -08:00
Daniel Lo Nigro
20a483cd58 Fix Flow.
Removed `@flow` annotation from files that don't actually pass Flow check at the moment. These will be added back file by file once the files are properly converted to use Flow.

Closes #3064
2015-11-15 21:30:22 -08:00
Sebastian McKenzie
a3fe3933da v6.1.21 2015-11-13 16:57:03 -08:00
Jesse McCarthy
81edfcbd93 Correct option name: features => plugins. 2015-11-13 10:25:40 -05:00
Sebastian McKenzie
c985006597 v6.1.20 2015-11-13 03:38:54 -08:00
Jordan Klassen
021688e1c0 Remove unused second parameter of isIdentifierStart 2015-11-12 22:45:35 -08:00
Sebastian McKenzie
3017999b3c v6.1.18 2015-11-12 13:46:30 -08:00
Sebastian McKenzie
7625e61b97 v6.1.17 2015-11-12 13:40:25 -08:00
Sebastian McKenzie
e28e01bb86 v6.1.16 2015-11-12 13:33:20 -08:00
Sebastian McKenzie
d2fdd1f673 v6.1.15 2015-11-12 12:15:47 -08:00
Sebastian McKenzie
a2aa3583b6 v6.1.14 2015-11-12 12:01:18 -08:00
Sebastian McKenzie
8f9c531531 v6.1.13 2015-11-12 11:57:45 -08:00
Sebastian McKenzie
2ee4960944 v6.1.12 2015-11-12 00:47:51 -08:00
Sebastian McKenzie
903201af31 v6.1.11 2015-11-11 23:58:22 -08:00
Sebastian McKenzie
4b2194e793 v6.1.10 2015-11-11 23:52:57 -08:00
Sebastian McKenzie
b65774993d v6.1.9 2015-11-11 23:46:00 -08:00
Sebastian McKenzie
1165090c58 v6.1.8 2015-11-11 23:40:20 -08:00
Sebastian McKenzie
d52985f575 v6.1.7 2015-11-11 23:37:19 -08:00
Sebastian McKenzie
f37616c5fd v6.1.6 2015-11-11 23:32:43 -08:00
Sebastian McKenzie
7d4a603356 v6.1.5 2015-11-11 23:30:14 -08:00
Sebastian McKenzie
e5d3eed9f0 v6.1.10 2015-11-11 23:28:53 -08:00
Sebastian McKenzie
398eb606df v6.1.9 2015-11-11 23:27:56 -08:00
Sebastian McKenzie
6e01f3cbc0 v6.1.5 2015-11-11 22:48:30 -08:00
Sebastian McKenzie
6ca969684e v6.1.4 2015-11-11 02:04:26 -08:00
Sebastian McKenzie
dfd9316e27 abstract out test runner into a module, move traceur and esnext tests to babel-preset-es2015, clean up and make existing tests more consistent 2015-11-08 21:58:01 -08:00
Sebastian McKenzie
bbfb599be2 fix __proto__ clashes in parser in old v8 2015-11-08 05:34:11 -08:00
Sebastian McKenzie
c06576497b v6.1.2 2015-11-05 11:10:22 +00:00
Sebastian McKenzie
779675610f fix defaults on type annotated arrow function params - fixes #2493 2015-11-05 09:49:03 +00:00
Sebastian McKenzie
2b6f78df83 fix existential type param parsing 2015-11-03 20:04:55 +00:00
Sebastian McKenzie
4016bae694 add ExistentialTypeParam - fixes #2587 2015-11-03 13:48:03 +00:00
Sebastian McKenzie
c3b1b25966 simplify Parser::semicolon method 2015-11-03 11:46:11 +00:00
Sebastian McKenzie
14ca4d1dc9 add lineBreak test to tt.name.updateContext - fixes #2591 2015-11-03 11:46:01 +00:00
Sebastian McKenzie
3b3c1897d0 add support for async generator concise methods - fixes #2603 2015-11-03 11:19:04 +00:00
Sebastian McKenzie
cbe94f4653 fix object rest/spread in arrow function params - fixes #2631 2015-11-03 11:14:12 +00:00
Sebastian McKenzie
924423123b v6.0.18 2015-11-03 01:23:11 +00:00
Sebastian McKenzie
ea40d0134f rename NumberLiteral to NumericLiteral and RegexLiteral to RegExpLiteral 2015-11-03 01:19:35 +00:00
Sebastian McKenzie
87bb8a84f3 v6.0.17 2015-11-02 19:53:45 +00:00
Sebastian McKenzie
c2973d0c7a disallow invalid async function forms inside object literals - fixes #2629 2015-11-02 08:00:01 +00:00
Sebastian McKenzie
7fabc4c83d v6.0.14 2015-10-30 23:30:40 +00:00
Sebastian McKenzie
3d842df554 update exponentiation operator precedence - fixes #2431 2015-10-30 23:14:10 +00:00
Sebastian McKenzie
c224a7a370 fix parser bug where arrow functions have a higher precedence than they should - fixes #2118 2015-10-30 22:50:53 +00:00
Sebastian McKenzie
37294c3c0a Merge branch 'master' of github.com:babel/babel 2015-10-30 19:17:19 +00:00
Sebastian McKenzie
466f22afff fix babel-runtime dependencies - fixes #2655 2015-10-30 19:16:42 +00:00
James Kyle
19d1b53fc5 Update package.json 2015-10-30 11:38:02 -07:00
Sebastian McKenzie
470d5738e1 Merge branch 'development'
Conflicts:
	VERSION
	packages/babel-cli/package.json
	packages/babel-generator/src/buffer.js
	packages/babel-runtime/package.json
	packages/babel-traverse/src/scope/index.js
	packages/babel-types/src/validators.js
	packages/babel/package.json
	packages/babel/src/generation/generators/expressions.js
	packages/babel/src/generation/generators/statements.js
	packages/babel/src/transformation/transformers/es6/tail-call.js
	packages/babel/src/transformation/transformers/es7/async-functions.js
	packages/babel/src/transformation/transformers/es7/exponentiation-operator.js
	packages/babel/src/types/retrievers.js
	packages/babel/test/fixtures/transformation/es6.tail-call/default-parameters/expected.js
	packages/babel/test/fixtures/transformation/es6.tail-call/factorial/expected.js
	packages/babel/test/fixtures/transformation/es6.tail-call/max-args/expected.js
	packages/babel/test/fixtures/transformation/es6.tail-call/recursion/expected.js
	packages/babylon/package.json
2015-10-30 00:48:36 +00:00
Sebastian McKenzie
d7610ef9b0 v6.0.2 2015-10-29 18:06:55 +00:00
Sebastian McKenzie
32ef6b465b v6.0.0 2015-10-29 18:02:15 +00:00
Sebastian McKenzie
b909a81ab7 6.0.0
I'm extremely stupid and didn't commit as I go. To anyone reading this
I'm extremely sorry. A lot of these changes are very broad and I plan on
releasing Babel 6.0.0 today live on stage at Ember Camp London so I'm
afraid I couldn't wait. If you're ever in London I'll buy you a beer
(or assorted beverage!) to make up for it, also I'll kiss your feet and
give you a back massage, maybe.
2015-10-29 17:51:24 +00:00
Sebastian McKenzie
543378b81f v5.8.29 2015-10-24 17:26:54 +01:00
Sebastian McKenzie
d0b584fd13 add filename to babylon test errors 2015-10-05 16:40:55 +01:00
Sebastian McKenzie
9908dc6f50 update babylon tests 2015-10-05 16:40:43 +01:00
Sebastian McKenzie
6d6ddf0bcd type annotate babylon 2015-09-23 15:59:41 +01:00
Sebastian McKenzie
0612f69141 flesh out babylon readme 2015-09-15 06:25:52 +01:00
Sebastian McKenzie
f3a016df30 add babel-runtime to babylon dependencies 2015-09-15 06:20:21 +01:00
Sebastian McKenzie
446cc3e869 add babylon description 2015-09-15 06:20:03 +01:00
Sebastian McKenzie
fc87af4c81 add dead simple babylon bin 2015-09-15 06:19:49 +01:00
Sebastian McKenzie
e8fa03ea1c add parser util addExtra method 2015-09-15 06:19:35 +01:00
Sebastian McKenzie
bf841c7e27 use extra.parenthesized rather than parenthesizedExpression 2015-09-15 06:19:26 +01:00
Sebastian McKenzie
d1ecb04d0f add hasFeature util method 2015-09-15 06:18:23 +01:00
Sebastian McKenzie
40aab69ed0 remove weird acorn conditional formatting 2015-09-15 06:18:15 +01:00
Sebastian McKenzie
9e264e70ae only allow identifiers as rest expressions 2015-09-15 06:18:04 +01:00
Sebastian McKenzie
54a4f16b08 add RestProperty node 2015-09-15 06:17:45 +01:00
Sebastian McKenzie
c5e2e4d39e loop over all directives to check for use strict 2015-09-15 06:16:57 +01:00
Sebastian McKenzie
c892cae6af use hasFeature rather than directly looking up options 2015-09-15 06:16:46 +01:00
Sebastian McKenzie
415752dbb7 add directives property to Program and BlockStatement 2015-09-15 06:16:07 +01:00
Sebastian McKenzie
59948c6649 add babylon hasFeature util method 2015-09-15 06:15:19 +01:00
Sebastian McKenzie
ae85fc0251 rename features in babylon tests 2015-09-15 06:13:11 +01:00
Sebastian McKenzie
069b969b1d make export default anoynmous class/function statements - fixes #2205 2015-09-01 05:34:11 +01:00
Sebastian McKenzie
446b297465 unoverload Literal AST node 2015-09-01 04:49:16 +01:00
Sebastian McKenzie
4088d85e32 Merge branch 'master' into development
Conflicts:
	packages/babel/package.json
	packages/babel/src/traversal/scope/index.js
2015-08-27 16:42:21 -07:00
Sebastian McKenzie
a20a926de1 v5.8.23 2015-08-27 16:38:34 -07:00
Sebastian McKenzie
d97240ae09 Merge remote-tracking branch 'origin/master' into development
Conflicts:
	packages/babel/scripts/build-dist.sh
2015-08-27 11:12:00 -07:00
Cesar Andreu
bc59b09f6b Start ObjectTypeProperty's optional property as false in each loop 2015-08-27 00:07:26 -04:00
Cesar Andreu
60f4003345 Add failing flow ObjectTypeProperty test 2015-08-26 06:51:12 -04:00
Sebastian McKenzie
6e24626482 fix weird legacy acorn formatting 2015-08-24 15:31:41 -04:00
Sebastian McKenzie
032ca7ae1c never attempt to represent regexes natively 2015-08-24 15:31:30 -04:00
Sebastian McKenzie
ac9ee75dac parser: don't mutate or clone state arrays when doing a lookahead - fixes #2211 2015-08-15 19:07:42 -04:00
Sebastian McKenzie
860322f7b8 add more jsx tests 2015-08-12 02:57:18 +01:00
Sebastian McKenzie
8887444cf7 fix various bugs surfaced by the esprima test suite, remove some incorrect tests 2015-08-11 16:58:20 +01:00
Sebastian McKenzie
b7b43dc282 Merge branch 'master' into development 2015-08-11 01:05:04 +01:00
Sebastian McKenzie
87c604b64e v5.8.22 2015-08-11 01:00:54 +01:00
Sebastian McKenzie
df021c7f23 add esprima tests and fix bugs picked up by it 2015-08-11 00:59:15 +01:00
Henry Zhu
babf64473b fix broken test from regex-after-block 2015-08-10 19:31:26 -04:00
Henry Zhu
8f3615bf7b fix unexpected token issue for regex after block case
- Ex: `if (1) {} /foo/`

Fixes babel/babel-eslint#161
Ref marijnh/acorn#289
2015-08-10 19:03:13 -04:00
Sebastian McKenzie
c318c88050 forward all arguments to parseClassId in flow parser plugin 2015-08-10 13:10:32 +01:00
Sebastian McKenzie
b581a7590c fix export default function expression disambiguation - fixes #2189 2015-08-10 13:04:08 +01:00
Sebastian McKenzie
4fda34ce6f properly distinguish shorthand async keys that are the last property - fixes #2176 2015-08-06 19:33:48 +01:00
Sebastian McKenzie
5ec9f78493 fix patterns with async keys - fixes #2171 2015-08-05 23:22:31 +01:00
Sebastian McKenzie
9826be30cc Merge branch 'master' of github.com:babel/babel 2015-08-05 22:45:00 +01:00
Sebastian McKenzie
68e70e55e2 v5.8.21 2015-08-05 22:22:57 +01:00
Sebastian McKenzie
226bf3f80d style nits 2015-08-05 21:45:22 +01:00
Sebastian McKenzie
79c62ded0a remove operator property from AssignmentPattern 2015-08-05 21:45:11 +01:00
Sebastian McKenzie
71bbffa797 fix handling of flow method shorthand - fixes #2169 2015-08-05 21:42:15 +01:00
Naman Goel
b5c4dcb7ae fix typos
Found some typos while reading the code.
2015-08-05 00:26:52 +02:00
Sebastian McKenzie
94e345e0b2 check valid function/class token when parsing export default before converting to a declaration - fixes #2145 2015-08-02 21:36:52 +01:00
Sebastian McKenzie
a0f9d5fbc8 add support for export types 2015-07-31 23:34:45 +01:00
Sebastian McKenzie
c050722611 v5.8.20 2015-07-31 21:24:00 +01:00
Sebastian McKenzie
9ccbc89653 put containsEsc on state rather than as a local variable 2015-07-31 12:44:54 +01:00
Sebastian McKenzie
b1c3ed6d2d fix linting error and add missing tests 2015-07-30 23:47:59 +01:00
Sebastian McKenzie
1d81dd995c add support for boolean flow literals - fixes #2127 2015-07-30 23:44:36 +01:00
Sebastian McKenzie
c91c2eb748 add acorn license - cc @RReverser 2015-07-30 12:57:23 +01:00
Sebastian McKenzie
53952cb765 fix syntax error 2015-07-29 16:43:52 +01:00
Sebastian McKenzie
ffee5615e4 clear rawValue from JSX attribute values as they're tokenised and parsed differently - fixes #2114 2015-07-29 16:15:47 +01:00
Sebastian McKenzie
4945b8e6f6 v5.8.19 2015-07-29 13:32:27 +01:00
Sebastian McKenzie
0888686eb1 v5.8.18 2015-07-29 13:30:00 +01:00
Sebastian McKenzie
a6fabeebaa v5.8.17 2015-07-29 13:28:24 +01:00
Sebastian McKenzie
361c6970c0 v5.8.13 2015-07-28 13:41:00 +01:00
Sebastian McKenzie
c966885157 Merge branch 'development'
cially if it merges an updated upstream into a topic branch.
2015-07-28 09:10:49 +01:00
Sebastian McKenzie
a998fa308b v5.8.12 2015-07-28 01:38:31 +01:00
Logan Smyth
c60ffdef7b Ensure that the original state is restored on lookahead - fixes #2086 2015-07-26 20:56:07 -07:00
Sebastian McKenzie
a96b9e1afa v5.8.9 2015-07-27 00:14:29 +01:00
Sebastian McKenzie
e6e3a68a39 make flow transformer use internal state to track whether we're in a type or not - fixes #2083 2015-07-27 00:06:26 +01:00
Sebastian McKenzie
2eebf8f5e0 v5.8.8 2015-07-26 22:07:32 +01:00
Sebastian McKenzie
c42f1974da v5.8.7 2015-07-26 21:59:55 +01:00
Sebastian McKenzie
0bbe94c38b really fix comment attachment 2015-07-26 21:58:22 +01:00
Sebastian McKenzie
04ce3db23b add back missing comment fix - fixes #2072 2015-07-26 21:56:28 +01:00
Sebastian McKenzie
a571907c5d v5.8.6 2015-07-26 21:50:46 +01:00
Sebastian McKenzie
6ef86f67f4 update jsx tests 2015-07-26 05:34:03 +01:00
Sebastian McKenzie
671196dffa remove rawValue property from JSX inner text Literal nodes 2015-07-26 05:30:27 +01:00
Sebastian McKenzie
e229f8ea55 remove gross acorn conditional statement styling 2015-07-26 05:22:33 +01:00
Sebastian McKenzie
c2c8b2db57 add token match method and remove more dead code 2015-07-26 04:48:42 +01:00
Sebastian McKenzie
23aa7b002d improve babylon test coverage and remove dead code 2015-07-25 19:54:19 +01:00
Sebastian McKenzie
2948108c90 finish reorganisation of babylon 2015-07-25 08:03:39 +01:00
Sebastian McKenzie
e7fec51feb remove range property from nodes, clean up babylon codebase 2015-07-25 07:07:22 +01:00
Sebastian McKenzie
af03a301ae fix broken tests take 2 2015-07-25 06:16:50 +01:00
Sebastian McKenzie
0e9413e926 fix broken tests 2015-07-25 06:14:09 +01:00
Sebastian McKenzie
bed14e9b42 add espree comment attachment tests and remove ranges test property from babylon tests 2015-07-25 06:07:51 +01:00
Sebastian McKenzie
006f3db76a update babylon fixtures to use File as the root node rather than Program 2015-07-25 05:24:58 +01:00
Sebastian McKenzie
b088f8e6ef switch babylon tests to fixtures 2015-07-25 05:19:32 +01:00
Sebastian McKenzie
73ff38e35b check whether the last child is the same node as the one we're removing comments from - fixes #2072, fixes #2068 2015-07-25 02:16:31 +01:00
Sebastian McKenzie
ea479ca5a8 v5.8.5 2015-07-24 21:59:14 +01:00
Sebastian McKenzie
709f1421bc v5.8.4 2015-07-24 21:30:26 +01:00
Sebastian McKenzie
3023afcff4 Merge branch 'master' of github.com:babel/babel
t push# especially if it merges an updated upstream into a topic branch.
2015-07-21 22:44:54 +01:00
Chris Parker
6241742580 fix tryCreateRegexp function scope 2015-07-21 17:23:31 -04:00
Sebastian McKenzie
ba7b5ce5c8 v5.8.3 2015-07-21 18:22:42 +01:00
Sebastian McKenzie
4e4202ef73 v5.8.2 2015-07-21 18:11:11 +01:00
Sebastian McKenzie
ad4389b465 v5.7.5 2015-07-21 02:39:55 +01:00
Sebastian McKenzie
3c5b4f2d89 update flow literal annotations to have a rawValue 2015-07-21 02:37:43 +01:00
Sebastian McKenzie
da94ea7fa5 Merge branch 'master' into development 2015-07-21 02:28:00 +01:00
Sebastian McKenzie
ee04db074d properly disallow type casts in reference lists 2015-07-21 02:01:48 +01:00
Sebastian McKenzie
7f34827a72 reimplement async function type parameters backfix - fixes #2028 2015-07-21 01:13:35 +01:00
Sebastian McKenzie
0ca73d2474 add comment attachment to the parser and remove dead acorn options 2015-07-21 01:13:07 +01:00
Franky Chung
f3c7ef6707 Add number literal type annotations for flow 2015-07-20 11:35:46 +09:00
Sebastian McKenzie
9219b7f7bf don't return from within parseSubscripts when we parse an async arrow function - fixes #2027 2015-07-17 23:31:46 -07:00
Sebastian McKenzie
49f18bb8ba v5.7.2 2015-07-15 20:35:57 +01:00
Sebastian McKenzie
a84242386d flow parser plugin: move up startPos and startLoc default assignments 2015-07-15 20:33:56 +01:00
Sebastian McKenzie
043d007285 rewrite async function parsing, properly parse flow return types of arrow functions - fixes #1991 2015-07-15 20:08:10 +01:00
Sebastian McKenzie
a8b8482326 add feature flag for es7.exponentiationOperator 2015-07-15 18:07:25 +01:00
Sebastian McKenzie
2007469305 remove dead babylon code 2015-07-15 18:07:13 +01:00
Sebastian McKenzie
85cb123939 Merge branch 'master' into development 2015-07-15 17:10:58 +01:00
Sebastian McKenzie
6bcf98a3d5 v5.7.1 2015-07-15 17:09:26 +01:00
Sebastian McKenzie
b21db8a37e finish removal of ecmaVersion option 2015-07-15 16:41:32 +01:00
Sebastian McKenzie
bd2fb6126b remove ecmaVersion <= 6 2015-07-15 15:34:47 +01:00
Sebastian McKenzie
38553a6c42 switch node definitions to a DSL 2015-07-15 13:51:47 +01:00
Sebastian McKenzie
91cf6a823d v5.6.23 2015-07-15 11:23:07 +01:00
Sebastian McKenzie
04e152ac77 fix use strict parsing 2015-07-14 17:14:32 +01:00
Sebastian McKenzie
a0097e2ec8 add npmignore to babylon 2015-07-14 16:48:43 +01:00
Sebastian McKenzie
e9d0e55c39 sync tests with upstream acorn 2015-07-14 15:15:36 +01:00
Sebastian McKenzie
7c6de96ad7 elaborate on babylon readme 2015-07-14 15:14:57 +01:00
Sebastian McKenzie
ec6f919377 v5.6.21 2015-07-13 23:37:01 +01:00
Sebastian McKenzie
a3a19d73b3 2.6.20 2015-07-13 21:09:45 +01:00
Sebastian McKenzie
da9493e1fa Revert "remove do expressions"
This reverts commit 420492388b.
2015-07-13 20:45:49 +01:00
Sebastian McKenzie
1e77212efa remove do expressions 2015-07-13 16:37:08 +01:00
Sebastian McKenzie
6cc59a3ce7 t 2015-07-13 16:34:43 +01:00
Sebastian McKenzie
6c5c216c40 add scripts 2015-07-12 12:51:20 +01:00
Sebastian McKenzie
a1a1ad3d1c add missing semicolons 2015-07-12 00:36:21 +01:00
Sebastian McKenzie
a08c21302d Merge branch 'master' into top-secret
# Conflicts:
#	packages/babylon/src/options.js
#	src/acorn/plugins/flow.js
#	src/acorn/src/util.js
2015-07-11 21:04:33 +01:00
Sebastian McKenzie
ff6620c8ea more architectural changes 2015-07-11 20:56:26 +01:00
Sebastian McKenzie
423d8c510d Begin transition of Babel to a more scalable architecture, async flow to allow for RPC and better build system for multiple packages 2015-07-11 12:39:54 +01:00
cpojer
f757ca01a1 Add support for import typeof, fixes #1975 2015-07-11 01:54:25 -07:00
Sebastian McKenzie
04a29f8344 remove accidental stackTraceLimit assignment 2015-07-09 16:12:06 +01:00
Sebastian McKenzie
0da4ba4598 clean up inType tracking in flow parser plugin 2015-06-26 23:26:32 +01:00
Sebastian McKenzie
84c773a7ca add support for trailing commas in arrow function parameter lists - fixes #1841 2015-06-26 00:37:33 +01:00
Sebastian McKenzie
030d5f7c6b add labels, and inX properties to lookahead getState 2015-06-24 23:26:59 +01:00
Sebastian McKenzie
9e0cc028ed add inType assignment in flow parse declare method 2015-06-24 23:26:48 +01:00
Sebastian McKenzie
a7f669e154 fix isKeyword flow overload 2015-06-24 23:18:21 +01:00
Sebastian McKenzie
9a39b131ea acorn resync 2015-06-24 23:15:27 +01:00
Sebastian McKenzie
f5540d19a4 parse void as an identifier when inside a type annotation to avoid setting void keyword token - cc @DmitrySoshnikov 2015-06-24 23:15:00 +01:00
Sebastian McKenzie
5b5d27c9b8 resync with upstream acorn 2015-06-20 23:28:49 +01:00
Sebastian McKenzie
8ba270bde1 disallow line terminator after async contextual keyword - fixes #1711 2015-06-08 21:25:16 +01:00
Sebastian McKenzie
98b6effeef update template literal parsing to properly handle newlines 2015-06-05 09:36:37 +01:00
Sebastian McKenzie
f268049fdc check if es7.exportExtensions ie enabled in parser 2015-06-03 10:05:39 +01:00
Greg Hurrell
6f912edaab Add "mixed" Flow type
"mixed" is one of the base types listed here:

http://flowtype.org/docs/base-types.html

So this commit adds support for it.
2015-06-02 07:15:06 -07:00
Sebastian McKenzie
f6e7cf4a31 remove DoExpression statement parsing and clear labels and set inFunction to false when parsing DoExpression body - fixes #1658 2015-06-01 03:36:14 +01:00
Ingvar Stepanyan
4001a28983 Fix some parsing edge cases for :: operator. 2015-05-14 12:47:51 +03:00
Ingvar Stepanyan
b026927775 Add experimental support for ES7 function bind. (issue #1287) 2015-05-13 17:58:21 +03:00
Sebastian McKenzie
251a31a0fc sync with upstream acorn 2015-05-12 23:21:30 +01:00
Amjad Masad
f387715293 Allow trailing commas in methods 2015-05-12 13:20:36 -07:00
Sebastian McKenzie
0ae1943466 register as inside a type when parsing type aliases to avoid ambiguous jsx parsing - fixes #1378 2015-05-11 23:44:22 +01:00
Sebastian McKenzie
fe739b97dd fix acorn hacky lookahead with token contexts - fixes #1349 2015-05-11 23:20:51 +01:00
Amjad Masad
49077e2e03 New expressions is allowed to have trailing commas in es7 proposal 2015-05-08 19:12:53 -07:00
Christopher Monsanto
4ed4baac99 disallow async constructors -- fixes #1454 2015-05-06 02:50:11 -04:00
Sebastian McKenzie
8039772007 remove embedded jsx plugin and use acorn-jsx 2015-05-04 04:33:46 +01:00
Christopher Monsanto
c263a25b54 support commas as obj property separators in flow 2015-05-01 00:09:26 -04:00
Sebastian McKenzie
1a53d5ca46 upgrade to babel 5 2015-04-28 14:55:28 +01:00
Sebastian McKenzie
562dba872d fix spread properties in assignment position - fixes #1315 2015-04-21 16:24:34 +01:00
Sebastian McKenzie
5f1c3c3b8d remove unnecessary csp makePredicate - fixes #1267 2015-04-15 15:13:12 -07:00
Sebastian McKenzie
8ee54e0756 Mark function token as able to start an expression 2015-04-14 08:18:06 -07:00
Sebastian McKenzie
28589d459d make illegal LHS pattern error messages more user friendly 2015-04-13 16:40:13 -07:00
Sebastian McKenzie
075ff67aca make parenthesized array patterns illegal - cc @michaelficarra 2015-04-13 16:16:57 -07:00
Sebastian McKenzie
25a3bbce91 only make parenthesized object patterns illegal - fixes #1254, ref jshint/jshint#2269 2015-04-13 15:44:54 -07:00
Sebastian McKenzie
eed185c4dc remove useless kind on import declarations 2015-04-13 14:55:46 -07:00
Sebastian McKenzie
e15f8a79d6 make parsing of decorators stateless - fixes shuhei/babel-angular2-app#4 2015-04-13 08:26:51 -07:00
Sebastian McKenzie
7944e3b1fa Merge pull request #1215 from AluisioASG/es7-trailing-function-commas
ES7 trailing function commas
2015-04-12 19:17:02 -07:00
Sebastian McKenzie
85f2e79f95 add support for object literal decorators - fixes #1154 2015-04-11 16:30:55 -07:00
Sebastian McKenzie
82384f4761 parse await expression as a unary instead of an assignment - fixes #1225 2015-04-10 15:23:11 -07:00
Sebastian McKenzie
4f41b7c5e5 set canBeArrow to true when parsing async functions 2015-04-10 13:51:30 -07:00
Sebastian McKenzie
d0bf19681a update to latest acorn 2015-04-10 13:44:50 -07:00
Sebastian McKenzie
3b0b31ef9e don't emit tokens when doing a lookahead 2015-04-09 06:44:16 -07:00
Sebastian McKenzie
ab40459198 fix order of parameter type annotation parsing - fixes #1168 2015-04-06 06:19:13 -07:00
Aluísio Augusto Silva Gonçalves
58284c5002 [ES7] Trailing comma in function parameter list
Currenly a stage 1 proposal.
See https://github.com/jeffmo/es-trailing-function-commas.
2015-04-06 09:10:44 -03:00
Sebastian McKenzie
a2a8ebbe95 fix missing this in acorn parseExprAtom 2015-04-05 03:26:41 +10:00
Sebastian McKenzie
9a3e36055d fix es7 export extensions compound list 2015-04-01 23:21:16 +11:00
Sebastian McKenzie
2fffffe780 fix paramless async calls 2015-04-01 13:57:59 +11:00
Sebastian McKenzie
4280c2d846 fix incorrect interpreation of export default shorthand, update to new ast definitions - #1091 2015-03-30 06:08:37 +11:00
Sebastian McKenzie
f794e360f0 add support for export extensions https://github.com/leebyron/ecmascript-more-export-from - closes #1091 2015-03-30 03:38:14 +11:00
Sebastian McKenzie
d93a315df4 fix class decorator methods 2015-03-29 19:30:34 +11:00
Sebastian McKenzie
54fa079bf4 fixes #1114
- The visitor keys for `ObjectTypeAnnotation`s were incorrect so those nodes weren't being traversed so comments weren't attached for them.
 - The type parser wasn't eating the semicolons for the nodes so the `end` location of each of the type properties wasn't accurate which threw off the code generation newline algorithm.
 - Type properties hadn't been given the `UserWhitespacable` alias.
2015-03-29 16:44:36 +11:00
Sebastian McKenzie
aeb0cfcbbe remove es7.classProperties check from parser 2015-03-28 03:59:01 +11:00
Sebastian McKenzie
ddd173a4b3 restructure testing infrastructure to be more modular 2015-03-28 01:21:48 +11:00
Sebastian McKenzie
5f6a216809 add support for decorators before class exports 2015-03-28 00:22:38 +11:00
Sebastian McKenzie
f5f77d4720 better parsing of decorators - support class expressions 2015-03-26 00:58:38 +11:00
Sebastian McKenzie
e52af24999 add class property initializers, add more TraversalPath flexibility with additional node injection method 2015-03-24 03:34:34 +11:00
Sebastian McKenzie
6d87a99d1d make method definitions with expression bodies illegal - fixes #1066 2015-03-23 20:24:32 +11:00
Sebastian McKenzie
2cbbd86552 remove acorn compiled source 2015-03-22 04:09:18 +11:00
Sebastian McKenzie
37072737b9 add support for class decorators 2015-03-22 04:07:38 +11:00
Sebastian McKenzie
6128fd9687 add do expressions 2015-03-22 04:06:15 +11:00
Logan Smyth
01b39d67f0 Merge acorn 1.0.0 (formerly 'update to modular acorn' in original history). 2016-03-14 22:47:51 -07:00
Sebastian McKenzie
0d143f005f update to latest acorn, better array shortcuts, don't add code frame to error message 2016-03-14 22:40:33 -07:00
Sebastian McKenzie
f830892ab8 fix modules generation logic and remove dead node types 2016-03-14 22:40:24 -07:00
Sebastian McKenzie
7c84db45fd more estree updates - finish flow parsing 2016-03-14 22:40:16 -07:00
Sebastian McKenzie
57af08bea8 move acorn into vendor 2016-03-14 22:39:57 -07:00
Logan Smyth
16e8224ce6 Merge acorn 0.12.1 and acorn-babel (formerly "embed acorn" in the original git history). 2016-03-14 22:39:24 -07:00
Marijn Haverbeke
44c0231c09 Don't require a semicolon after 'export default [function|class] ...'
Issue #225
2015-03-20 22:40:51 +01:00
Marijn Haverbeke
1fc1d32e1f Add some notes on plugins to the README 2015-03-20 21:29:50 +01:00
Marijn Haverbeke
35d0b80976 Properly export acorn.plugins 2015-03-20 21:12:26 +01:00
Marijn Haverbeke
a1022f38e1 Fix trying to run .sh file with node in prepublish script 2015-03-20 21:05:14 +01:00
Marijn Haverbeke
5d7f4d7a23 Update README 2015-03-20 21:01:05 +01:00
Marijn Haverbeke
659f2c9091 Teach the walker about Super and MetaProperty 2015-03-20 17:51:50 +01:00
Marijn Haverbeke
2ed8f8f2b8 Fix infinite loop introduced by 685b51e 2015-03-20 17:49:51 +01:00
Marijn Haverbeke
013e48439f Update tools/generate-identifier-regex.js
So that it can also spit out the astral maps.
2015-03-20 17:47:46 +01:00
Marijn Haverbeke
685b51e0ae Make the loose parser's parseIdent actually returns an identifier with a name 2015-03-20 17:36:47 +01:00
Marijn Haverbeke
0fee7a395e Fix the way 'npm test' loads the library 2015-03-20 17:35:51 +01:00
Ingvar Stepanyan
864268abb6 Add support for meta-properties.
estree/estree#32
2015-03-20 17:35:37 +01:00
Ingvar Stepanyan
921e45ab2b SuperExpression -> Super 2015-03-20 17:23:01 +01:00
Marijn Haverbeke
e88a5431db Allow init-less destructing bindings in for/in and for/of 2015-03-20 17:19:35 +01:00
Marijn Haverbeke
35c417d02b Remove remnants of docco-based homepage 2015-03-20 17:05:23 +01:00
Marijn Haverbeke
f538706db3 Code style -- less semicolons, more let variables 2015-03-20 17:00:32 +01:00
Marijn Haverbeke
6dd254d999 Tie everything together in the new build system 2015-03-20 16:36:24 +01:00
Marijn Haverbeke
cf613ce287 Split up the loose parser, set up a build script 2015-03-20 14:41:55 +01:00
Marijn Haverbeke
dd89c6e112 Make loose parser work with minor interface changes introduced by modularization 2015-03-20 12:04:33 +01:00
Marijn Haverbeke
a1fe3a1859 Finish splitting up main parser 2015-03-20 11:47:31 +01:00
Marijn Haverbeke
7b05e660b4 Move location-related code into location.js 2015-03-19 16:28:28 +01:00
Marijn Haverbeke
fec42cb596 Move tokenizer into modules 2015-03-19 16:17:43 +01:00
Marijn Haverbeke
93b919c1a0 Split out identifier-related code 2015-03-19 15:49:58 +01:00
Marijn Haverbeke
9808459940 Start on ES6 port 2015-03-19 15:40:12 +01:00
Mathias Bynens
575421b3c2 Make readRegexp more tolerant 2015-03-19 14:48:43 +01:00
Marijn Haverbeke
9673146cc1 Verify that property name can be bound to in short-hand object pattern properties
Issue #221
2015-03-19 14:05:16 +01:00
Marijn Haverbeke
a45172e044 Unify checkLVal and checkFunctionParam 2015-03-19 13:42:26 +01:00
Marijn Haverbeke
0a755156a8 Ignore backslash-escapes in identifiers in ES6 mode 2015-03-19 13:11:17 +01:00
Marijn Haverbeke
5d5b8eb3c8 Don't crash when converting missing array elements to assignable
Closes #220
2015-03-19 12:58:34 +01:00
Marijn Haverbeke
b6e8310848 Require an initalization value when let/var/const-declaring a complex pattern
Closes #222
2015-03-19 12:46:36 +01:00
Marijn Haverbeke
a75a685610 Add a startsExpr property to token types, use it to properly parse yield
Issue #219
2015-03-19 12:34:41 +01:00
Ingvar Stepanyan
0473c368e6 [es6][estree] Add support for sourceType: script|module modes.
+ Fix list of keywords and reserved words in ES6.
2015-03-18 13:42:49 +02:00
Ingvar Stepanyan
024a98431d [estree] Add SuperExpression.
(we're almost there)
2015-03-17 23:01:42 +02:00
Ingvar Stepanyan
876e774bfe [estree] Align method kinds.
[loose] Split parseObj and parseClass.
2015-03-17 22:36:34 +02:00
Marijn Haverbeke
19ef4ef69c Require semicolon after 'import * from ...' 2015-03-17 12:30:12 +01:00
Sebastian McKenzie
f651807069 v0.11.1-38 2015-03-13 13:22:32 +11:00
Sebastian McKenzie
d08d63b01d support bounded polymorphism in flow facebook/esprima#103 2015-03-13 13:22:09 +11:00
Marijn Haverbeke
57bc9b1b0a Move parsing of yield into parseMaybeAssign
Issue #219
2015-03-12 23:11:33 +01:00
Marijn Haverbeke
16a342082a Allow trailing commas in array patterns
Closes #975
2015-03-12 22:39:00 +01:00
Marijn Haverbeke
811d19ab76 Allow any number of digits when killing \u{} sequences in regexps 2015-03-12 22:26:31 +01:00
Marijn Haverbeke
4735ef53ef Replace the forbidReserved option with an allowReserved option
For consistency with similar options
2015-03-12 22:02:41 +01:00
Marijn Haverbeke
ba750b253b Replace strictSemicolons and allowTrailingCommas with onInsertedSemicolon and onTrailingComma 2015-03-12 22:02:41 +01:00
Marijn Haverbeke
9fb3a4f5ce Move as much as possible code in test driver out of try block 2015-03-12 22:01:33 +01:00
Ingvar Stepanyan
34050d3917 Support for for (const ...).
Fixes #213.

Also changes API to pass token type to `parseVar` to reduce string comparison ops.
2015-03-10 11:36:15 +02:00
Ingvar Stepanyan
ff60ee4fdb [estree] Align export ... representations. 2015-03-10 10:37:00 +02:00
Ingvar Stepanyan
722bc65e79 [estree] Align Import specifiers. 2015-03-10 02:27:24 +02:00
Marijn Haverbeke
12558821c5 Use an object argument in the TokenType constuctor 2015-03-06 10:37:35 +01:00
Marijn Haverbeke
4e0a7fac71 Linting changes 2015-03-06 10:36:17 +01:00
Marijn Haverbeke
8459481e65 Represent a tokenizer as an instance of the parser
This completely changes the interface, and removes most of the complexity
in the old tokenizer interface (jump-to-position was removed, since it is
all kinds of unreliable given the new tokenizer context system).
2015-03-05 17:30:48 +01:00
Marijn Haverbeke
0df2affdfe Move loose parser to object style
Drop dependency on tokenizer interface
2015-03-05 17:22:06 +01:00
Marijn Haverbeke
3365478645 Add a plugin mechanism to allow JSX parser to be a module
And export a few more things
2015-03-05 16:00:34 +01:00
Marijn Haverbeke
06f3b3c224 Attach context update algorithm to token types
For, theoretically, easier extendability
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
6bd1013f2c Use uniform object type for node types
Speeds things up by about 9% on io.js 1.3
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
141905f9fd Consume whitespace before, rather than after, reading a token
Simplifies several things
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
bc48c02a18 Move the parser state into an object
Makes almost everything in acorn.js a method of this object.

Performance is not significantly affected on a modern V8. Makes the
code reentrant and allows us to more easily expose more methods
externally in the future.

On the other hand, the proliferation of `this.` is unfortunate.
2015-03-05 15:59:12 +01:00
Marijn Haverbeke
33307e789a Update tools/generate-identifier-regex.js
So that it can also spit out the astral maps.
2015-03-05 15:55:38 +01:00
Marijn Haverbeke
d76ea4b3be Make the tokenizer aware of multi-byte characters in ES6 mode
Add a data structure to recognize astral identifier chars. Parse whole
code points when looking for identifiers.

Issue #215
2015-03-05 15:55:38 +01:00
Marijn Haverbeke
891d5d07dd Allow braced \u escapes in identifiers
We still can't properly recognize code points as ES6-style
identifier chars.

Issue #214
2015-03-04 15:37:26 +01:00
Marijn Haverbeke
59dc29f3f0 In ES6-mode, don't treat keywords with escaped characters as regular identifiers
See https://mathiasbynens.be/notes/javascript-identifiers-es6
2015-03-04 15:29:15 +01:00
Marijn Haverbeke
cbd8aa8f06 Bump version number post-0.12 2015-03-02 11:31:27 +01:00
Marijn Haverbeke
99f1989f72 Mark release 0.12 2015-03-02 11:31:11 +01:00
Marijn Haverbeke
8c98acf5d6 Make sure all ignored files are ignored in npmigore 2015-03-02 11:30:47 +01:00
Sebastian McKenzie
ec131eaecc v0.11.1-37 2015-02-28 22:34:32 +11:00
Sebastian McKenzie
854e892cda fix type annotation property on arrow function params returnType to typeAnnotation 2015-02-28 22:33:03 +11:00
Sebastian McKenzie
65e1646dbf v0.11.1-35 2015-02-26 08:32:08 +11:00
Sebastian McKenzie
1424c35d13 correctly handle SpreadProperty - fixes babel/babel#897 2015-02-26 08:31:49 +11:00
Marijn Haverbeke
2a0ccb1030 Wording change in readme funding link 2015-02-23 11:49:44 +01:00
Andres Suarez
2b6f24ea86 Add .npmignore 2015-02-23 11:36:37 +01:00
Sebastian McKenzie
631b78e07d v0.11.1-34 2015-02-22 22:42:07 +11:00
Sebastian McKenzie
e9a6f83c00 rewrite async function parsing - fixes #27 2015-02-22 14:05:22 +11:00
Sebastian McKenzie
5a0861c1b9 remove dead _dotQuestion code 2015-02-22 12:33:09 +11:00
Marijn Haverbeke
b6b1bc2bae [README] Add NPM and funding links 2015-02-19 11:51:27 +01:00
Sebastian McKenzie
f8eba046b3 v0.11.1-33 2015-02-18 10:25:29 +11:00
Sebastian McKenzie
82e3819f38 fix PrivateDeclaration/SpreadProperty strict mode 2015-02-18 10:25:17 +11:00
Marijn Haverbeke
de544da8f3 [walker] Understand ParenthesizedExpression nodes
Closes #210
2015-02-17 15:09:18 +01:00
Marijn Haverbeke
9a617a59e4 [loose parser] Don't tokenize ellipsis when ecmaVersion < 6
Issue marijnh/tern#493
2015-02-17 14:41:33 +01:00
Sebastian McKenzie
f4c39613f5 v0.11.1-32 2015-02-15 17:46:52 +11:00
Sebastian McKenzie
36381d1785 rename to acorn-babel 2015-02-15 17:46:45 +11:00
Sebastian McKenzie
032d66d79f v0.11.1-31 2015-02-14 12:53:40 +11:00
Sebastian McKenzie
fe0b679104 add support for flow type casts and import/export types - facebook/react#3143 2015-02-14 12:52:42 +11:00
Sebastian McKenzie
12768c40d9 update to latest esprima-fb flow tests 2015-02-14 12:52:08 +11:00
Sebastian McKenzie
383fcec1f0 v0.11.1-30 2015-02-13 15:04:54 +11:00
Sebastian McKenzie
04c64c4592 remove this shorthand playground tests 2015-02-13 15:04:33 +11:00
Sebastian McKenzie
91b79e9178 Merge branch 'thetalecrafter-multiline' 2015-02-13 15:03:20 +11:00
Sebastian McKenzie
987694bb23 Merge branch 'multiline' of https://github.com/thetalecrafter/acorn-jsx into thetalecrafter-multiline
Conflicts:
	acorn.js
	acorn_loose.js
	package.json
2015-02-13 15:03:03 +11:00
Andy VanWagoner
9f73a10f61 Allow multiline JSX string attributes. 2015-02-12 20:47:00 -07:00
Sebastian McKenzie
a6a156e039 v0.11.1-29 2015-02-11 10:58:33 +11:00
Sebastian McKenzie
ac2dfced36 add support for class initializer properties - 6to5/6to5#619 2015-02-11 10:57:54 +11:00
Sebastian McKenzie
04cf3f3f9d v0.11.1-28 2015-02-08 20:40:13 +11:00
Sebastian McKenzie
57fccb55ff remove this shorthand - closes 6to5/6to5#717 2015-02-08 20:39:48 +11:00
Sebastian McKenzie
7458d57e4f v0.11.1-27 2015-02-08 16:18:13 +11:00
Sebastian McKenzie
1aa8c6a37c fix function parsing due to faulty merge 2015-02-08 16:17:53 +11:00
Sebastian McKenzie
e268c4eefb v0.11.1-26 2015-02-08 16:10:06 +11:00
Sebastian McKenzie
7ec50ebd57 Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	acorn_loose.js
2015-02-08 16:09:46 +11:00
Sebastian McKenzie
ce7abeab18 fix strictMode option 2015-02-08 16:06:32 +11:00
Ingvar Stepanyan
7264bc0178 Fix found V8 deopt.
Increases perf from 230K to 360K lines/sec on std bench on my machine.
2015-02-05 00:02:21 +02:00
Ingvar Stepanyan
c034550215 Disallow line break between arrow function params and =>. 2015-02-04 12:57:18 +02:00
Sebastian McKenzie
06c4334808 use all property instead of delegate on await expressions - facebook/regenerator#171 2015-01-29 13:24:22 +11:00
Sebastian McKenzie
695f7ce648 ignore ds_store 2015-01-29 13:05:15 +11:00
Ingvar Stepanyan
3cbad64c1e Update version. 2015-01-27 18:26:03 +02:00
Ingvar Stepanyan
e0bcfca03f Add JSX support to loose parser. 2015-01-27 18:25:49 +02:00
Ingvar Stepanyan
95479ab6aa Optimize JSX text reading. 2015-01-27 16:51:45 +02:00
Ingvar Stepanyan
55ae051c81 Update version after merge. 2015-01-27 16:28:12 +02:00
Ingvar Stepanyan
2f40d7e30e Merge branch 'upstream' into jsx2 2015-01-27 16:27:59 +02:00
Ingvar Stepanyan
6eb177582d Fix export default declarations.
Closes #184.
2015-01-27 16:21:41 +02:00
Ingvar Stepanyan
e4a97ab877 Finalized destructuring support in loose parser; fixed startNodeAt. 2015-01-27 15:53:16 +02:00
Ingvar Stepanyan
6660a21b79 Disallow MemberExpression in bindings; clarify function namings. 2015-01-27 15:23:09 +02:00
Ingvar Stepanyan
3d5964ceed Fix locations for AssignmentPatterns. 2015-01-27 15:10:25 +02:00
Sebastian McKenzie
256ae1a011 v0.11.1-25 2015-01-26 20:30:35 +11:00
Sebastian McKenzie
e14e6473ff fix flow type param parsing position - fixes #24 2015-01-26 20:30:21 +11:00
Sebastian McKenzie
189d2c3fa9 v0.11.1-24 2015-01-26 16:58:58 +11:00
Sebastian McKenzie
301f639f73 fix incorrect parseExpression arguments - not sure where this came from 2015-01-26 16:58:41 +11:00
Sebastian McKenzie
37ca3c3d29 v0.11.1-23 2015-01-26 12:02:42 +11:00
Sebastian McKenzie
2fb5a3c46e reference exports.Node so we can replace it if necessary 2015-01-26 01:25:41 +11:00
Sebastian McKenzie
45bb4b00f0 0.11.1-22 2015-01-26 00:12:29 +11:00
Sebastian McKenzie
1221112610 add canInsertSemicolon check to async function parsing 2015-01-26 00:12:01 +11:00
Sebastian McKenzie
766e42d140 clean up async function declaration parsing 2015-01-25 23:44:17 +11:00
Sebastian McKenzie
c297f5a57f fix parseAssignableListItem function name misspelling 2015-01-25 22:06:58 +11:00
Sebastian McKenzie
0530e7c28d 0.11.1-21 2015-01-25 17:22:49 +11:00
Sebastian McKenzie
2c3d2ec875 simplify parse assignable list types 2015-01-25 17:22:37 +11:00
Sebastian McKenzie
1937e93e58 update flow rest param tests 2015-01-25 17:22:26 +11:00
Sebastian McKenzie
7ea883a3b5 Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	acorn.js
	package.json
2015-01-25 17:08:37 +11:00
Sebastian McKenzie
e397a0c4d3 support flow types in arrow function params, add support for async function declarations 2015-01-25 17:06:13 +11:00
Sebastian McKenzie
c5197e1cad Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	acorn_loose.js
2015-01-25 11:50:02 +11:00
Ingvar Stepanyan
012f7dbddd Introduce helpers for contextual keywords. 2015-01-25 10:36:06 +11:00
Sebastian McKenzie
97dd99d171 Remove useless noLess 2015-01-25 10:03:51 +11:00
Ingvar Stepanyan
401e6c4f30 Update version. 2015-01-25 00:33:14 +02:00
Ingvar Stepanyan
719ecbd203 Improve JSX braces context handling. 2015-01-25 00:33:03 +02:00
Ingvar Stepanyan
e93b69d595 Add regression test for #15. 2015-01-25 00:27:06 +02:00
Ingvar Stepanyan
c445d073e2 Merge branch 'upstream' into jsx2
Conflicts:
	acorn.js
2015-01-25 00:20:02 +02:00
Sebastian McKenzie
78215a17cd Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	package.json
2015-01-24 22:49:06 +11:00
Ingvar Stepanyan
5d96bbd781 Simplify & fix rest argument validity checks. 2015-01-24 13:38:14 +02:00
Ingvar Stepanyan
cdd444eff1 Speed-up reading words, strings and templates.
Now identifiers and strings even with escaped chars are read
in optimized way by reading entire chunks delimited by escape
chars (and not bailing to deopt mode on first one).
2015-01-24 12:42:19 +02:00
Ingvar Stepanyan
65d09eac6e Implement shorthand property assignment in ambiguous contexts.
Issue #181.
2015-01-24 12:40:24 +02:00
Ingvar Stepanyan
f0569147e6 Avoid extra call and arg in parseExpression for single-expression case. 2015-01-23 21:48:33 +02:00
Ingvar Stepanyan
41ad304955 Introduce helpers for contextual keywords. 2015-01-23 21:36:16 +02:00
Ingvar Stepanyan
08b34933d7 Added acorn_csp to .gitignore and fixed generation under Windows. 2015-01-23 15:39:49 +02:00
Ingvar Stepanyan
2e9180f041 Add ES6 patterns to util/walk.js 2015-01-23 15:33:28 +02:00
Ingvar Stepanyan
917de714b1 Switch from Function.{rest,defaults} to AssignmentPattern and RestElement.
Closes #182.
2015-01-23 15:29:37 +02:00
Sebastian McKenzie
90513be27c 0.11.1-20 2015-01-23 23:45:53 +11:00
Sebastian McKenzie
f031700b67 Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2015-01-23 23:16:59 +11:00
Sebastian McKenzie
cb76f3f7ba Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2015-01-23 23:16:08 +11:00
Ingvar Stepanyan
38609ae26d Closes #205. 2015-01-23 14:14:02 +02:00
Ingvar Stepanyan
cb94a0851c Add regex comparison to test driver. 2015-01-23 13:50:01 +02:00
Ingvar Stepanyan
e6f1e1027e Fix dividing function expression.
Fixes #204.
2015-01-23 13:17:03 +02:00
Sebastian McKenzie
78923eae15 add back missing class type parsing 2015-01-23 21:38:13 +11:00
Sebastian McKenzie
ac4fdac04a add flow tests 2015-01-23 21:37:26 +11:00
Sebastian McKenzie
957d2b4c44 Merge https://github.com/marijnh/acorn 2015-01-23 21:02:23 +11:00
Ingvar Stepanyan
39d752dc6b Make top-level equal to block statement context.
Fixes #203.
2015-01-23 11:48:39 +02:00
Sebastian McKenzie
c1da7ac939 Merge branch 'master' of github.com:6to5/acorn-6to5 2015-01-23 08:07:51 +11:00
Sebastian McKenzie
04e6d02d1e 0.11.1-19 2015-01-23 08:07:39 +11:00
Sebastian McKenzie
af7630b963 Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	.gitignore
	README.md
	acorn.js
	package.json
	test/run.js
	test/tests-harmony.js
	test/tests-jsx.js
2015-01-23 08:07:09 +11:00
Ingvar Stepanyan
2e55540bbe Fix {start,end}Loc -> loc.{start,end} in acorn_loose; remove forceRegexp. 2015-01-22 18:53:45 +02:00
Ingvar Stepanyan
555c7898c8 Remove Token::{startLoc,endLoc} so they don't appear in next release. 2015-01-22 18:21:38 +02:00
Ingvar Stepanyan
de23a869ae Add acorn_csp.js to .gitignore. 2015-01-22 17:26:18 +02:00
Ingvar Stepanyan
5e1f60dbae Update repository metadata and readme. 2015-01-22 17:25:50 +02:00
Ingvar Stepanyan
a7d5734a59 Fix spread attribute parsing after merge. 2015-01-22 17:13:56 +02:00
Ingvar Stepanyan
0d4f1f6ce9 Update version. 2015-01-22 16:39:30 +02:00
Ingvar Stepanyan
252bb46f70 Merge branch 'upstream' into jsx2 2015-01-22 16:11:28 +02:00
Ingvar Stepanyan
caa5da6ce1 Improve spread element parsing (fix allowed contexts and error locations). 2015-01-21 23:51:40 +02:00
Ingvar Stepanyan
d1f28b75aa Merge branch 'upstream' into jsx2 2015-01-21 03:01:27 +00:00
Ingvar Stepanyan
29910d2b2d XJS -> JSX as per facebook/esprima#83. 2015-01-21 03:00:12 +00:00
Ingvar Stepanyan
cae13fd75a Small simplifications after merge. 2015-01-21 02:58:02 +00:00
Marijn Haverbeke
94b5efcd3e Disallow declaration statements in block-less context
Closes #202
2015-01-20 12:55:21 +01:00
Forbes Lindesay
33a7c9fc24 Support import and export declarations in acorn/util/walk 2015-01-20 12:28:20 +01:00
Marijn Haverbeke
a1d2561cfa Restore patch 9f7cb55264 to original shape
And make loose parser handle stray class semicolons

Issue #190
2015-01-20 12:02:30 +01:00
Sebastian McKenzie
9f7cb55264 Add stray semicolons as class elements 2015-01-20 11:56:33 +01:00
Ingvar Stepanyan
d64efe1be4 Merge branch 'upstream' into jsx2
Conflicts:
	acorn.js
2015-01-19 14:12:24 +00:00
Sebastian McKenzie
dce9e241db Merge pull request #23 from hawkrives/patch-1
Update .npmignore to ignore big, not-used-in-NPM directories
2015-01-19 08:28:19 +11:00
Hawken Rives
9564ce9fd4 Update .npmignore
Ignore `test` (2.7MB) and `docs` (651KB)
2015-01-18 09:42:10 -06:00
Sebastian McKenzie
b82d5f0290 Merge branch 'master' of github.com:6to5/acorn-6to5 2015-01-18 19:24:30 +11:00
Sebastian McKenzie
89d8eff5ad v0.11.1-18 2015-01-18 19:20:51 +11:00
Sebastian McKenzie
587ab0d07c Merge pull request #22 from tricknotes/fix-repo-name
Fix repository name
2015-01-18 19:17:52 +11:00
Ryunosuke SATO
d24b59ca42 Fix repository name
Now `acorn-6to5` is owned by 6to5 organization.
2015-01-18 17:17:14 +09:00
Sebastian McKenzie
d425759ca7 Merge pull request #21 from charliesome/fix-associativity-parsing-again
Fix associativity parsing, hopefully for good this time
2015-01-18 19:15:44 +11:00
Sebastian McKenzie
d6dec48335 Merge pull request #20 from tricknotes/keep-acorn_scp
Keep acorn_csp.js for npm module
2015-01-18 19:14:48 +11:00
Charlie Somerville
8296fe1415 fix associativity parsing, hopefully for good this time 2015-01-18 19:14:19 +11:00
Ryunosuke SATO
a2f1b75243 Keep acorn_csp.js for npm module
The published version v0.11.1-17 doesn't include acorn_csp.js.
`.npmignore` is required to keep it on NPM module.
2015-01-18 17:12:05 +09:00
Sebastian McKenzie
5f9f588386 fix flow function param type parsing - allow optional notation as well as type declaration - fixes 6to5/6to5#524 2015-01-18 18:33:42 +11:00
Sebastian McKenzie
2debaf0f5e v0.11.1-17 2015-01-18 12:14:49 +11:00
Sebastian McKenzie
7c3a487355 fix exponentiation tests 2015-01-18 12:13:38 +11:00
Sebastian McKenzie
a0a20f9fb2 fix styling in right associative 2015-01-18 10:38:13 +11:00
Sebastian McKenzie
a189dbdcef Merge pull request #19 from charliesome/fix-right-associative-parse
Fix right associative parse precedence
2015-01-18 10:36:12 +11:00
Charlie Somerville
30e9978ffb pass minPrec when right recursing rather than prec - 1 2015-01-18 10:34:34 +11:00
Marijn Haverbeke
dac747dfa9 Add a test for issue #201 2015-01-17 22:26:34 +01:00
Marijn Haverbeke
3e513fc6a8 Kill finishNodeAt in acorn_loose as well
Issue #200
2015-01-17 22:22:26 +01:00
Ingvar Stepanyan
6dee98d1b9 Adapt ES6 template handling to new tokenizer.
Avoid need for:
* extra `templates` array in favor of new `tokContext`;
* special location handling for first & last template elements;
* separate `_templateContinued` token in favor of same `_template`.

Adds:
* token types for backQuote and dollarBraceL instead of skipping them
so they can be handled (i.e. highlighted differently).
2015-01-17 22:21:22 +01:00
Sebastian McKenzie
bdb8e57283 add extra exponentiation operator test 2015-01-18 00:55:12 +11:00
Sebastian McKenzie
572b98b6b9 Merge pull request #18 from charliesome/pow-associativity
Fix ** operator associativity
2015-01-18 00:46:24 +11:00
Charlie Somerville
b51118c3fc use right recursion for right associative operators 2015-01-18 00:44:17 +11:00
Charlie Somerville
5f42326f34 set the rightAssociative flag on _exponent 2015-01-18 00:44:14 +11:00
Sebastian McKenzie
f558bd7db4 remove acorn csp from repo 2015-01-18 00:28:13 +11:00
Sebastian McKenzie
1322501276 add make build task 2015-01-18 00:25:01 +11:00
Sebastian McKenzie
58f84e595f add more exponentation operator tests 2015-01-18 00:24:48 +11:00
Sebastian McKenzie
dc197cecf7 add acorn_csp.js to gitignore 2015-01-18 00:24:28 +11:00
Sebastian McKenzie
8aa74ab845 Merge pull request #17 from jridgewell/mallot
Support Mallet operator
2015-01-17 21:58:48 +11:00
Justin Ridgewell
856571e948 Support Mallet operator
The mallet will check to see if the variable is falsey, and if
it is, override it. It's almost the same as `a = a || b`.

Re: 6to5/6to5#516
2015-01-16 18:28:25 -05:00
Sebastian McKenzie
196ab15f80 Merge pull request #16 from kossnocorp/acorn-6to5/fix_test
Turn on playground for `"obj ?= 2"`
2015-01-17 10:08:53 +11:00
Sasha Koss
ff769780ea Turn on playground for "obj ?= 2"
Without it fail with different issue, doesn’t connected to real case:
`Got error message: Unexpected token (1:5)`.
2015-01-16 20:09:07 +05:30
Ingvar Stepanyan
f6c45ac59f Re-read only number or string after "use strict".
Fixes double-entering same tokContext for various parentheses.
2015-01-14 23:10:10 +02:00
Sebastian McKenzie
f3299fa88d v0.11.1-16 2015-01-15 02:44:52 +11:00
Sebastian McKenzie
886d84c18c limit memoisation assignment operator to playground mode 2015-01-15 02:44:15 +11:00
Ingvar Stepanyan
d34aea63ab Update tests. 2015-01-14 12:36:25 +02:00
Ingvar Stepanyan
e7beee177d Remove deprecated ComprehensionBlock.of property.
Comprehensions were moved to ES7 anyway, so there is no sense
in keeping intermediate no-more-supported syntax.
2015-01-14 12:35:00 +02:00
Ingvar Stepanyan
7e85da74cb shouldSkipSpace is no more needed in finishToken. 2015-01-14 12:31:59 +02:00
Ingvar Stepanyan
ad9411d2ae Made tokenize() compliant with ES6 iterables for easier processing. 2015-01-14 12:29:20 +02:00
Ingvar Stepanyan
802c4cd8cb Initial rewrite of JSX parser onto new tokenizer (all tests passing). 2015-01-14 12:18:08 +02:00
Marijn Haverbeke
0f55a53a7d [loose parser] Fetch token before comment when tokenizer raises unterminated comment error
Closes #197
2015-01-13 22:18:55 +01:00
Forbes Lindesay
cee56dab67 Add --ecma7 option to CLI 2015-01-13 22:08:50 +01:00
Sebastian McKenzie
741fcefa31 Merge pull request #14 from kossnocorp/fix_tests
Fix broken test
2015-01-13 23:46:37 +11:00
Sasha Koss
3ae0f24344 Fix broken test
Starting from
https://github.com/6to5/acorn-6to5/commit/40350cafb8d2c66cad7864e04792e9
046734c633 this shorthand also part of call expression
2015-01-13 18:15:16 +05:30
Sebastian McKenzie
1ed9daf827 v0.11.1-14 2015-01-13 22:42:44 +11:00
Sebastian McKenzie
0f10fbb440 fix makefile indentation 2015-01-13 22:42:01 +11:00
Sebastian McKenzie
482b94563e add csp version as default - fixes #13 2015-01-13 22:39:00 +11:00
Marijn Haverbeke
1b8069e48c Restore onToken functionality for loose parser 2015-01-13 09:53:42 +01:00
Ingvar Stepanyan
d1f95ece42 Revert "Disallow parentheses in lvalue except as in computed keys or default values."
This reverts commit 85087f2a09.
Fixes #193.
2015-01-12 20:31:38 +02:00
Sebastian McKenzie
735c7614ed bump version 2015-01-12 11:44:56 +11:00
Sebastian McKenzie
bde6ef2e0c Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	package.json
	test/tests-jsx.js
2015-01-12 09:59:21 +11:00
Ingvar Stepanyan
eb37a57fb0 Fix for '</' constructs.
Fixes #12.
2015-01-11 23:36:41 +02:00
Ingvar Stepanyan
bc2e01aa03 Allow static as method name in class (fixes #192).
Add uncommitted tests for #191.
2015-01-09 15:31:01 +02:00
Ingvar Stepanyan
3d9048a692 Allow pattern in catch param (fixes #191). 2015-01-09 02:50:32 +02:00
Ingvar Stepanyan
85087f2a09 Disallow parentheses in lvalue except as in computed keys or default values. 2015-01-08 23:00:22 +02:00
Sebastian McKenzie
8ca1be061e fix destructering defaults in params 2015-01-09 05:58:57 +11:00
Sebastian McKenzie
9d4ab350f5 bump version 2015-01-09 05:54:50 +11:00
Sebastian McKenzie
5c0d9a0e61 Parse assignment patterns in-place in certain contexts.
* Parsing assignables without extra transform step when possible (speed-up).
* Added support for shorthand defaults in such certain contexts (issue #181).

Conflicts:
	acorn.js
	acorn_loose.js
2015-01-09 05:54:16 +11:00
Ingvar Stepanyan
4d4a76588c Parse assignment patterns in-place in certain contexts.
* Parsing assignables without extra transform step when possible (speed-up).
* Added support for shorthand defaults in such certain contexts (issue #181).
2015-01-08 20:19:48 +02:00
Marijn Haverbeke
db59bd0296 Remove outdated note about loose parser not supporting ES6 2015-01-06 11:15:34 +01:00
Marijn Haverbeke
0897901f1f Slight cleanup of '/' disambiguation
Issue #189
2015-01-06 11:03:50 +01:00
Marijn Haverbeke
b6b085ac8e Make tokenizer independent of parser (with regards to '/' disambiguation)
Issue #189
2015-01-06 10:58:52 +01:00
Sebastian McKenzie
8c25cb0d80 add higher priority to exponent operator, better async contextual functions 2015-01-06 10:42:57 +11:00
Nick Fitzgerald
af0debc849 Add support for running just the tokenizer to the bin/acorn script. 2015-01-04 22:38:24 +01:00
Marijn Haverbeke
459a169262 Make tests pass again for loose parser
Issue #181
2015-01-04 22:34:42 +01:00
Marijn Haverbeke
7c6a8b7c76 Use parseExprSubscripts instead of parseExpression when parsing superclass
Issue #187
2015-01-04 22:30:50 +01:00
Marijn Haverbeke
045d8c02f5 Revert "Require superclass expressions to be lvals"
This reverts commit 0b59fc198b.

Issue #187
2015-01-04 22:28:16 +01:00
Marijn Haverbeke
e271168cf6 Make onToken only fire for actual final tokens
Issue #189
2015-01-04 22:27:03 +01:00
Sebastian McKenzie
29a4dcc975 Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2015-01-04 22:03:02 +11:00
Ingvar Stepanyan
431a44bc74 Add support for destructuring defaults (not for shorthand props yet).
Related to #181.
2015-01-04 12:15:24 +02:00
Sebastian McKenzie
f2c78674af better class element semicolons 2015-01-04 21:14:18 +11:00
Sebastian McKenzie
1eeb505bf4 no line terminator after contextual async keyword 2015-01-04 20:35:51 +11:00
Sebastian McKenzie
8dad17b675 remove console.trace 2015-01-04 19:49:10 +11:00
Sebastian McKenzie
cec7b1ba3f better acorn async statement parsing 2015-01-04 19:37:38 +11:00
Sebastian McKenzie
55b3e96d95 add support for semicolons as class elements 2015-01-04 18:20:08 +11:00
Sebastian McKenzie
9c3c569ac6 remove checkLVal from class heritage 2015-01-04 08:12:23 +11:00
Sebastian McKenzie
017d76c720 set location info on ThisExpression node in this shorthand - fixes 6to5/6to5#367 2015-01-03 06:09:37 +11:00
Sebastian McKenzie
c8fc778ffb add ecmaVersion check to async function statements 2015-01-02 05:02:59 +11:00
Sebastian McKenzie
56bc618d33 actually parse async functions as statements 2015-01-02 04:21:56 +11:00
Sebastian McKenzie
b5c8ee2120 bump version 2014-12-31 11:50:54 +11:00
Sebastian McKenzie
a727a121ae Merge https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2014-12-31 11:50:15 +11:00
Sebastian McKenzie
9e6e19eca8 parse this shorthand as an ident with subscripts instead of a regular expression 2014-12-31 11:48:25 +11:00
Marijn Haverbeke
0b59fc198b Require superclass expressions to be lvals
And remove a test that violates this.

Closes #185
2014-12-30 12:54:25 +01:00
Ingvar Stepanyan
0084ac14ae Fixed #186. 2014-12-30 13:42:37 +02:00
Sebastian McKenzie
d727f97497 fix export default declarations 2014-12-27 20:07:59 +11:00
Sebastian McKenzie
3e676a0183 Merge branch 'master' of github.com:6to5/acorn-6to5 2014-12-27 20:02:23 +11:00
Sebastian McKenzie
ff4228c09d Merge branch 'master' of https://github.com/marijnh/acorn
Conflicts:
	README.md
	acorn.js
	package.json
2014-12-27 20:02:15 +11:00
Sebastian McKenzie
29a33f5ae9 Merge branch 'export-default-declarations' of https://github.com/sebmck/acorn 2014-12-27 19:55:15 +11:00
Sebastian McKenzie
0bea7c9d51 Fix export default functions and classes being parsed as expressions instead of declarations 2014-12-27 19:54:23 +11:00
Marijn Haverbeke
5512e26ac0 Note allowHashBang option in README
Issue #180
2014-12-18 10:19:22 +01:00
Ingvar Stepanyan
adec9f4b8e Provide better error on member expression in binding's left side. 2014-12-17 20:37:00 +02:00
Ingvar Stepanyan
e37c07248e Added optional support for hashbang directives.
Fixes #180.
2014-12-17 19:58:38 +02:00
Marijn Haverbeke
8e84aa02f4 Bump version number post-0.11 2014-12-17 11:54:40 +01:00
Marijn Haverbeke
78e1d7ada6 Mark version 0.11.0 2014-12-17 11:54:09 +01:00
Marijn Haverbeke
97f4e9a026 [loose parser] Make unclosed objects / lists span to the start of the next node
That way, whitespace at their end is considered part of them,
and Tern can recognize when the cursor is inside of them.
2014-12-17 11:53:20 +01:00
Sebastian McKenzie
804481aad8 Merge pull request #11 from fkling/export_async
Support async functions in export declarations
2014-12-16 17:43:21 +11:00
Felix Kling
59c9f473ae Support async functions in export declarations
6to5 is able to transpile `export async function foo(){}` but acorn-6to5 is
unable to parse it.
2014-12-15 22:33:47 -08:00
Marijn Haverbeke
75b58c07d4 [loose parser] Improve autoclosing of expression lists 2014-12-15 17:32:38 +01:00
Sebastian McKenzie
16b7d59ae5 allow async generator functions - closes #10 - thanks @fkling 2014-12-15 09:39:24 +11:00
Sebastian McKenzie
e3b63530b1 bump version 2014-12-14 14:52:25 +11:00
Sebastian McKenzie
e0b6302649 add support for private declarations 2014-12-14 13:19:22 +11:00
Sebastian McKenzie
c30abbb52b Merge branch 'flow-types' of https://github.com/RReverser/acorn-jsx
Conflicts:
	acorn.js
	package.json
2014-12-13 12:45:28 +11:00
Sebastian McKenzie
46977807b7 fix isX variables not being reset on parseObj 2014-12-13 12:33:07 +11:00
Sebastian McKenzie
3a59b5a151 better async contextual identifiers 2014-12-13 12:06:42 +11:00
Sebastian McKenzie
24115acee0 Add flow type support 2014-12-13 05:01:29 +11:00
Ingvar Stepanyan
f188613e09 Add support for unknown entities (treat as ampersand + regular text).
Fixes #10.
2014-12-12 18:46:58 +02:00
Sebastian McKenzie
8bef320d58 change bind member operator to a hash - fixes #6 2014-12-13 00:47:13 +11:00
Sebastian McKenzie
71bb9d6123 contextual async/await keywords - closes 6to5/6to5#157 2014-12-13 00:37:40 +11:00
Marijn Haverbeke
6915519498 Give TemplateElements a narrower range
Issue #169
2014-12-11 17:44:45 +01:00
Marijn Haverbeke
c671bcfaf7 Bump version number post-0.10 2014-12-11 14:52:32 +01:00
Marijn Haverbeke
0a812b6020 Mark release 0.10.0 2014-12-11 14:51:45 +01:00
Marijn Haverbeke
c989857aa5 Add allowImportExportEverywhere option
Closes #174
2014-12-11 14:48:03 +01:00
Marijn Haverbeke
91e5ac0fdd Make loose parser parse template strings 2014-12-11 14:30:24 +01:00
Marijn Haverbeke
2cb3dbcb41 Change token structure of template literals
Fix various template parsing issues, makes tokenizer useable from outside
the parser.

Closes #169
Closes #173
2014-12-11 14:20:01 +01:00
Sebastian McKenzie
53d98f1175 Make semicolon optional in do-while in >=ES6 2014-12-10 13:14:25 +01:00
Sebastian McKenzie
6623756312 bump version 2014-12-10 21:49:55 +11:00
Sebastian McKenzie
1b760db578 Merge branch 'master' of https://github.com/RReverser/acorn 2014-12-10 20:32:56 +11:00
Sebastian McKenzie
4d985230cc Merge branch 'do-optional-semicolon' of https://github.com/sebmck/acorn 2014-12-10 19:07:39 +11:00
Sebastian McKenzie
c87a7a7095 Revert "Merge branch 'do-optional-semicolon' of https://github.com/sebmck/acorn"
This reverts commit c526814896711439b89f613fe0412aad4c1730a8, reversing
changes made to e7fea263dac65061941a4cee25c7a84c4e50c8bf.
2014-12-10 19:07:27 +11:00
Sebastian McKenzie
841ab6802f Make semicolon optional in do-while in >=ES6 2014-12-10 18:59:24 +11:00
Sebastian McKenzie
03891a7f8c Merge branch 'do-optional-semicolon' of https://github.com/sebmck/acorn 2014-12-10 15:24:44 +11:00
Sebastian McKenzie
7dbddd566c Merge branch 'master' of https://github.com/marijnh/acorn
Conflicts:
	acorn.js
2014-12-10 15:24:36 +11:00
Sebastian McKenzie
876eed9c04 Add dot question token 2014-12-10 15:21:19 +11:00
Sebastian McKenzie
49119b7714 Make semicolon optional in do-while 2014-12-10 15:19:45 +11:00
Marijn Haverbeke
e252acbe67 Upgrade jQuery used as test input
Closes #175
2014-12-09 15:36:50 +01:00
Ingvar Stepanyan
96bc831306 Fix #173. 2014-12-07 19:55:31 +02:00
Sebastian McKenzie
404058f9da Add object memo getters, this expressions and improve tenary syntax in playground 2014-12-06 20:43:32 +11:00
Sebastian McKenzie
ac197399bb Add @ token 2014-12-05 14:46:56 +11:00
Sebastian McKenzie
7a0fb32064 Add playground conditionals check 2014-12-05 14:46:51 +11:00
Marijn Haverbeke
e98176d5e9 Fix bug in update_authors.sh 2014-12-04 21:48:10 +01:00
Sebastian McKenzie
0bf7938142 Merge branch 'master' of https://github.com/RReverser/acorn-jsx
Conflicts:
	acorn.js
	package.json
2014-11-30 11:09:25 +11:00
Ingvar Stepanyan
879d40989a Fix #9 by removing invalid logic introduced with #1. 2014-11-28 16:51:50 +02:00
Sebastian McKenzie
d14f446177 rename PretzelMap to BindFunctionExpression 2014-11-26 17:23:11 +11:00
Sebastian McKenzie
2ec2a4b5af add pretzel maps 2014-11-26 16:16:47 +11:00
Sebastian McKenzie
9e204a7fee add playground 2014-11-25 23:48:48 +11:00
Ingvar Stepanyan
33d5082043 Parse import Thing ... in the same way as import {default as Thing} ....
Adjusts with Reflect.parse output and simplifies handling of "default" case
in external tools by providing regular named ImportSpecifier.
2014-11-23 14:06:13 +02:00
Sebastian McKenzie
f9c642e2c5 add support for ES7 exponentiation operator 2014-11-23 22:56:24 +11:00
Sebastian McKenzie
f8ee0c3066 bump version 2014-11-23 21:45:56 +11:00
Sebastian McKenzie
25c45a1e8e add support for es7 object/spread and move acorn-6to5 tests to a separate file 2014-11-23 21:00:15 +11:00
Sebastian McKenzie
9b38a4826b add support for abstract references 2014-11-23 17:43:46 +11:00
Sebastian McKenzie
6b4f40f556 Merge branch 'master' of https://github.com/RReverser/acorn-jsx
Conflicts:
	package.json
2014-11-23 11:30:14 +11:00
Ingvar Stepanyan
7a3683de2b Fix space not being skipped after object literal inside expression container.
Fixes #7.
2014-11-22 11:51:28 +02:00
Sebastian McKenzie
f3f49cee80 Fix #5 regression text 2014-11-20 21:38:16 +11:00
Sebastian McKenzie
16b298f38c 0.9.1-3 2014-11-20 21:26:45 +11:00
Sebastian McKenzie
5ad85c5612 Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	package.json
	test/run.js
2014-11-20 21:26:40 +11:00
Sebastian McKenzie
b3ddc683a4 0.9.1-2 2014-11-20 21:25:43 +11:00
Ingvar Stepanyan
731984ebc7 Update version. 2014-11-20 12:23:49 +02:00
Ingvar Stepanyan
29c028acf9 Temporarily disable JSX parser. 2014-11-20 12:22:53 +02:00
Ingvar Stepanyan
46c95f5aee Merge pull request #6 from sebmck/patch-1
Fix spread attributes within elements inside expression containers.
2014-11-20 12:22:15 +02:00
Sebastian McKenzie
20a5d62ac6 Add regression test for #5 2014-11-20 21:07:03 +11:00
Sebastian McKenzie
d3e987896c Fix spread attributes within elements inside expression containers 2014-11-20 19:46:47 +11:00
Ingvar Stepanyan
51bc64a558 Update tests for #158 2014-11-19 20:23:38 +01:00
Ingvar Stepanyan
ba73b0e17e Disallow parenthesis in patterns
Fixes #155
2014-11-19 20:23:37 +01:00
Ingvar Stepanyan
4496ca411a Fixed import declaration for default+batch case.
Also removed deprecated `kind` property.
Fixes #161.
2014-11-19 14:05:34 +01:00
Sebastian McKenzie
5e119c22d6 Revert "Better async/await support"
This reverts commit 89437cfd7f8bb380490fb574fd91a128a120f5b4.
2014-11-19 13:20:59 +11:00
Sebastian McKenzie
f35dad0980 Revert "fix up async/await"
This reverts commit f18f264a330258da521027cc4edd5852e26f8add.
2014-11-19 13:20:47 +11:00
Sebastian McKenzie
b0bf126c22 fix up async/await 2014-11-19 12:49:41 +11:00
Sebastian McKenzie
d09acb7d3b disable loose test runner 2014-11-19 12:49:33 +11:00
Sebastian McKenzie
7393455b2e Merge pull request #2 from Naddiseo/async_await
Better async/await support
2014-11-19 12:00:10 +11:00
Richard Eames
68acfb7cc5 Better async/await support 2014-11-18 13:08:24 -07:00
Sebastian McKenzie
61810eef8d Merge https://github.com/RReverser/acorn-jsx
Conflicts:
	acorn.js
	package.json
2014-11-15 11:34:27 +11:00
Ingvar Stepanyan
82f88c459d Fix ignored whitespaces before children elements.
Similar to 790afe (template literals).
Fixes #4.
2014-11-15 02:30:12 +02:00
Ingvar Stepanyan
8ef9ecc34d Update version. 2014-11-13 19:25:25 +02:00
Ingvar Stepanyan
42d21f5064 Merge branch 'upstream' into jsx
Conflicts:
	acorn.js
	test/run.js
2014-11-13 19:25:00 +02:00
Sebastian McKenzie
b3c4ca26fa Merge branch 'async-await' of https://github.com/sebmck/acorn 2014-11-13 13:17:10 +11:00
Sebastian McKenzie
2506be7b1a Add support for exporting async functions 2014-11-13 13:16:49 +11:00
Sebastian McKenzie
e58be3b8bb Merge branch 'master' of https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	test/run.js
2014-11-13 12:48:14 +11:00
Rich Harris
f48a921e24 allow export { default } from "foo" 2014-11-12 17:42:55 +01:00
Marijn Haverbeke
98691e5b80 Properly initialize top node start position 2014-11-12 17:31:45 +01:00
Marijn Haverbeke
249e6961f8 Make tests pass for loose parser
Define Program node extent to be the whole program, make
both parser and the tests conform to this.

Fix a bunch of bugs in the loose parser's handling of corner
cases.

Issue #151
2014-11-12 17:05:19 +01:00
Ingvar Stepanyan
bc64d3c5f4 Add support for nested groups in log (Chrome console + browser). 2014-11-12 16:19:16 +01:00
Ingvar Stepanyan
96ccdb05fa Web-driver support for loose parser + small fixes.
* Added support for acorn_loose and grouped log to web-driver.
* Removed unused copy-pasted `parseTemplate` from loose parser.
* Throw non-SyntaxError errors immediately (as those are generic).
2014-11-12 16:19:16 +01:00
Ingvar Stepanyan
6bf8311061 Loose: fix #33. 2014-11-12 16:19:16 +01:00
Ingvar Stepanyan
2419de74dc Loose: Fix regex after tokenizer changes in #144. 2014-11-12 16:19:16 +01:00
Ingvar Stepanyan
fc2e96fa01 Loose: respect optional semicolons in break/continue/class/import/export. 2014-11-12 16:19:16 +01:00
Ingvar Stepanyan
d4565fed53 Loose: ES6 import, export.
Removed "kind" from tests for ES6 import/export as it's
left only for backward compatibility.
2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
4647f966eb Loose: don't silently skip missed elements in expr list. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
aa96edf769 Loose: support for-of without var. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
1589a959fa Loose: yield support. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
80f8d527ff Loose: Skip ES7 tests as we are targeting ES6 now. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
bdce88c184 Loose: for-of statement. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
992fc0503d Loose: arrow functions. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
ede10a079c Loose: class support. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
c6b6ef389e Loose: Remove own tabSize initialization in favor of defaultOptions. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
9cdc6809ce Loose: fix pattern+defaults case in function params. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
b46b53e149 Loose: implement object methods; expose processed options from acorn. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
143066184c Emit full stack trace for unknown exceptions. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
dda90580df Loose: Added support for shorthand properties. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
963a26e46f Loose: Added support for let and const.
Fixes #146.
2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
4879af22d1 Loose: Added support for assignment patterns to expression and variables. 2014-11-12 16:19:15 +01:00
Ingvar Stepanyan
c5145cedb2 Fix no-options case for acorn. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
eba8a5646c Loose: added support for holes in arrays (but disallows trailing comma). 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
a14a5c8192 Loose: Added support for rest parameters.
Includes correction of mistype ".." vs "...".
2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
b47696eecf Avoid UnaryExpression-specific properties in SpreadElement (just in case). 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
72df78cc88 Avoid separate handling of SpreadElement in favor of UnaryExpression parser. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
ac8bdc608d Allow specifying expected comments/tokens arrays with onComment/onToken.
Allows to avoid both custom `testAssert` and adding extra arguments in `test`.
2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
6d64834352 Removed manual onComment test in favor of new argument. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
0abe4b64a8 Collect test stats separately for each mode. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
b7367a2a8c Make setOptions non-destructive for original object. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
11ecb20e9e Loose: ES6 function params support. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
c26fd33826 Clone test options object since calling parse is destructive for it. 2014-11-12 16:19:14 +01:00
Ingvar Stepanyan
61d2067b2b Loose: Added ParenthesizedExpression. 2014-11-12 16:19:13 +01:00
Ingvar Stepanyan
7db211d56a Added loose parser support to test runner (currently failing for 208/1680). 2014-11-12 16:19:13 +01:00
Ingvar Stepanyan
d424874cf8 Editorconfig: enforce Unix line endings and extra new line in the end of file. 2014-11-12 16:19:13 +01:00
Ingvar Stepanyan
86f8c56d2b Added .editorconfig. 2014-11-12 16:19:13 +01:00
Ingvar Stepanyan
074db16fb7 Indentation fix. 2014-11-12 16:19:13 +01:00
Ingvar Stepanyan
d745bd7e32 Make test runner more generic. 2014-11-12 16:19:13 +01:00
Sebastian McKenzie
c5ca7ee32c Add remaining esprima-fb async/await tests 2014-11-12 20:41:55 +11:00
Sebastian McKenzie
81f3b99251 Merge branch 'async-await' of https://github.com/sebmck/acorn
Conflicts:
	acorn.js
2014-11-11 09:46:46 +11:00
Sebastian McKenzie
273dda04f1 Revert "Merge branch 'async-await' of https://github.com/sebmck/acorn"
This reverts commit 904d46ae736214d50da3a5c2b616204f0e0ae7d1, reversing
changes made to 49e421660af161af0e75c2fa066ea356d6650e69.
2014-11-11 09:43:15 +11:00
Sebastian McKenzie
211b3a6fdf Implement ES7 Async/Await 2014-11-11 09:29:56 +11:00
Sebastian McKenzie
ea1119c72c Merge branch 'patch-1' of https://github.com/RReverser/acorn 2014-11-11 09:20:05 +11:00
Sebastian McKenzie
59990722e4 Merge branch 'async-await' of https://github.com/sebmck/acorn
Conflicts:
	acorn.js
2014-11-11 09:18:57 +11:00
Sebastian McKenzie
ac42c108f4 Implement ES7 Async/Await 2014-11-11 09:13:42 +11:00
Ingvar Stepanyan
1f1a476930 Update tests for #158 2014-11-09 16:02:12 +02:00
Sebastian McKenzie
9f8ab713de Merge branch 'patch-1' of https://github.com/RReverser/acorn 2014-11-10 00:11:46 +11:00
Sebastian McKenzie
97c06f2699 Revert "Merge branch 'check-lval-paren-expressions' of https://github.com/sebmck/acorn"
This reverts commit c8d701914832367e3cc6f570f8da9e6096d26eef, reversing
changes made to 0f40710d6a6c846d613764f314e9fb38c247e471.
2014-11-10 00:10:54 +11:00
Ingvar Stepanyan
d231f10c36 Disallow parenthesis in patterns
Fixes #155
2014-11-09 15:08:59 +02:00
Sebastian McKenzie
41f7959d9c fix package.json identation 2014-11-09 16:11:16 +11:00
Sebastian McKenzie
fc046bab54 remove build status from readme 2014-11-09 16:09:22 +11:00
Sebastian McKenzie
c90022e97f fix sebmck@gmail.com email 2014-11-09 16:09:16 +11:00
Sebastian McKenzie
39e0b51d17 Merge branch 'check-lval-paren-expressions' of https://github.com/sebmck/acorn 2014-11-09 13:07:41 +11:00
Sebastian McKenzie
521ab6c11d Support ParanthesizedExpressions in checkLval 2014-11-09 13:07:00 +11:00
Sebastian McKenzie
a18f3d1003 Add support for computed static mutator class methods 2014-11-04 11:08:36 +01:00
Sebastian McKenzie
f82896a919 Merge branch 'computed-static-mutator-class-methods' of https://github.com/sebmck/acorn 2014-11-04 11:41:49 +11:00
Sebastian McKenzie
4f0c37eb68 Add support for computed static mutator class methods 2014-11-04 11:40:49 +11:00
Sebastian McKenzie
7f57741824 fix options.strictMode reference 2014-11-03 22:39:26 +11:00
Sebastian McKenzie
16063dd8b3 add strictMode option 2014-11-02 14:18:40 +11:00
Sebastian McKenzie
21900ae2b0 add acorn-jsx shoutout to readme 2014-11-01 23:18:01 +11:00
Sebastian McKenzie
d6771b1cef update package.json 2014-11-01 23:17:32 +11:00
Sebastian McKenzie
62670e74cb remove readme 2014-11-01 23:17:25 +11:00
Sebastian McKenzie
71832ee45d Merge branch 'master' of https://github.com/marijnh/acorn 2014-10-29 21:02:48 +11:00
Sebastian McKenzie
fb0fb90911 Merge branch 'fix-semicolons-modules' of https://github.com/sebmck/acorn
Conflicts:
	acorn.js
2014-10-29 21:02:26 +11:00
Sebastian McKenzie
9d3580b23a make ImportDeclaration and ExportDeclaration semicolons more spec-compliant 2014-10-29 10:46:39 +01:00
Sebastian McKenzie
1be5b3c823 make ImportDeclaration and ExportDeclaration semicolons more spec-compliant 2014-10-29 20:35:37 +11:00
Marijn Haverbeke
8a799c6077 Remove redundant range info from tests 2014-10-27 10:59:16 +01:00
Ingvar Stepanyan
f26b656ea5 Remove property name clash check in ES6 as per Draft Rev 26.
See https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-06/jun-6.md#conclusionresolution-3 for details.

Conflicts:
	test/tests-harmony.js
2014-10-27 10:56:06 +01:00
Marijn Haverbeke
5d1db2e993 Only apply kludge from f48503cd31 when unicode regexps are not supported 2014-10-27 10:54:46 +01:00
Sebastian McKenzie
f48503cd31 add unicode flag support to regex 2014-10-27 10:51:23 +01:00
Ingvar Stepanyan
fd79ac5879 Move comprehension support under ecmaVersion: 7 as per spec. 2014-10-27 10:34:53 +01:00
Sebastian McKenzie
0cc9322bca Merge branch 'add-unicode-regex-support' of https://github.com/sebmck/acorn
Conflicts:
	acorn.js
2014-10-25 12:52:21 +11:00
Sebastian McKenzie
6eeb101185 add regex tests 2014-10-25 09:02:34 +11:00
Sebastian McKenzie
397d87fd11 add additional regex property to regex literals containing pattern and flags 2014-10-25 09:02:24 +11:00
Ingvar Stepanyan
156fee8b4d Update version. 2014-10-22 14:09:05 +03:00
Ingvar Stepanyan
d27a568002 Merge pull request #3 from sebmck/master
Merge with latest acorn.
2014-10-22 14:07:03 +03:00
Sebastian McKenzie
7a4715c2de Merge branch 'master' of https://github.com/marijnh/acorn
Conflicts:
	acorn.js
	package.json
2014-10-22 21:30:58 +11:00
Marijn Haverbeke
5ff7e59a0a Remove bogus support for \U escapes
Issue #147
2014-10-21 16:39:48 +02:00
Marijn Haverbeke
437ce2d9be [loose parser] Ignore shebang lines
Closes marijnh/tern#408
2014-10-21 12:35:06 +02:00
Mike Rennie
ad69446c0a Make parse_dammit honour the 'ranges' option
Closes #140
2014-10-21 12:14:18 +02:00
Marijn Haverbeke
51e0b81eea Note lack of es6 support in parse_dammit in the README 2014-10-21 10:24:57 +02:00
Sebastian McKenzie
0258dafa8a add unicode flag support to regex 2014-10-19 18:01:34 +11:00
Max Schaefer
d525c45644 Add option for representing parenthesized expressions in the AST. 2014-10-13 12:19:39 +02:00
Max Schaefer
e9c7209f8b Guard against missing elements in array patterns when checking function parameters. 2014-10-13 12:17:29 +02:00
Marijn Haverbeke
bdee9e8195 Make locations in loose parser consistent with those in regular parser
Issue #136
2014-10-08 12:35:57 +02:00
Marijn Haverbeke
3603f7d0b1 Adjust start positions of parenthesized expressions to not include parentheses
Issue #136
2014-10-08 11:52:49 +02:00
Marijn Haverbeke
1c9e0a9272 Bump version number post 0.9 2014-10-01 23:21:56 +02:00
Marijn Haverbeke
01a89cfec1 Mark release 0.9.0 2014-10-01 23:21:25 +02:00
r-e-d
f3e759cd03 Strict mode incorrectly reset after function 2014-09-30 11:45:20 +02:00
Max Schaefer
015a0e90bc Only accept for-of loops in ECMA6 mode. 2014-09-29 11:27:14 +02:00
Ingvar Stepanyan
daedc6fcb3 Fixes #129 and spaces in template quasi literals.
* Added hack to correctly handle skipped spaces after= template expressions.
* Added `null` default values for regular functions.
* Added regression tests for both.
2014-09-26 17:04:22 +02:00
Ingvar Stepanyan
203384f7c2 Fixes marijnh/acorn#127. 2014-09-23 22:58:44 +02:00
Marijn Haverbeke
6ea4139be1 Add note about deprecated scopeVisitor object
See issue #126
2014-09-22 17:08:50 +02:00
Marijn Haverbeke
49680b1c60 [loose parser] Take brace-line indentation into account for objlit closing heuristic 2014-09-22 15:15:12 +02:00
Marijn Haverbeke
39fa62e90f [loose parser] Be slightly more agressive about heuristically closing object literals 2014-09-22 15:03:54 +02:00
Marijn Haverbeke
12cbfed34f [loose parser] Don't omit unfinished object literal properties 2014-09-22 14:46:41 +02:00
Ingvar Stepanyan
96024e6950 Updated docs. 2014-09-17 20:55:59 +03:00
Ingvar Stepanyan
9c17926e3f Version update.
Simplified shouldSkipSpace condition, fixed indentation.
2014-09-17 20:54:41 +03:00
Ingvar Stepanyan
4b4c63f924 Merge pull request #1 from NekR/master
Fix in child XJS MemberExpression.
2014-09-17 20:42:02 +03:00
Marijn Haverbeke
d0497ab212 Add parseExpressionAt function to the API 2014-09-15 21:03:07 +02:00
Marijn Haverbeke
ac31b0314c Bump version number post-0.8 2014-09-12 16:57:40 +02:00
Marijn Haverbeke
456f74e34f Mark version 0.8.0 2014-09-12 16:57:17 +02:00
Marijn Haverbeke
d98a432673 Really remove html from git repository
(The hook was still in place last time.)
2014-09-12 16:55:42 +02:00
Marijn Haverbeke
0322beb0aa Add a prepublish step to package.json 2014-09-12 16:54:28 +02:00
Marijn Haverbeke
4d4daa07e0 Don't keep the docco output in the repository anymore 2014-09-12 15:50:34 +02:00
Marijn Haverbeke
91911bcfcd Add bin/without_eval utility 2014-09-12 14:08:31 +02:00
Arthur Stolyar
78a6caf673 Add test for inXJSChild MemberExpression 2014-09-09 02:12:39 +03:00
Arthur Stolyar
d3cece14fd Fix spaceSkip after inXJSChildExpression 2014-09-09 01:56:30 +03:00
Arthur Stolyar
ae9fae6c76 Fix in child XJS MemberExpression 2014-09-09 01:06:52 +03:00
Ingvar Stepanyan
533d1d62ec Updated docs. 2014-09-09 00:06:06 +03:00
Ingvar Stepanyan
fe805f396e Update version. 2014-09-08 23:58:44 +03:00
Ingvar Stepanyan
3086621905 Merge branch 'master' into jsx. 2014-09-08 23:58:19 +03:00
Ingvar Stepanyan
10553cbced Make token format compatible with Esprima and Mozilla-styled locations.
* Tokens are now instances of single exported constructor Token.
* Token objects are compatible with Esprima (only `type` format is different).
* Added token.loc in format of node.loc (Mozilla).
* Deprecated token.startLoc & token.endLoc.
* Updated comment generation example.

Also added ability to pass arrays in `onToken`/`onComment` where
tokens/comments will be collected in Esprima's format so you can
simply pass those arrays to `escodegen.attachComments`.

Updated docs and comment attachment example.
2014-09-08 12:20:08 +02:00
Ingvar Stepanyan
5c89414c5a Final polishing after rebase. 2014-09-05 17:23:03 +03:00
Ingvar Stepanyan
2fbf640e60 Update README.md 2014-09-05 17:15:29 +03:00
Ingvar Stepanyan
35c8f104bd Spread attribute support and small optimizations.
Conflicts:
	acorn.js
	docs/acorn.html
	package.json
	test/tests.js
2014-09-05 17:01:42 +03:00
Max Schaefer
a246bf83d0 Do not throw syntax error if strict mode function has same name as one of its parameters. 2014-09-05 15:59:57 +02:00
Ingvar Stepanyan
fe6cafa141 Upgrade esprima to esprima-fb and update docs.
Conflicts:
	test/compare/esprima.js
2014-09-05 16:54:56 +03:00
Ingvar Stepanyan
817120b370 Small test refactoring. 2014-09-05 16:54:29 +03:00
Ingvar Stepanyan
95a1231c6d Metadata & docs updates.
Conflicts:
	.gitignore
	README.md
	acorn.js
	index.html
	package.json
2014-09-05 16:54:29 +03:00
Max Schaefer
7da3b6f1fd Fix start position for HTML comments and add tests. 2014-09-05 15:53:36 +02:00
Ingvar Stepanyan
daf9e82ab5 Final fixes for spaces.
Conflicts:
	acorn.js
2014-09-05 16:50:23 +03:00
Ingvar Stepanyan
7560ba4c94 Fixed in-tag spaces in hacky way (to be refactored).
Conflicts:
	acorn.js
2014-09-05 16:49:07 +03:00
Ingvar Stepanyan
292942c1d8 Small refactoring related to handling XJSText.
Conflicts:
	acorn.js
2014-09-05 16:48:50 +03:00
Ingvar Stepanyan
4ed5087bea Revert space counting after the opening tag in favor of better fix since this one introduces extra parsing error.
Conflicts:
	acorn.js
2014-09-05 16:48:40 +03:00
Ingvar Stepanyan
77e05c4edc Fixed XJSEmptyExpression location tracking. 2014-09-05 16:47:57 +03:00
Ingvar Stepanyan
f53f89a0ae Fixed test with parenthesis. 2014-09-05 16:47:57 +03:00
Ingvar Stepanyan
3253f56602 Fixed skipping spaces at the beginning of JSX contents.
Conflicts:
	acorn.js
2014-09-05 16:47:57 +03:00
Ingvar Stepanyan
2c3740c159 Fixed nesting elements in attributes. 2014-09-05 16:43:17 +03:00
Ingvar Stepanyan
5d2ace2f58 Added JSX text and string literal parsing. 2014-09-05 16:43:17 +03:00
Ingvar Stepanyan
22e8f7b90e Added basic attribute and element nesting support. 2014-09-05 16:43:16 +03:00
Ingvar Stepanyan
6091a0cf55 Added JSX-specific identifier parsing.
Conflicts:
	acorn.js
2014-09-05 16:43:16 +03:00
Ingvar Stepanyan
b4c5d1f2e9 Added support for namespaces and member expressions in tag names. 2014-09-05 16:42:29 +03:00
Ingvar Stepanyan
283d47c038 Started porting JSX support from esprima-fb.
Conflicts:
	acorn.js
	test/tests.js
2014-09-05 16:42:29 +03:00
Marijn Haverbeke
6c854ad221 [loose parser] Be more careful about calling resetTo
It will try to eat whitespace, and can thus raise an unterminated comment exception

Issue #375
2014-09-05 15:31:15 +02:00
Marijn Haverbeke
40f1c67161 Remove trailing whitespace from acorn.js 2014-08-21 18:12:04 +02:00
Max Schaefer
1ca2115294 Remove unused local variables. 2014-08-21 18:10:48 +02:00
Marijn Haverbeke
e58f401b82 Bump version number post 0.7 2014-08-14 13:25:01 +02:00
Marijn Haverbeke
fe767e4cd8 Mark version 0.7.0 2014-08-14 13:24:24 +02:00
Marijn Haverbeke
69cadaa1e9 Add basic ES6 support in util/walk.js 2014-08-14 13:23:03 +02:00
Ingvar Stepanyan
372e1d42f3 Split ES6 Template logic from main functionality. 2014-08-14 12:48:50 +02:00
Marijn Haverbeke
d1a5db36cc Fix sentence broken by 11dc953bc6 2014-08-14 12:48:12 +02:00
Ingvar Stepanyan
11dc953bc6 Fix docs about sourceFile/directSourceFile. 2014-08-14 12:47:26 +02:00
Ingvar Stepanyan
ef045b9718 Remove copyToken from acorn_loose (not needed anymore). 2014-07-31 14:33:40 +03:00
Ingvar Stepanyan
1bf8c1420f Added example for comments attachment.
* Fixed `onToken` & `tokenize` to return `startLoc` & `endLoc`
in token object only when `options.locations` is `true`.
* Fixed `onToken` tests.
* Added example for generating comments with escodegen.
2014-07-31 14:01:39 +03:00
Ingvar Stepanyan
be11e04383 Added onToken support. 2014-07-31 14:01:39 +03:00
Ingvar Stepanyan
278ac258df Moved inTemplate initializer to appropriate place. 2014-07-31 14:01:38 +03:00
Marijn Haverbeke
73a890d6be More nuanced attribution in comment 2014-07-29 15:18:59 +02:00
Marijn Haverbeke
292f8ece64 Re-run update_authors.sh to get proper project name in AUTHORS 2014-07-29 15:14:02 +02:00
Marijn Haverbeke
aac1807838 Include Harmony tests in test/index.html 2014-07-29 14:43:20 +02:00
Ingvar Stepanyan
3393460ebb Fix Travis URL for future merge. 2014-07-29 14:41:50 +02:00
Ingvar Stepanyan
de48f8434d Fixes for ES3 compatibility. 2014-07-29 14:41:50 +02:00
Ingvar Stepanyan
f0579c3e56 Renamed _multiplyModulo to _modulo as it's left as the only purpose of this token. 2014-07-29 14:41:50 +02:00
Ingvar Stepanyan
4663f6ae95 Update README.md 2014-07-29 14:41:49 +02:00
Ingvar Stepanyan
ff9c3550a4 Allow computed class method names (as per ariya/esprima#271). 2014-07-29 14:41:49 +02:00
Ingvar Stepanyan
acbef8557f Treat line ending after yield keyword as end of YieldExpression
(as per http://people.mozilla.org/~jorendorff/es6-draft.html#sec-generator-function-definitions-runtime-semantics-evaluation).
2014-07-29 14:41:45 +02:00
Ingvar Stepanyan
9d552efe45 Added Generator Comprehension support. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
1c548e7848 Add missing Traceur source to repo. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
e9635f450e Delete harmonytest.js 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
afefac56bf Added test to represent "import x, { ... } from 'module'" case. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
9d5e0e7973 Increased benchmark time to 5 seconds per parser to get more realistic numbers. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
711d21ec5a Simplified name clash test. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
8d30ad6196 Added separate token for star ('*') as it may have special meaning.
Fixed name clash check.
Moved check functions to single place.
2014-07-29 14:41:38 +02:00
Ingvar Stepanyan
8b19246615 Replaced UglifyJS2 with Traceur for fair comparison of ES6-enabled parsers. 2014-07-29 14:41:38 +02:00
Ingvar Stepanyan
7aab3539ce Cleaning up + performance improvement by using hash objects for name clash checks. 2014-07-29 14:41:38 +02:00
Ingvar Stepanyan
67615ffd41 Simplified newline check in strings. 2014-07-29 14:41:38 +02:00
Ingvar Stepanyan
1955e94925 Removed keywords that are not actual keywords
as per https://people.mozilla.org/~jorendorff/es6-draft.html#sec-keywords in favor of "magic" identifiers.
2014-07-29 14:41:33 +02:00
Ingvar Stepanyan
82b9f30fc9 Allow some keywords to be treated as identifier names; update ecmaVersion in benchmark. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
eb7ccea743 Stricter tokVal -> tokType comparisons. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
a061f1f0a6 Updated README and bin utility to be aware of ES6 support. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
3ee9e288a2 Forbid spread element in sequence expressions. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
8f96965d36 Added yield support (completed generators). 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
b8a3300a21 Added function * support (part of generators feature). 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
4f24e13fd5 Added template string support. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
a8cf37fc46 Test fixes for imports. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
26818e1f36 Removed module-related tests and implemented corresponding alternatives support.
`module ModuleName { ... }` was removed from spec in favor of separate files.
`module LocalName from '...'` is being replaced with `import * as LocalName from '...'` as per http://jsmodules.io/ and https://twitter.com/domenic/status/492735387140243456 (c) @domenic.
2014-07-29 14:41:29 +02:00
Ingvar Stepanyan
b38c15a94b Added export declaration support.
See http://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports, ariya/esprima#216, square/es6-module-transpiler#63 for latest decisions on `export default 42` vs `export default = 42` (first wins, so returning AST as it was in older Esprima Harmony and used by https://github.com/square/es6-module-transpiler/).
2014-07-29 14:41:24 +02:00
Ingvar Stepanyan
f2dfeff977 Added test for BindingPattern inside ArrayComprehension
(fails in esprima - https://code.google.com/p/esprima/issues/detail?id=570).
2014-07-29 14:41:18 +02:00
Ingvar Stepanyan
bcc97e2d52 Array Comprehensions as per latest ES6 drafts. 2014-07-29 14:41:18 +02:00
Ingvar Stepanyan
dd37866fdb Added backward-compatible test that object properties have type of "Property".
(Better fix for Constellation/estraverse#4, Constellation/escodegen#80 and similar bugs)
2014-07-29 14:41:10 +02:00
Ingvar Stepanyan
648f3159cc Added for (..of..) support and guard against for (let var=.. in|of ..) loops. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
8b0be7cec9 Improved destruction assignment guards. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
0f56e32512 Object shorthand properties; small fixes to ES6 function parameters. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
50a82135c4 Recursive destructuring assignment with function arguments name clash checks. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
66e6bcd10f Assignable patterns. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
9b697af803 Destructuring assignments. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
5ab6837208 Workaround for joyent/node#3584. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
7c34bb34ce Exit should wait for stdout (joyent/node#1669). 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
3779ed41a4 Added exit code 1 for failed test session. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
f7fe322490 Better parentheses check for arrow expression argument list. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
1f801001cf ArrowExpression rest parameter support, brackets check and test fixes. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
5d50be1447 Removed dirty hack in favor of fixed expected locations for arrow and method functions (node's location should include arguments). 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
19696af666 Added computed properties support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
1d3810dcdb Turned on Travis CI. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
44a4f8c016 Added ES6 classes support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
eadda16c42 Added SpreadElement support.
testFail message fixes for object methods.
2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
67bca2d549 Added object method support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
48f6ea8e63 Force LF endings in code. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
a5cf393134 Fixed testFail messages for character escape sequences. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
2db14fbb08 Checking argument names clash in strict mode for arrow functions.
Some more testFail message fixes.
2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
47c4196d41 Some testFail message fixes. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
16b9ba5db0 Fixed parsing x => 1, 2 like expressions. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
757545a612 Basic ES6 Arrow Expressions support.
Added Property type to ObjectExpression properties.
Reserved ES6 properties in Property type.
2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
12ac95732d Added ES6-specific Function properties. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
839338b270 Added octal and binary number support; added ES6 version checks. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
a31bad6773 ES6 Unicode Code Point Escape Sequence support. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
47587e6e9b Turned on location tracking for harmony tests. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
88e355a6ae Converted esprima's harmony tests. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
937350dd84 Updated esprima and added harmonytest.js from ariya/esprima@2bb17ef9a4. 2014-07-29 14:41:08 +02:00
Marijn Haverbeke
7ac7d8fa5e Add an AUTHORS list 2014-07-29 14:33:33 +02:00
Marijn Haverbeke
14bd14088a Remove bogus copy-pasted chunk from LICENSE 2014-07-29 12:37:36 +02:00
Johannes Herr
3d35d067a8 Removed some dead code in parseThrowStatement 2014-07-24 15:51:00 +02:00
Marijn Haverbeke
3d444e8eca Update docco output for df9eda514a 2014-07-15 18:35:09 +02:00
Mathias Bynens
df9eda514a Add a script that generates the regular expressions for identifiers 2014-07-15 18:33:01 +02:00
Marijn Haverbeke
caeaf37c31 Fix another bogus piece of code from 31e77b975e 2014-06-17 11:08:12 +02:00
Marijn Haverbeke
c1b2742ee7 Bump version number post 0.6 2014-06-06 22:42:22 +02:00
Marijn Haverbeke
4435013900 Mark version 0.6.0 2014-06-06 22:42:03 +02:00
impinball
29feccf3cd Split up parseStatement()
It was purely interpreted by the V8 engine. Splitting it up allows the
individual pieces to be optimized, so less is interpreted.
2014-06-06 12:40:32 +02:00
Marijn Haverbeke
55b507b715 Note partial es6 support in docs 2014-06-06 12:11:20 +02:00
Artem Govorov
1e5bfc2c55 ecma 6 partial support: let and const 2014-06-06 12:10:09 +02:00
Marijn Haverbeke
3a34f7ba8c Add note about browser compatibility to README
Closes #105
2014-06-04 22:51:05 +02:00
Marijn Haverbeke
7f0f07e1f9 Check duplicate argument names for rest params
Issue #79
2014-05-28 23:24:10 +02:00
PlNG
dccd45528a Minor: Remove unused argument from readToken_slash
Possible dev relic.

readToken_slash currently does not have any arguments and does not appear to look at arguments. All existing tests pass after removal of extraneous argument while calling readToken_slash.
2014-05-28 22:27:41 +02:00
Marijn Haverbeke
5dcd50447b Clean up previous patch
Issue #100
2014-05-15 10:38:28 +02:00
impinball
31e77b975e Add option: --
Had a few bugs in the initial patch request (#98) as well...

Also, fixed the help() command to print to stderr on nonzero exit statuses given.
2014-05-15 10:32:32 +02:00
Brandon Mills
5552e866f9 Support rest parameters
http://wiki.ecmascript.org/doku.php?id=harmony:rest_parameters
The final parameter to a function is a rest parameter if it is
prefixed by "...". FunctionExpression and FunctionDeclaration
nodes have a new "rest" property that is null if there is no
rest parameter, or contains an Identifer for the parameter.
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API#Functions

Implemented by adding a new token, `_ellipsis`, which consists of
three dots. Modified the body of parseFunction to allow a single
rest parameter at the end of an argument list. Both the token and
the rest parameter require `options.ecmaVersion` >= 6, otherwise
three dots are tokenized as three dots.
2014-05-08 07:46:47 +02:00
Conrad Irwin
2de16b8cb0 [loose parser] Fix interpretation of f."
Before this the ast produced by parse_dammit crashed in the following
code, as Uglify correctly noticed that f."" is invalid.

    sample = 'f."';

    loose = require('acorn/acorn_loose');
    uglify = require('uglify-js');

    out = new uglify.OutputStream();
    ast = loose.parse_dammit(sample);
    ast = uglify.AST_Node.from_mozilla_ast(ast);
    ast.print(out);
    // TypeError: Cannot call method 'toString' of undefined
    // member_exp.computed = false && member_exp.property == ""

    console.log(out.toString());

After this the round-tripped AST looks like: `t.✖;"";`, which is
consistent with how `foo.{` is parsed.

I also considered making it parse as t[""], but as this only turns up in
the wild when people try to use multiline strings, I felt it was better
to be obviously wrong.
2014-04-17 23:03:18 +02:00
Charles Hughes
6f41a2215d Updates license year 2014-03-25 17:50:49 +01:00
Marijn Haverbeke
4869ccfa55 Prevent loose parser from tripping on invalid regexps
Issue #39
2014-03-25 17:45:58 +01:00
Marijn Haverbeke
93124c9eb8 Don't export Node from loose parser, reuse existing Node's proto
Issue #92
2014-03-25 17:31:03 +01:00
Marijn Haverbeke
e5439847fd Rename remaining *_t constructors to something sane 2014-03-25 17:29:17 +01:00
David Bonnet
7b9a46710d Renamed node_t to Node and exported it
This is to let programmers extend the Node object with utility methods
2014-03-25 17:23:30 +01:00
Marijn Haverbeke
e282ee4c01 Bump version number post-0.5 2014-03-12 17:32:17 +01:00
Marijn Haverbeke
a09455d2bf Mark version 0.5 2014-03-12 17:25:55 +01:00
Peter Rust
954ddac8b9 [walker] Supply ancestors to visitor functions 2014-02-28 17:53:39 +01:00
Marijn Haverbeke
5bd50cce6f Don't complain about reserved words in property name position
Also add forbidReserved: "everywhere" support.

Issue #85
2014-02-14 11:27:48 +01:00
Marijn Haverbeke
716ade22fb Add allowReturnOutsideFunction option
Issue #86
2014-02-14 09:55:05 +01:00
Marijn Haverbeke
d55b6dee4a Update lastEnd in tokenizer interface
The hack for parsing --> depends on it.

Closes #84
2014-01-17 10:09:15 +01:00
Marijn Haverbeke
d973261940 [loose parser] Make sure VariableDeclaration nodes have at least one decl
Closes marijnh/tern#255
2013-12-09 17:55:16 +01:00
Marijn Haverbeke
e6ff440e9f [walker] Handle catch scopes more accurately in scopeVisitor 2013-11-28 16:56:14 +01:00
Marijn Haverbeke
b1623b10c1 Note non-reentrancy of parser in onComment docs
Closes #80
2013-11-20 10:59:12 +01:00
Marijn Haverbeke
baaa16cee7 Make sure syntax errors in regular expressions raise conforming exceptions
Just letting the error from new RegExp through creates an exception missing the
pos/loc/raisedAt properties.

Issue #82
Issue #81
2013-11-20 10:56:28 +01:00
Marijn Haverbeke
dd456e3ad5 Fix bug causing comments after 'use strict' to be handled twice
Closes #76
2013-11-11 11:25:59 +01:00
Marijn Haverbeke
cb79f13d3d [README] Search/replace gone bad 2013-11-04 16:53:28 +01:00
Marijn Haverbeke
6be7a84649 Work around broken Markdown implementation on github
Not that I can blame anyone for making mistakes implementing a
poorly specified mess like markdown.
2013-11-04 16:52:34 +01:00
Marijn Haverbeke
5ec47cf80d Rewrite README 2013-11-04 16:43:07 +01:00
Aparajita Fishman
3b05fcf16c docco is wonderful, but it isn't exactly the most concise way of figuring out how to use acorn. Here's a real README.
Fixed a typo in the options comments.
2013-11-04 15:39:22 +01:00
Marijn Haverbeke
456f099cbe Bump version for added option 2013-10-15 13:12:07 +02:00
Marijn Haverbeke
356e0be759 Add directSourceFile option 2013-10-15 13:08:56 +02:00
Aparajita Fishman
824eb798f9 More descriptive names for binop token type 2013-10-12 18:04:09 +02:00
Aparajita Fishman
9ff4981ca2 More concise way of slicing off the last character 2013-10-12 18:00:19 +02:00
Aparajita Fishman
6e6c7b0af4 Just being consistent with quote usage 2013-10-10 23:45:40 +02:00
Marijn Haverbeke
987fb51feb Bump version number post-0.4.0 2013-10-10 10:41:19 +02:00
Marijn Haverbeke
1ed25992a7 Mark release 0.4 2013-10-10 10:40:31 +02:00
Aparajita Fishman
389c9b225b Fixed: tokLineStart and tokCurLine have no meaning if options.locations is false.
Everywhere else (except one place which is a bug) those variables only appear within an `if (options.locations)` block.
2013-10-10 09:59:16 +02:00
Marijn Haverbeke
b7972ad95c Remove invalid of tokLineStart
This is only tracked when locations are on, so it can't be used
unconditionally.

Closes #71
2013-10-10 09:58:23 +02:00
Aparajita Fishman
6fd79e50fb Fixed: skipSpace did not consider 8232 and 8233 as eol, but elsewhere it was.
Both readString and skipLineComment considered 8232/8233 as eol, but skipSpace itself would not increment the line counters if they were found.

Previously 8232/8233 were listed in nonASCIIwhitespace, but since that is only used within skipSpace and those values are checked separately, they could be removed from nonASCIIwhitespace.
2013-10-08 16:33:40 +02:00
Marijn Haverbeke
22c3161b6e Fix wrong end position for VariableDeclaration nodes
It should include the semicolon.

Closes #67
2013-10-02 20:39:51 +02:00
Aparajita Fishman
b7417cec8c Just want to be a little clearer what is happening to the node var declared earlier. 2013-10-01 17:33:01 +02:00
Marijn Haverbeke
83bfd6c536 Different approach to working around html comment issue 2013-09-11 12:23:25 +02:00
Marijn Haverbeke
3d932fcfba Add .gitignore and .tern-project 2013-09-09 22:11:12 +02:00
Marijn Haverbeke
36d001a4be Work around docco leaving in a <!-- comment start
Closes #66
2013-09-09 22:10:24 +02:00
Martin Carlberg
ba8da57d16 Use correct paragraph separator for newline
0x2089(8329) is Subscript nine
0x2028(8232) is Line separator
0x2029(8233) is Paragraph separator
2013-09-09 11:35:33 +02:00
Marijn Haverbeke
b998d5e22d Add support for bizarro <!-- and --> behavior
Issue #62
2013-09-06 10:52:04 +02:00
Aparajita Fishman
411b29791b Formatting
Just being consistent.

In every other place where a between comparison is done, the lower limit is on the left. It's a whole lot easier to see it's a between comparison when the limits are in order.
2013-09-05 10:33:03 +02:00
Aparajita Fishman
cfbbeebe8b Fixed: replace absolute with relative require, remove unsupported --trackComments from usage.
Unless I'm missing something, the simple relative path "../acorn.js" is exactly equivalent to the absolute path being constructed in the old code.
2013-09-03 17:51:46 +02:00
Marijn Haverbeke
c152be4a2e Improve error message for ++/re/
Closes #54
2013-08-28 16:22:30 +02:00
Marijn Haverbeke
6659f7a033 Fix special case to handle regexps that start with =
Closes #55
2013-08-28 10:35:21 +02:00
Marijn Haverbeke
2ace0fa8dc Further refine parseExprList indentation heuristic
Closes marijnh/tern#221
2013-08-27 12:52:02 +02:00
Marijn Haverbeke
6113324cd2 Fix bug with parsing slash after operator-keyword property
Closes #53
2013-08-25 15:01:20 +02:00
Jürg Lehni
097b4162da Pass on 'this' as root scope, for better inclusion of Acorn inside Paper.js
Use same approach as Esprima.
2013-07-26 08:59:07 +02:00
Jiaxing Wang
a84e21e0ff Line number start from 1 after getToken.jumpTo() 2013-07-11 12:28:58 +02:00
Jiaxing Wang
16b54e0698 parseMaybeUnary() doesn't need parameter @noIn 2013-07-11 08:20:05 +02:00
Jiaxing Wang
567f3ca32a Remove redundant if conditions that are tested above 2013-07-11 08:20:04 +02:00
Marijn Haverbeke
328d0e514c Linting 2013-07-08 09:07:10 +02:00
Marijn Haverbeke
d3b9eb177a Always attach a guardedHandlers property to TryStatements
Closes #48
2013-07-08 09:03:23 +02:00
Marijn Haverbeke
67c48229b9 Bump version number post-0.3.1 2013-06-11 12:44:35 +02:00
Marijn Haverbeke
d2673d465a Release 0.3.1 to fix release-making-script screwup in 0.3.0 2013-06-11 12:43:56 +02:00
Marijn Haverbeke
7e248c7e3b Mark release 0.3.0 2013-06-11 12:41:03 +02:00
Marijn Haverbeke
2372b12df7 [loose parser] Refine closing heuristic for expression lists
Issue marijnh/tern#171
2013-06-10 18:02:17 +02:00
Marijn Haverbeke
3ca3aa5a25 Run a lint pass, clean up lots of small issues 2013-06-10 16:52:22 +02:00
Marijn Haverbeke
6fe123947b Prefix keywords with underscore in tokTypes object 2013-06-10 15:47:29 +02:00
Marijn Haverbeke
314327537a Add charset to script link that includes test suite
So that browsers don't get confused by the utf-8 sequences.
2013-06-08 20:36:50 +02:00
Marijn Haverbeke
adf16e33c0 Don't assume options object has a hasOwnProperty method
Closes #43
2013-06-08 20:36:44 +02:00
Marijn Haverbeke
c979446572 [package.json] Use 'repository' rather than 'repositories' field
Apparently the second is no longer supported in npm 1.2 (?).

Closes #42
2013-05-21 14:36:49 +02:00
Marijn Haverbeke
38f0e80547 Include diacritical combining marks in identifier character set
Closes marijn/tern#157
2013-05-21 09:07:50 +02:00
Marijn Haverbeke
6dd35f870a [loose parser] Fix bug in continued-expression closing
When the continued expression sat on column 1 after a non-whitespace char,
the heuristic would consider it the start of the line, even though it wasn't.

Issue marijnh/tern#141
2013-05-15 12:03:00 +02:00
Marijn Haverbeke
9eee5300db [loose parser] Less aggressive termination heuristic for comma-separated lists
See https://github.com/marijnh/tern/issues/118
2013-05-08 15:21:25 +02:00
Marijn Haverbeke
4d8eeabf52 In browser loader, refer to global object as 'this', not 'self'
Closes #41
2013-05-08 15:16:06 +02:00
Marijn Haverbeke
df763df61b Bump version number post-0.2 2013-05-03 11:54:04 +02:00
Marijn Haverbeke
4146605738 Mark version 0.2.0 2013-05-03 11:52:42 +02:00
Marijn Haverbeke
30b399ece7 Export isIdentifierChar and isIdentifierStart 2013-04-24 07:44:11 +02:00
Marijn Haverbeke
f3c70d76ef Remove assignment to non-existing var 2013-04-03 15:05:00 +02:00
Marijn Haverbeke
cc12062b9c [loose parser] Fix a whole bunch of issues in the options.locations support
Closes #40
2013-04-02 13:47:50 +02:00
Marijn Haverbeke
62bc3641af Use a single .handler property on TryStatements
As the wiki page for the spec currently seems to prescribe.
2013-04-02 09:30:35 +02:00
Paul Harper
a6b3034e71 [loose parser] More fixes to locations 2013-03-27 10:57:48 +01:00
Marijn Haverbeke
54e78b7035 Properly back up line state when re-reading a token on strict mode
Issue #38
2013-03-25 15:10:55 +01:00
Oskar Schöldström
a8a24f538b Fix \v being treated as v in IE < 9
IE < 9 treats '\v' as 'v' instead of a vertical tab ('\u000b').
Read more: http://mathiasbynens.be/notes/javascript-escapes
2013-03-23 19:18:28 +01:00
Marijn Haverbeke
76be1f8eee Make Acorn work with AMD modules
(Hopefully)
2013-03-17 22:56:49 +01:00
Paul Harper
559518acc8 .parse_dammit() now recognizes the locations option, and will add a loc object to the ast nodes as .parse() does 2013-03-17 22:07:14 +01:00
Marijn Haverbeke
38179fd855 Fix node boundaries for unexpected regular expressions
Closes #33
2013-02-28 19:28:20 +01:00
Marijn Haverbeke
0b10aa2256 Add walk.findNodeBefore 2013-02-28 19:27:29 +01:00
Marijn Haverbeke
83cdcf7dbf Remove outdated option from bin/acorn 2013-02-27 09:59:42 +01:00
zsjforcn
173d94f019 [package] Add "bin" property to package.json for npm to auto generate exection files. 2013-02-27 09:39:09 +01:00
Marijn Haverbeke
9a55d60324 Move back to regular string accumulation in readString
The apply call is a stack overflow hazard.

Closes #31
2013-02-24 21:26:09 +01:00
Marijn Haverbeke
b1845b51b1 [util/walk] Add findNodeAfter 2013-02-24 21:25:25 +01:00
Marijn Haverbeke
72d2fc2644 Fix start offset of block nodes 2013-02-20 10:48:36 +01:00
Marijn Haverbeke
782259bea1 [loose parser] Fix bug where peeked tokens persist across parses 2013-02-14 14:05:54 +01:00
Marijn Haverbeke
adcb354498 [walker] Fix broken handling of node predicates 2013-02-14 14:02:48 +01:00
Marijn Haverbeke
006d5f1c04 Bump version post-0.1 2013-02-14 10:02:27 +01:00
Marijn Haverbeke
c108741d07 Mark release 0.1 2013-02-14 10:00:19 +01:00
Marijn Haverbeke
da83f80d29 Allow passing a test predicate to findNodeAt and findNodeAround 2013-02-12 17:35:04 +01:00
Marijn Haverbeke
76c41d3a71 [loose parser] Improve closing heuristic in parseExprList 2013-02-06 13:47:05 +01:00
Marijn Haverbeke
82980794a9 Fix bug in expression-terminating heuristic
Dedented tokens should only end an expression if they are actually the first
token on the line.

This to prevent code like this from going wrong:

    x = (function(..) {
      blah();
    })(); // <-- indented same as start of expression
2013-02-05 13:49:51 +01:00
Marijn Haverbeke
d98e378590 Store default walker in exports.base, rather than exports itself
My initial idea, that client code would constantly need to access the individual
walker functions directly, isn't actually the case. This prevents unnecessary copying
of other interface functions into walkers.
2013-01-30 19:11:27 +01:00
Alistair Braidwood
0632b36c94 Improve options.locations performance by tracking newlines rather than finding them 2013-01-30 17:30:38 +01:00
Marijn Haverbeke
87a6a5a8cd Clean up readNumber, fix parsing of '2.+2'
Issue #9
2013-01-30 16:38:31 +01:00
Marijn Haverbeke
792fa96e93 Add walk.findNodeAround 2013-01-28 17:17:51 +01:00
Marijn Haverbeke
1de79a277c [loose parser] Refine block-closing heuristics, add expression-continuing heuristics 2013-01-28 16:43:19 +01:00
Marijn Haverbeke
e95c4cce50 Add walk.findNodeAt utility 2013-01-28 13:00:08 +01:00
keeyipchan
44f7aff2b7 Add testAssert() for arbitrary tests; fix skinLineComments() passing off-by-1 character to onComment(slice(.., end)) 2013-01-27 10:09:06 +01:00
Marijn Haverbeke
17a0094694 [loose parser] Improve recovery from unterminated strings and regexps 2013-01-17 15:01:13 +01:00
Marijn Haverbeke
f8bcc75378 [loose parser] Fix typo 2013-01-17 14:49:20 +01:00
Marijn Haverbeke
e130dc3fbb [loose parser] Use ✖ rather than question mark for placeholders
This way, attempts to re-parse the pretty-printed code won't
be confused by the question marks.
2013-01-17 14:45:16 +01:00
Marijn Haverbeke
207bf64e8d [loose parser] Revise strategy for forcing token consumption
It's easier and more flexible to simply handle it at the call site.
2013-01-17 14:44:00 +01:00
Marijn Haverbeke
b8ec8aab2c [loose parser] Fix bug in argument list parsing 2013-01-17 14:17:22 +01:00
Marijn Haverbeke
7d73fe243a Upgrade Esprima 2013-01-17 14:17:10 +01:00
Marijn Haverbeke
1d974ce2b6 [loose parser] Several small tweaks 2013-01-16 19:09:06 +01:00
Marijn Haverbeke
d08144c1d7 [loose parser] Support tabSize option 2013-01-16 17:53:37 +01:00
Marijn Haverbeke
3981dfa133 [loose parser] Add note about imprecision 2013-01-16 17:43:27 +01:00
Marijn Haverbeke
a2788f8864 [loose parser] Make expect check two tokens ahead if it fails to find its target 2013-01-16 17:38:56 +01:00
Marijn Haverbeke
038e438949 Add a loose parser
For getting a halfway meaningful AST out of code that may contain
syntax errors.

Use case: analyzing code as the user is editing it.
2013-01-16 17:27:28 +01:00
Marijn Haverbeke
965166cdfd Small fixes noticed while going over the when writing loose parser 2013-01-16 16:47:21 +01:00
Marijn Haverbeke
4d2d8408de Export the tokenizer 2013-01-16 12:46:26 +01:00
Marijn Haverbeke
c2dd92fec0 Attach position information to errors 2013-01-16 12:20:19 +01:00
Marijn Haverbeke
3c2bd590da Fix regexp detection after void/typeof/instanceof/delete 2013-01-15 15:58:16 +01:00
Marijn Haverbeke
8104257495 Bump version to 0.0.2 2013-01-13 22:05:46 +01:00
Marijn Haverbeke
cade51347a Remove trackComments, add onComment option
trackComments was too obscure and complicated, and not all that useful.
2013-01-13 22:04:45 +01:00
Martin Carlberg
5e4ea00f3c Unnecessary 'if' as we already know 'ch !== 92' 2013-01-09 10:13:26 +01:00
Marijn Haverbeke
e6485e61fd [walker] Allow recursive walks without building a new walker obj 2013-01-08 13:17:37 +01:00
Marijn Haverbeke
cc5971f617 Formatting 2013-01-04 09:37:21 +01:00
Arian Stolwijk
f6e0182a3a Fixes sourceFile option.
When setting the .prototype.source the sourceFile variable is undefined, and
setting the sourceFile option doesn't change the .source property on the
prototype anymore.

By setting the .source property inside the node_loc_t constructor, the correct
sourceFile is set in the loc object.
2013-01-04 09:32:43 +01:00
Alistair Braidwood
3d0f85d616 line_loc type for v8 perf 2012-12-30 12:46:54 +01:00
Alistair Braidwood
c8eb50fabe create node 'class' - improve v8 performance 2012-12-30 12:46:45 +01:00
Alistair Braidwood
2bad03e654 reduce array creation in readString 2012-12-30 12:27:13 +01:00
krator
5b19196bac Give true/false/null literals a raw property
In the generated ast, "null"/"true"/"false" are "Literal" nodes.
As every "Literal" node has a 'raw' property,
When i am doing something with the ast using python,
the 3 "Literal"s caused some problem.
make the 3 "Literal"s have 'raw' property.
2012-12-24 14:26:03 +01:00
Marijn Haverbeke
f58bb9a480 Use 'self' instead of 'window' in browser, in order to work in a web worker 2012-11-29 10:08:32 +01:00
Marijn Haverbeke
d36c70bbbf Add missing labels.pop() to allow re-using labels in a block
Issue #15
2012-11-22 10:11:00 +01:00
Marijn Haverbeke
5c44c13465 Make sure readInt doesn't try to read past len, if given
Issue #15
2012-11-22 10:07:19 +01:00
Marijn Haverbeke
5771c8b4b2 Add missing semicolon() calls to debugger and throw statement parsers
Issue #5
2012-11-22 09:48:01 +01:00
Marijn Haverbeke
74536b9eb7 Remove test that raised error from the JS engine's RegExp parser 2012-11-21 14:38:21 +01:00
Marijn Haverbeke
4229ef792e Give readToken sub-functions meaningful names 2012-11-20 16:58:57 +01:00
Alistair Braidwood
04a69abae0 Split readToken to smaller functions 2012-11-20 16:58:57 +01:00
Marijn Haverbeke
4c650ad16b Add an acorn-only button to bench.html 2012-11-20 16:58:57 +01:00
Marijn Haverbeke
905124c291 Assign parenthesized expressions a range that includes the parens
This way, composite expressions that they are part of won't get bogus
unsyntactic substrings as their range (i.e. in '(1)+1', the binop expression
would span '1)+1').

Closes #14
2012-11-18 21:17:49 +01:00
Marijn Haverbeke
f91d7f5836 [walker] Allow custom fields to be added to new walkers
Issue #13
2012-11-08 21:07:48 +01:00
Marijn Haverbeke
cb6cd3038e Make the walker's scope module use objects for variables
So that subsequent passes can attach and retrieve information
from them.
2012-11-07 12:15:32 +01:00
Marijn Haverbeke
3ba6913d30 Comment walker module 2012-11-06 11:10:58 +01:00
Marijn Haverbeke
043386067a Stop accumulating line comments when trackComments is off 2012-11-05 22:39:22 +01:00
Marijn Haverbeke
b660ff6d1c Add an AST walker utility 2012-11-05 22:32:39 +01:00
Marijn Haverbeke
16f8259dab Don't allow keywords as properties when forbidReserved is on 2012-11-05 22:25:57 +01:00
Marijn Haverbeke
b591c41513 Actually make strictSemicolons forbid all semicolon insertion 2012-11-05 22:25:40 +01:00
Marijn Haverbeke
5d83150951 Attach .raw property to literal nodes 2012-11-02 16:35:09 +01:00
Marijn Haverbeke
93d4a31abb Upgrade Esprima 2012-10-19 10:31:55 +02:00
Marijn Haverbeke
48bbcd9437 Restore nonasciiwhitespace regexp
It won't make any difference except in really strange code.
2012-10-19 10:10:53 +02:00
Alistair Braidwood
b3366233d3 skipLineComment 2012-10-19 10:05:59 +02:00
Alistair Braidwood
b38a98ffd2 skipSpace 2012-10-19 10:04:51 +02:00
Marijn Haverbeke
906a8b8e5b Simplify an if/switch combo to just a switch 2012-10-19 09:58:08 +02:00
Alistair Braidwood
5fa1f088cb readString 2012-10-19 09:53:11 +02:00
Alistair Braidwood
9bdbbaaf96 isIdentifierChar to numeric 2012-10-19 09:50:08 +02:00
abraidwood
c20cdbf8fc rearrange isIdentifierStart 2012-10-19 09:47:38 +02:00
Marijn Haverbeke
6b52dc8a84 Disallow newline after throw
Closes #11
2012-10-18 15:50:07 +02:00
Marijn Haverbeke
daefc220da Require a semicolon after do/while 2012-10-17 23:09:15 +02:00
Marijn Haverbeke
e3514627a4 Add funky newlines to nonASCIIwhitespace 2012-10-17 23:02:48 +02:00
Marijn Haverbeke
330084f993 Make 'this' a proper keyword 2012-10-17 16:34:00 +02:00
Marijn Haverbeke
96d911a30f Properly parse 10. as a valid number
Closes #9
2012-10-12 23:34:11 +02:00
Marijn Haverbeke
d198b7ed64 Upgrade Esprima and UglifyJS in benchmark comparison 2012-10-12 23:27:59 +02:00
Marijn Haverbeke
eb888141fd Add 'ranges' option to support range arrays on nodes
Closes #7
2012-10-12 23:19:04 +02:00
Marijn Haverbeke
fb003fff3a Document program and sourceFile options 2012-10-12 23:13:26 +02:00
Marijn Haverbeke
07152c41c4 Use 'new Function' instead of '(1, eval)'
In the hope that it'll be less confusing.
2012-10-12 23:09:23 +02:00
Mihai Bazon
feaa7df563 added sourceFile and program options to parse
- if `program` is given, it'll be used as the toplevel node, instead of
  creating a new node, and statements will be added to its body
- if `sourceFile` is given and `locations` is ON, it'll set the `source`
  property in every node's `loc`.
2012-10-12 23:06:44 +02:00
Marijn Haverbeke
b5e580a876 Properly enable strict mode
Closes #8
2012-10-06 12:32:45 +02:00
Marijn Haverbeke
0590d12240 Accept \0 in strings in strict mode
Closes #3
2012-10-03 22:18:52 +02:00
Mathieu 'p01' Henri
bb6687e3d1 Stricter lineBreak regexp
Checking for `\r\n?` is redundant with the `|[\n\r\u2028\u2029]`, better straighten the regexp and check for `\r\n|[\n\r\u2028\u2029]`. This might even be a itsy bitsty bit faster.
2012-10-03 11:08:27 +02:00
Marijn Haverbeke
7feb14c0ea Add a shell interface 2012-10-03 11:04:26 +02:00
Marijn Haverbeke
0820a593a6 Handle break-to-labeled-non-loop
Closes #1
2012-10-03 10:25:53 +02:00
Marijn Haverbeke
e864318883 Fix bug in benchmark
Since previous commit, Acorn is no longer properly benchmarked
when locations are on.
2012-10-02 20:22:02 +02:00
Marijn Haverbeke
4472608994 Write test status to dom rather than console 2012-10-02 18:03:22 +02:00
Marijn Haverbeke
5db60dcac9 Conform to Moz spec with regards to loc properties 2012-10-02 18:01:32 +02:00
Marijn Haverbeke
b39c337694 Extend benchmark page 2012-10-02 17:32:00 +02:00
Marijn Haverbeke
6f4e7fd502 Extend benchmark page 2012-10-02 17:17:00 +02:00
Marijn Haverbeke
30b348728c Typo in docs 2012-10-02 16:20:48 +02:00
Marijn Haverbeke
4cbe2afae5 Add docco output 2012-10-02 16:17:48 +02:00
Marijn Haverbeke
42d0c4535a More or less finish comments 2012-10-02 16:14:18 +02:00
Marijn Haverbeke
32e62f1cfc Partial parser comments 2012-10-02 10:14:57 +02:00
Marijn Haverbeke
237bfbfb9b Comment tokenizer 2012-10-02 08:44:41 +02:00
Marijn Haverbeke
60178c3d68 Shuffle parseExprAtom for expected probabilities 2012-09-24 22:06:44 +02:00
Marijn Haverbeke
092a524f43 Fix bug in number parser 2012-09-24 21:34:42 +02:00
Marijn Haverbeke
ec27961703 Less reliance on regexps, more on hacks 2012-09-24 16:15:33 +02:00
Marijn Haverbeke
a1d9587519 Add esprima and uglifyjs to compare against 2012-09-24 13:40:48 +02:00
Marijn Haverbeke
61906485a1 Add a README 2012-09-24 12:10:30 +02:00
Marijn Haverbeke
56b7db4e96 Add temp index page 2012-09-24 12:03:23 +02:00
Marijn Haverbeke
a46f0012ed Add package.json 2012-09-24 11:50:18 +02:00
Marijn Haverbeke
820f148002 Add LICENSE file 2012-09-24 11:50:10 +02:00
Marijn Haverbeke
03d95cda2c Make tests runnable under node 2012-09-24 11:50:03 +02:00
Marijn Haverbeke
587c790f7b Add esprima-derived tests, trivial benchmark 2012-09-24 11:42:01 +02:00
Marijn Haverbeke
aedcd4e12f Initial import 2012-09-24 10:48:45 +02:00
10158 changed files with 405066 additions and 15417 deletions

View File

@@ -31,27 +31,34 @@ function istanbulHacks() {
}
let envOpts = {
loose: true
loose: true,
exclude: ["transform-typeof-symbol"],
};
module.exports = {
const config = {
comments: false,
presets: [
["env", envOpts],
"stage-0",
"flow"
["@babel/env", envOpts],
"@babel/flow"
],
env: {
cov: {
auxiliaryCommentBefore: "istanbul ignore next",
plugins: [istanbulHacks]
}
}
plugins: [
["@babel/proposal-class-properties", { loose: true }],
"@babel/proposal-export-namespace",
"@babel/proposal-numeric-separator",
["@babel/proposal-object-rest-spread", { useBuiltIns: true}],
]
};
if (process.env.BABEL_ENV === "cov") {
config.auxiliaryCommentBefore = "istanbul ignore next";
config.plugins.push(istanbulHacks);
}
if (process.env.BABEL_ENV === "development") {
envOpts.targets = {
node: "current"
};
envOpts.debug = true;
}
module.exports = config;

View File

@@ -20,6 +20,9 @@ experimental/babel-preset-env/data
experimental/babel-preset-env/test/debug-fixtures
packages/babel-standalone/babel.js
packages/babel-standalone/babel.min.js
packages/babylon/build
packages/babylon/scripts
packages/babylon/test/expressions
# Prettier tries to insert trailing commas in function calls, which Node.js
# doesn't natively support. This causes an error when loading the Gulp tasks.

View File

@@ -5,7 +5,8 @@
],
"rules": {
"curly": ["error", "multi-line"],
"prettier/prettier": ["error", { "trailingComma": "es5" }]
"prettier/prettier": ["error", { "trailingComma": "es5" }],
"no-case-declarations": "error"
},
"env": {
"node": true,

View File

@@ -1,4 +1,5 @@
[ignore]
.*/build/.*
.*/packages/.*/lib
.*/packages/.*/test
.*/codemods/.*/lib
@@ -21,4 +22,8 @@ lib/third-party-libs.js.flow
[options]
suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe
suppress_comment= \\(.\\|\n\\)*\\$FlowIssue
suppress_comment= \\(.\\|\n\\)*\\$FlowIgnore
suppress_type=$FlowFixMe
suppress_type=$FlowSubtype
esproposal.export_star_as=enable
module.name_mapper='^@babel\/\([a-zA-Z0-9_\-]+\)$' -> '<PROJECT_ROOT>/packages/babel-\1/src/index'

View File

@@ -26,7 +26,7 @@ Choose one: is this a bug report or feature request?
var your => (code) => here;
```
### Babel Configuration (.babelrc, package.json, cli command)
### Babel/Babylon Configuration (.babelrc, package.json, cli command)
<!--- If describing a bug, tell us what your babel configuration looks like -->
```js
@@ -57,6 +57,7 @@ var your => (code) => here;
| software | version(s)
| ---------------- | -------
| Babel |
| Babylon | <!-- This is only needed if you are using Babylon directly -->
| node |
| npm |
| Operating System |

View File

@@ -1,5 +1,5 @@
<!--
Before making a PR please make sure to read our contributing guidelines
<!--
Before making a PR please make sure to read our contributing guidelines
https://github.com/babel/babel/blob/master/CONTRIBUTING.md
For issue references: Add a comma-separated list of a [closing word](https://help.github.com/articles/closing-issues-via-commit-messages/) followed by the ticket number fixed by the PR. It should be underlined in the preview if done correctly.
@@ -8,11 +8,12 @@ For issue references: Add a comma-separated list of a [closing word](https://hel
| Q                       | A <!--(Can use an emoji 👍) -->
| ------------------------ | ---
| Fixed Issues? | `Fixes #1, Fixes #2` <!-- remove the (`) quotes to link the issues -->
| Patch: Bug Fix? |
| Major: Breaking Change? |
| Minor: New Feature? |
| Patch: Bug Fix? |
| Major: Breaking Change? |
| Minor: New Feature? |
| Tests Added + Pass? | Yes
| Documentation PR | <!-- If so, add `[skip ci]` to your commit message to skip CI -->
| Any Dependency Changes? |
| Any Dependency Changes? |
| License | MIT
<!-- Describe your changes below in as much detail as possible -->

8
.gitignore vendored
View File

@@ -3,11 +3,12 @@
/packages/*/node_modules
*.log
*.cache
/build
/.eslintcache
/browser.js
/browser-polyfill.js
/runtime.js
/coverage
coverage
dist
/.package.json
package-lock.json
@@ -15,12 +16,16 @@ package-lock.json
!/packages/babel-runtime/core-js/map.js
/packages/babel-runtime/helpers/*.js
!/packages/babel-runtime/helpers/toArray.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/temporalRef.js
/packages/babel-runtime/helpers/builtin/es6/*.js
!/packages/babel-runtime/helpers/builtin/es6/toArray.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/temporalRef.js
/packages/babel-register/test/.babel
/packages/babel-cli/test/tmp
/packages/babel-node/test/tmp
@@ -31,3 +36,4 @@ packages/babel-standalone/babel.js
packages/babel-standalone/babel.min.js
/codemods/*/lib
/codemods/*/node_modules
/packages/babylon/build

View File

@@ -19,15 +19,25 @@ env:
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
before_script:
- 'if [ "$JOB" = "babylon-flow-tests" ]; then make bootstrap-flow; fi'
- 'if [ "$JOB" = "babylon-test262-tests" ]; then make bootstrap-test262; fi'
script:
- 'if [ "$JOB" = "test" ]; then make test-ci; fi'
- 'if [ "$JOB" = "lint" ]; then make lint && make flow; fi'
- 'if [ "$JOB" = "babylon-flow-tests" ]; then make test-flow-ci; fi'
- 'if [ "$JOB" = "babylon-test262-tests" ]; then make test-test262-ci; fi'
matrix:
fast_finish: true
include:
- node_js: "node"
env: JOB=lint
- node_js: "node"
env: JOB=babylon-flow-tests
- node_js: "node"
env: JOB=babylon-test262-tests
notifications:
slack:

View File

@@ -12,6 +12,7 @@
_Note: Gaps between patch versions are faulty, broken or test releases._
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.
## 6.26.0 (2017-08-16)

View File

@@ -1,5 +1,3 @@
# NOTE: DO NOT OPEN ISSUES FOR QUESTIONS AND SUPPORT. SEE THE README FOR MORE INFO.
----
<p align="center" class="toc">
@@ -19,14 +17,14 @@
# Contributing
> Before contributing, please read our [code of conduct](https://github.com/babel/babel/blob/master/CODE_OF_CONDUCT.md).
Contributions are always welcome, no matter how large or small.
Contributions are always welcome, no matter how large or small. Before
contributing, please read the
[code of conduct](https://github.com/babel/babel/blob/master/CODE_OF_CONDUCT.md).
## 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/babylon/blob/master/ast/spec.md) is a bit different from [ESTree](https://github.com/estree/estree). The differences are listed [here](https://github.com/babel/babylon#output).
- [ASTs](https://en.wikipedia.org/wiki/Abstract_syntax_tree) (Abstract Syntax Tree): The Babel AST [spec](https://github.com/babel/babel/tree/master/packages/babylon/blob/master/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/babylon#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
@@ -117,7 +115,7 @@ $ TEST_ONLY=babel-cli make test
`TEST_ONLY` will also match substrings of the package name:
```sh
# Run tests for the babel-plugin-transform-es2015-classes package.
# Run tests for the babel-plugin-transform-classes package.
$ TEST_ONLY=es2015-class make test
```
@@ -148,7 +146,6 @@ $ BABEL_ENV=cov make build
$ ./scripts/test-cov.sh
```
#### Troubleshooting Tests
In case you're not able to reproduce an error on CI locally, it may be due to
@@ -173,7 +170,7 @@ For example, in [`babel-plugin-transform-exponentiation-operator/test`](https://
- There is an `index.js` file. It imports our [test helper](https://github.com/babel/babel/tree/master/packages/babel-helper-plugin-test-runner). (You don't have to worry about this).
- There can be multiple folders under [`/fixtures`](https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator/test/fixtures)
- There is an [`options.json`](https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-exponentiation-operator/test/fixtures/exponentian-operator/options.json) file whose function is similar to a `.babelrc` file, allowing you to pass in the plugins and settings you need for your tests.
- For this test, we only need the relevant plugin, so it's just `{ "plugins": ["transform-exponentiation-operator"] }`.
- For this test, we only need the relevant plugin, so it's just `{ "plugins": ["@babel/transform-exponentiation-operator"] }`.
- If necessary, you can have an `options.json` with different options in each subfolder.
- In each subfolder, you can organize your directory structure by categories of tests. (Example: these folders can be named after the feature you are testing or can reference the issue number they fix)
@@ -208,8 +205,8 @@ If you need to check for an error that is thrown you can add to the `options.jso
```js
// options.json example
{
"plugins": [["transform-object-rest-spread", { "useBuiltIns": "invalidOption" }]],
"throws": "transform-object-rest-spread currently only accepts a boolean option for useBuiltIns (defaults to false)"
"plugins": [["@babel/proposal-object-rest-spread", { "useBuiltIns": "invalidOption" }]],
"throws": "@babel/proposal-object-rest-spread currently only accepts a boolean option for useBuiltIns (defaults to false)"
}
```
@@ -222,20 +219,33 @@ If the test requires a minimum Node version, you can add `minNodeVersion` (must
}
```
#### `babylon`
Writing tests for Babylon is very
similar to the other packages.
Inside the `packages/babylon/tests/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:
* Create an `actual.js` file that contains the code you want Babylon to parse.
* Add an `expected.json` file with the expected parser output. For added convenience, if there is no `expected.json` present, the test runner will generate one for you.
#### Bootstrapping expected output
For both `babel-plugin-x` and `babylon`, you can easily generate an `expected.js`/`expected.json` automatically by just providing `actual.js` and running the tests as you usually would.
```
// Example
- babylon
- test
- fixtures
- comments
- basic
- block-trailing-comment
- actual.js
- expected.json (will be generated if not created)
- packages
- babylon
- test
- fixtures
- comments
- basic
- block-trailing-comment
- actual.js
- expected.json (will be generated if not created)
```
### Debugging code
@@ -275,8 +285,20 @@ The debugger starts at the first executed line of code, which is Mocha's first l
Click _Resume script execution_ <img src="https://i.imgur.com/TmYBn9d.png" alt="Resume script execution button." width="16"> to jump to the set breakpoint.
Note that the code shown in Chrome DevTools is compiled code and therefore differs.
## Creating a new plugin (`spec-new`)
> Example: https://github.com/babel/babylon/pull/541
- 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/babylon#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/babylon/ast/spec.md)
- [ ] Make sure you use the `this.hasPlugin("plugin-name-here")` check in Babylon 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!
## Internals
- AST spec ([babylon/ast/spec.md](https://github.com/babel/babylon/blob/master/ast/spec.md))
- AST spec ([babylon/ast/spec.md](https://github.com/babel/babel/tree/master/packages/babylon/blob/master/ast/spec.md))
- Versioning ([doc/design/versioning.md](https://github.com/babel/babel/blob/master/doc/design/versioning.md)
- Monorepo ([doc/design/monorepo.md](https://github.com/babel/babel/blob/master/doc/design/monorepo.md))
- Compiler environment support ([doc/design/compiler-environment-support.md](https://github.com/babel/babel/blob/master/doc/design/compiler-environment-support.md))

View File

@@ -10,6 +10,7 @@ const newer = require("gulp-newer");
const babel = require("gulp-babel");
const watch = require("gulp-watch");
const gutil = require("gulp-util");
const filter = require("gulp-filter");
const gulp = require("gulp");
const path = require("path");
const merge = require("merge-stream");
@@ -36,9 +37,11 @@ gulp.task("build", function() {
return merge(
sources.map(source => {
const base = path.join(__dirname, source);
const f = filter(["**", "!**/packages/babylon/**"]);
return gulp
.src(getGlobFromSource(source), { base: base })
.pipe(f)
.pipe(
plumber({
errorHandler: function(err) {
@@ -113,7 +116,15 @@ function webpackBuild() {
// their project.json (or a ".babelrc" file). We need to ignore
// those as we're using our own Babel options.
babelrc: false,
presets: ["env"],
presets: [
[
"@babel/env",
{
loose: true,
exclude: ["transform-typeof-symbol"],
},
],
],
},
},
{
@@ -125,10 +136,21 @@ function webpackBuild() {
// their project.json (or a ".babelrc" file). We need to ignore
// those as we're using our own Babel options.
babelrc: false,
presets: ["env", "stage-0"],
presets: [
[
"@babel/env",
{
loose: true,
exclude: ["transform-typeof-symbol"],
},
],
["@babel/stage-0", { loose: true }],
],
},
},
],
// babylon is already bundled and does not require parsing
noParse: [/babylon\/lib/],
},
node: {
// Mock Node.js modules that Babel require()s but that we don't

View File

@@ -1,4 +1,6 @@
MAKEFLAGS = -j1
FLOW_COMMIT = 4cc2b9f7fadf2e9e445ee9b7b980c65d69d3fbc0
TEST262_COMMIT = 1282e842febf418ca27df13fa4b32f7e5021b470
export NODE_ENV = test
@@ -11,11 +13,17 @@ SOURCES = packages codemods experimental
build: clean
make clean-lib
# Build babylon before building all other projects
make build-babylon
./node_modules/.bin/gulp build
ifneq ("$(BABEL_ENV)", "cov")
make build-standalone
endif
build-babylon:
cd packages/babylon; \
./node_modules/.bin/rollup -c
build-standalone:
./node_modules/.bin/gulp build-babel-standalone
@@ -67,6 +75,38 @@ test-ci-coverage:
./scripts/test-cov.sh
bash <(curl -s https://codecov.io/bash) -f coverage/coverage-final.json
bootstrap-flow:
rm -rf ./build/flow
mkdir -p ./build
git clone --branch=master --single-branch --shallow-since=2017-01-01 https://github.com/facebook/flow.git ./build/flow
cd build/flow && git checkout $(FLOW_COMMIT)
test-flow:
node scripts/tests/flow/run_babylon_flow_tests.js
test-flow-ci:
make bootstrap
make test-flow
test-flow-update-whitelist:
node scripts/tests/flow/run_babylon_flow_tests.js --update-whitelist
bootstrap-test262:
rm -rf ./build/test262
mkdir -p ./build
git clone --branch=master --single-branch --shallow-since=2017-01-01 https://github.com/tc39/test262.git ./build/test262
cd build/test262 && git checkout $(TEST262_COMMIT)
test-test262:
node scripts/tests/test262/run_babylon_test262.js
test-test262-ci:
make bootstrap
make test-test262
test-test262-update-whitelist:
node scripts/tests/test262/run_babylon_test262.js --update-whitelist
publish:
git pull --rebase
make clean-lib

View File

@@ -24,7 +24,7 @@
<a href="https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558"><img alt="Business Strategy Status" src="https://img.shields.io/badge/business%20model-flavortown-green.svg"></a>
</p>
Babel is community-driven and thus mostly maintained by a group of volunteers. It has a lot of [companies and projects](http://babeljs.io/users) using it but almost no sponsors/people funded to work on it. If you'd like to help maintain the future of the project, please consider:
Babel is community-driven and thus mostly maintained by a group of [volunteers](https://babeljs.io/team). It has a lot of [companies and projects](http://babeljs.io/users) using it but almost no sponsors/people funded to work on it. If you'd like to help maintain the future of the project, please consider:
- Giving developer time on the project. (Message us on [Twitter](https://twitter.com/babeljs) or [Slack](slack.babeljs.io))
- [Giving funds by becoming a backer/sponsor on OpenCollective](https://opencollective.com/babel)
@@ -51,35 +51,34 @@ Babel is a tool that helps you write code in the latest version of JavaScript. W
Try it out at our [REPL](https://babeljs.io/repl/build/master#?code_lz=NoRgNATGDMC6B0BbAhgBwBQDsAEBeAfNjgNTYgCUA3EA&lineWrap=true&presets=es2015%2Ces2016%2Ces2017&version=7.0.0-beta.2).
- [FAQ](#faq)
- [Team](#team)
- [Backers](#backers)
- [Sponsors](#sponsors)
- [License](#license)
## FAQ
### Docs?
### Who maintains Babel?
Check out our website: [babeljs.io](http://babeljs.io/)
Mostly a handful of volunteers! Please check out our [team page](https://babeljs.io/team)!
### Looking for support?
For questions and support please visit join our [Slack Community](https://slack.babeljs.io/), ask a question on [Stack Overflow](http://stackoverflow.com/questions/tagged/babeljs), or ping us on [Twitter](https://twitter.com/babeljs/).
### Where are the docs?
Check out our website: [babeljs.io](http://babeljs.io/), and report issues/features at [babel/website](https://github.com/babel/website/issues).
### Want to report a bug or request a feature?
Please read through our [CONTRIBUTING.md](https://github.com/babel/babel/blob/master/CONTRIBUTING.md) and fill out the issue template at [babel/issues](https://github.com/babel/babel/issues)!
### Want to report an issue with our website ([babeljs.io](https://babeljs.io))?
For docs/website issues please visit the [babel/website](https://github.com/babel/website/issues).
### Want to contribute to Babel?
Check out our [CONTRIBUTING.md](https://github.com/babel/babel/blob/master/CONTRIBUTING.md) to get started with setting up the repo.
- If you have already joined Slack, join our [#development](https://babeljs.slack.com/messages/development) channel and say hi!
- Check out the issues with the [good first issue](https://github.com/babel/babel/labels/good%20first%20issue) and [help wanted](https://github.com/babel/babel/labels/help%20wanted) label.
- Check out the issues with the [good first issue](https://github.com/babel/babel/labels/good%20first%20issue) and [help wanted](https://github.com/babel/babel/labels/help%20wanted) label. We suggest also looking at the closed ones to get a sense of the kinds of issues you can tackle.
- Our discussions/notes/roadmap: [babel/notes](https://github.com/babel/notes)
- Our progress on TC39 proposals: [babel/proposals](https://github.com/babel/proposals)
@@ -87,46 +86,6 @@ Check out our [CONTRIBUTING.md](https://github.com/babel/babel/blob/master/CONTR
The Babel repo is managed as a [monorepo](https://github.com/babel/babel/blob/master/doc/design/monorepo.md) that is composed of many [npm packages](/packages#readme).
## Team
### Core members
[![Babel](https://avatars.githubusercontent.com/u/9637642?s=64)](https://github.com/babel) | [![Daniel Tschinder](https://avatars.githubusercontent.com/u/231804?s=64)](https://github.com/danez) | [![Logan Smyth](https://avatars.githubusercontent.com/u/132260?s=64)](https://github.com/loganfsmyth) | [![Henry Zhu](https://avatars.githubusercontent.com/u/588473?s=64)](https://github.com/hzoo) |
|---|---|---|---|
Babel | Daniel Tschinder | Logan Smyth | Henry Zhu |
:octocat: [@babel](https://github.com/babel) | [@danez](https://github.com/danez) | [@loganfsmyth](https://github.com/loganfsmyth) | [@hzoo](https://github.com/hzoo) |
:bird: [@babeljs](https://twitter.com/babeljs) | [@TschinderDaniel](https://twitter.com/TschinderDaniel) | [@loganfsmyth](https://twitter.com/loganfsmyth) | [@left_pad](https://twitter.com/left_pad) |
### Members
[![Andrew Levine](https://avatars.githubusercontent.com/u/5233399?s=64)](https://github.com/drewml) | [![Boopathi Rajaa](https://avatars.githubusercontent.com/u/294474?s=64)](https://github.com/boopathi) | [![Brian Ng](https://avatars.githubusercontent.com/u/56288?s=64)](https://github.com/existentialism) | [![Dan Harper](https://avatars.githubusercontent.com/u/510740?s=64)](https://github.com/danharper) | [![diogo franco](https://avatars.githubusercontent.com/u/73085?s=64)](https://github.com/kovensky) | [![Aaron Ang](https://avatars1.githubusercontent.com/u/7579804?s=64)](https://github.com/aaronang) | [![Artem Yavorsky](https://avatars2.githubusercontent.com/u/1521229?s=64)](https://github.com/yavorsky) |
|---|---|---|---|---|---|---|
| Andrew Levine | Boopathi Rajaa | Brian Ng | Dan Harper | Diogo Franco | Aaron Ang | Artem Yavorsky |
| [@drewml](https://github.com/drewml) | [@boopathi](https://github.com/boopathi) | [@existentialism](https://github.com/existentialism) | [@danharper](https://github.com/danharper) | [@kovensky](https://github.com/kovensky) | [@aaronang](https://github.com/aaronang) | [@yavorsky](https://github.com/yavorsky) |
| [@drewml](https://twitter.com/drewml) | [@heisenbugger](https://twitter.com/heisenbugger) | [@existentialism](https://twitter.com/existentialism) | [@DanHarper7](https://twitter.com/DanHarper7) | [@kovnsk](https://twitter.com/kovnsk) | [@_aaronang](https://twitter.com/_aaronang) | [@yavorsky_](https://twitter.com/yavorsky_) |
[![Juriy Zaytsev](https://avatars.githubusercontent.com/u/383?s=64)](https://github.com/kangax) | [![Kai Cataldo](https://avatars.githubusercontent.com/u/7041728?s=64)](https://github.com/kaicataldo) | [![Moti Zilberman](https://avatars.githubusercontent.com/u/2246565?s=64)](https://github.com/motiz88) | [![Sven Sauleau](https://avatars3.githubusercontent.com/u/1493671?s=64)](https://github.com/xtuc) | [![Samuel Reed](https://avatars3.githubusercontent.com/u/1197375?s=64)](https://github.com/STRML) | [![Sergey Rubanov](https://avatars1.githubusercontent.com/u/1507086?s=64)](https://github.com/chicoxyzzy) |
|---|---|---|---|---|---|
| Juriy Zaytsev | Kai Cataldo | Moti Zilberman | Sven Sauleau | Samuel Reed | Sergey Rubanov |
| [@kangax](https://github.com/kangax) | [@kaicataldo](https://github.com/kaicataldo) | [@motiz88](https://github.com/motiz88) | [@xtuc](https://github.com/xtuc) | [@STRML](https://github.com/STRML) | [@chicoxyzzy](https://github.com/chicoxyzzy) |
| [@kangax](https://twitter.com/kangax) | [@kai_cataldo](https://twitter.com/kai_cataldo) | [@motiz88](https://twitter.com/motiz88) | [@svensauleau](https://twitter.com/svensauleau) | [@STRML_](https://twitter.com/STRML_) | [@chicoxyzzy](https://twitter.com/chicoxyzzy) |
### Non-Human Members
[<img src="https://github.com/babel/babel-bot/raw/master/babel-bot.png" height="64">](https://github.com/babel-bot) |
|---|
| Babel Bot |
| [@babel-bot](https://github.com/babel-bot) |
| [@babeljs](https://twitter.com/babeljs) |
### Inactive members
[![Amjad Masad](https://avatars.githubusercontent.com/u/587518?s=64)](https://github.com/amasad) | [![James Kyle](https://avatars.githubusercontent.com/u/952783?s=64)](https://github.com/thejameskyle) | [![Jesse McCarthy](https://avatars.githubusercontent.com/u/129203?s=64)](https://github.com/jmm) | [![Sebastian McKenzie](https://avatars.githubusercontent.com/u/853712?s=64)](https://github.com/kittens) (Creator) |
|---|---|---|---|
Amjad Masad | James Kyle | Jesse McCarthy | Sebastian McKenzie |
[@amasad](https://github.com/amasad) | [@thejameskyle](https://github.com/thejameskyle) | [@jmm](https://github.com/jmm) | [@sebmck](https://twitter.com/sebmck) |
| [@amasad](https://twitter.com/amasad) | [@thejameskyle](https://twitter.com/thejameskyle) | [@mccjm](https://twitter.com/mccjm) | [@kittens](https://github.com/kittens)
## Backers
Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/babel#backer)]

View File

@@ -1,4 +1,4 @@
# babel-plugin-codemod-optional-catch-binding
# @babel/plugin-codemod-optional-catch-binding
> If the argument bound to the catch block is not referenced in the catch block, that argument and the catch binding is removed.
@@ -22,11 +22,10 @@ try {
}
```
## Installation
```sh
npm install --save-dev babel-plugin-codemod-optional-catch-binding
npm install --save-dev @babel/plugin-codemod-optional-catch-binding
```
## Usage
@@ -37,21 +36,21 @@ npm install --save-dev babel-plugin-codemod-optional-catch-binding
```json
{
"plugins": ["codemod-optional-catch-binding"]
"plugins": ["@babel/codemod-optional-catch-binding"]
}
```
### Via CLI
```sh
babel --plugins codemod-optional-catch-binding script.js
babel --plugins @babel/codemod-optional-catch-binding script.js
```
### Via Node API
```javascript
require("babel-core").transform("code", {
plugins: ["codemod-optional-catch-binding"]
require("@babel/core").transform("code", {
plugins: ["@babel/codemod-optional-catch-binding"]
});
```

View File

@@ -1,17 +1,21 @@
{
"name": "babel-plugin-codemod-optional-catch-binding",
"version": "7.0.0-beta.3",
"name": "@babel/plugin-codemod-optional-catch-binding",
"version": "7.0.0-beta.31",
"description": "Remove unused catch bindings",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-remove-unused-catch-binding",
"license": "MIT",
"main": "lib/index.js",
"keywords": [
"babel-plugin"
"@babel/plugin"
],
"dependencies": {
"babel-plugin-syntax-optional-catch-binding": "7.0.0-beta.3"
"@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.31"
},
"peerDependencies": {
"@babel/core": "7.0.0-beta.31"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "7.0.0-beta.3"
"@babel/core": "7.0.0-beta.31",
"@babel/helper-plugin-test-runner": "7.0.0-beta.31"
}
}

View File

@@ -1,4 +1,4 @@
import syntaxOptionalCatchBinding from "babel-plugin-syntax-optional-catch-binding";
import syntaxOptionalCatchBinding from "@babel/plugin-syntax-optional-catch-binding";
export default function(babel) {
const { types: t } = babel;

View File

@@ -1,3 +1,3 @@
import runner from "babel-helper-plugin-test-runner";
import runner from "@babel/helper-plugin-test-runner";
runner(__dirname);

View File

@@ -1,5 +1,19 @@
# Changelog
## v1.6.1 (2017-10-17)
### :bug: Bug Fix
- Update compat table to fix two small issues ([#445](https://github.com/babel/babel-preset-env/pull/445)) (@danez)
ES2015 destructuring is not fully supported in Edge 15 and the polyfill required again. `es6.math.imul` is supported on Android as of version 4.4
- Add polyfills for ES6 static Object methods ([#441](https://github.com/babel/babel-preset-env/pull/441)) (@danez)
Functions such as `Object.keys`, `Object.freeze`, ... do already exist in ES5, but their behaviour changed in ES2015. `babel-preset-env` with `builtIns: true` now adds the core-js polyfills for this methods if the browser only supports the ES5 variant of the method (like IE11 for example)
- Normalize module format of plugins/built-ins data ([#376](https://github.com/babel/babel-preset-env/pull/376)) (@rtsao)
## v1.6.0 (2017-07-04)
### :rocket: New Feature
@@ -101,10 +115,10 @@ correctly report issues before they get transpiled away).
- Allow use `babel-plugin-` prefix for include and exclude ([#242](https://github.com/babel/babel-preset-env/pull/242)) (@yavorsky)
The `include` and `exclude` options now allow both prefixed (`babel-plugin-transform-es2015-spread`)
The `include` and `exclude` options now allow both prefixed (`babel-plugin-transform-es2015-spread`)
and prefix-less (`transform-es2015-spread`) plugin names.
### :memo: Documentation
### :memo: Documentation
- Note babel plugin prefix handling in include/exclude ([#245](https://github.com/babel/babel-preset-env/pull/245)) (@existentialism)
- Fix README: debug option shows info in stdout. ([#236](https://github.com/babel/babel-preset-env/pull/236)) (@Gerhut)
@@ -129,14 +143,14 @@ and prefix-less (`transform-es2015-spread`) plugin names.
- Add check for ArrayBuffer[Symbol.species] ([#233](https://github.com/babel/babel-preset-env/pull/233)) (@existentialism)
We now properly check for `Symbol.species` support in ArrayBuffer and include the
polyfill if necessary. This should, as a side effect, fix ArrayBuffer-related
polyfill if necessary. This should, as a side effect, fix ArrayBuffer-related
errors on IE9.
### :nail_care: Polish
- Fill data with electron as a target. ([#229](https://github.com/babel/babel-preset-env/pull/229)) (@yavorsky)
We've simplified things by adding `electron` as a target instead of doing a bunch of
We've simplified things by adding `electron` as a target instead of doing a bunch of
things at runtime. Electron targets should now also be displayed in the debug output.
- separate default builtins for platforms ([#226](https://github.com/babel/babel-preset-env/pull/226)) (@restrry)
@@ -144,7 +158,7 @@ things at runtime. Electron targets should now also be displayed in the debug ou
If you are targeting the `node` environment exclusively, the always-included web polyfills
(like `dom.iterable`, and a few others) will now no longer be included.
### :memo: Documentation
### :memo: Documentation
* remove deprecated projects ([#223](https://github.com/babel/babel-preset-env/pull/223)) [skip ci] (@stevemao)
@@ -158,8 +172,8 @@ If you are targeting the `node` environment exclusively, the always-included web
- Refactor browser data parsing to handle families ([#208](https://github.com/babel/babel-preset-env/pull/208)) (@existentialism)
When parsing plugin data, we weren't properly handling browser families. This caused
`transform-es2015-block-scoping` and other plugins to be incorrectly added for Edge >= 12.
When parsing plugin data, we weren't properly handling browser families. This caused
`transform-es2015-block-scoping` and other plugins to be incorrectly added for Edge >= 12.
(s/o to @mgol for the the report and review!)
- Add typed array methods to built-ins features. ([#198](https://github.com/babel/babel-preset-env/pull/198)) (@yavorsky)
@@ -259,7 +273,7 @@ Given targets:
```txt
{
"firefox": 52,
"node": 7.4
"node": 7.4
}
```
@@ -305,7 +319,7 @@ Using plugins:
- Update yarnfile ([#145](https://github.com/babel/babel-preset-env/pull/145)) (@baer)
- devDeps: eslint-config-babel v5.0.0 ([#139](https://github.com/babel/babel-preset-env/pull/139)) (@kaicataldo)
- Update compat-table, build data ([#135](https://github.com/babel/babel-preset-env/pull/135)) (@hzoo)
## v1.1.8 (2017-01-10)
### :bug: Bug Fix
@@ -320,7 +334,7 @@ Makes sure that all transformations on `targets` (such as `exclude`/`include`) a
- Include yarn.lock and update CI. ([#124](https://github.com/babel/babel-preset-env/pull/124)) (@existentialism)
## v1.1.7 (2017-01-09)
Had a publishing issue in the previous release.
## v1.1.6 (2017-01-06)
@@ -494,7 +508,7 @@ In
```js
import "babel-polyfill"; // create an entry js file that contains this
// or
// or
import "core-js";
```

View File

@@ -20,7 +20,7 @@ And add them in this structure:
```js
// es2016
"transform-exponentiation-operator": {
"@babel/transform-exponentiation-operator": {
features: [
"exponentiation (**) operator",
],

View File

@@ -1,16 +1,16 @@
# babel-preset-env [![npm](https://img.shields.io/npm/v/babel-preset-env.svg)](https://www.npmjs.com/package/babel-preset-env) [![travis](https://img.shields.io/travis/babel/babel-preset-env/master.svg)](https://travis-ci.org/babel/babel-preset-env) [![npm-downloads](https://img.shields.io/npm/dm/babel-preset-env.svg)](https://www.npmjs.com/package/babel-preset-env) [![codecov](https://img.shields.io/codecov/c/github/babel/babel-preset-env/master.svg?maxAge=43200)](https://codecov.io/github/babel/babel-preset-env)
# @babel/preset-env [![npm](https://img.shields.io/npm/v/babel-preset-env.svg)](https://www.npmjs.com/package/babel-preset-env) [![travis](https://img.shields.io/travis/babel/babel-preset-env/master.svg)](https://travis-ci.org/babel/babel-preset-env) [![npm-downloads](https://img.shields.io/npm/dm/babel-preset-env.svg)](https://www.npmjs.com/package/babel-preset-env) [![codecov](https://img.shields.io/codecov/c/github/babel/babel-preset-env/master.svg?maxAge=43200)](https://codecov.io/github/babel/babel-preset-env)
> A Babel preset that compiles [ES2015+](https://github.com/tc39/proposals/blob/master/finished-proposals.md) down to ES5 by automatically determining the Babel plugins and polyfills you need based on your targeted browser or runtime environments.
```sh
npm install babel-preset-env --save-dev
npm install @babel/preset-env --save-dev
```
Without any configuration options, babel-preset-env behaves exactly the same as babel-preset-latest (or babel-preset-es2015, babel-preset-es2016, and babel-preset-es2017 together).
Without any configuration options, @babel/preset-env behaves exactly the same as @babel/preset-latest (or @babel/preset-es2015, @babel/preset-es2016, and @babel/preset-es2017 together).
```json
{
"presets": ["env"]
"presets": ["@babel/env"]
}
```
@@ -21,7 +21,7 @@ This example only includes the polyfills and code transforms needed for the last
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"browsers": ["last 2 versions", "safari >= 7"]
}
@@ -35,7 +35,7 @@ Similarly, if you're targeting Node.js instead of the browser, you can configure
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"node": "6.10"
}
@@ -49,7 +49,7 @@ For convenience, you can use `"node": "current"` to only include the necessary p
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"node": "current"
}
@@ -85,9 +85,9 @@ This should be straightforward to do in most cases. There might be cases where p
### Support all plugins in Babel that are considered `latest`
> Default behavior without options is the same as `babel-preset-latest`.
> Default behavior without options is the same as `@babel/preset-latest`.
It won't include `stage-x` plugins. env will support all plugins in what we consider the latest version of JavaScript (by matching what we do in [`babel-preset-latest`](http://babeljs.io/docs/plugins/preset-latest/)).
It won't include `stage-x` plugins. env will support all plugins in what we consider the latest version of JavaScript (by matching what we do in [`@babel/preset-latest`](http://babeljs.io/docs/plugins/preset-latest/)).
Ref: [#14](https://github.com/babel/babel-preset-env/issues/14)
@@ -109,7 +109,7 @@ Ref: [#19](https://github.com/babel/babel-preset-env/pull/19)
[Browserslist](https://github.com/ai/browserslist) is a library used to share a supported list of browsers between different front-end tools like [autoprefixer](https://github.com/postcss/autoprefixer), [stylelint](https://stylelint.io/), [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat) and many others.
By default, babel-preset-env will use [browserslist config sources](https://github.com/ai/browserslist#queries).
By default, @babel/preset-env will use [browserslist config sources](https://github.com/ai/browserslist#queries).
For example, to enable only the polyfills and plugins needed for a project targeting *last 2 versions* and *IE10*:
@@ -117,8 +117,8 @@ For example, to enable only the polyfills and plugins needed for a project targe
```json
{
"presets": [
["env", {
"useBuiltIns": true
["@babel/env", {
"useBuiltIns": "entry"
}]
]
}
@@ -152,22 +152,22 @@ Browserslist config will be ignored if: 1) `targets.browsers` was specified 2) o
With [npm](https://www.npmjs.com):
```sh
npm install --save-dev babel-preset-env
npm install --save-dev @babel/preset-env
```
Or [yarn](https://yarnpkg.com):
```sh
yarn add babel-preset-env --dev
yarn add @babel/preset-env --dev
```
## Usage
The default behavior without options runs all transforms (behaves the same as [babel-preset-latest](https://babeljs.io/docs/plugins/preset-latest/)).
The default behavior without options runs all transforms (behaves the same as [@babel/preset-latest](https://babeljs.io/docs/plugins/preset-latest/)).
```json
{
"presets": ["env"]
"presets": ["@babel/env"]
}
```
@@ -235,15 +235,15 @@ An array of plugins to always include.
Valid options include any:
- [Babel plugins](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js) - both with (`babel-plugin-transform-es2015-spread`) and without prefix (`transform-es2015-spread`) are supported.
- [Babel plugins](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js) - both with (`@babel/plugin-transform-spread`) and without prefix (`transform-spread`) are supported.
- [Built-ins](https://github.com/babel/babel-preset-env/blob/master/data/built-in-features.js), such as `map`, `set`, or `object.assign`.
This option is useful if there is a bug in a native implementation, or a combination of a non-supported feature + a supported one doesn't work.
For example, Node 4 supports native classes but not spread. If `super` is used with a spread argument, then the `transform-es2015-classes` transform needs to be `include`d, as it is not possible to transpile a spread with `super` otherwise.
For example, Node 4 supports native classes but not spread. If `super` is used with a spread argument, then the `transform-classes` transform needs to be `include`d, as it is not possible to transpile a spread with `super` otherwise.
> NOTE: The `include` and `exclude` options _only_ work with the [plugins included with this preset](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js); so, for example, including `transform-do-expressions` or excluding `transform-function-bind` will throw errors. To use a plugin _not_ included with this preset, add them to your [config](https://babeljs.io/docs/usage/babelrc/) directly.
> NOTE: The `include` and `exclude` options _only_ work with the [plugins included with this preset](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js); so, for example, including `proposal-do-expressions` or excluding `proposal-function-bind` will throw errors. To use a plugin _not_ included with this preset, add them to your [config](https://babeljs.io/docs/usage/babelrc/) directly.
### `exclude`
@@ -253,16 +253,16 @@ An array of plugins to always exclude/remove.
The possible options are the same as the `include` option.
This option is useful for "blacklisting" a transform like `transform-regenerator` if you don't use generators and don't want to include `regeneratorRuntime` (when using `useBuiltIns`) or for using another plugin like [fast-async](https://github.com/MatAtBread/fast-async) instead of [Babel's async-to-gen](http://babeljs.io/docs/plugins/transform-async-generator-functions/).
This option is useful for "blacklisting" a transform like `transform-regenerator` if you don't use generators and don't want to include `regeneratorRuntime` (when using `useBuiltIns`) or for using another plugin like [fast-async](https://github.com/MatAtBread/fast-async) instead of [Babel's async-to-gen](http://babeljs.io/docs/plugins/proposal-async-generator-functions/).
### `useBuiltIns`
`"usage"` | `"entry"` | `false`, defaults to `false`.
A way to apply `babel-preset-env` for polyfills (via `babel-polyfill`).
A way to apply `@babel/preset-env` for polyfills (via `@babel/polyfill`).
```sh
npm install babel-polyfill --save
npm install @babel/polyfill --save
```
#### `useBuiltIns: 'usage'`
@@ -286,12 +286,12 @@ var b = new Map();
**Out (if environment doesn't support it)**
```js
import "babel-polyfill/core-js/modules/es6.promise";
import "@babel/polyfill/core-js/modules/es6.promise";
var a = new Promise();
```
```js
import "babel-polyfill/core-js/modules/es6.map";
import "@babel/polyfill/core-js/modules/es6.map";
var b = new Map();
```
@@ -307,28 +307,28 @@ var b = new Map();
#### `useBuiltIns: 'entry'`
> NOTE: Only use `require("babel-polyfill");` once in your whole app.
> Multiple imports or requires of `babel-polyfill` will throw an error since it can cause global collisions and other issues that are hard to trace.
> NOTE: Only use `require("@babel/polyfill");` once in your whole app.
> Multiple imports or requires of `@babel/polyfill` will throw an error since it can cause global collisions and other issues that are hard to trace.
> We recommend creating a single entry file that only contains the `require` statement.
This option enables a new plugin that replaces the statement `import "babel-polyfill"` or `require("babel-polyfill")` with individual requires for `babel-polyfill` based on environment.
This option enables a new plugin that replaces the statement `import "@babel/polyfill"` or `require("@babel/polyfill")` with individual requires for `@babel/polyfill` based on environment.
**In**
```js
import "babel-polyfill";
import "@babel/polyfill";
```
**Out (different based on environment)**
```js
import "babel-polyfill/core-js/modules/es7.string.pad-start";
import "babel-polyfill/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/core-js/modules/es7.string.pad-start";
import "@babel/polyfill/core-js/modules/es7.string.pad-end";
```
#### `useBuiltIns: false`
Don't add polyfills automatically per file, or transform `import "babel-polyfill"` to individual polyfills.
Don't add polyfills automatically per file, or transform `import "@babel/polyfill"` to individual polyfills.
### `forceAllTransforms`
@@ -342,7 +342,7 @@ Don't add polyfills automatically per file, or transform `import "babel-polyfill
```js
module.exports = {
presets: [
["env", {
["@babel/env", {
targets: {
chrome: 59,
edge: 13,
@@ -387,7 +387,7 @@ Toggles whether or not [browserslist config sources](https://github.com/ai/brows
`boolean`, defaults to `false`
Toggles enabling support for builtin/feature proposals that have shipped in browsers. If your target environments have native support for a feature proposal, its matching parser syntax plugin is enabled instead of performing any transform. Note that this _does not_ enable the same transformations as [`babel-preset-stage3`](https://babeljs.io/docs/plugins/preset-stage-3/), since proposals can continue to change before landing in browsers.
Toggles enabling support for builtin/feature proposals that have shipped in browsers. If your target environments have native support for a feature proposal, its matching parser syntax plugin is enabled instead of performing any transform. Note that this _does not_ enable the same transformations as [`@babel/preset-stage3`](https://babeljs.io/docs/plugins/preset-stage-3/), since proposals can continue to change before landing in browsers.
The following are currently supported:
@@ -419,7 +419,7 @@ export class A {}
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"chrome": 52
}
@@ -442,7 +442,7 @@ exports.A = A;
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"chrome": 52
},
@@ -466,7 +466,7 @@ export class A {}
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"chrome": 52,
"browsers": ["last 2 versions", "safari 7"]
@@ -491,7 +491,7 @@ export var A = function A() {
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"node": "current"
}
@@ -514,12 +514,12 @@ exports.A = A;
```json
{
"presets": [
[ "env", {
["@babel/env", {
"targets": {
"safari": 10
},
"modules": false,
"useBuiltIns": true,
"useBuiltIns": "entry",
"debug": true
}]
]
@@ -556,12 +556,12 @@ Using polyfills:
```json
{
"presets": [
["env", {
["@babel/env", {
"targets": {
"browsers": ["last 2 versions", "safari >= 7"]
},
"include": ["transform-es2015-arrow-functions", "es6.map"],
"exclude": ["transform-regenerator", "es6.set"]
"include": ["@babel/transform-arrow-functions", "es6.map"],
"exclude": ["@babel/transform-regenerator", "es6.set"]
}]
]
}
@@ -569,4 +569,4 @@ Using polyfills:
## Issues
If you get a `SyntaxError: Unexpected token ...` error when using the [object-rest-spread](https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-rest-spread) transform then make sure the plugin has been updated to, at least, `v6.19.0`.
If you get a `SyntaxError: Unexpected token ...` error when using the [object-rest-spread](https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread) transform then make sure the plugin has been updated to, at least, `v6.19.0`.

View File

@@ -109,6 +109,18 @@ const es2015 = {
]
},
"es6.object.freeze": "Object static methods accept primitives / Object.freeze",
"es6.object.seal": "Object static methods accept primitives / Object.seal",
"es6.object.prevent-extensions": "Object static methods accept primitives / Object.preventExtensions",
"es6.object.is-frozen": "Object static methods accept primitives / Object.isFrozen",
"es6.object.is-sealed": "Object static methods accept primitives / Object.isSealed",
"es6.object.is-extensible": "Object static methods accept primitives / Object.isExtensible",
"es6.object.get-own-property-descriptor":
"Object static methods accept primitives / Object.getOwnPropertyDescriptor",
"es6.object.get-prototype-of": "Object static methods accept primitives / Object.getPrototypeOf",
"es6.object.keys": "Object static methods accept primitives / Object.keys",
"es6.object.get-own-property-names": "Object static methods accept primitives / Object.getOwnPropertyNames",
"es6.object.assign": "Object static methods / Object.assign",
"es6.object.is": "Object static methods / Object.is",
"es6.object.set-prototype-of": "Object static methods / Object.setPrototypeOf",

View File

@@ -300,6 +300,106 @@
"opera": "38",
"electron": "1.2"
},
"es6.object.freeze": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.seal": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.prevent-extensions": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.is-frozen": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.is-sealed": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.is-extensible": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.get-own-property-descriptor": {
"chrome": "44",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.get-prototype-of": {
"chrome": "44",
"edge": "12",
"firefox": "3.5",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "31",
"electron": "0.31"
},
"es6.object.keys": {
"chrome": "40",
"edge": "12",
"firefox": "35",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "27",
"electron": "0.21"
},
"es6.object.get-own-property-names": {
"chrome": "40",
"edge": "12",
"firefox": "33",
"safari": "9",
"node": "4",
"ios": "9",
"opera": "27",
"electron": "0.21"
},
"es6.object.assign": {
"chrome": "45",
"edge": "12",

View File

@@ -1,101 +1,101 @@
const es2015 = {
"check-es2015-constants": {
"check-constants": {
features: [
"const",
],
},
"transform-es2015-arrow-functions": {
"transform-arrow-functions": {
features: [
"arrow functions",
],
},
"transform-es2015-block-scoped-functions": {
"transform-block-scoped-functions": {
features: [
"block-level function declaration"
],
},
"transform-es2015-block-scoping": {
"transform-block-scoping": {
features: [
"const",
"let",
],
},
"transform-es2015-classes": {
"transform-classes": {
features: [
"class",
"super",
],
},
"transform-es2015-computed-properties": {
"transform-computed-properties": {
features: [
"object literal extensions / computed properties",
],
},
"transform-es2015-destructuring": {
"transform-destructuring": {
features: [
"destructuring, assignment",
"destructuring, declarations",
"destructuring, parameters",
],
},
"transform-es2015-duplicate-keys": {
"transform-duplicate-keys": {
features: [
"miscellaneous / duplicate property names in strict mode",
],
},
"transform-es2015-for-of": {
"transform-for-of": {
features: [
"for..of loops",
],
},
"transform-es2015-function-name": {
"transform-function-name": {
features: [
"function \"name\" property",
]
},
"transform-es2015-literals": {
"transform-literals": {
features: [
"Unicode code point escapes",
],
},
"transform-es2015-object-super": {
"transform-object-super": {
features: [
"super",
],
},
"transform-es2015-parameters": {
"transform-parameters": {
features: [
"default function parameters",
"rest parameters",
],
},
"transform-es2015-shorthand-properties": {
"transform-shorthand-properties": {
features: [
"object literal extensions / shorthand properties",
],
},
"transform-es2015-spread": {
"transform-spread": {
features: [
"spread (...) operator",
],
},
"transform-es2015-sticky-regex": {
"transform-sticky-regex": {
features: [
"RegExp \"y\" and \"u\" flags / \"y\" flag, lastIndex",
"RegExp \"y\" and \"u\" flags / \"y\" flag",
],
},
"transform-es2015-template-literals": {
"transform-template-literals": {
features: [
"template literals",
],
},
"transform-es2015-typeof-symbol": {
"transform-typeof-symbol": {
features: [
"Symbol / typeof support"
],
},
"transform-es2015-unicode-regex": {
"transform-unicode-regex": {
features: [
"RegExp \"y\" and \"u\" flags / \"u\" flag, case folding",
"RegExp \"y\" and \"u\" flags / \"u\" flag, Unicode code point escapes",
@@ -128,11 +128,6 @@ const es2017 = {
"async functions",
],
},
"syntax-trailing-function-commas": {
features: [
"trailing commas in function syntax",
],
}
};
const proposals = require("./shipped-proposals").features;

View File

@@ -1,5 +1,5 @@
{
"check-es2015-constants": {
"check-constants": {
"chrome": "49",
"edge": "14",
"firefox": "51",
@@ -9,7 +9,7 @@
"opera": "36",
"electron": "1"
},
"transform-es2015-arrow-functions": {
"transform-arrow-functions": {
"chrome": "47",
"edge": "13",
"firefox": "45",
@@ -19,7 +19,7 @@
"opera": "34",
"electron": "0.36"
},
"transform-es2015-block-scoped-functions": {
"transform-block-scoped-functions": {
"chrome": "41",
"edge": "12",
"firefox": "46",
@@ -30,7 +30,7 @@
"opera": "28",
"electron": "0.24"
},
"transform-es2015-block-scoping": {
"transform-block-scoping": {
"chrome": "49",
"edge": "14",
"firefox": "51",
@@ -40,7 +40,7 @@
"opera": "36",
"electron": "1"
},
"transform-es2015-classes": {
"transform-classes": {
"chrome": "46",
"edge": "13",
"firefox": "45",
@@ -50,7 +50,7 @@
"opera": "33",
"electron": "0.36"
},
"transform-es2015-computed-properties": {
"transform-computed-properties": {
"chrome": "44",
"edge": "12",
"firefox": "34",
@@ -60,7 +60,7 @@
"opera": "31",
"electron": "0.31"
},
"transform-es2015-destructuring": {
"transform-destructuring": {
"chrome": "51",
"firefox": "53",
"safari": "10",
@@ -69,7 +69,7 @@
"opera": "38",
"electron": "1.2"
},
"transform-es2015-duplicate-keys": {
"transform-duplicate-keys": {
"chrome": "42",
"edge": "12",
"firefox": "34",
@@ -79,7 +79,7 @@
"opera": "29",
"electron": "0.27"
},
"transform-es2015-for-of": {
"transform-for-of": {
"chrome": "51",
"edge": "15",
"firefox": "53",
@@ -89,7 +89,7 @@
"opera": "38",
"electron": "1.2"
},
"transform-es2015-function-name": {
"transform-function-name": {
"chrome": "51",
"firefox": "53",
"safari": "10",
@@ -98,7 +98,7 @@
"opera": "38",
"electron": "1.2"
},
"transform-es2015-literals": {
"transform-literals": {
"chrome": "44",
"edge": "12",
"firefox": "53",
@@ -108,7 +108,7 @@
"opera": "31",
"electron": "0.31"
},
"transform-es2015-object-super": {
"transform-object-super": {
"chrome": "46",
"edge": "13",
"firefox": "45",
@@ -118,7 +118,7 @@
"opera": "33",
"electron": "0.36"
},
"transform-es2015-parameters": {
"transform-parameters": {
"chrome": "49",
"edge": "14",
"firefox": "53",
@@ -128,7 +128,7 @@
"opera": "36",
"electron": "1"
},
"transform-es2015-shorthand-properties": {
"transform-shorthand-properties": {
"chrome": "43",
"edge": "12",
"firefox": "33",
@@ -138,7 +138,7 @@
"opera": "30",
"electron": "0.29"
},
"transform-es2015-spread": {
"transform-spread": {
"chrome": "46",
"edge": "13",
"firefox": "36",
@@ -148,7 +148,7 @@
"opera": "33",
"electron": "0.36"
},
"transform-es2015-sticky-regex": {
"transform-sticky-regex": {
"chrome": "49",
"edge": "13",
"firefox": "3",
@@ -158,7 +158,7 @@
"opera": "36",
"electron": "1"
},
"transform-es2015-template-literals": {
"transform-template-literals": {
"chrome": "41",
"edge": "13",
"firefox": "34",
@@ -168,7 +168,7 @@
"opera": "28",
"electron": "0.24"
},
"transform-es2015-typeof-symbol": {
"transform-typeof-symbol": {
"chrome": "38",
"edge": "12",
"firefox": "36",
@@ -178,7 +178,7 @@
"opera": "25",
"electron": "0.2"
},
"transform-es2015-unicode-regex": {
"transform-unicode-regex": {
"chrome": "50",
"edge": "13",
"firefox": "46",
@@ -228,26 +228,17 @@
"opera": "42",
"electron": "1.6"
},
"syntax-trailing-function-commas": {
"chrome": "58",
"edge": "14",
"firefox": "52",
"safari": "10",
"node": "8",
"ios": "10",
"opera": "45",
"electron": "1.7"
},
"transform-async-generator-functions": {
"proposal-async-generator-functions": {
"chrome": "63",
"firefox": "57",
"opera": "50"
},
"transform-object-rest-spread": {
"proposal-object-rest-spread": {
"chrome": "60",
"firefox": "55",
"node": "8.3",
"opera": "47"
},
"transform-optional-catch-binding": {},
"transform-unicode-property-regex": {}
"proposal-optional-catch-binding": {},
"proposal-unicode-property-regex": {}
}

View File

@@ -6,17 +6,17 @@ const builtIns = {
};
const features = {
"transform-async-generator-functions": "Asynchronous Iterators",
"transform-object-rest-spread": "object rest/spread properties",
"transform-optional-catch-binding": "optional catch binding",
"transform-unicode-property-regex": "RegExp Unicode Property Escapes",
"proposal-async-generator-functions": "Asynchronous Iterators",
"proposal-object-rest-spread": "object rest/spread properties",
"proposal-optional-catch-binding": "optional catch binding",
"proposal-unicode-property-regex": "RegExp Unicode Property Escapes",
};
const pluginSyntaxMap = new Map([
["transform-async-generator-functions", "syntax-async-generators"],
["transform-object-rest-spread", "syntax-object-rest-spread"],
["transform-optional-catch-binding", "syntax-optional-catch-binding"],
["transform-unicode-property-regex", null],
["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],
]);
module.exports = { builtIns, features, pluginSyntaxMap };

View File

@@ -1,6 +1,6 @@
{
"name": "babel-preset-env",
"version": "7.0.0-beta.3",
"name": "@babel/preset-env",
"version": "7.0.0-beta.31",
"description": "A Babel preset for each environment.",
"author": "Henry Zhu <hi@henryzoo.com>",
"homepage": "https://babeljs.io/",
@@ -11,49 +11,53 @@
"build-data": "node ./scripts/build-data.js"
},
"dependencies": {
"babel-plugin-check-es2015-constants": "7.0.0-beta.3",
"babel-plugin-syntax-async-generators": "7.0.0-beta.3",
"babel-plugin-syntax-object-rest-spread": "7.0.0-beta.3",
"babel-plugin-syntax-optional-catch-binding": "7.0.0-beta.3",
"babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0",
"babel-plugin-transform-async-generator-functions": "7.0.0-beta.3",
"babel-plugin-transform-async-to-generator": "7.0.0-beta.3",
"babel-plugin-transform-es2015-arrow-functions": "7.0.0-beta.3",
"babel-plugin-transform-es2015-block-scoped-functions": "7.0.0-beta.3",
"babel-plugin-transform-es2015-block-scoping": "7.0.0-beta.3",
"babel-plugin-transform-es2015-classes": "7.0.0-beta.3",
"babel-plugin-transform-es2015-computed-properties": "7.0.0-beta.3",
"babel-plugin-transform-es2015-destructuring": "7.0.0-beta.3",
"babel-plugin-transform-es2015-duplicate-keys": "7.0.0-beta.3",
"babel-plugin-transform-es2015-for-of": "7.0.0-beta.3",
"babel-plugin-transform-es2015-function-name": "7.0.0-beta.3",
"babel-plugin-transform-es2015-literals": "7.0.0-beta.3",
"babel-plugin-transform-es2015-modules-amd": "7.0.0-beta.3",
"babel-plugin-transform-es2015-modules-commonjs": "7.0.0-beta.3",
"babel-plugin-transform-es2015-modules-systemjs": "7.0.0-beta.3",
"babel-plugin-transform-es2015-modules-umd": "7.0.0-beta.3",
"babel-plugin-transform-es2015-object-super": "7.0.0-beta.3",
"babel-plugin-transform-es2015-parameters": "7.0.0-beta.3",
"babel-plugin-transform-es2015-shorthand-properties": "7.0.0-beta.3",
"babel-plugin-transform-es2015-spread": "7.0.0-beta.3",
"babel-plugin-transform-es2015-sticky-regex": "7.0.0-beta.3",
"babel-plugin-transform-es2015-template-literals": "7.0.0-beta.3",
"babel-plugin-transform-es2015-typeof-symbol": "7.0.0-beta.3",
"babel-plugin-transform-es2015-unicode-regex": "7.0.0-beta.3",
"babel-plugin-transform-exponentiation-operator": "7.0.0-beta.3",
"babel-plugin-transform-new-target": "7.0.0-beta.3",
"babel-plugin-transform-object-rest-spread": "7.0.0-beta.3",
"babel-plugin-transform-optional-catch-binding": "7.0.0-beta.3",
"babel-plugin-transform-regenerator": "7.0.0-beta.3",
"babel-plugin-transform-unicode-property-regex": "^2.0.5",
"@babel/plugin-check-constants": "7.0.0-beta.31",
"@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.31",
"@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.31",
"@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.31",
"@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.31",
"@babel/plugin-syntax-async-generators": "7.0.0-beta.31",
"@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.31",
"@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.31",
"@babel/plugin-transform-arrow-functions": "7.0.0-beta.31",
"@babel/plugin-transform-async-to-generator": "7.0.0-beta.31",
"@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.31",
"@babel/plugin-transform-block-scoping": "7.0.0-beta.31",
"@babel/plugin-transform-classes": "7.0.0-beta.31",
"@babel/plugin-transform-computed-properties": "7.0.0-beta.31",
"@babel/plugin-transform-destructuring": "7.0.0-beta.31",
"@babel/plugin-transform-duplicate-keys": "7.0.0-beta.31",
"@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.31",
"@babel/plugin-transform-for-of": "7.0.0-beta.31",
"@babel/plugin-transform-function-name": "7.0.0-beta.31",
"@babel/plugin-transform-literals": "7.0.0-beta.31",
"@babel/plugin-transform-modules-amd": "7.0.0-beta.31",
"@babel/plugin-transform-modules-commonjs": "7.0.0-beta.31",
"@babel/plugin-transform-modules-systemjs": "7.0.0-beta.31",
"@babel/plugin-transform-modules-umd": "7.0.0-beta.31",
"@babel/plugin-transform-new-target": "7.0.0-beta.31",
"@babel/plugin-transform-object-super": "7.0.0-beta.31",
"@babel/plugin-transform-parameters": "7.0.0-beta.31",
"@babel/plugin-transform-regenerator": "7.0.0-beta.31",
"@babel/plugin-transform-shorthand-properties": "7.0.0-beta.31",
"@babel/plugin-transform-spread": "7.0.0-beta.31",
"@babel/plugin-transform-sticky-regex": "7.0.0-beta.31",
"@babel/plugin-transform-template-literals": "7.0.0-beta.31",
"@babel/plugin-transform-typeof-symbol": "7.0.0-beta.31",
"@babel/plugin-transform-unicode-regex": "7.0.0-beta.31",
"browserslist": "^2.4.0",
"invariant": "^2.2.2",
"semver": "^5.3.0"
},
"peerDependencies": {
"@babel/core": "7.0.0-beta.31"
},
"devDependencies": {
"babel-cli": "7.0.0-beta.3",
"babel-helper-fixtures": "7.0.0-beta.3",
"babel-helper-plugin-test-runner": "7.0.0-beta.3",
"compat-table": "kangax/compat-table#07dce174cc63f2b15b5f86b99cdfc89358dd072a"
"@babel/cli": "7.0.0-beta.31",
"@babel/core": "7.0.0-beta.31",
"@babel/helper-fixtures": "7.0.0-beta.31",
"@babel/helper-plugin-test-runner": "7.0.0-beta.31",
"compat-table": "kangax/compat-table#957f1ff15972e8fb2892a172f985e9af27bf1c75",
"electron-to-chromium": "^1.3.27"
}
}

View File

@@ -91,7 +91,7 @@ const foo = new Promise((resolve) => {
fs.writeFileSync(
path.join(tempFolderPath, "index.js"),
`
import "babel-polyfill";
import "@babel/polyfill";
1 ** 2;
`
);

View File

@@ -1,37 +1,36 @@
export default {
"check-es2015-constants": require("babel-plugin-check-es2015-constants"),
"syntax-async-generators": require("babel-plugin-syntax-async-generators"),
"syntax-object-rest-spread": require("babel-plugin-syntax-object-rest-spread"),
"syntax-optional-catch-binding": require("babel-plugin-syntax-optional-catch-binding"),
"syntax-trailing-function-commas": require("babel-plugin-syntax-trailing-function-commas"),
"transform-async-to-generator": require("babel-plugin-transform-async-to-generator"),
"transform-async-generator-functions": require("babel-plugin-transform-async-generator-functions"),
"transform-es2015-arrow-functions": require("babel-plugin-transform-es2015-arrow-functions"),
"transform-es2015-block-scoped-functions": require("babel-plugin-transform-es2015-block-scoped-functions"),
"transform-es2015-block-scoping": require("babel-plugin-transform-es2015-block-scoping"),
"transform-es2015-classes": require("babel-plugin-transform-es2015-classes"),
"transform-es2015-computed-properties": require("babel-plugin-transform-es2015-computed-properties"),
"transform-es2015-destructuring": require("babel-plugin-transform-es2015-destructuring"),
"transform-es2015-duplicate-keys": require("babel-plugin-transform-es2015-duplicate-keys"),
"transform-es2015-for-of": require("babel-plugin-transform-es2015-for-of"),
"transform-es2015-function-name": require("babel-plugin-transform-es2015-function-name"),
"transform-es2015-literals": require("babel-plugin-transform-es2015-literals"),
"transform-es2015-modules-amd": require("babel-plugin-transform-es2015-modules-amd"),
"transform-es2015-modules-commonjs": require("babel-plugin-transform-es2015-modules-commonjs"),
"transform-es2015-modules-systemjs": require("babel-plugin-transform-es2015-modules-systemjs"),
"transform-es2015-modules-umd": require("babel-plugin-transform-es2015-modules-umd"),
"transform-es2015-object-super": require("babel-plugin-transform-es2015-object-super"),
"transform-es2015-parameters": require("babel-plugin-transform-es2015-parameters"),
"transform-es2015-shorthand-properties": require("babel-plugin-transform-es2015-shorthand-properties"),
"transform-es2015-spread": require("babel-plugin-transform-es2015-spread"),
"transform-es2015-sticky-regex": require("babel-plugin-transform-es2015-sticky-regex"),
"transform-es2015-template-literals": require("babel-plugin-transform-es2015-template-literals"),
"transform-es2015-typeof-symbol": require("babel-plugin-transform-es2015-typeof-symbol"),
"transform-es2015-unicode-regex": require("babel-plugin-transform-es2015-unicode-regex"),
"transform-exponentiation-operator": require("babel-plugin-transform-exponentiation-operator"),
"transform-new-target": require("babel-plugin-transform-new-target"),
"transform-object-rest-spread": require("babel-plugin-transform-object-rest-spread"),
"transform-optional-catch-binding": require("babel-plugin-transform-optional-catch-binding"),
"transform-regenerator": require("babel-plugin-transform-regenerator"),
"transform-unicode-property-regex": require("babel-plugin-transform-unicode-property-regex"),
"check-constants": require("@babel/plugin-check-constants"),
"syntax-async-generators": require("@babel/plugin-syntax-async-generators"),
"syntax-object-rest-spread": require("@babel/plugin-syntax-object-rest-spread"),
"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"),
"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"),
"transform-classes": require("@babel/plugin-transform-classes"),
"transform-computed-properties": require("@babel/plugin-transform-computed-properties"),
"transform-destructuring": require("@babel/plugin-transform-destructuring"),
"transform-duplicate-keys": require("@babel/plugin-transform-duplicate-keys"),
"transform-for-of": require("@babel/plugin-transform-for-of"),
"transform-function-name": require("@babel/plugin-transform-function-name"),
"transform-literals": require("@babel/plugin-transform-literals"),
"transform-modules-amd": require("@babel/plugin-transform-modules-amd"),
"transform-modules-commonjs": require("@babel/plugin-transform-modules-commonjs"),
"transform-modules-systemjs": require("@babel/plugin-transform-modules-systemjs"),
"transform-modules-umd": require("@babel/plugin-transform-modules-umd"),
"transform-object-super": require("@babel/plugin-transform-object-super"),
"transform-parameters": require("@babel/plugin-transform-parameters"),
"transform-shorthand-properties": require("@babel/plugin-transform-shorthand-properties"),
"transform-spread": require("@babel/plugin-transform-spread"),
"transform-sticky-regex": require("@babel/plugin-transform-sticky-regex"),
"transform-template-literals": require("@babel/plugin-transform-template-literals"),
"transform-typeof-symbol": require("@babel/plugin-transform-typeof-symbol"),
"transform-unicode-regex": require("@babel/plugin-transform-unicode-regex"),
"transform-exponentiation-operator": require("@babel/plugin-transform-exponentiation-operator"),
"transform-new-target": require("@babel/plugin-transform-new-target"),
"proposal-object-rest-spread": require("@babel/plugin-proposal-object-rest-spread"),
"proposal-optional-catch-binding": require("@babel/plugin-proposal-optional-catch-binding"),
"transform-regenerator": require("@babel/plugin-transform-regenerator"),
"proposal-unicode-property-regex": require("@babel/plugin-proposal-unicode-property-regex"),
};

View File

@@ -38,7 +38,7 @@ export const logEntryPolyfills = (
if (!importPolyfillIncluded) {
console.log(
`
[${filename}] \`import 'babel-polyfill'\` was not found.`,
[${filename}] \`import '@babel/polyfill'\` was not found.`,
);
return;
}
@@ -52,7 +52,7 @@ export const logEntryPolyfills = (
console.log(
`
[${filename}] Replaced \`babel-polyfill\` with the following polyfill${wordEnds(
[${filename}] Replaced \`@babel/polyfill\` with the following polyfill${wordEnds(
polyfills.size,
)}:`,
);

View File

@@ -211,7 +211,7 @@ export default function buildPreset(
const pluginUseBuiltIns = useBuiltIns !== false;
// NOTE: not giving spec here yet to avoid compatibility issues when
// babel-plugin-transform-es2015-modules-commonjs gets its spec mode
// transform-modules-commonjs gets its spec mode
if (modules !== false && moduleTransformations[modules]) {
plugins.push([getPlugin(moduleTransformations[modules]), { loose }]);
}
@@ -227,7 +227,7 @@ export default function buildPreset(
if (debug && !hasBeenLogged) {
hasBeenLogged = true;
console.log("babel-preset-env: `DEBUG` option");
console.log("@babel/preset-env: `DEBUG` option");
console.log("\nUsing targets:");
console.log(JSON.stringify(prettifyTargets(targets), null, 2));
console.log(`\nUsing modules transform: ${modules.toString()}`);

View File

@@ -1,6 +1,6 @@
export default {
amd: "transform-es2015-modules-amd",
commonjs: "transform-es2015-modules-commonjs",
systemjs: "transform-es2015-modules-systemjs",
umd: "transform-es2015-modules-umd",
amd: "transform-modules-amd",
commonjs: "transform-modules-commonjs",
systemjs: "transform-modules-systemjs",
umd: "transform-modules-umd",
};

View File

@@ -11,7 +11,7 @@ type Plugin = {
type RequireType = "require" | "import";
function isPolyfillSource(value: string): boolean {
return value === "babel-polyfill";
return value === "@babel/polyfill";
}
export default function({ types: t }: { types: Object }): Plugin {
@@ -45,7 +45,7 @@ export default function({ types: t }: { types: Object }): Plugin {
core: ?boolean,
): Object {
if (core) {
polyfill = `babel-polyfill/lib/core-js/modules/${polyfill}`;
polyfill = `@babel/polyfill/lib/core-js/modules/${polyfill}`;
}
if (requireType === "import") {
@@ -67,7 +67,7 @@ export default function({ types: t }: { types: Object }): Plugin {
if (regenerator) {
imports.push(
createImport(
"babel-polyfill/lib/regenerator-runtime/runtime",
"@babel/polyfill/lib/regenerator-runtime/runtime",
requireType,
),
);

View File

@@ -10,7 +10,7 @@ type Plugin = {
};
function isPolyfillSource(value: string): boolean {
return value === "babel-polyfill";
return value === "@babel/polyfill";
}
// function warnOnInstanceMethod() {
@@ -24,6 +24,11 @@ function has(obj: Object, key: string): boolean {
return Object.prototype.hasOwnProperty.call(obj, key);
}
function getType(target: any): string {
if (Array.isArray(target)) return "array";
return typeof target;
}
// function getObjectString(node: Object): string {
// if (node.type === "Identifier") {
// return node.name;
@@ -34,12 +39,12 @@ function has(obj: Object, key: string): boolean {
// }
const modulePathMap = {
"regenerator-runtime": "babel-polyfill/lib/regenerator-runtime/runtime",
"regenerator-runtime": "@babel/polyfill/lib/regenerator-runtime/runtime",
};
const getModulePath = module => {
return (
modulePathMap[module] || `babel-polyfill/lib/core-js/modules/${module}`
modulePathMap[module] || `@babel/polyfill/lib/core-js/modules/${module}`
);
};
@@ -103,7 +108,7 @@ export default function({ types: t }: { types: Object }): Plugin {
console.warn(
`
When setting \`useBuiltIns: 'usage'\`, polyfills are automatically imported when needed.
Please remove the \`import 'babel-polyfill'\` call or use \`useBuiltIns: 'entry'\` instead.`,
Please remove the \`import '@babel/polyfill'\` call or use \`useBuiltIns: 'entry'\` instead.`,
);
path.remove();
}
@@ -115,7 +120,7 @@ export default function({ types: t }: { types: Object }): Plugin {
console.warn(
`
When setting \`useBuiltIns: 'usage'\`, polyfills are automatically imported when needed.
Please remove the \`require('babel-polyfill')\` call or use \`useBuiltIns: 'entry'\` instead.`,
Please remove the \`require('@babel/polyfill')\` call or use \`useBuiltIns: 'entry'\` instead.`,
);
bodyPath.remove();
}
@@ -176,54 +181,49 @@ export default function({ types: t }: { types: Object }): Plugin {
const prop = node.property;
if (!t.isReferenced(obj, node)) return;
// doesn't reference the global
if (path.scope.getBindingIdentifier(obj.name)) return;
if (has(definitions.staticMethods, obj.name)) {
const staticMethods = definitions.staticMethods[obj.name];
if (has(staticMethods, prop.name)) {
const builtIn = staticMethods[prop.name];
let instanceType;
let evaluatedPropType = obj.name;
let propName = prop.name;
if (node.computed) {
if (t.isStringLiteral(prop)) {
propName = prop.value;
} else {
const res = path.get("property").evaluate();
if (res.confident && res.value) {
propName = res.value;
}
}
}
if (path.scope.getBindingIdentifier(obj.name)) {
const result = path.get("object").evaluate();
if (result.value) {
instanceType = getType(result.value);
} else if (result.deopt && result.deopt.isIdentifier()) {
evaluatedPropType = result.deopt.node.name;
}
}
if (has(definitions.staticMethods, evaluatedPropType)) {
const staticMethods = definitions.staticMethods[evaluatedPropType];
if (has(staticMethods, propName)) {
const builtIn = staticMethods[propName];
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns);
// if (obj.name === "Array" && prop.name === "from") {
// addImport(
// path,
// "babel-polyfill/lib/core-js/modules/web.dom.iterable",
// "@babel/polyfill/lib/core-js/modules/web.dom.iterable",
// this.builtIns,
// );
// }
}
}
if (
!node.computed &&
t.isIdentifier(prop) &&
has(definitions.instanceMethods, prop.name)
) {
if (has(definitions.instanceMethods, propName)) {
//warnOnInstanceMethod(state, getObjectString(node));
const builtIn = definitions.instanceMethods[prop.name];
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns);
} else if (node.computed) {
if (
t.isStringLiteral(prop) &&
has(definitions.instanceMethods, prop.value)
) {
const builtIn = definitions.instanceMethods[prop.value];
//warnOnInstanceMethod(state, `${obj.name}['${prop.value}']`);
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns);
} else {
const res = path.get("property").evaluate();
if (res.confident) {
const builtIn = definitions.instanceMethods[res.value];
//warnOnInstanceMethod(state, `${obj.name}['${res.value}']`);
addUnsupported(
path.get("property"),
state.opts.polyfills,
builtIn,
this.builtIns,
);
}
let builtIn = definitions.instanceMethods[propName];
if (instanceType) {
builtIn = builtIn.filter(item => item.includes(instanceType));
}
addUnsupported(path, state.opts.polyfills, builtIn, this.builtIns);
}
},

View File

@@ -1,7 +1,7 @@
const chai = require("chai");
const child = require("child_process");
const fs = require("fs-extra");
const helper = require("babel-helper-fixtures");
const helper = require("@babel/helper-fixtures");
const path = require("path");
const fixtureLoc = path.join(__dirname, "debug-fixtures");
@@ -44,7 +44,7 @@ const assertTest = (stdout, stderr, opts) => {
};
const buildTest = opts => {
const binLoc = require.resolve("babel-cli/bin/babel");
const binLoc = require.resolve("@babel/cli/bin/babel");
return callback => {
clear();

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -8,34 +8,33 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "android":"4" }
transform-es2015-arrow-functions { "android":"4" }
transform-es2015-block-scoped-functions { "android":"4" }
transform-es2015-block-scoping { "android":"4" }
transform-es2015-classes { "android":"4" }
transform-es2015-computed-properties { "android":"4" }
transform-es2015-destructuring { "android":"4" }
transform-es2015-duplicate-keys { "android":"4" }
transform-es2015-for-of { "android":"4" }
transform-es2015-function-name { "android":"4" }
transform-es2015-literals { "android":"4" }
transform-es2015-object-super { "android":"4" }
transform-es2015-parameters { "android":"4" }
transform-es2015-shorthand-properties { "android":"4" }
transform-es2015-spread { "android":"4" }
transform-es2015-sticky-regex { "android":"4" }
transform-es2015-template-literals { "android":"4" }
transform-es2015-typeof-symbol { "android":"4" }
transform-es2015-unicode-regex { "android":"4" }
check-constants { "android":"4" }
transform-arrow-functions { "android":"4" }
transform-block-scoped-functions { "android":"4" }
transform-block-scoping { "android":"4" }
transform-classes { "android":"4" }
transform-computed-properties { "android":"4" }
transform-destructuring { "android":"4" }
transform-duplicate-keys { "android":"4" }
transform-for-of { "android":"4" }
transform-function-name { "android":"4" }
transform-literals { "android":"4" }
transform-object-super { "android":"4" }
transform-parameters { "android":"4" }
transform-shorthand-properties { "android":"4" }
transform-spread { "android":"4" }
transform-sticky-regex { "android":"4" }
transform-template-literals { "android":"4" }
transform-typeof-symbol { "android":"4" }
transform-unicode-regex { "android":"4" }
transform-new-target { "android":"4" }
transform-regenerator { "android":"4" }
transform-exponentiation-operator { "android":"4" }
transform-async-to-generator { "android":"4" }
syntax-trailing-function-commas { "android":"4" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer { "android":"4" }
es6.typed.int8-array { "android":"4" }
es6.typed.uint8-array { "android":"4" }
@@ -65,6 +64,16 @@ Using polyfills with `entry` option:
es6.reflect.set-prototype-of { "android":"4" }
es6.promise { "android":"4" }
es6.symbol { "android":"4" }
es6.object.freeze { "android":"4" }
es6.object.seal { "android":"4" }
es6.object.prevent-extensions { "android":"4" }
es6.object.is-frozen { "android":"4" }
es6.object.is-sealed { "android":"4" }
es6.object.is-extensible { "android":"4" }
es6.object.get-own-property-descriptor { "android":"4" }
es6.object.get-prototype-of { "android":"4" }
es6.object.keys { "android":"4" }
es6.object.get-own-property-names { "android":"4" }
es6.object.assign { "android":"4" }
es6.object.is { "android":"4" }
es6.object.set-prototype-of { "android":"4" }
@@ -123,4 +132,4 @@ Using polyfills with `entry` option:
web.timers { "android":"4" }
web.immediate { "android":"4" }
web.dom.iterable { "android":"4" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -8,14 +8,13 @@ Using targets:
Using modules transform: commonjs
Using plugins:
transform-es2015-destructuring { "node":"6" }
transform-es2015-for-of { "node":"6" }
transform-es2015-function-name { "node":"6" }
transform-destructuring { "node":"6" }
transform-for-of { "node":"6" }
transform-function-name { "node":"6" }
transform-exponentiation-operator { "node":"6" }
transform-async-to-generator { "node":"6" }
syntax-trailing-function-commas { "node":"6" }
Using polyfills with `entry` option:
[src/in.js] `import 'babel-polyfill'` was not found.
[src/in.js] `import '@babel/polyfill'` was not found.
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,7 +1,7 @@
The uglify target has been deprecated. Set the top level
option `forceAllTransforms: true` instead.
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -11,37 +11,36 @@ Using targets:
Using modules transform: false
Using plugins:
check-es2015-constants {}
transform-es2015-arrow-functions {}
transform-es2015-block-scoped-functions {}
transform-es2015-block-scoping {}
transform-es2015-classes {}
transform-es2015-computed-properties {}
transform-es2015-destructuring {}
transform-es2015-duplicate-keys {}
transform-es2015-for-of {}
transform-es2015-function-name {}
transform-es2015-literals {}
transform-es2015-object-super {}
transform-es2015-parameters {}
transform-es2015-shorthand-properties {}
transform-es2015-spread {}
transform-es2015-sticky-regex {}
transform-es2015-template-literals {}
transform-es2015-typeof-symbol {}
transform-es2015-unicode-regex {}
check-constants {}
transform-arrow-functions {}
transform-block-scoped-functions {}
transform-block-scoping {}
transform-classes {}
transform-computed-properties {}
transform-destructuring {}
transform-duplicate-keys {}
transform-for-of {}
transform-function-name {}
transform-literals {}
transform-object-super {}
transform-parameters {}
transform-shorthand-properties {}
transform-spread {}
transform-sticky-regex {}
transform-template-literals {}
transform-typeof-symbol {}
transform-unicode-regex {}
transform-new-target {}
transform-regenerator {}
transform-exponentiation-operator {}
transform-async-to-generator {}
syntax-trailing-function-commas { "chrome":"55" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es7.string.pad-start { "chrome":"55" }
es7.string.pad-end { "chrome":"55" }
web.timers { "chrome":"55" }
web.immediate { "chrome":"55" }
web.dom.iterable { "chrome":"55" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -10,34 +10,33 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "ie":"10" }
transform-es2015-arrow-functions { "ie":"10" }
transform-es2015-block-scoped-functions { "ie":"10" }
transform-es2015-block-scoping { "ie":"10" }
transform-es2015-classes { "ie":"10" }
transform-es2015-computed-properties { "ie":"10" }
transform-es2015-destructuring { "ie":"10", "node":"6" }
transform-es2015-duplicate-keys { "ie":"10" }
transform-es2015-for-of { "ie":"10", "node":"6" }
transform-es2015-function-name { "ie":"10", "node":"6" }
transform-es2015-literals { "ie":"10" }
transform-es2015-object-super { "ie":"10" }
transform-es2015-parameters { "ie":"10" }
transform-es2015-shorthand-properties { "ie":"10" }
transform-es2015-spread { "ie":"10" }
transform-es2015-sticky-regex { "ie":"10" }
transform-es2015-template-literals { "ie":"10" }
transform-es2015-typeof-symbol { "ie":"10" }
transform-es2015-unicode-regex { "ie":"10" }
check-constants { "ie":"10" }
transform-arrow-functions { "ie":"10" }
transform-block-scoped-functions { "ie":"10" }
transform-block-scoping { "ie":"10" }
transform-classes { "ie":"10" }
transform-computed-properties { "ie":"10" }
transform-destructuring { "ie":"10", "node":"6" }
transform-duplicate-keys { "ie":"10" }
transform-for-of { "ie":"10", "node":"6" }
transform-function-name { "ie":"10", "node":"6" }
transform-literals { "ie":"10" }
transform-object-super { "ie":"10" }
transform-parameters { "ie":"10" }
transform-shorthand-properties { "ie":"10" }
transform-spread { "ie":"10" }
transform-sticky-regex { "ie":"10" }
transform-template-literals { "ie":"10" }
transform-typeof-symbol { "ie":"10" }
transform-unicode-regex { "ie":"10" }
transform-new-target { "ie":"10" }
transform-regenerator { "ie":"10" }
transform-exponentiation-operator { "ie":"10", "node":"6" }
transform-async-to-generator { "chrome":"54", "ie":"10", "node":"6" }
syntax-trailing-function-commas { "chrome":"54", "ie":"10", "node":"6" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer { "ie":"10", "node":"6" }
es6.typed.int8-array { "ie":"10", "node":"6" }
es6.typed.uint8-array { "ie":"10", "node":"6" }
@@ -67,6 +66,16 @@ Using polyfills with `entry` option:
es6.reflect.set-prototype-of { "ie":"10" }
es6.promise { "ie":"10", "node":"6" }
es6.symbol { "ie":"10", "node":"6" }
es6.object.freeze { "ie":"10" }
es6.object.seal { "ie":"10" }
es6.object.prevent-extensions { "ie":"10" }
es6.object.is-frozen { "ie":"10" }
es6.object.is-sealed { "ie":"10" }
es6.object.is-extensible { "ie":"10" }
es6.object.get-own-property-descriptor { "ie":"10" }
es6.object.get-prototype-of { "ie":"10" }
es6.object.keys { "ie":"10" }
es6.object.get-own-property-names { "ie":"10" }
es6.object.assign { "ie":"10" }
es6.object.is { "ie":"10" }
es6.object.set-prototype-of { "ie":"10" }
@@ -125,4 +134,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "ie":"10", "node":"6" }
web.immediate { "chrome":"54", "ie":"10", "node":"6" }
web.dom.iterable { "chrome":"54", "ie":"10", "node":"6" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -5,7 +5,7 @@ Warning, the following targets are using a decimal version:
We recommend using a string for minor/patch versions to avoid numbers like 6.10
getting parsed as 6.1, which can lead to unexpected behavior.
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -15,22 +15,21 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "electron":"0.36" }
transform-es2015-block-scoping { "electron":"0.36" }
transform-es2015-destructuring { "electron":"0.36" }
transform-es2015-for-of { "electron":"0.36" }
transform-es2015-function-name { "electron":"0.36" }
transform-es2015-parameters { "electron":"0.36" }
transform-es2015-sticky-regex { "electron":"0.36" }
transform-es2015-unicode-regex { "electron":"0.36" }
check-constants { "electron":"0.36" }
transform-block-scoping { "electron":"0.36" }
transform-destructuring { "electron":"0.36" }
transform-for-of { "electron":"0.36" }
transform-function-name { "electron":"0.36" }
transform-parameters { "electron":"0.36" }
transform-sticky-regex { "electron":"0.36" }
transform-unicode-regex { "electron":"0.36" }
transform-regenerator { "electron":"0.36" }
transform-exponentiation-operator { "electron":"0.36" }
transform-async-to-generator { "electron":"0.36" }
syntax-trailing-function-commas { "electron":"0.36" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer { "electron":"0.36" }
es6.typed.data-view { "electron":"0.36" }
es6.typed.int8-array { "electron":"0.36" }

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -8,37 +8,36 @@ Using targets:
Using modules transform: false
Using plugins:
check-es2015-constants {}
transform-es2015-arrow-functions {}
transform-es2015-block-scoped-functions {}
transform-es2015-block-scoping {}
transform-es2015-classes {}
transform-es2015-computed-properties {}
transform-es2015-destructuring {}
transform-es2015-duplicate-keys {}
transform-es2015-for-of {}
transform-es2015-function-name {}
transform-es2015-literals {}
transform-es2015-object-super {}
transform-es2015-parameters {}
transform-es2015-shorthand-properties {}
transform-es2015-spread {}
transform-es2015-sticky-regex {}
transform-es2015-template-literals {}
transform-es2015-typeof-symbol {}
transform-es2015-unicode-regex {}
check-constants {}
transform-arrow-functions {}
transform-block-scoped-functions {}
transform-block-scoping {}
transform-classes {}
transform-computed-properties {}
transform-destructuring {}
transform-duplicate-keys {}
transform-for-of {}
transform-function-name {}
transform-literals {}
transform-object-super {}
transform-parameters {}
transform-shorthand-properties {}
transform-spread {}
transform-sticky-regex {}
transform-template-literals {}
transform-typeof-symbol {}
transform-unicode-regex {}
transform-new-target {}
transform-regenerator {}
transform-exponentiation-operator {}
transform-async-to-generator {}
syntax-trailing-function-commas { "chrome":"55" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es7.string.pad-start { "chrome":"55" }
es7.string.pad-end { "chrome":"55" }
web.timers { "chrome":"55" }
web.immediate { "chrome":"55" }
web.dom.iterable { "chrome":"55" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -5,7 +5,7 @@
"exclude": [
"transform-async-to-generator",
"transform-regenerator",
"transform-es2015-parameters"
"transform-parameters"
],
"targets": {
"firefox": 52,

View File

@@ -5,7 +5,7 @@ Warning, the following targets are using a decimal version:
We recommend using a string for minor/patch versions to avoid numbers like 6.10
getting parsed as 6.1, which can lead to unexpected behavior.
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -16,11 +16,10 @@ Using targets:
Using modules transform: commonjs
Using plugins:
transform-es2015-destructuring { "firefox":"52" }
transform-es2015-for-of { "firefox":"52" }
transform-es2015-function-name { "firefox":"52" }
transform-es2015-literals { "firefox":"52" }
syntax-trailing-function-commas { "node":"7.4" }
transform-destructuring { "firefox":"52" }
transform-for-of { "firefox":"52" }
transform-function-name { "firefox":"52" }
transform-literals { "firefox":"52" }
Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -8,16 +8,16 @@ Using targets:
Using modules transform: commonjs
Using plugins:
transform-async-generator-functions { "chrome":"60" }
proposal-async-generator-functions { "chrome":"60" }
syntax-object-rest-spread { "chrome":"60" }
transform-optional-catch-binding { "chrome":"60" }
transform-unicode-property-regex { "chrome":"60" }
proposal-optional-catch-binding { "chrome":"60" }
proposal-unicode-property-regex { "chrome":"60" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es7.promise.finally { "chrome":"60" }
web.timers { "chrome":"60" }
web.immediate { "chrome":"60" }
web.dom.iterable { "chrome":"60" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{}
@@ -6,38 +6,37 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants {}
transform-es2015-arrow-functions {}
transform-es2015-block-scoped-functions {}
transform-es2015-block-scoping {}
transform-es2015-classes {}
transform-es2015-computed-properties {}
transform-es2015-destructuring {}
transform-es2015-duplicate-keys {}
transform-es2015-for-of {}
transform-es2015-function-name {}
transform-es2015-literals {}
transform-es2015-object-super {}
transform-es2015-parameters {}
transform-es2015-shorthand-properties {}
transform-es2015-spread {}
transform-es2015-sticky-regex {}
transform-es2015-template-literals {}
transform-es2015-typeof-symbol {}
transform-es2015-unicode-regex {}
check-constants {}
transform-arrow-functions {}
transform-block-scoped-functions {}
transform-block-scoping {}
transform-classes {}
transform-computed-properties {}
transform-destructuring {}
transform-duplicate-keys {}
transform-for-of {}
transform-function-name {}
transform-literals {}
transform-object-super {}
transform-parameters {}
transform-shorthand-properties {}
transform-spread {}
transform-sticky-regex {}
transform-template-literals {}
transform-typeof-symbol {}
transform-unicode-regex {}
transform-new-target {}
transform-regenerator {}
transform-exponentiation-operator {}
transform-async-to-generator {}
syntax-trailing-function-commas {}
transform-async-generator-functions {}
transform-object-rest-spread {}
transform-optional-catch-binding {}
transform-unicode-property-regex {}
proposal-async-generator-functions {}
proposal-object-rest-spread {}
proposal-optional-catch-binding {}
proposal-unicode-property-regex {}
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer {}
es6.typed.data-view {}
es6.typed.int8-array {}
@@ -68,6 +67,16 @@ Using polyfills with `entry` option:
es6.reflect.set-prototype-of {}
es6.promise {}
es6.symbol {}
es6.object.freeze {}
es6.object.seal {}
es6.object.prevent-extensions {}
es6.object.is-frozen {}
es6.object.is-sealed {}
es6.object.is-extensible {}
es6.object.get-own-property-descriptor {}
es6.object.get-prototype-of {}
es6.object.keys {}
es6.object.get-own-property-names {}
es6.object.assign {}
es6.object.is {}
es6.object.set-prototype-of {}
@@ -127,4 +136,4 @@ Using polyfills with `entry` option:
web.timers {}
web.immediate {}
web.dom.iterable {}
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -13,34 +13,33 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-arrow-functions { "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-block-scoped-functions { "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-block-scoping { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-classes { "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-computed-properties { "ie":"10", "safari":"7" }
transform-es2015-destructuring { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-duplicate-keys { "ie":"10", "safari":"7" }
transform-es2015-for-of { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-function-name { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-literals { "firefox":"49", "ie":"10", "safari":"7" }
transform-es2015-object-super { "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-parameters { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-shorthand-properties { "ie":"10", "safari":"7" }
transform-es2015-spread { "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-sticky-regex { "ie":"10", "ios":"9", "safari":"7" }
transform-es2015-template-literals { "ie":"10", "safari":"7" }
transform-es2015-typeof-symbol { "ie":"10", "safari":"7" }
transform-es2015-unicode-regex { "ie":"10", "ios":"9", "safari":"7" }
check-constants { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-arrow-functions { "ie":"10", "ios":"9", "safari":"7" }
transform-block-scoped-functions { "ie":"10", "ios":"9", "safari":"7" }
transform-block-scoping { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-classes { "ie":"10", "ios":"9", "safari":"7" }
transform-computed-properties { "ie":"10", "safari":"7" }
transform-destructuring { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-duplicate-keys { "ie":"10", "safari":"7" }
transform-for-of { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-function-name { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-literals { "firefox":"49", "ie":"10", "safari":"7" }
transform-object-super { "ie":"10", "ios":"9", "safari":"7" }
transform-parameters { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-shorthand-properties { "ie":"10", "safari":"7" }
transform-spread { "ie":"10", "ios":"9", "safari":"7" }
transform-sticky-regex { "ie":"10", "ios":"9", "safari":"7" }
transform-template-literals { "ie":"10", "safari":"7" }
transform-typeof-symbol { "ie":"10", "safari":"7" }
transform-unicode-regex { "ie":"10", "ios":"9", "safari":"7" }
transform-new-target { "edge":"13", "ie":"10", "ios":"9", "safari":"7" }
transform-regenerator { "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-exponentiation-operator { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
transform-async-to-generator { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
syntax-trailing-function-commas { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer { "ie":"10", "ios":"9", "safari":"7" }
es6.typed.int8-array { "ie":"10", "ios":"9", "safari":"7" }
es6.typed.uint8-array { "ie":"10", "ios":"9", "safari":"7" }
@@ -70,6 +69,16 @@ Using polyfills with `entry` option:
es6.reflect.set-prototype-of { "ie":"10", "ios":"9", "safari":"7" }
es6.promise { "ie":"10", "ios":"9", "safari":"7" }
es6.symbol { "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
es6.object.freeze { "ie":"10", "safari":"7" }
es6.object.seal { "ie":"10", "safari":"7" }
es6.object.prevent-extensions { "ie":"10", "safari":"7" }
es6.object.is-frozen { "ie":"10", "safari":"7" }
es6.object.is-sealed { "ie":"10", "safari":"7" }
es6.object.is-extensible { "ie":"10", "safari":"7" }
es6.object.get-own-property-descriptor { "ie":"10", "safari":"7" }
es6.object.get-prototype-of { "ie":"10", "safari":"7" }
es6.object.keys { "ie":"10", "safari":"7" }
es6.object.get-own-property-names { "ie":"10", "safari":"7" }
es6.object.assign { "ie":"10", "safari":"7" }
es6.object.is { "ie":"10", "safari":"7" }
es6.object.set-prototype-of { "ie":"10", "safari":"7" }
@@ -128,4 +137,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
web.immediate { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
web.dom.iterable { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -10,29 +10,28 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "firefox":"50", "ie":"11" }
transform-es2015-arrow-functions { "ie":"11" }
transform-es2015-block-scoping { "firefox":"50", "ie":"11" }
transform-es2015-classes { "ie":"11" }
transform-es2015-computed-properties { "ie":"11" }
transform-es2015-destructuring { "firefox":"50", "ie":"11" }
transform-es2015-duplicate-keys { "ie":"11" }
transform-es2015-for-of { "firefox":"50", "ie":"11" }
transform-es2015-function-name { "firefox":"50", "ie":"11" }
transform-es2015-literals { "firefox":"50", "ie":"11" }
transform-es2015-object-super { "ie":"11" }
transform-es2015-parameters { "firefox":"50", "ie":"11" }
transform-es2015-shorthand-properties { "ie":"11" }
transform-es2015-spread { "ie":"11" }
transform-es2015-sticky-regex { "ie":"11" }
transform-es2015-template-literals { "ie":"11" }
transform-es2015-typeof-symbol { "ie":"11" }
transform-es2015-unicode-regex { "ie":"11" }
check-constants { "firefox":"50", "ie":"11" }
transform-arrow-functions { "ie":"11" }
transform-block-scoping { "firefox":"50", "ie":"11" }
transform-classes { "ie":"11" }
transform-computed-properties { "ie":"11" }
transform-destructuring { "firefox":"50", "ie":"11" }
transform-duplicate-keys { "ie":"11" }
transform-for-of { "firefox":"50", "ie":"11" }
transform-function-name { "firefox":"50", "ie":"11" }
transform-literals { "firefox":"50", "ie":"11" }
transform-object-super { "ie":"11" }
transform-parameters { "firefox":"50", "ie":"11" }
transform-shorthand-properties { "ie":"11" }
transform-spread { "ie":"11" }
transform-sticky-regex { "ie":"11" }
transform-template-literals { "ie":"11" }
transform-typeof-symbol { "ie":"11" }
transform-unicode-regex { "ie":"11" }
transform-new-target { "ie":"11" }
transform-regenerator { "firefox":"50", "ie":"11" }
transform-exponentiation-operator { "firefox":"50", "ie":"11" }
transform-async-to-generator { "chrome":"52", "firefox":"50", "ie":"11" }
syntax-trailing-function-commas { "chrome":"52", "firefox":"50", "ie":"11" }
Using polyfills with `usage` option:
@@ -40,4 +39,4 @@ Using polyfills with `usage` option:
src/in.js -> lib/in.js
[src/in2.js] Based on your code and targets, none were added.
src/in2.js -> lib/in2.js
src/in2.js -> lib/in2.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -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.
Please remove the `import '@babel/polyfill'` call or use `useBuiltIns: 'entry'` instead.

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -8,7 +8,6 @@ Using targets:
Using modules transform: commonjs
Using plugins:
syntax-trailing-function-commas { "chrome":"55" }
Using polyfills with `usage` option:

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -10,29 +10,28 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "firefox":"50", "ie":"11" }
transform-es2015-arrow-functions { "ie":"11" }
transform-es2015-block-scoping { "firefox":"50", "ie":"11" }
transform-es2015-classes { "ie":"11" }
transform-es2015-computed-properties { "ie":"11" }
transform-es2015-destructuring { "firefox":"50", "ie":"11" }
transform-es2015-duplicate-keys { "ie":"11" }
transform-es2015-for-of { "firefox":"50", "ie":"11" }
transform-es2015-function-name { "firefox":"50", "ie":"11" }
transform-es2015-literals { "firefox":"50", "ie":"11" }
transform-es2015-object-super { "ie":"11" }
transform-es2015-parameters { "firefox":"50", "ie":"11" }
transform-es2015-shorthand-properties { "ie":"11" }
transform-es2015-spread { "ie":"11" }
transform-es2015-sticky-regex { "ie":"11" }
transform-es2015-template-literals { "ie":"11" }
transform-es2015-typeof-symbol { "ie":"11" }
transform-es2015-unicode-regex { "ie":"11" }
check-constants { "firefox":"50", "ie":"11" }
transform-arrow-functions { "ie":"11" }
transform-block-scoping { "firefox":"50", "ie":"11" }
transform-classes { "ie":"11" }
transform-computed-properties { "ie":"11" }
transform-destructuring { "firefox":"50", "ie":"11" }
transform-duplicate-keys { "ie":"11" }
transform-for-of { "firefox":"50", "ie":"11" }
transform-function-name { "firefox":"50", "ie":"11" }
transform-literals { "firefox":"50", "ie":"11" }
transform-object-super { "ie":"11" }
transform-parameters { "firefox":"50", "ie":"11" }
transform-shorthand-properties { "ie":"11" }
transform-spread { "ie":"11" }
transform-sticky-regex { "ie":"11" }
transform-template-literals { "ie":"11" }
transform-typeof-symbol { "ie":"11" }
transform-unicode-regex { "ie":"11" }
transform-new-target { "ie":"11" }
transform-regenerator { "firefox":"50", "ie":"11" }
transform-exponentiation-operator { "firefox":"50", "ie":"11" }
transform-async-to-generator { "chrome":"52", "firefox":"50", "ie":"11" }
syntax-trailing-function-commas { "chrome":"52", "firefox":"50", "ie":"11" }
Using polyfills with `usage` option:
@@ -44,4 +43,4 @@ src/in.js -> lib/in.js
[src/in2.js] Added following polyfills:
regenerator-runtime { "chrome":"52", "firefox":"50", "ie":"11" }
web.dom.iterable { "chrome":"52", "firefox":"50", "ie":"11" }
src/in2.js -> lib/in2.js
src/in2.js -> lib/in2.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -6,7 +6,7 @@ Warning, the following targets are using a decimal version:
We recommend using a string for minor/patch versions to avoid numbers like 6.10
getting parsed as 6.1, which can lead to unexpected behavior.
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -19,34 +19,33 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "electron":"0.36", "ie":"10" }
transform-es2015-arrow-functions { "ie":"10" }
transform-es2015-block-scoped-functions { "ie":"10" }
transform-es2015-block-scoping { "electron":"0.36", "ie":"10" }
transform-es2015-classes { "ie":"10" }
transform-es2015-computed-properties { "ie":"10" }
transform-es2015-destructuring { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-es2015-duplicate-keys { "ie":"10" }
transform-es2015-for-of { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-es2015-function-name { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-es2015-literals { "ie":"10" }
transform-es2015-object-super { "ie":"10" }
transform-es2015-parameters { "electron":"0.36", "ie":"10" }
transform-es2015-shorthand-properties { "ie":"10" }
transform-es2015-spread { "ie":"10" }
transform-es2015-sticky-regex { "electron":"0.36", "ie":"10" }
transform-es2015-template-literals { "ie":"10" }
transform-es2015-typeof-symbol { "ie":"10" }
transform-es2015-unicode-regex { "electron":"0.36", "ie":"10" }
check-constants { "electron":"0.36", "ie":"10" }
transform-arrow-functions { "ie":"10" }
transform-block-scoped-functions { "ie":"10" }
transform-block-scoping { "electron":"0.36", "ie":"10" }
transform-classes { "ie":"10" }
transform-computed-properties { "ie":"10" }
transform-destructuring { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-duplicate-keys { "ie":"10" }
transform-for-of { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-function-name { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-literals { "ie":"10" }
transform-object-super { "ie":"10" }
transform-parameters { "electron":"0.36", "ie":"10" }
transform-shorthand-properties { "ie":"10" }
transform-spread { "ie":"10" }
transform-sticky-regex { "electron":"0.36", "ie":"10" }
transform-template-literals { "ie":"10" }
transform-typeof-symbol { "ie":"10" }
transform-unicode-regex { "electron":"0.36", "ie":"10" }
transform-new-target { "ie":"10" }
transform-regenerator { "electron":"0.36", "ie":"10" }
transform-exponentiation-operator { "electron":"0.36", "ie":"10", "node":"6.1" }
transform-async-to-generator { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
syntax-trailing-function-commas { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer { "electron":"0.36", "ie":"10", "node":"6.1" }
es6.typed.data-view { "electron":"0.36" }
es6.typed.int8-array { "electron":"0.36", "ie":"10", "node":"6.1" }
@@ -77,6 +76,16 @@ Using polyfills with `entry` option:
es6.reflect.set-prototype-of { "electron":"0.36", "ie":"10" }
es6.promise { "electron":"0.36", "ie":"10", "node":"6.1" }
es6.symbol { "electron":"0.36", "ie":"10", "node":"6.1" }
es6.object.freeze { "ie":"10" }
es6.object.seal { "ie":"10" }
es6.object.prevent-extensions { "ie":"10" }
es6.object.is-frozen { "ie":"10" }
es6.object.is-sealed { "ie":"10" }
es6.object.is-extensible { "ie":"10" }
es6.object.get-own-property-descriptor { "ie":"10" }
es6.object.get-prototype-of { "ie":"10" }
es6.object.keys { "ie":"10" }
es6.object.get-own-property-names { "ie":"10" }
es6.object.assign { "ie":"10" }
es6.object.is { "ie":"10" }
es6.object.set-prototype-of { "ie":"10" }
@@ -135,4 +144,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
web.immediate { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
web.dom.iterable { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1 +1 @@
import 'babel-polyfill';
import '@babel/polyfill';

View File

@@ -1,4 +1,4 @@
babel-preset-env: `DEBUG` option
@babel/preset-env: `DEBUG` option
Using targets:
{
@@ -10,34 +10,33 @@ Using targets:
Using modules transform: commonjs
Using plugins:
check-es2015-constants { "ie":"10" }
transform-es2015-arrow-functions { "ie":"10" }
transform-es2015-block-scoped-functions { "ie":"10" }
transform-es2015-block-scoping { "ie":"10" }
transform-es2015-classes { "ie":"10" }
transform-es2015-computed-properties { "ie":"10" }
transform-es2015-destructuring { "ie":"10" }
transform-es2015-duplicate-keys { "ie":"10" }
transform-es2015-for-of { "ie":"10" }
transform-es2015-function-name { "ie":"10" }
transform-es2015-literals { "ie":"10" }
transform-es2015-object-super { "ie":"10" }
transform-es2015-parameters { "ie":"10" }
transform-es2015-shorthand-properties { "ie":"10" }
transform-es2015-spread { "ie":"10" }
transform-es2015-sticky-regex { "ie":"10" }
transform-es2015-template-literals { "ie":"10" }
transform-es2015-typeof-symbol { "ie":"10" }
transform-es2015-unicode-regex { "ie":"10" }
check-constants { "ie":"10" }
transform-arrow-functions { "ie":"10" }
transform-block-scoped-functions { "ie":"10" }
transform-block-scoping { "ie":"10" }
transform-classes { "ie":"10" }
transform-computed-properties { "ie":"10" }
transform-destructuring { "ie":"10" }
transform-duplicate-keys { "ie":"10" }
transform-for-of { "ie":"10" }
transform-function-name { "ie":"10" }
transform-literals { "ie":"10" }
transform-object-super { "ie":"10" }
transform-parameters { "ie":"10" }
transform-shorthand-properties { "ie":"10" }
transform-spread { "ie":"10" }
transform-sticky-regex { "ie":"10" }
transform-template-literals { "ie":"10" }
transform-typeof-symbol { "ie":"10" }
transform-unicode-regex { "ie":"10" }
transform-new-target { "ie":"10" }
transform-regenerator { "ie":"10" }
transform-exponentiation-operator { "ie":"10", "node":"6.10" }
transform-async-to-generator { "chrome":"54", "ie":"10", "node":"6.10" }
syntax-trailing-function-commas { "chrome":"54", "ie":"10", "node":"6.10" }
Using polyfills with `entry` option:
[src/in.js] Replaced `babel-polyfill` with the following polyfills:
[src/in.js] Replaced `@babel/polyfill` with the following polyfills:
es6.typed.array-buffer { "ie":"10" }
es6.typed.int8-array { "ie":"10" }
es6.typed.uint8-array { "ie":"10" }
@@ -67,6 +66,16 @@ Using polyfills with `entry` option:
es6.reflect.set-prototype-of { "ie":"10" }
es6.promise { "ie":"10" }
es6.symbol { "ie":"10" }
es6.object.freeze { "ie":"10" }
es6.object.seal { "ie":"10" }
es6.object.prevent-extensions { "ie":"10" }
es6.object.is-frozen { "ie":"10" }
es6.object.is-sealed { "ie":"10" }
es6.object.is-extensible { "ie":"10" }
es6.object.get-own-property-descriptor { "ie":"10" }
es6.object.get-prototype-of { "ie":"10" }
es6.object.keys { "ie":"10" }
es6.object.get-own-property-names { "ie":"10" }
es6.object.assign { "ie":"10" }
es6.object.is { "ie":"10" }
es6.object.set-prototype-of { "ie":"10" }
@@ -125,4 +134,4 @@ Using polyfills with `entry` option:
web.timers { "chrome":"54", "ie":"10", "node":"6.10" }
web.immediate { "chrome":"54", "ie":"10", "node":"6.10" }
web.dom.iterable { "chrome":"54", "ie":"10", "node":"6.10" }
src/in.js -> lib/in.js
src/in.js -> lib/in.js

View File

@@ -1,3 +1,3 @@
import runner from "babel-helper-plugin-test-runner";
import runner from "@babel/helper-plugin-test-runner";
runner(__dirname);

View File

@@ -1,3 +1,3 @@
import "babel-polyfill/lib/core-js/modules/es6.symbol";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
Symbol.iterator in arr;
import "@babel/polyfill/lib/core-js/modules/es6.symbol";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
Symbol.iterator in arr;

View File

@@ -1,3 +1,3 @@
import "babel-polyfill/lib/core-js/modules/es6.symbol";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
arr[Symbol.iterator]();
import "@babel/polyfill/lib/core-js/modules/es6.symbol";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
arr[Symbol.iterator]();

View File

@@ -1,5 +1,5 @@
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
function* a() {
yield* 1;
}
}

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1,2 +1,2 @@
import "babel-polyfill/lib/core-js/modules/es6.typed.data-view";
import "babel-polyfill/lib/core-js/modules/es6.reflect.apply";
import "@babel/polyfill/lib/core-js/modules/es6.typed.data-view";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.apply";

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1 +1 @@
import "babel-polyfill/lib/regenerator-runtime/runtime";
import "@babel/polyfill/lib/regenerator-runtime/runtime";

View File

@@ -0,0 +1,12 @@
var objectClass = Object;
var arrayInstance = [];
var assignStr = "assign";
var entriesStr = "entries";
var valuesStr = "values";
var inclidesStr = "includes";
var findStr = "find";
// Allow static methods be assigned to variables only directly in the module.
externalVar[valuesStr]; // don't include
objectClass[assignStr]({}); // include
arrayInstance[entriesStr]({}); // don't include

View File

@@ -0,0 +1,14 @@
import "@babel/polyfill/lib/core-js/modules/es6.object.assign";
var objectClass = Object;
var arrayInstance = [];
var assignStr = "assign";
var entriesStr = "entries";
var valuesStr = "values";
var inclidesStr = "includes";
var findStr = "find"; // Allow static methods be assigned to variables only directly in the module.
externalVar[valuesStr]; // don't include
objectClass[assignStr]({}); // include
arrayInstance[entriesStr]({}); // don't include

View File

@@ -0,0 +1,8 @@
{
"presets": [
["../../../../lib", {
"useBuiltIns": "usage",
"modules": false
}]
]
}

View File

@@ -0,0 +1,8 @@
var arrayInstance = [];
var inclidesStr = "includes";
var findStr = "find";
// Allow instance methods be assigned to variables.
arrayInstance[inclidesStr](); // include
externalVar[findStr]; // include

View File

@@ -0,0 +1,10 @@
import "@babel/polyfill/lib/core-js/modules/es6.array.find";
import "@babel/polyfill/lib/core-js/modules/es7.array.includes";
var arrayInstance = [];
var inclidesStr = "includes";
var findStr = "find"; // Allow instance methods be assigned to variables.
arrayInstance[inclidesStr](); // include
externalVar[findStr]; // include

View File

@@ -0,0 +1,8 @@
{
"presets": [
["../../../../lib", {
"useBuiltIns": "usage",
"modules": false
}]
]
}

View File

@@ -1,19 +1,19 @@
import "babel-polyfill/lib/core-js/modules/es6.regexp.split";
import "babel-polyfill/lib/core-js/modules/es6.regexp.replace";
import "babel-polyfill/lib/core-js/modules/es6.regexp.search";
import "babel-polyfill/lib/core-js/modules/es6.array.copy-within";
import "babel-polyfill/lib/core-js/modules/es6.string.ends-with";
import "babel-polyfill/lib/core-js/modules/es6.string.code-point-at";
import "babel-polyfill/lib/core-js/modules/es6.string.starts-with";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-end";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-start";
import "babel-polyfill/lib/core-js/modules/es6.array.fill";
import "babel-polyfill/lib/core-js/modules/es6.array.find-index";
import "babel-polyfill/lib/core-js/modules/es6.array.find";
import "babel-polyfill/lib/core-js/modules/es7.array.includes";
import "babel-polyfill/lib/core-js/modules/es6.string.includes";
import "babel-polyfill/lib/core-js/modules/es6.map";
import "babel-polyfill/lib/core-js/modules/es6.array.from";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.split";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.replace";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.search";
import "@babel/polyfill/lib/core-js/modules/es6.array.copy-within";
import "@babel/polyfill/lib/core-js/modules/es6.string.ends-with";
import "@babel/polyfill/lib/core-js/modules/es6.string.code-point-at";
import "@babel/polyfill/lib/core-js/modules/es6.string.starts-with";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-start";
import "@babel/polyfill/lib/core-js/modules/es6.array.fill";
import "@babel/polyfill/lib/core-js/modules/es6.array.find-index";
import "@babel/polyfill/lib/core-js/modules/es6.array.find";
import "@babel/polyfill/lib/core-js/modules/es7.array.includes";
import "@babel/polyfill/lib/core-js/modules/es6.string.includes";
import "@babel/polyfill/lib/core-js/modules/es6.map";
import "@babel/polyfill/lib/core-js/modules/es6.array.from";
Array.from; // static function
Map; // top level built-in
@@ -47,4 +47,4 @@ j["search"]; // computed with template
k[asdf3]; // computed with concat strings
var _k2 = k,
_a = _k2[asdf2]; // computed
_a = _k2[asdf2]; // computed

View File

@@ -1,9 +1,9 @@
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
import "babel-polyfill/lib/core-js/modules/es6.symbol";
import "babel-polyfill/lib/core-js/modules/es6.regexp.match";
import "babel-polyfill/lib/core-js/modules/es6.promise";
import "babel-polyfill/lib/core-js/modules/es6.map";
import "babel-polyfill/lib/core-js/modules/es6.array.from";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
import "@babel/polyfill/lib/core-js/modules/es6.symbol";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.match";
import "@babel/polyfill/lib/core-js/modules/es6.promise";
import "@babel/polyfill/lib/core-js/modules/es6.map";
import "@babel/polyfill/lib/core-js/modules/es6.array.from";
Array.from; // static method
Map; // built-in
@@ -31,4 +31,4 @@ G.assign; // static method
function H(WeakMap) {
var blah = new WeakMap();
} // shadowed
} // shadowed

View File

@@ -1,5 +1,5 @@
import "babel-polyfill/lib/core-js/modules/es6.promise";
import "babel-polyfill/lib/regenerator-runtime/runtime";
import "@babel/polyfill/lib/core-js/modules/es6.promise";
import "@babel/polyfill/lib/regenerator-runtime/runtime";
var a = function () {
var _ref = _asyncToGenerator(

View File

@@ -1,4 +1,4 @@
import "babel-polyfill/lib/regenerator-runtime/runtime";
import "@babel/polyfill/lib/regenerator-runtime/runtime";
var _marked =
/*#__PURE__*/

View File

@@ -1,4 +1,4 @@
import "babel-polyfill";
import "babel-polyfill";
require("babel-polyfill");
require("babel-polyfill");
import "@babel/polyfill";
import "@babel/polyfill";
require("@babel/polyfill");
require("@babel/polyfill");

View File

@@ -1,5 +1,5 @@
"use strict";
require("babel-polyfill/lib/core-js/modules/es6.promise");
require("@babel/polyfill/lib/core-js/modules/es6.promise");
Promise;
Promise;

View File

@@ -1,3 +1,3 @@
if (parseInt(process.version.slice(1)) > 5) {
require('babel-polyfill');
require('@babel/polyfill');
}

View File

@@ -1,3 +1,3 @@
import "babel-polyfill";
import "@babel/polyfill";
a ** b;

View File

@@ -1,9 +1,9 @@
import "babel-polyfill/lib/core-js/modules/es7.object.values";
import "babel-polyfill/lib/core-js/modules/es7.object.entries";
import "babel-polyfill/lib/core-js/modules/es7.object.get-own-property-descriptors";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-start";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-end";
import "babel-polyfill/lib/core-js/modules/web.timers";
import "babel-polyfill/lib/core-js/modules/web.immediate";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
a ** b;
import "@babel/polyfill/lib/core-js/modules/es7.object.values";
import "@babel/polyfill/lib/core-js/modules/es7.object.entries";
import "@babel/polyfill/lib/core-js/modules/es7.object.get-own-property-descriptors";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-start";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/lib/core-js/modules/web.timers";
import "@babel/polyfill/lib/core-js/modules/web.immediate";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
a ** b;

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1,7 +1,7 @@
import "babel-polyfill";
import "@babel/polyfill";
async function a() {
await 1;
}
(() => {})
(() => {})

View File

@@ -1,11 +1,11 @@
import "babel-polyfill/lib/core-js/modules/es7.string.pad-end";
import "babel-polyfill/lib/core-js/modules/web.timers";
import "babel-polyfill/lib/core-js/modules/web.immediate";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
import "babel-polyfill/lib/core-js/modules/es6.map";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/lib/core-js/modules/web.timers";
import "@babel/polyfill/lib/core-js/modules/web.immediate";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
import "@babel/polyfill/lib/core-js/modules/es6.map";
async function a() {
await 1;
}
(function () {});
(function () {});

View File

@@ -12,7 +12,7 @@
"es7.string.pad-start"
],
"include": [
"transform-es2015-arrow-functions",
"transform-arrow-functions",
"es6.map"
]
}]

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1,88 +1,98 @@
import "babel-polyfill/lib/core-js/modules/es6.typed.array-buffer";
import "babel-polyfill/lib/core-js/modules/es6.typed.data-view";
import "babel-polyfill/lib/core-js/modules/es6.typed.int8-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint8-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint8-clamped-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.int16-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint16-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.int32-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint32-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.float32-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.float64-array";
import "babel-polyfill/lib/core-js/modules/es6.map";
import "babel-polyfill/lib/core-js/modules/es6.set";
import "babel-polyfill/lib/core-js/modules/es6.weak-map";
import "babel-polyfill/lib/core-js/modules/es6.weak-set";
import "babel-polyfill/lib/core-js/modules/es6.reflect.apply";
import "babel-polyfill/lib/core-js/modules/es6.reflect.construct";
import "babel-polyfill/lib/core-js/modules/es6.reflect.define-property";
import "babel-polyfill/lib/core-js/modules/es6.reflect.delete-property";
import "babel-polyfill/lib/core-js/modules/es6.reflect.get";
import "babel-polyfill/lib/core-js/modules/es6.reflect.get-own-property-descriptor";
import "babel-polyfill/lib/core-js/modules/es6.reflect.get-prototype-of";
import "babel-polyfill/lib/core-js/modules/es6.reflect.has";
import "babel-polyfill/lib/core-js/modules/es6.reflect.is-extensible";
import "babel-polyfill/lib/core-js/modules/es6.reflect.own-keys";
import "babel-polyfill/lib/core-js/modules/es6.reflect.prevent-extensions";
import "babel-polyfill/lib/core-js/modules/es6.reflect.set";
import "babel-polyfill/lib/core-js/modules/es6.reflect.set-prototype-of";
import "babel-polyfill/lib/core-js/modules/es6.promise";
import "babel-polyfill/lib/core-js/modules/es6.symbol";
import "babel-polyfill/lib/core-js/modules/es6.object.assign";
import "babel-polyfill/lib/core-js/modules/es6.object.is";
import "babel-polyfill/lib/core-js/modules/es6.object.set-prototype-of";
import "babel-polyfill/lib/core-js/modules/es6.function.name";
import "babel-polyfill/lib/core-js/modules/es6.string.raw";
import "babel-polyfill/lib/core-js/modules/es6.string.from-code-point";
import "babel-polyfill/lib/core-js/modules/es6.string.code-point-at";
import "babel-polyfill/lib/core-js/modules/es6.string.repeat";
import "babel-polyfill/lib/core-js/modules/es6.string.starts-with";
import "babel-polyfill/lib/core-js/modules/es6.string.ends-with";
import "babel-polyfill/lib/core-js/modules/es6.string.includes";
import "babel-polyfill/lib/core-js/modules/es6.regexp.flags";
import "babel-polyfill/lib/core-js/modules/es6.regexp.match";
import "babel-polyfill/lib/core-js/modules/es6.regexp.replace";
import "babel-polyfill/lib/core-js/modules/es6.regexp.split";
import "babel-polyfill/lib/core-js/modules/es6.regexp.search";
import "babel-polyfill/lib/core-js/modules/es6.array.from";
import "babel-polyfill/lib/core-js/modules/es6.array.of";
import "babel-polyfill/lib/core-js/modules/es6.array.copy-within";
import "babel-polyfill/lib/core-js/modules/es6.array.find";
import "babel-polyfill/lib/core-js/modules/es6.array.find-index";
import "babel-polyfill/lib/core-js/modules/es6.array.fill";
import "babel-polyfill/lib/core-js/modules/es6.array.iterator";
import "babel-polyfill/lib/core-js/modules/es6.number.is-finite";
import "babel-polyfill/lib/core-js/modules/es6.number.is-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.is-safe-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.is-nan";
import "babel-polyfill/lib/core-js/modules/es6.number.epsilon";
import "babel-polyfill/lib/core-js/modules/es6.number.min-safe-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.max-safe-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.parse-float";
import "babel-polyfill/lib/core-js/modules/es6.number.parse-int";
import "babel-polyfill/lib/core-js/modules/es6.math.acosh";
import "babel-polyfill/lib/core-js/modules/es6.math.asinh";
import "babel-polyfill/lib/core-js/modules/es6.math.atanh";
import "babel-polyfill/lib/core-js/modules/es6.math.cbrt";
import "babel-polyfill/lib/core-js/modules/es6.math.clz32";
import "babel-polyfill/lib/core-js/modules/es6.math.cosh";
import "babel-polyfill/lib/core-js/modules/es6.math.expm1";
import "babel-polyfill/lib/core-js/modules/es6.math.fround";
import "babel-polyfill/lib/core-js/modules/es6.math.hypot";
import "babel-polyfill/lib/core-js/modules/es6.math.imul";
import "babel-polyfill/lib/core-js/modules/es6.math.log1p";
import "babel-polyfill/lib/core-js/modules/es6.math.log10";
import "babel-polyfill/lib/core-js/modules/es6.math.log2";
import "babel-polyfill/lib/core-js/modules/es6.math.sign";
import "babel-polyfill/lib/core-js/modules/es6.math.sinh";
import "babel-polyfill/lib/core-js/modules/es6.math.tanh";
import "babel-polyfill/lib/core-js/modules/es6.math.trunc";
import "babel-polyfill/lib/core-js/modules/es7.array.includes";
import "babel-polyfill/lib/core-js/modules/es7.object.values";
import "babel-polyfill/lib/core-js/modules/es7.object.entries";
import "babel-polyfill/lib/core-js/modules/es7.object.get-own-property-descriptors";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-start";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-end";
import "babel-polyfill/lib/core-js/modules/web.timers";
import "babel-polyfill/lib/core-js/modules/web.immediate";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
import "@babel/polyfill/lib/core-js/modules/es6.typed.array-buffer";
import "@babel/polyfill/lib/core-js/modules/es6.typed.data-view";
import "@babel/polyfill/lib/core-js/modules/es6.typed.int8-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint8-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint8-clamped-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.int16-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint16-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.int32-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint32-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.float32-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.float64-array";
import "@babel/polyfill/lib/core-js/modules/es6.map";
import "@babel/polyfill/lib/core-js/modules/es6.set";
import "@babel/polyfill/lib/core-js/modules/es6.weak-map";
import "@babel/polyfill/lib/core-js/modules/es6.weak-set";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.apply";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.construct";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.define-property";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.delete-property";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.get";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.get-own-property-descriptor";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.get-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.has";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.is-extensible";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.own-keys";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.prevent-extensions";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.set";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.set-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.promise";
import "@babel/polyfill/lib/core-js/modules/es6.symbol";
import "@babel/polyfill/lib/core-js/modules/es6.object.freeze";
import "@babel/polyfill/lib/core-js/modules/es6.object.seal";
import "@babel/polyfill/lib/core-js/modules/es6.object.prevent-extensions";
import "@babel/polyfill/lib/core-js/modules/es6.object.is-frozen";
import "@babel/polyfill/lib/core-js/modules/es6.object.is-sealed";
import "@babel/polyfill/lib/core-js/modules/es6.object.is-extensible";
import "@babel/polyfill/lib/core-js/modules/es6.object.get-own-property-descriptor";
import "@babel/polyfill/lib/core-js/modules/es6.object.get-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.object.keys";
import "@babel/polyfill/lib/core-js/modules/es6.object.get-own-property-names";
import "@babel/polyfill/lib/core-js/modules/es6.object.assign";
import "@babel/polyfill/lib/core-js/modules/es6.object.is";
import "@babel/polyfill/lib/core-js/modules/es6.object.set-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.function.name";
import "@babel/polyfill/lib/core-js/modules/es6.string.raw";
import "@babel/polyfill/lib/core-js/modules/es6.string.from-code-point";
import "@babel/polyfill/lib/core-js/modules/es6.string.code-point-at";
import "@babel/polyfill/lib/core-js/modules/es6.string.repeat";
import "@babel/polyfill/lib/core-js/modules/es6.string.starts-with";
import "@babel/polyfill/lib/core-js/modules/es6.string.ends-with";
import "@babel/polyfill/lib/core-js/modules/es6.string.includes";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.flags";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.match";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.replace";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.split";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.search";
import "@babel/polyfill/lib/core-js/modules/es6.array.from";
import "@babel/polyfill/lib/core-js/modules/es6.array.of";
import "@babel/polyfill/lib/core-js/modules/es6.array.copy-within";
import "@babel/polyfill/lib/core-js/modules/es6.array.find";
import "@babel/polyfill/lib/core-js/modules/es6.array.find-index";
import "@babel/polyfill/lib/core-js/modules/es6.array.fill";
import "@babel/polyfill/lib/core-js/modules/es6.array.iterator";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-finite";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-safe-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-nan";
import "@babel/polyfill/lib/core-js/modules/es6.number.epsilon";
import "@babel/polyfill/lib/core-js/modules/es6.number.min-safe-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.max-safe-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.parse-float";
import "@babel/polyfill/lib/core-js/modules/es6.number.parse-int";
import "@babel/polyfill/lib/core-js/modules/es6.math.acosh";
import "@babel/polyfill/lib/core-js/modules/es6.math.asinh";
import "@babel/polyfill/lib/core-js/modules/es6.math.atanh";
import "@babel/polyfill/lib/core-js/modules/es6.math.cbrt";
import "@babel/polyfill/lib/core-js/modules/es6.math.clz32";
import "@babel/polyfill/lib/core-js/modules/es6.math.cosh";
import "@babel/polyfill/lib/core-js/modules/es6.math.expm1";
import "@babel/polyfill/lib/core-js/modules/es6.math.fround";
import "@babel/polyfill/lib/core-js/modules/es6.math.hypot";
import "@babel/polyfill/lib/core-js/modules/es6.math.imul";
import "@babel/polyfill/lib/core-js/modules/es6.math.log1p";
import "@babel/polyfill/lib/core-js/modules/es6.math.log10";
import "@babel/polyfill/lib/core-js/modules/es6.math.log2";
import "@babel/polyfill/lib/core-js/modules/es6.math.sign";
import "@babel/polyfill/lib/core-js/modules/es6.math.sinh";
import "@babel/polyfill/lib/core-js/modules/es6.math.tanh";
import "@babel/polyfill/lib/core-js/modules/es6.math.trunc";
import "@babel/polyfill/lib/core-js/modules/es7.array.includes";
import "@babel/polyfill/lib/core-js/modules/es7.object.values";
import "@babel/polyfill/lib/core-js/modules/es7.object.entries";
import "@babel/polyfill/lib/core-js/modules/es7.object.get-own-property-descriptors";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-start";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/lib/core-js/modules/web.timers";
import "@babel/polyfill/lib/core-js/modules/web.immediate";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1,87 +1,97 @@
import "babel-polyfill/lib/core-js/modules/es6.typed.array-buffer";
import "babel-polyfill/lib/core-js/modules/es6.typed.int8-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint8-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint8-clamped-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.int16-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint16-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.int32-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.uint32-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.float32-array";
import "babel-polyfill/lib/core-js/modules/es6.typed.float64-array";
import "babel-polyfill/lib/core-js/modules/es6.map";
import "babel-polyfill/lib/core-js/modules/es6.set";
import "babel-polyfill/lib/core-js/modules/es6.weak-map";
import "babel-polyfill/lib/core-js/modules/es6.weak-set";
import "babel-polyfill/lib/core-js/modules/es6.reflect.apply";
import "babel-polyfill/lib/core-js/modules/es6.reflect.construct";
import "babel-polyfill/lib/core-js/modules/es6.reflect.define-property";
import "babel-polyfill/lib/core-js/modules/es6.reflect.delete-property";
import "babel-polyfill/lib/core-js/modules/es6.reflect.get";
import "babel-polyfill/lib/core-js/modules/es6.reflect.get-own-property-descriptor";
import "babel-polyfill/lib/core-js/modules/es6.reflect.get-prototype-of";
import "babel-polyfill/lib/core-js/modules/es6.reflect.has";
import "babel-polyfill/lib/core-js/modules/es6.reflect.is-extensible";
import "babel-polyfill/lib/core-js/modules/es6.reflect.own-keys";
import "babel-polyfill/lib/core-js/modules/es6.reflect.prevent-extensions";
import "babel-polyfill/lib/core-js/modules/es6.reflect.set";
import "babel-polyfill/lib/core-js/modules/es6.reflect.set-prototype-of";
import "babel-polyfill/lib/core-js/modules/es6.promise";
import "babel-polyfill/lib/core-js/modules/es6.symbol";
import "babel-polyfill/lib/core-js/modules/es6.object.assign";
import "babel-polyfill/lib/core-js/modules/es6.object.is";
import "babel-polyfill/lib/core-js/modules/es6.function.name";
import "babel-polyfill/lib/core-js/modules/es6.string.raw";
import "babel-polyfill/lib/core-js/modules/es6.string.from-code-point";
import "babel-polyfill/lib/core-js/modules/es6.string.code-point-at";
import "babel-polyfill/lib/core-js/modules/es6.string.repeat";
import "babel-polyfill/lib/core-js/modules/es6.string.starts-with";
import "babel-polyfill/lib/core-js/modules/es6.string.ends-with";
import "babel-polyfill/lib/core-js/modules/es6.string.includes";
import "babel-polyfill/lib/core-js/modules/es6.regexp.flags";
import "babel-polyfill/lib/core-js/modules/es6.regexp.match";
import "babel-polyfill/lib/core-js/modules/es6.regexp.replace";
import "babel-polyfill/lib/core-js/modules/es6.regexp.split";
import "babel-polyfill/lib/core-js/modules/es6.regexp.search";
import "babel-polyfill/lib/core-js/modules/es6.array.from";
import "babel-polyfill/lib/core-js/modules/es6.array.of";
import "babel-polyfill/lib/core-js/modules/es6.array.copy-within";
import "babel-polyfill/lib/core-js/modules/es6.array.find";
import "babel-polyfill/lib/core-js/modules/es6.array.find-index";
import "babel-polyfill/lib/core-js/modules/es6.array.fill";
import "babel-polyfill/lib/core-js/modules/es6.array.iterator";
import "babel-polyfill/lib/core-js/modules/es6.number.is-finite";
import "babel-polyfill/lib/core-js/modules/es6.number.is-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.is-safe-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.is-nan";
import "babel-polyfill/lib/core-js/modules/es6.number.epsilon";
import "babel-polyfill/lib/core-js/modules/es6.number.min-safe-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.max-safe-integer";
import "babel-polyfill/lib/core-js/modules/es6.number.parse-float";
import "babel-polyfill/lib/core-js/modules/es6.number.parse-int";
import "babel-polyfill/lib/core-js/modules/es6.math.acosh";
import "babel-polyfill/lib/core-js/modules/es6.math.asinh";
import "babel-polyfill/lib/core-js/modules/es6.math.atanh";
import "babel-polyfill/lib/core-js/modules/es6.math.cbrt";
import "babel-polyfill/lib/core-js/modules/es6.math.clz32";
import "babel-polyfill/lib/core-js/modules/es6.math.cosh";
import "babel-polyfill/lib/core-js/modules/es6.math.expm1";
import "babel-polyfill/lib/core-js/modules/es6.math.fround";
import "babel-polyfill/lib/core-js/modules/es6.math.hypot";
import "babel-polyfill/lib/core-js/modules/es6.math.imul";
import "babel-polyfill/lib/core-js/modules/es6.math.log1p";
import "babel-polyfill/lib/core-js/modules/es6.math.log10";
import "babel-polyfill/lib/core-js/modules/es6.math.log2";
import "babel-polyfill/lib/core-js/modules/es6.math.sign";
import "babel-polyfill/lib/core-js/modules/es6.math.sinh";
import "babel-polyfill/lib/core-js/modules/es6.math.tanh";
import "babel-polyfill/lib/core-js/modules/es6.math.trunc";
import "babel-polyfill/lib/core-js/modules/es7.array.includes";
import "babel-polyfill/lib/core-js/modules/es7.object.values";
import "babel-polyfill/lib/core-js/modules/es7.object.entries";
import "babel-polyfill/lib/core-js/modules/es7.object.get-own-property-descriptors";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-start";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-end";
import "babel-polyfill/lib/core-js/modules/web.timers";
import "babel-polyfill/lib/core-js/modules/web.immediate";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
import "babel-polyfill/lib/regenerator-runtime/runtime";
import "@babel/polyfill/lib/core-js/modules/es6.typed.array-buffer";
import "@babel/polyfill/lib/core-js/modules/es6.typed.int8-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint8-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint8-clamped-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.int16-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint16-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.int32-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.uint32-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.float32-array";
import "@babel/polyfill/lib/core-js/modules/es6.typed.float64-array";
import "@babel/polyfill/lib/core-js/modules/es6.map";
import "@babel/polyfill/lib/core-js/modules/es6.set";
import "@babel/polyfill/lib/core-js/modules/es6.weak-map";
import "@babel/polyfill/lib/core-js/modules/es6.weak-set";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.apply";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.construct";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.define-property";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.delete-property";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.get";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.get-own-property-descriptor";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.get-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.has";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.is-extensible";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.own-keys";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.prevent-extensions";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.set";
import "@babel/polyfill/lib/core-js/modules/es6.reflect.set-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.promise";
import "@babel/polyfill/lib/core-js/modules/es6.symbol";
import "@babel/polyfill/lib/core-js/modules/es6.object.freeze";
import "@babel/polyfill/lib/core-js/modules/es6.object.seal";
import "@babel/polyfill/lib/core-js/modules/es6.object.prevent-extensions";
import "@babel/polyfill/lib/core-js/modules/es6.object.is-frozen";
import "@babel/polyfill/lib/core-js/modules/es6.object.is-sealed";
import "@babel/polyfill/lib/core-js/modules/es6.object.is-extensible";
import "@babel/polyfill/lib/core-js/modules/es6.object.get-own-property-descriptor";
import "@babel/polyfill/lib/core-js/modules/es6.object.get-prototype-of";
import "@babel/polyfill/lib/core-js/modules/es6.object.keys";
import "@babel/polyfill/lib/core-js/modules/es6.object.get-own-property-names";
import "@babel/polyfill/lib/core-js/modules/es6.object.assign";
import "@babel/polyfill/lib/core-js/modules/es6.object.is";
import "@babel/polyfill/lib/core-js/modules/es6.function.name";
import "@babel/polyfill/lib/core-js/modules/es6.string.raw";
import "@babel/polyfill/lib/core-js/modules/es6.string.from-code-point";
import "@babel/polyfill/lib/core-js/modules/es6.string.code-point-at";
import "@babel/polyfill/lib/core-js/modules/es6.string.repeat";
import "@babel/polyfill/lib/core-js/modules/es6.string.starts-with";
import "@babel/polyfill/lib/core-js/modules/es6.string.ends-with";
import "@babel/polyfill/lib/core-js/modules/es6.string.includes";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.flags";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.match";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.replace";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.split";
import "@babel/polyfill/lib/core-js/modules/es6.regexp.search";
import "@babel/polyfill/lib/core-js/modules/es6.array.from";
import "@babel/polyfill/lib/core-js/modules/es6.array.of";
import "@babel/polyfill/lib/core-js/modules/es6.array.copy-within";
import "@babel/polyfill/lib/core-js/modules/es6.array.find";
import "@babel/polyfill/lib/core-js/modules/es6.array.find-index";
import "@babel/polyfill/lib/core-js/modules/es6.array.fill";
import "@babel/polyfill/lib/core-js/modules/es6.array.iterator";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-finite";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-safe-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.is-nan";
import "@babel/polyfill/lib/core-js/modules/es6.number.epsilon";
import "@babel/polyfill/lib/core-js/modules/es6.number.min-safe-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.max-safe-integer";
import "@babel/polyfill/lib/core-js/modules/es6.number.parse-float";
import "@babel/polyfill/lib/core-js/modules/es6.number.parse-int";
import "@babel/polyfill/lib/core-js/modules/es6.math.acosh";
import "@babel/polyfill/lib/core-js/modules/es6.math.asinh";
import "@babel/polyfill/lib/core-js/modules/es6.math.atanh";
import "@babel/polyfill/lib/core-js/modules/es6.math.cbrt";
import "@babel/polyfill/lib/core-js/modules/es6.math.clz32";
import "@babel/polyfill/lib/core-js/modules/es6.math.cosh";
import "@babel/polyfill/lib/core-js/modules/es6.math.expm1";
import "@babel/polyfill/lib/core-js/modules/es6.math.fround";
import "@babel/polyfill/lib/core-js/modules/es6.math.hypot";
import "@babel/polyfill/lib/core-js/modules/es6.math.imul";
import "@babel/polyfill/lib/core-js/modules/es6.math.log1p";
import "@babel/polyfill/lib/core-js/modules/es6.math.log10";
import "@babel/polyfill/lib/core-js/modules/es6.math.log2";
import "@babel/polyfill/lib/core-js/modules/es6.math.sign";
import "@babel/polyfill/lib/core-js/modules/es6.math.sinh";
import "@babel/polyfill/lib/core-js/modules/es6.math.tanh";
import "@babel/polyfill/lib/core-js/modules/es6.math.trunc";
import "@babel/polyfill/lib/core-js/modules/es7.array.includes";
import "@babel/polyfill/lib/core-js/modules/es7.object.values";
import "@babel/polyfill/lib/core-js/modules/es7.object.entries";
import "@babel/polyfill/lib/core-js/modules/es7.object.get-own-property-descriptors";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-start";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/lib/core-js/modules/web.timers";
import "@babel/polyfill/lib/core-js/modules/web.immediate";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
import "@babel/polyfill/lib/regenerator-runtime/runtime";

View File

@@ -1 +1 @@
import "babel-polyfill";
import "@babel/polyfill";

View File

@@ -1,7 +1,7 @@
import "babel-polyfill/lib/core-js/modules/es7.string.pad-start";
import "babel-polyfill/lib/core-js/modules/es7.string.pad-end";
import "babel-polyfill/lib/core-js/modules/web.timers";
import "babel-polyfill/lib/core-js/modules/web.immediate";
import "babel-polyfill/lib/core-js/modules/web.dom.iterable";
import "babel-polyfill/lib/core-js/modules/es6.map";
import "babel-polyfill/lib/core-js/modules/es6.set";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-start";
import "@babel/polyfill/lib/core-js/modules/es7.string.pad-end";
import "@babel/polyfill/lib/core-js/modules/web.timers";
import "@babel/polyfill/lib/core-js/modules/web.immediate";
import "@babel/polyfill/lib/core-js/modules/web.dom.iterable";
import "@babel/polyfill/lib/core-js/modules/es6.map";
import "@babel/polyfill/lib/core-js/modules/es6.set";

View File

@@ -2,7 +2,7 @@
"presets": [
["../../../../lib", {
"targets": {},
"include": ["transform-es2015-modules-commonjs"],
"include": ["transform-modules-commonjs"],
"modules": false
}]
]

View File

@@ -1,5 +1,5 @@
var agf = function () {
var _ref = _asyncGenerator.wrap(
var _ref = _wrapAsyncGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -7,7 +7,7 @@ var agf = function () {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _asyncGenerator.await(1);
return _awaitAsyncGenerator(1);
case 2:
_context.next = 4;
@@ -26,19 +26,21 @@ var agf = function () {
};
}();
function AwaitValue(value) { this.value = value; }
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
function AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; if (value instanceof AwaitValue) { Promise.resolve(value.value).then(function (arg) { resume("next", arg); }, function (arg) { resume("throw", arg); }); } else { settle(result.done ? "return" : "normal", result.value); } } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } }
function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; }
if (typeof Symbol === "function" && Symbol.asyncIterator) { AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; }
function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } }
AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; }
AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
var _asyncGenerator = { wrap: function wrap(fn) { return function () { return new AsyncGenerator(fn.apply(this, arguments)); }; }, await: function _await(value) { return new AwaitValue(value); } };
_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
function _AwaitValue(value) { this.wrapped = value; }
function _objectWithoutProperties(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]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

View File

@@ -1,15 +1,15 @@
"use strict";
require("babel-polyfill/lib/core-js/modules/es6.symbol");
require("@babel/polyfill/lib/core-js/modules/es6.symbol");
require("babel-polyfill/lib/core-js/modules/es6.promise");
require("@babel/polyfill/lib/core-js/modules/es6.promise");
require("babel-polyfill/lib/regenerator-runtime/runtime");
require("@babel/polyfill/lib/regenerator-runtime/runtime");
require("babel-polyfill/lib/core-js/modules/es6.object.assign");
require("@babel/polyfill/lib/core-js/modules/es6.object.assign");
var agf = function () {
var _ref = _asyncGenerator.wrap(
var _ref = _wrapAsyncGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -17,7 +17,7 @@ var agf = function () {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _asyncGenerator.await(1);
return _awaitAsyncGenerator(1);
case 2:
_context.next = 4;
@@ -36,19 +36,21 @@ var agf = function () {
};
}();
function AwaitValue(value) { this.value = value; }
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
function AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; if (value instanceof AwaitValue) { Promise.resolve(value.value).then(function (arg) { resume("next", arg); }, function (arg) { resume("throw", arg); }); } else { settle(result.done ? "return" : "normal", result.value); } } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } }
function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; }
if (typeof Symbol === "function" && Symbol.asyncIterator) { AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; }
function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } }
AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; }
AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
var _asyncGenerator = { wrap: function wrap(fn) { return function () { return new AsyncGenerator(fn.apply(this, arguments)); }; }, await: function _await(value) { return new AwaitValue(value); } };
_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
function _AwaitValue(value) { this.wrapped = value; }
function _objectWithoutProperties(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]; } if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

View File

@@ -1,5 +1,5 @@
var agf = function () {
var _ref = _asyncGenerator.wrap(
var _ref = _wrapAsyncGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee() {
return regeneratorRuntime.wrap(function _callee$(_context) {
@@ -7,7 +7,7 @@ var agf = function () {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return _asyncGenerator.await(1);
return _awaitAsyncGenerator(1);
case 2:
_context.next = 4;
@@ -26,19 +26,21 @@ var agf = function () {
};
}();
function AwaitValue(value) { this.value = value; }
function _awaitAsyncGenerator(value) { return new _AwaitValue(value); }
function AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; if (value instanceof AwaitValue) { Promise.resolve(value.value).then(function (arg) { resume("next", arg); }, function (arg) { resume("throw", arg); }); } else { settle(result.done ? "return" : "normal", result.value); } } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } }
function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; }
if (typeof Symbol === "function" && Symbol.asyncIterator) { AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; }
function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } }
AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; }
AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); };
AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); };
var _asyncGenerator = { wrap: function wrap(fn) { return function () { return new AsyncGenerator(fn.apply(this, arguments)); }; }, await: function _await(value) { return new AwaitValue(value); } };
_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); };
function _AwaitValue(value) { this.wrapped = value; }
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); }

Some files were not shown because too many files have changed in this diff Show More