Compare commits

...

4415 Commits

Author SHA1 Message Date
Henry Zhu
1c13250807 v7.0.0-beta.0 2017-09-11 23:01:41 -04:00
Laurin Quast
8742012b5e Add --keep-file-extension option to babel-cli (#6221)
* Add --keep-module-extension option to babel-cli

* Rename keep-module-extension option to keep-file-extension; Change option to preserve all file extensions
2017-09-11 18:06:44 -04:00
Justin Ridgewell
4daf11528c Return inserted/replaced paths (#5710)
* Return inserted/replaced paths

This gives `Path`’s replacement and insertion methods a consistent
return value: the inserted/replaced paths.

Before, they could return `undefined`, a `node`, or a the current path
inside an array. It was kinda pointless.  But now they always return an
array of paths, which is useful for solving
https://github.com/babel/babel/pull/4935#discussion_r96151368.

* Return inserted nodes and not BlockStatement

Addded test for bug #4363

* Cleanups

- `#replaceWith` will now return the current path if it's the same node
- `#insertAfter` and `#insertBefore` use public Path APIs now
- Makes container insertion faster (single splice call)
- Use public APIs in container insertion
- Replacing a statement with an expression returns the expression's path
- Replacing an expression with multiple statements returns the inserted
  closure's body's paths.
2017-09-11 16:07:04 -04:00
Mateusz Burzyński
c47258d68c Annotating transformed classes with #__PURE__ comment (#6209) 2017-09-11 11:18:37 -04:00
Ben Newman
c4f6a7a06f Add failing test case for object rest after array rest, and fix it. (#6213)
* Add failing test case for object rest after array rest.

Discovered while upgrading https://github.com/meteor/babel to Babel 7.

The error is:

  1) babel-plugin-transform-object-rest-spread/object rest with array rest:
     TypeError: /Users/ben/dev/babel/packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/with-array-rest/actual.js: Property id of VariableDeclarator expected node to be of a type ["LVal"] but instead got null
      at Object.validate (packages/babel-types/lib/definitions/index.js:73:13)
      at validate (packages/babel-types/lib/index.js:460:9)
      at Object.builder (packages/babel-types/lib/index.js:428:7)
      at Object.RestElement (packages/babel-plugin-transform-object-rest-spread/lib/index.js:157:41)
      at NodePath._call (packages/babel-traverse/lib/path/context.js:53:20)
      at NodePath.call (packages/babel-traverse/lib/path/context.js:40:17)
      at NodePath.visit (packages/babel-traverse/lib/path/context.js:84:12)
      ...

* Fix object rest following array rest. (#6213)

* Avoid treating array ...rest elements as object ...rest properties.

* Also avoid treating ...rest parameters as object ...rest properties.

Returning early if the parent was an ArrayPattern was not quite enough,
since a RestElement can appear as a parameter in a Function as well.

* Move RestElement parent check earlier in visitor method.
2017-09-11 11:16:14 -04:00
Sven SAULEAU
1341e4163b fix(preset-es2015): pass loose option (#6224) 2017-09-11 10:37:18 -04:00
Lukas Geiger
b6467a68ca Add option to define output directory relative to the input (#5421)
* Fix output directory if filename is given

* Add test for relative output path

* Add option to define output dir relative to input

* Add tests for --copy-files

* Test error handling for wrong arguments
2017-09-09 20:38:06 -04:00
Daniel Tschinder
5565e1b406 Correctly requeue CallExpression in AMD transform (#5497)
* Correctly requeue the define()-CallExpression

* Use pushContainer
2017-09-09 20:33:35 -04:00
Ruben Verborgh
6560a29c36 Redeclaring a variable counts as a modification (#6219)
* Redeclaring a variable counts as a modification.

Fixes #6217.

* Remove "existing" logic from Binding.

Was added in #5745, but no longer triggered since 6536e605a.
2017-09-08 23:02:26 -04:00
Justin Ridgewell
4e612058c0 Do not fix linting errors in precommit hooks (#6218)
It's just damn annoying. Supersedes #5908.
2017-09-08 19:52:49 -04:00
Nicolò Ribaudo
4e7961dcf8 Use /bin/bash instead of /bin/sh in scripts
`/bin/sh` isn't always an alias of `/bin/bash`, so bash-specific syntax broke the scripts.
(like 777a9ae6e4/scripts/_get-test-directories.sh (L7))
2017-09-07 17:19:40 -07:00
Noah Lemen
777a9ae6e4 warn about class properties support in decorators readme and error messaging (#6196) 2017-09-05 14:24:21 -04:00
Astha Sharma
3a2b7fe3cd JSX pragma revert (#6195)
* Removed the deprecated jsx pragma detection code and the concerned tests that included jsx-pragma

* Removed extra tests

* Restored packages/babel-plugin-transform-react-jsx/test/fixtures/react/honor-custom-jsx-pragma-option/

* Added JSX_ANNOTATION_REGEX

* Reverted the tests for jsx-pragma-options and removed those which throw deprecated message
2017-09-04 00:25:56 -04:00
Logan Smyth
d6ba4d0a24 Only compile files inside the cwd in babel-register. (#5590) 2017-09-02 01:07:26 -04:00
Justin Ridgewell
5df70e6a94 Fix bad Scope#parent caching (#6155)
* Fix bad Scope#parent caching

Now, we traverse the path until we find a parent scope.

Fixes #6057.

* Fix bad merge

* Remove cached data

* I need to stop using Github editor

* Fix infinite loops due to scopable paths being moved up
2017-09-02 01:03:10 -04:00
Daniel Tschinder
ca117e08cb fix(requeue): Always requeue implicitely created BlockStatements (#6193)
This reverts the former fix done in #5743 and always requeues
BlockStatements when they get created.

This also fixes a bug in babel-generator which would indent code
even though no comments are present.
2017-09-02 01:02:21 -04:00
Zev Isert
2dd03e3ee9 Allow NodeJS v8.4 experimental HTTP2 (#6175)
* Allow NodeJS v8.4 experimental HTTP2

Native NodeJS HTTP/2 support experimental though, so might not be worth merging this

* Linter picked up on a line with only spaces

Removed the spaces
2017-09-02 00:42:45 +02:00
Logan Smyth
4f441ff27e Ignore the standalone output bundle so it will require() faster. 2017-09-01 15:31:29 -07:00
Justin Ridgewell
f7109658f9 Added --delete-dir-on-start option for babel (#6187)
* added --delete-dir-on-start option 

added --delete-dir-on-start-option to delete dir on start of compilation to remove deleted files from the orignial files from the --out-dir

* added option --delete-dir-on-start

added --delete-dir-on-start that option will delete the --out-dir before the compilation of code to remove the deleted files from the source from the out directory

* added --delete-dir-on-start option

added --delete-dir-on-start-option to delete dir on start of compilation to remove deleted files from the orignial files from the --out-dir

* bug removed deleting the correct dir

in the previous code, the source dir was deleted each time rather than deleting the out dir

* Remove shorthand

* Prevent babel-cli option from reaching babel-core

* Lint
2017-09-01 17:45:13 -04:00
Justin Ridgewell
f39811d271 Derived constructors don't always need a super (#6189) 2017-09-01 17:14:25 -04:00
Logan Smyth
fad9345c85 Revert Yarn workspace changes from #6056 for now.
Yarn currently fails to add the correct symlinks in some cases. See https://github.com/yarnpkg/yarn/issues/4289
2017-09-01 13:17:25 -07:00
Justin Ridgewell
1797ac5015 Update babylon and remove bad label tests (#6188) 2017-09-01 12:29:48 -04:00
Mateusz Burzyński
76161e0a73 Added new outputType - module - for build-external-helpers tool. Should help with tree-shaking story. It's strongly influenced by how the helpers are transformed by rollup-plugin-babel. (#5916) 2017-08-31 23:44:24 -04:00
Daniel Tschinder
ab30fa54cb Update debug to 3.0 (#6184) 2017-08-31 23:30:04 -04:00
Daniel Tschinder
44f6ff5e85 Update prettier, eslint + plugins, flow, husky and lint-staged (#6183) 2017-08-31 22:56:29 +02:00
Henry Zhu
6108bee4f9 update changelog labels [skip ci] 2017-08-31 15:59:05 -04:00
Daniel Tschinder
0189b38702 Merge branch '6.x' into 7.0
# Conflicts:
#	CONTRIBUTING.md
#	Makefile
#	README.md
#	lerna.json
#	lib/types.js
#	package.json
#	packages/babel-cli/package.json
#	packages/babel-code-frame/package.json
#	packages/babel-core/package.json
#	packages/babel-core/test/fixtures/transformation/misc/regression-2892/expected.js
#	packages/babel-generator/package.json
#	packages/babel-generator/src/generators/flow.js
#	packages/babel-generator/src/index.js
#	packages/babel-generator/test/fixtures/flow/declare-statements/expected.js
#	packages/babel-generator/test/fixtures/flow/object-literal-types/expected.js
#	packages/babel-generator/test/fixtures/flow/opaque-type-alias/expected.js
#	packages/babel-helper-bindify-decorators/package.json
#	packages/babel-helper-builder-binary-assignment-operator-visitor/package.json
#	packages/babel-helper-builder-conditional-assignment-operator-visitor/package.json
#	packages/babel-helper-builder-react-jsx/package.json
#	packages/babel-helper-call-delegate/package.json
#	packages/babel-helper-define-map/package.json
#	packages/babel-helper-explode-assignable-expression/package.json
#	packages/babel-helper-explode-class/package.json
#	packages/babel-helper-fixtures/package.json
#	packages/babel-helper-function-name/package.json
#	packages/babel-helper-get-function-arity/package.json
#	packages/babel-helper-hoist-variables/package.json
#	packages/babel-helper-optimise-call-expression/package.json
#	packages/babel-helper-plugin-test-runner/package.json
#	packages/babel-helper-regex/package.json
#	packages/babel-helper-remap-async-to-generator/package.json
#	packages/babel-helper-replace-supers/package.json
#	packages/babel-helper-transform-fixture-test-runner/package.json
#	packages/babel-helpers/package.json
#	packages/babel-plugin-transform-async-generator-functions/package.json
#	packages/babel-plugin-transform-async-to-generator/package.json
#	packages/babel-plugin-transform-async-to-module-method/package.json
#	packages/babel-plugin-transform-class-constructor-call/package.json
#	packages/babel-plugin-transform-class-properties/package.json
#	packages/babel-plugin-transform-decorators/package.json
#	packages/babel-plugin-transform-es2015-block-scoping/package.json
#	packages/babel-plugin-transform-es2015-classes/package.json
#	packages/babel-plugin-transform-es2015-classes/test/fixtures/regression/T6755/expected.js
#	packages/babel-plugin-transform-es2015-computed-properties/package.json
#	packages/babel-plugin-transform-es2015-duplicate-keys/package.json
#	packages/babel-plugin-transform-es2015-function-name/package.json
#	packages/babel-plugin-transform-es2015-modules-amd/package.json
#	packages/babel-plugin-transform-es2015-modules-commonjs/package.json
#	packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js
#	packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/interop/export-destructured/expected.js
#	packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-default-params/expected.js
#	packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object-rest/expected.js
#	packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/export-const-destructuring-object/expected.js
#	packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/strict/options.json
#	packages/babel-plugin-transform-es2015-modules-systemjs/package.json
#	packages/babel-plugin-transform-es2015-modules-umd/package.json
#	packages/babel-plugin-transform-es2015-object-super/package.json
#	packages/babel-plugin-transform-es2015-parameters/package.json
#	packages/babel-plugin-transform-es2015-shorthand-properties/package.json
#	packages/babel-plugin-transform-es2015-sticky-regex/package.json
#	packages/babel-plugin-transform-es2015-unicode-regex/package.json
#	packages/babel-plugin-transform-es5-property-mutators/package.json
#	packages/babel-plugin-transform-exponentiation-operator/package.json
#	packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/opaque-type-alias/expected.js
#	packages/babel-plugin-transform-object-rest-spread/package.json
#	packages/babel-plugin-transform-object-rest-spread/src/index.js
#	packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested-2/expected.js
#	packages/babel-plugin-transform-object-rest-spread/test/fixtures/object-rest/nested/expected.js
#	packages/babel-plugin-transform-proto-to-assign/package.json
#	packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export-default/expected.js
#	packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/regression-node-type-export/expected.js
#	packages/babel-plugin-transform-react-display-name/package.json
#	packages/babel-plugin-transform-react-display-name/src/index.js
#	packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/assignment-expression/expected.js
#	packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/nested/expected.js
#	packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/object-property/expected.js
#	packages/babel-plugin-transform-react-display-name/test/fixtures/display-name/variable-declarator/expected.js
#	packages/babel-plugin-transform-react-jsx-compat/package.json
#	packages/babel-plugin-transform-react-jsx/package.json
#	packages/babel-plugin-transform-regenerator/package.json
#	packages/babel-plugin-transform-regenerator/test/fixtures/regression/6733/expected.js
#	packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js
#	packages/babel-plugin-transform-regenerator/test/fixtures/variable-renaming/retain-lines/expected.js
#	packages/babel-plugin-transform-runtime/README.md
#	packages/babel-plugin-transform-runtime/test/fixtures/runtime/custom-runtime/expected.js
#	packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/expected.js
#	packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/expected.js
#	packages/babel-plugin-transform-strict-mode/package.json
#	packages/babel-polyfill/package.json
#	packages/babel-preset-es2015/package.json
#	packages/babel-preset-es2016/package.json
#	packages/babel-preset-es2017/package.json
#	packages/babel-preset-latest/package.json
#	packages/babel-preset-react/package.json
#	packages/babel-preset-stage-0/package.json
#	packages/babel-preset-stage-1/package.json
#	packages/babel-preset-stage-2/package.json
#	packages/babel-preset-stage-3/package.json
#	packages/babel-register/README.md
#	packages/babel-register/package.json
#	packages/babel-runtime/package.json
#	packages/babel-template/package.json
#	packages/babel-traverse/package.json
#	packages/babel-traverse/src/scope/lib/renamer.js
#	packages/babel-traverse/test/evaluation.js
#	packages/babel-traverse/test/replacement.js
#	packages/babel-types/README.md
#	packages/babel-types/package.json
#	packages/babel-types/src/converters.js
#	packages/babel-types/src/definitions/core.js
#	packages/babel-types/src/definitions/es2015.js
#	packages/babel-types/src/definitions/flow.js
#	packages/babel-types/test/converters.js
#	packages/babel-types/test/validators.js
#	scripts/generate-interfaces.js
#	yarn.lock
2017-08-31 17:44:17 +02:00
Henry Zhu
b82b65a31e v7.0.0-alpha.20 2017-08-30 15:02:49 -04:00
Justin Ridgewell
5e7fce3fe0 Update babylon (#6172) 2017-08-30 00:19:36 -04:00
Brandon Max
84580cc2d1 Refactor es2015-loose and es2015-no-commonjs presets to use preset op… (#6168) 2017-08-30 00:02:54 -04:00
Noah Lemen
d70603ffa9 re-add template literals tests, add ones that were missing (#6169) 2017-08-29 21:06:05 -04:00
Logan Smyth
d79a7920a1 Merge pull request #5586 from loganfsmyth/config-dependency-cycles
Handle cycles of plugins compiling themselves and .babelrc.js files loading themselves
2017-08-29 15:11:51 -07:00
Logan Smyth
2846e06db1 Add dependency cycle handing for plugins and config files. 2017-08-29 14:57:34 -07:00
Logan Smyth
beff7809ea Add debug() calls for config loading. 2017-08-29 14:57:33 -07:00
Henry Zhu
0a4f1b0a6e update babylon beta.22 (#6167) 2017-08-29 17:53:29 -04:00
Buu Nguyen
75861fac87 Fix bug replacement nodes not requeued (#5743) 2017-08-28 15:10:00 -06:00
Artem Yavorsky
b2b3d7944a Spec compatibility for iteratorClose condition. (#6094)
* for-of: IteratorClose spec compatibility.

See #3:
https://tc39.github.io/ecma262/#sec-iteratorclose

* Update spec fixtures for for-of.

* Fix IteratorClose case for remap-async-to-generator.

* Fix IteratorClose case for async-generator-function test output.

* Modify few tests according to iteratorClose fix.

* Fix iteratorClose for helpers.slicedToArray also.

* Update iteratorClose fixture for commonjs.
2017-08-28 13:39:02 -06:00
Henry Zhu
827d84536a Merge pull request #6156 from jridgewell/pr/5502
Fix overshadowing local binding
2017-08-28 13:38:21 -06:00
Justin Ridgewell
3e487f89ab Don't merge test options. (#6157)
* Don't merge test options.

Particularly, I don't want `lodash/merge` to merge my specific plugins
with the general test plugins. It led to odd behavior where I could
enable a loose transform in my specific test, just to have it overridden
by the test fixture's general options.

* Need options
2017-08-28 13:36:03 -06:00
Noah Lemen
40805894c5 default to spec mode for template literal transform (#6098)
* spec/loose/default switch for template literal transform, update/re-org tests

* update readme

* flip if statements

* consolidate else/if

* readme wording modification, updates to examples
2017-08-28 12:57:09 -06:00
Henry Zhu
95dd16aeeb Merge pull request #6159 from jridgewell/pr/3701
Allow native Symbols as computed property names
2017-08-28 12:50:10 -06:00
Justin Ridgewell
ac6eda2709 Class instance properties define their own context (#6158) 2017-08-28 12:47:17 -06:00
Oliver Don
960151c876 Fix #4840: Alias class prototype for methods in loose mode (#5560)
* Fix #4840: Alias class prototype for methods in loose mode

* Cleanup
2017-08-26 21:15:45 -04:00
Justin Ridgewell
7795750862 Tests 2017-08-25 22:52:17 -04:00
Adam Miller
2d8fdf3045 Allow native Symbols as computed property names (#6705)
The for-in loop in helpers.defineEnumerableProperties doesn't iterate over Symbols.
If Object.getOwnPropertySymbols exists, include the discovered values when defining properties.
2017-08-25 22:33:51 -04:00
Justin Ridgewell
a70cda812c Remove old test 2017-08-25 19:52:15 -04:00
Justin Ridgewell
4b297907d1 Move fix into #checkBlockScopedCollisions 2017-08-25 19:23:11 -04:00
Moti Zilberman
48c114169f Move up check for binding kind "local"
This puts the check before the call to `checkBlockScopedCollisions`.
Fixes #4946.
2017-08-25 19:21:38 -04:00
Moti Zilberman
68786c4f0f Add test for issue #4946 2017-08-25 19:21:38 -04:00
Moti Zilberman
1ef5871300 Add tests for #5491 and related cases
The two function expression tests would fail before 6705de7. The
function declaration test was not a failing case but is added here for
completeness.
2017-08-25 19:21:38 -04:00
Moti Zilberman
c3e8715010 Mask existing "local" bindings when registering new binding
Fixes #5491.
2017-08-25 19:21:38 -04:00
Mauro Bringolf
d8b4073536 Consistent const violations (#6100)
* Changed updateExpression to report itself as violation instead of its argument

* Update getBindingIdentifiers to work with forXStatement and return proper node as violation

* Updated unaryExpression violation to be consistent with changes.
2017-08-24 21:19:02 -04:00
Mateusz Burzyński
3c4f19a28d Adjusted Object Rest/Spread tests to use only allowed syntax from the latest spec (#6102) 2017-08-24 15:50:43 -04:00
Noah Lemen
2db0c3ad1d linting: disallow t.identifier("undefined") in plugins (#6096)
* add new custom eslint rule, replace remaining t.identifier("undefined") with buildUndefinedNode(), update tests

* change no-undefined-identifier reporting descriptor
2017-08-24 15:43:01 -04:00
Nicolò Ribaudo
4577bd1b7c TypeParameterInstantiation params can be "Flow" nodes, not "FlowType" (#6140) 2017-08-22 23:11:02 -04:00
Daniel Lo Nigro
93cf26abca Fix babel-standalone for realz (#6137)
* Fix babel-standalone

* Fix infinite loop in Makefile (oops)

* Override Node.js module resolution to handle babel-core
2017-08-22 13:46:30 -07:00
Astha Sharma
62c22c7b5d Removed the deprecated jsx pragma detection code (#6145)
* Removed the deprecated jsx pragma detection code and the concerned tests that included jsx-pragma

* Removed extra tests

* Restored packages/babel-plugin-transform-react-jsx/test/fixtures/react/honor-custom-jsx-pragma-option/
2017-08-22 15:29:06 -04:00
Bryan Wain
63baaa7148 add --config-file option to CLI to pass in .babelrc location (#6133) 2017-08-22 13:58:24 -04:00
Justin Ridgewell
7e726a81e6 Complete export transform split (#6139)
They were each transforming the other's syntax (including namespace
transform would transform default, too, and vice-versa).
2017-08-21 14:15:40 -04:00
Ramiro Silveyra d'Avila
9e4e64dac9 Remove Flow support in React preset (#6118) 2017-08-21 10:48:18 -04:00
Daniel Lo Nigro
3569cb9922 Allow nightly Yarn builds to be used (#6138)
* Allow nightly Yarn builds to be used

Fixes:
```
C:\src\babel (fix-it-fix-it-fix-it-fix-it) (babel)
λ yarn
yarn install v1.0.0-20170811.1240
[1/5] Validating package.json...
error babel@: The engine "yarn" is incompatible with this module. Expected version ">=0.27.5".
error Found incompatible module
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
```

* Use Yarn 0.28.4 to fix build
2017-08-20 16:19:17 -07:00
Sangboak Lee
c6a094a9d2 Split export extensions into 2 different plugins, update stage presets (#6080) 2017-08-19 09:35:40 -04:00
Henry Zhu
cee4cde53e v6.26.0 2017-08-16 11:54:08 -04:00
Henry Zhu
aa330999d0 update changelog 2017-08-16 11:39:05 -04:00
Henry Zhu
5749276d7e update deps 2017-08-16 10:21:19 -04:00
Henry Zhu
7b30f77954 Merge pull request #6111 from modosc/update-regenerator
Update regenerator
2017-08-16 10:17:59 -04:00
Anup
6ab3b4c0e3 Add 'configurable' property to class fields (#6123) 2017-08-16 10:12:38 -04:00
Henry Zhu
70ab2e0620 Merge pull request #6113 from Andarist/fix/regenerator-fixtures
Fix/regenerator fixtures
2017-08-16 10:11:24 -04:00
Sven SAULEAU
0d16499fc0 Merge pull request #6124 from uxter/patch-1
Update README.md
2017-08-16 15:30:51 +02:00
Sven SAULEAU
77bbe20352 fix: [skip ci] split babel config 2017-08-16 15:30:16 +02:00
Vasiliy Shilov
bd569433c4 Update README.md: A semicolon is required after a class property. 2017-08-16 16:18:39 +03:00
Mateusz Burzyński
fffa604023 Fixed regenerator related fixtures 2017-08-16 10:02:33 +02:00
Ben Newman
e08ff8e650 Update regenerator-runtime to version 0.11.0. 2017-08-16 10:02:33 +02:00
Ben Newman
b660f61b92 Update regenerator-transform to version 0.10.0. 2017-08-16 10:02:33 +02:00
Sven SAULEAU
5fb282f73f Merge pull request #6121 from maurobringolf/babel-website-link
Update babel/website link
2017-08-16 08:56:09 +02:00
Mauro Bringolf
7cc5580c71 Update babel/website link 2017-08-16 08:41:48 +02:00
Brian Ng
2eaff3d01c Fix rest-member-expression-optimisation fixture (#6116) 2017-08-15 21:34:09 -04:00
Piotr Kowalski
b684699f79 Typo in name of most famous language [skip ci] 2017-08-15 19:35:41 -05:00
jbrown215
f4716dc816 Backport #6031 (#6112)
* Backport #6031

* Backport #6031

* Rebase on master, rerun scripts

* Update flowconfig
2017-08-15 17:42:01 -04:00
Henry Zhu
d375d80001 6.26.0 changelog [skip ci] 2017-08-15 17:06:16 -04:00
Henry Zhu
98824e7cb7 backport the fix #6052 [skip ci] 2017-08-15 17:01:25 -04:00
jbrown215
c28465e03e Flow opaque type 6.x backport (#6081)
* Flow opaque type backport

* Add tests for strip types, comments, and babel-generator

* Fix failing tests, run scripts

* Bump babylon to 6.18.0
2017-08-15 16:44:15 -04:00
Justin Ridgewell
4ca686b7be Fix relative execution location introspection (#5741)
So, I was reading the new Flow type strictness and noticed
https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/
Specifically, I wondered whether the `sum_all` example would copy the
arguments into an array, then loop over. Sadly, it does.

```js
function sum_all(...rest) {
  let ret = 0;
  for (let i = 0; i < rest.length; i++) { ret += rest[i]; }
  return ret;
}

// output
function sum_all() {
  var ret = 0;
  for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {
    rest[_key] = arguments[_key];
  }
  for (var i = 0; i < rest.length; i++) { ret += rest[i]; }
  return ret;
}
```

But then I noticed if I changed `let i = 0` to `let i: number = 0`, it
worked directly on `arguments`. That lead me down a rabbit hole to
`Path#_guessExecutionStatusRelativeTo`. When tracing through, the last
comparison made no sense to me. It was trying to find the index of
`"init"` in a list of `["declarations"]` and `"body"` in `["directives",
"body"]`. Red flags and such.

But it makes sense when you're trying to compare the visitor order of
the common ancestor path. Then we're trying to find `"init"` in a list
of `["init", "test", "update", "body"]`. Oh, and there's `"body"` in
there too! And now we know the `ForStatement`'s `init` is executed
before the `body`.
2017-08-14 22:22:18 -04:00
Nicolò Ribaudo
b84f8e9234 Don't use _possibleConstructorReturn inside arrow functions (#6103)
Arrow functions can't be entrly skipped while traversing because this
references inside of them needs to be transformed, so I added a check
which prevents return statements inside arrow functions from being
saved for the transformation.

Fixes #5817 (regression)
2017-08-14 11:11:05 -04:00
Brian Ng
9e51038ad9 Fix class prop test fixture (#6090) 2017-08-14 09:20:36 -05:00
Henry Zhu
777a8e2bb4 add more links [skip ci] 2017-08-12 22:04:55 -04:00
Henry Zhu
ad1f87cf07 add new yarn version requirement [skip ci] 2017-08-12 22:00:25 -04:00
Daniel Lo Nigro
a04c18af71 Move babel-standalone into main Babel repo (#6029)
* Move babel-standalone into main Babel repo

* Don't try to gather coverage data for babel-standalone test

* Fix JSX test

* Always use npm v4 on Travis

* Include pull request number as part of version number

* Cherry-picking 5721b2e43e

Remove deprecated packages to prevent Babel v6 files from being pulled in

* Use RootMostResolvePlugin to dedupe packages

* Avoid destructuring so the build works on archaic Node.js versions

* - Fix version number
- Remove Babili packages (they should be in separate babili-standalone)
- Remove deprecated  syntax-class-constructor-call

* - Remove more Babili packages
- Remove `babel-plugin-inline-replace-variables` for now as it pulls in Babel 6 stuff

* Actually remove reference to babel-plugin-undeclared-variables-check

* Add Babylon to root package.json so we hoist the right version. This fixes the tests.
2017-08-11 23:36:19 -07:00
Diogo Franco
0538c3cd8c Add another test for runtime order of template literals (#6092)
More proof that it really is unsafe to merge the .concat calls if the
value is an expression that has any chance of executing impure code 😢
2017-08-12 14:11:27 +09:00
Diogo Franco (Kovensky)
cd66657f34 Update outdated test fixture 2017-08-12 14:10:19 +09:00
Andy
9243c78ea2 babel-plugin-transform-class-properties: Ignore type annotations when looking for name collisions (#6082) 2017-08-11 10:27:48 -05:00
Sangboak Lee
218f191a59 remove left transform-class-properties from stage (#6088) 2017-08-10 22:30:45 -04:00
Henry Zhu
3154c2c114 pr template [skip ci] (#6086) 2017-08-10 16:35:32 -04:00
Noah Lemen
4fdd75695b Update Class Fields to Stage 3 and change default behavior (#6076)
* add transform-class-properties to stage 3, set spec mode to default

* update readme with examples; use `buildUndefinedNode()`; change behavior to always define both static and nonstatic class properties regardless of spec/loose mode; update tests
2017-08-10 11:19:49 -04:00
Rick Waldron
9c91e35ce4 Add numeric separator to stage 2 preset (#6071) 2017-08-10 11:05:35 -04:00
Karl Cheng
3a55e1326c Allow substrings for TEST_ONLY in make (#6079)
This allows TEST_ONLY to match substrings of the package directory name
instead of having to use the full package directory name.
2017-08-10 10:55:46 -04:00
Brian Ng
370559c62f Replace decache with direct removal in babel-register tests (#6085) 2017-08-10 10:52:27 -04:00
Andy
a74b307752 babel-types: Add missing field, fix incorrect definitions (#6083)
* babel-types: Add missing field, fix incorrect definitions

* Regenerate babel-types readme
2017-08-09 16:56:19 -04:00
Mateusz Burzyński
b41fe4efb1 [docs] Added clarification note about transform-react-inline-elements usage … (#6078)
* Added clarification note about transform-react-inline-elements usage with transform-runtime [skip ci]

* small tweaks [skip ci]
2017-08-09 08:45:02 -05:00
Andy
68d2f8d161 Add "classProperties" plugin to babel-generator typescript tests (#6074) 2017-08-08 17:38:39 -04:00
Andy
1c1ce5a9e4 Move parser plugin from babel-preset-typescript to babel-plugin-syntax-typescript (#6070) 2017-08-08 16:01:14 -05:00
Boopathi Rajaa
ab76cb6b53 Fix scope of catch block (#5980)
* Fix scope of catch block

* Throw error on Duplicate variable declaration

* Update test
2017-08-08 16:26:29 -04:00
Henry Zhu
009d7f0b76 Yarn engines (#6064) 2017-08-07 21:54:33 -05:00
Henry Zhu
f667f07d82 update to alpha.18 (#6062) 2017-08-07 21:15:20 -04:00
Henry Zhu
94f54da30b lockfile [skip ci] 2017-08-07 20:01:33 -04:00
Henry Zhu
d85c642617 revert lerna-changelog change [skip ci] 2017-08-07 19:42:12 -04:00
Henry Zhu
79f4956948 v7.0.0-alpha.19 2017-08-07 18:21:08 -04:00
Henry Zhu
7f92e1d9dd Update gulp, fix build (#6061)
* gulp-babel 7.0
2017-08-07 17:09:22 -04:00
Andy
e37a5eb5eb Add babel-plugin-syntax-typescript, babel-plugin-transform-typescript, and babel-preset-typescript (#5899)
* Add babel-plugin-syntax-typescript and babel-plugin-transform-typescript

* Add babel-preset-typescript

* Remove unnecessary handler for JSXOpeningElement

* Use `t.isFoo(node)` instead of `node.type === "Foo"`

* Clean up parameter property assignment generation

* Don't use function for `isSuperCall`

* slice -> shift

* Calculate sourceFileHasJsx only if necessary

* Remove `export =` support

* remove some syntax readme newlines [skip ci]
2017-08-07 11:45:52 -04:00
Henry Zhu
66ec5263a4 Use Yarn Workspaces (#6056)
* update lerna and lerna-changelog

* Lerna: enable yarn, yarn workspaces [skip ci]

* use older version of Babel since it matches on semver (cannot be the same version)

* install yarn version

* revert node engine change

* update flow

* circle ci on 8

* update lock
2017-08-05 14:48:15 -04:00
Teddy Katz
13d931c417 Don't insert the same node into the AST multiple times (fixes babel/babili#556) (#6054) 2017-08-04 19:00:29 -04:00
Henry Zhu
47a9ba3440 Merge pull request #6051 from babel/5709-2
Rewrite parameter transform and drop _blockHoist reliance
2017-08-04 18:55:23 -04:00
Henry Zhu
a1debae8f0 babylon beta.19 (#6053) 2017-08-04 14:46:12 -04:00
Henry Zhu
30c4d6b456 Merge pull request #6052 from babel/array-destructuring-hole
Array destructuring hole
2017-08-04 12:20:50 -04:00
Henry Zhu
0e58007264 add test for spread with hole 2017-08-04 12:06:26 -04:00
Henry Zhu
577173cc02 fix export when array destructuring exported value with hole 2017-08-04 11:53:49 -04:00
Henry Zhu
8c457e9283 Merge pull request #5468 from babel/react-preset
Add requireDirective to strip-flow-types for use in React preset
2017-08-04 11:31:12 -04:00
Brian Ng
2a83867436 Fixes from review 2017-08-04 10:16:45 -05:00
Brian Ng
9dd65c809f fixes 2017-08-03 22:27:30 -05:00
Brian Ng
af5f34ace5 Throw if annotation found without directive 2017-08-03 21:54:36 -05:00
Brian Ng
57da9bdbed Add requireDirective to strip-flow-types for use in React preset 2017-08-03 21:13:45 -05:00
Logan Smyth
d86ae2fb84 Remove _blockHoist usage from param processing. 2017-08-03 20:56:50 -05:00
Logan Smyth
18084db7cf Fix an ordering bug in object-rest-spread. 2017-08-03 20:56:24 -05:00
Logan Smyth
8e19a5b057 Update param scope values when expanding parameters. 2017-08-03 20:56:24 -05:00
Logan Smyth
95882d4e5a Rewrite param processing to be more clearly defined. 2017-08-03 20:56:08 -05:00
Henry Zhu
99ab2b206c update to alpha.18 (#6050) 2017-08-03 20:40:53 -04:00
Henry Zhu
77cfa94682 yarn: fix ci? 2017-08-03 20:02:31 -04:00
Henry Zhu
79c6814d65 v7.0.0-alpha.18 2017-08-03 18:20:36 -04:00
Henry Zhu
d479673074 prepublish [skip ci] 2017-08-03 18:18:36 -04:00
Henry Zhu
6630ae9794 Merge pull request #6046 from jridgewell/pr/6038
Fix invalid block-scoped loop
2017-08-03 08:51:25 -04:00
Justin Ridgewell
6bb1486405 Fix 2017-08-02 19:47:14 -04:00
Sarup Banskota
75808a2d14 Prevent getFunctionParent from returning Program (#5923) 2017-08-02 16:30:33 -05:00
jbrown215
4e9a25e34a Flow opaque type aliases (#5990) 2017-08-02 16:30:19 -05:00
Henry Zhu
0f823beeb1 Newlines in fixtures (#6044)
* write newlines for fixtures

* rerun fixtures
2017-08-02 15:35:29 -04:00
Sergey Rubanov
829c75a866 Development Only: drop Node 4-5 and npm 2 (#6037) [skip ci]
Node versions 4 and 5 are obsolete. Version of npm bundled in Node 6 is 3 so npm 2 could be dropped as well.
2017-08-02 14:30:13 -04:00
Henry Zhu
9d7c82d869 Adding failing test for 6025 2017-08-01 16:16:47 -04:00
Brian Ng
21eeed8a8c Fix generate interfaces script (#6031)
* Fix typo in TSPropertySignature type definition

* Sort fields in generate-interfaces script
2017-08-01 14:38:46 -04:00
Brian Ng
889f4e7791 Fix refs in transform-optional-chaining docs [skip ci] (#6035) 2017-08-01 14:30:16 -04:00
Brian Ng
c5e81516dd Add optional catch binding to stage 3 preset (#6032) 2017-07-31 16:00:43 -04:00
Brian Ng
6d965c0926 Make babel-node a standalone package (#6023)
* Make babel-node a standalone package

* New package `babel-node` previously `babel-cli/bin/babel-node`

* updates
2017-07-29 22:26:28 -04:00
Jimmy Jia
2dba910b9e Merge branch '6.x' 2017-07-29 12:20:18 -04:00
Andy
e32042f353 babel-generator: Comment TypeScript-specific code (#6026) 2017-07-28 18:03:38 -04:00
Andy
c1d07fd6db babel-generator: Add TypeScript support (#5896)
* babel-generator: Add TypeScript support

* Remove type declarations; not published from babylon

* Remove TODOs

* Consistently use `this.word` for tokens that are words
2017-07-28 16:07:05 -04:00
Henry Zhu
f83c83d49c add proposals repo [skip ci] (#6024) 2017-07-28 15:31:47 -04:00
chocolateboy
605adc922d allow PluginPass.file.addImport to create empty import statements (#6022)
* allow PluginPass.file.addImport to create empty import statements; fixes #6021

omitting addImport's second argument creates an import statement with an
empty `specifiers` array i.e. an empty import statement:

plugin:

    Program (path, { file }) {
        file.addImport('foo-bar/register')
    }

output:

    import "foo-bar/register";
2017-07-28 12:37:00 -04:00
Henry Zhu
593cbc1d53 Function sent (#6020)
* change back to function-sent

* update stage 2
2017-07-26 18:01:40 -04:00
Noah Lemen
5c45753cd6 add TEST_GREP example clarification [skip ci] (#6013) 2017-07-26 17:53:46 -04:00
Andy
1563221171 babel-types: Have NewExpression inherit from CallExpression (#6019) 2017-07-26 17:53:23 -04:00
Andy
b242e0d946 babel-generator: Make plugins list explicit for test cases (#6018) 2017-07-26 15:46:47 -04:00
Henry Zhu
9322fd0458 v7.0.0-alpha.17 2017-07-26 08:38:44 -04:00
Henry Zhu
f01438e9b1 update devdeps to latest, update babylon (#6012)
* temporary flow strip measure
2017-07-26 07:57:49 -04:00
Henry Zhu
ce5d1d0f59 why 2017-07-25 17:47:59 -04:00
Henry Zhu
7f1cd44d60 v7.0.0-alpha.16 2017-07-25 17:35:35 -04:00
Henry Zhu
2841945095 temporarily rename function-sent pkg to 2 (#6011) [skip ci]
* update readme [skip ci]

* rename to sent2 until we get the package [skip ci]
2017-07-25 17:30:31 -04:00
Henry Zhu
76060bb2c7 commit yarn.lock 2017-07-25 17:10:10 -04:00
Henry Zhu
84dfa659e7 update to alpha.15 (#6009) 2017-07-25 17:08:15 -04:00
Samuel Reed
e0b4543601 feature: Support whitelisting mutable props for react-constant-elements (#5307) 2017-07-25 13:34:21 -05:00
Andy
248743e6c5 babel-types: Add TypeScript definitions (#5856)
* babel-types: Add TypeScript definitions

* Add missing builders

* Allow arrow function to have "generator"

* Replace link to resolved issue with comment

* Re-add 'generator' to functionCommon
2017-07-25 11:42:25 -04:00
Brian Ng
9a1b8ea443 Add support for flow predicates in babel-generator (#5984) 2017-07-25 11:38:17 -04:00
Brian Ng
55aea26f13 Add support for export type star in babel-generator (#5985)
* Add support for export type star in babel-generator

* Bump babylon
2017-07-25 11:37:27 -04:00
Nicolò Ribaudo
fb9a752262 Function sent (#5920)
* Create "babel-helper-wrap-function"

It contains the logic to wrap a function inside a call expression.
It was part of the "babel-helper-remap-async-to-generator" package, but
it is needed to transpile "function.sent"

* Create "babel-transform-function-sent"

It transforms the "function.sent" meta property by replacing it with
"yield" and making the generator ignore the first ".next()" call.

* "function.sent" is the last value passed to .next(), not the first one

* Disable exec tests on old node

* Fix flow error

* Add "transform-function-sent" to "stage-2" preset

* Do every trasformation in one traversal

* Test for "yield function.sent"

* [skip ci]

* Fix some typos [skip ci]
2017-07-25 11:07:01 -04:00
Peeyush Kushwaha
4a35243118 Non string computed keys in object-rest-spread (#5757) 2017-07-25 09:46:52 -05:00
MarckK
9fc910d8c0 Add optionality to catch bindings (#5956) 2017-07-25 09:38:48 -05:00
Noah Lemen
51a293601b add JSXAttribute visitor function, wraps JSXElement attributes in a JSXExpressionContainer; also adds test fixtures (#6006) 2017-07-25 09:30:32 -04:00
Shuaibird Hwang
4d51052037 FIX access to the prototype of an instance (#6005)
The right way access to the prototype of an instance is using the `__proto__` rather than the `prototype`.
2017-07-24 21:46:38 -04:00
Daniel Tschinder
19c4dd2d8c Update chai to 4.x (#6002) 2017-07-24 15:19:32 -04:00
Peeyush Kushwaha
2225892348 Use first binding for multiple var declarations (#5745)
* Use first binding for multiple var declarations
Since var declarations after initial binding have no effect, use the
first declaration. Fixes #2378

* Include hoisted function bindings

* Missing newline in expected.js

* Simplify constantViolations in new Binding on existing

* clarify comment language
2017-07-24 14:43:17 -04:00
Daniel Tschinder
677160385c Update chalk to 2.x (#6003) 2017-07-24 11:06:57 -04:00
Daniel Tschinder
9b04cbbc4f Update find-cache-dir to 1.0 (#5999) 2017-07-23 20:23:55 -04:00
Daniel Tschinder
4aca487b6d Update default-require-extensions to 2.0 (#6000) 2017-07-23 20:23:29 -04:00
Daniel Tschinder
5afe40b095 Update to-fast-properties to 2.0 (#5997) 2017-07-23 09:22:05 -04:00
Daniel Tschinder
b081f68e87 Update output-file-sync to 2.0 (#5996)
* Update output-file-sync to 2.0

* Ignore test tmp directory
2017-07-23 09:21:51 -04:00
Daniel Tschinder
c9ed159a18 Update jsesc to the latest version (#5995) 2017-07-23 09:21:22 -04:00
Daniel Tschinder
b9ed9919c1 Update globals to v10 (#5993) 2017-07-23 09:21:08 -04:00
Daniel Tschinder
04b4e414ad Fix clean to remove package-lock files (#5991)
Otherweise the same versions get installed over an over again in
dev environments
2017-07-23 09:20:36 -04:00
Ryan Gaus
0b890ced19 Code generator tests (#5847) 2017-07-20 18:22:18 -04:00
Justin Ridgewell
c60bf9a897 Fixup builder-binary-assignment-operator-visitor (#5969)
Using a `SequenceExpression` instead, we avoid awkward
`AssignmentExpression`s as direct children of `BlockStatement`s.
2017-07-20 11:47:47 -04:00
Naveen jain
245c78dcdc Added test cases for babel-generator (#5934)
* edited .gitignore to ignore all package-lock.json files
2017-07-20 11:39:26 -04:00
Justin Ridgewell
8a98141b60 Fix a few type inferences (#5835) 2017-07-20 11:38:12 -04:00
Justin Ridgewell
78544417fc Remove noop (#5970)
It’s ugly, but it gets the job done. And it unblocks my babel-type
changes.
2017-07-20 11:36:13 -04:00
Justin Ridgewell
c6edce115c Fix numeric-separator transform (#5968) 2017-07-20 11:35:53 -04:00
Marcus Cavanaugh
fe13ba8fc2 Remove unused functions from renamer.js. (#5965) 2017-07-20 11:19:10 -04:00
Selwyn
579499c66d Update v8flags to version 3.0.0 (#5975) 2017-07-19 14:31:23 -04:00
Justin Ridgewell
827c70e015 Support exporting deep destructuring (#5953) 2017-07-18 14:07:09 -05:00
Justin Ridgewell
8a5488e59f Fix for-of loose optimization (#5964)
VariableDeclarators can’t have a MemberExpression id.
2017-07-18 15:01:36 -04:00
Justin Ridgewell
63204ae51e Remove maybePopFromStatements (#5945)
It prevented you from pushing into the `params` of a function.

```js
fnpath.pushContainer("params", t.identifier("memo"))
```
2017-07-18 14:55:33 -04:00
Justin Ridgewell
28ae47a174 Stop mutating nodes (#5963)
* Stop mutating nodes

* Update tests

* linting
2017-07-18 13:24:07 -04:00
Mauro Bringolf
aa684d1b0c Spec compliancy of check-es2015-constants plugin (#5930)
* Figuring out where to place throw statement

* Restored path argument destructuring

* New approach using comma expressions for assignments

* Moved throwNode into body of forXstatements

* Refactored with helper function and ensureBlock, additional tests for update exprs

* Added exec tests for all violations

* Hoisted helper function for comma expression outside of visitor
2017-07-17 20:01:01 -04:00
Brian Ng
1fdec955f8 Bump istanbul and nyc (#5959) 2017-07-17 15:58:49 -04:00
Sarup Banskota
213ad1ed7a [generator] remove parens from break & continue (#5950)
* Remove parens around break and continue

Fixes #5742

* Fix space in doc comment

* Add some tests

* Remove newlines within CommentBlock

* Prevent newline before/after label

* Remove reference to node

* Check for label within startTerminatorless

* Print block instead of single line comment

* Clean up
2017-07-17 09:30:28 -07:00
Justin Ridgewell
797fb3c2e4 Optimize and remove state from typeof-symbol transform (#5955)
Also fixes a bug with returning a Symbol from a Class constructor
(because the transform wasn’t run on helpers before).
2017-07-17 10:51:36 -04:00
Justin Ridgewell
9d612e717e Fix react-inline-elements bug (#5958) 2017-07-17 10:46:13 -04:00
Justin Ridgewell
e919c6e6eb Add several test cases for systemjs exports (#5954) 2017-07-17 08:51:37 -05:00
Sven SAULEAU
d82afb407e Merge pull request #5949 from babel/unused-eslint-rule
remove unused ESLint rule
2017-07-14 11:51:36 +02:00
Sven SAULEAU
b858d7ce5e chore: remove unused ESLint rule 2017-07-14 11:25:09 +02:00
Mauro Bringolf
b83e0ec7b0 2nd try: Add loose option for es2015-parameters transformation (#5943)
* Import changes to parameters package from previous branch

* Refactor plugin option access via state
2017-07-12 17:36:44 -04:00
Henry Zhu
a0f0411abf v7.0.0-alpha.15 2017-07-11 23:35:22 -04:00
Buu Nguyen
8decefe8bc Fix bug incorrect dereferencing rest argument (#5810)
* Fix bug incorrect dereferencing rest argument

* Fix pure path

* Minor refactor
2017-07-11 23:26:57 -04:00
Henry Zhu
650cd43096 move to src (#5942) 2017-07-11 23:23:15 -04:00
Henry Zhu
03f249430a v7.0.0-alpha.14 2017-07-11 22:53:09 -04:00
Henry Zhu
8460b4c62f v7.0.0-alpha.13 2017-07-11 22:27:56 -04:00
Brian Ng
4710b8a5ba Update babel-types docs [skip ci] (#5941) 2017-07-11 22:20:43 -04:00
Brian Ng
81e87b0838 Remove codecov node package and use bash uploader (#5938)
* Remove codecov node package and use bash uploader

* test
2017-07-11 21:32:48 -04:00
Mauro Bringolf
465c087ac0 Removed update operators from number unary operators (#5940) 2017-07-11 19:08:50 -05:00
Brian Ng
bc123ad02a Change trailing comma option for polyfill scripts (#5939) 2017-07-11 18:13:26 -05:00
Justin Ridgewell
e170e6d760 Fix returning an object in a derived class constructor without super (#5885) 2017-07-11 17:43:19 -04:00
Ash
960e1708a1 babel-traverse: Mark appropriate template literals as pure (#5914)
* Identify pure template literals

* Mark template literals as pure where possible

* Changes based on code review

* nit
2017-07-11 17:42:34 -04:00
Daniel Tschinder
2ce5f166d7 Remove codecov node package and use bash uploader (#5937) 2017-07-11 13:37:54 -05:00
Sarup Banskota
a7a9e7ae17 Gitignore package-lock (#5918) 2017-07-10 13:44:27 -05:00
Justin Ridgewell
51ff4dd936 Fix async-to-generator ForAwait transform (#5932)
The old transform called an external `babel-traverse`, which doesn’t
does something funky.
2017-07-09 23:49:44 -05:00
Justin Ridgewell
628061c501 Add new.target transform (#5906)
* Add new.target transform

* Catch new.target under only an arrow function

* More unsupported reflect.construct cases

* Fix node 4 test

* Do not transform Methods

* More tests

* Properly setup function inheritance test

* Tests tests tests

* Fix ES6 class's new.target

* Remove expected output thats supposed to throw.
2017-07-07 14:28:19 -04:00
Sarup Banskota
003b8918c2 Fix typo in babel-types doc script + run it (#5855) 2017-07-06 16:19:51 -04:00
Jeffrey Wear
72183ff2e9 Clarify use of bind operator in "prefix position" (#5917)
The REPL [shows](https://babeljs.io/repl/#?babili=false&evaluate=false&lineWrap=true&presets=es2015%2Creact%2Cstage-0&targets=&browsers=&builtIns=false&debug=false&code_lz=PYIwVgXBBmCuB2BjA3AKAPToAQEsDOWApgI6w4BuAhgDaHwAuW9wEqcSAdCDvACYAUoMAEo0qKEI7sUGbPiKkKNOo2atJ0rjwFDRqVEKjT-Vansy4CJMqZVMWbBIg6Ia1QeAA0WU3vEQNJxMaczkrRVsGe1ZNV2p3IW9fZCA)
that when the bind operator prefixes `obj.func` (as opposed to being used
between `obj` and `func`), rather than binding a free function `func` to `obj`,
it binds `obj.func` to `obj`.

[skip ci]
2017-07-04 16:21:39 -07:00
Jim Nielsen
9ad660bbe1 Swap github/twitter links (#5895) [skip ci] 2017-06-28 14:51:23 -04:00
Brian Ng
58ec149c52 Fix some unneeded semis in test fixtures (#5892) 2017-06-27 22:15:10 -05:00
Daniel Tschinder
b3372a572d Remove whitespace generation (#5833)
* Remove whitespace generation and rely on default printing

Changes to printing:
* Add newline after last empty SwitchCase
* Add newlines around block comments if they are non-flow comments or contain newlines

* Fix a few more fixtures
2017-06-27 21:57:02 -05:00
Josh Johnston
bc29145465 Fix 5768 (to 7.0 branch) (#5891) 2017-06-27 20:04:23 -04:00
Henry Zhu
48c770e4bb Force color output in test runs to ensure consistent behavior in Travis 2017-06-27 17:48:56 -04:00
Josh Johnston
3cf4cee40a Fix 5768 (#5811)
* Fix destructured exports

- adds a failing test based on description in #5768
- handles ObjectPattern and ArrayPattern

* use export assignment template
2017-06-27 17:31:47 -04:00
Henry Zhu
ed0de70656 Merge pull request #5889 from babel/update-babylon
Update babylon
2017-06-27 17:29:55 -04:00
Henry Zhu
9a75916012 remove unused dependencies 2017-06-27 17:18:13 -04:00
Henry Zhu
a4080dc095 update babylon 2017-06-27 17:17:41 -04:00
Henry Zhu
4e50b2d9d9 Merge pull request #5412 from babel/prettify
Use prettier
2017-06-27 17:12:14 -04:00
Brian Ng
e4b35f680d Run prettier 2017-06-27 12:15:00 -05:00
Brian Ng
93cc22dae1 Add prettier 2017-06-27 12:13:54 -05:00
Henry Zhu
89d8f70fcd Merge pull request #5813 from jridgewell/pr/5786
Optional Chaining Operator (Stage 1)
2017-06-27 11:10:47 -04:00
Justin Ridgewell
f363ec6b99 Add to stage-1 preset 2017-06-27 01:27:41 -04:00
Logan Smyth
b3183b1198 Force color output in test runs to ensure consistent behavior in Travis (Take 2) 2017-06-26 15:59:30 -07:00
Logan Smyth
892377ae57 Force color output in test runs to ensure consistent behavior in Travis. 2017-06-26 15:51:51 -07:00
Logan Smyth
95b3c8a16a Revert "TEMP: Another quick test"
This reverts commit 0005b9e4cf.
2017-06-26 15:49:56 -07:00
Logan Smyth
12e39116f0 Revert "TEMP: Debugging unexpected test failures."
This reverts commit 1fb3d5b0f6.
2017-06-26 15:49:54 -07:00
Logan Smyth
0005b9e4cf TEMP: Another quick test 2017-06-26 15:22:13 -07:00
Logan Smyth
1fb3d5b0f6 TEMP: Debugging unexpected test failures. 2017-06-26 14:59:39 -07:00
Henry Zhu
bd9e1860d0 for-of optimization on arrays/known functions that return arrays (#4747) 2017-06-26 16:47:39 -04:00
Sven SAULEAU
692e51609c Merge pull request #5886 from yavorsky/7-fix-commonjs-destructuring
7.0 port: Fix commonjs exports with destructuring.
2017-06-26 22:37:39 +02:00
Henry Zhu
bb5528b414 Merge pull request #4850 from babel/removeClassCallCheck-option
Remove ClassCallCheck, possibleConstructorReturn in loose mode
2017-06-26 15:24:11 -04:00
Buu Nguyen
033bad3098 Fix bug super ref check doesn’t honor spec evaluation order (#5801) 2017-06-26 15:16:47 -04:00
Artem Yavorsky
2cfd01aeb6 Add fixtures for exports with desctucturing. 2017-06-26 15:44:18 +03:00
Artem Yavorsky
ddba7ba89f Add destructuring case for modules-commonjs. 2017-06-26 14:33:58 +03:00
bill-improbableio
851d2cb6e0 Pass SIGINT signals to the spawned child process (#5861)
* Pass SIGINT signals down to the spawned child

* Kill process with correct signal

* Fix lint issues

* Fix exit for outer process
2017-06-24 19:04:53 -04:00
Joseph Frazier
a330cf2b09 Add support for evaluating String.raw expressions (#5681)
* Add support for evaluating `String.raw` expressions

* Dedupe evaluation code for template literal quasis

* Check scoping in `String.raw` evaluation
  This addresses https://github.com/babel/babel/pull/5681#discussion_r114203497

* Ensure that `tag` is a MemberExpression in `String.raw` evaluation
  This addresses https://github.com/babel/babel/pull/5681#discussion_r114203555

* babel-traverse: Move evaluateQuasis() outside _evaluate()
2017-06-24 16:00:42 -04:00
MarckK
b6b69c615a Fix type errors for destructuring assignments(#4227) (#5865) 2017-06-24 15:56:51 -04:00
Henry Zhu
4fdff567c6 remove superClass truthy check 2017-06-24 14:27:41 -04:00
David Colwell
622672d397 Remove Monorepo negative regarding npm results (#5884) [skip ci]
It's fixed as of:  https://github.com/npms-io/npms/issues/13
2017-06-22 23:01:13 -04:00
Justin Ridgewell
64eafad472 Merge pull request #5469 from yavorsky/fix-commonjs-destructuring
Fix commonjs exports with destructuring.
2017-06-21 16:41:55 -04:00
Justin Ridgewell
1ea3b0601c Merge pull request #5877 from mathiasbynens/update-unicode-property-regex
Move plugin-transform-unicode-property-regex to stage 3
2017-06-21 16:29:29 -04:00
Mathias Bynens
5492fe130a Move plugin-transform-unicode-property-regex to stage 3 2017-06-21 15:55:02 +02:00
Henry Zhu
8a4ab088e4 create and use a inheritsLoose helper 2017-06-19 11:58:49 -04:00
Henry Zhu
ba671d0a66 update babel-eslint, try out numeric separators (#5866)
* update babel-eslint, try out numeric separators

* update version
2017-06-17 23:31:47 -04:00
Henry Zhu
4595729cbb fix issue as a result of refactor (#5867) 2017-06-17 16:01:33 -04:00
Danny Andrews
3b28bd2cb1 [skip ci] Fix typos in README.md (#5857) 2017-06-14 09:49:41 -05:00
Justin Ridgewell
5387d9f903 Merge pull request #5721 from Qantas94Heavy/rest-parameters-5656
Fix optimisation of shadowed rest parameters
2017-06-13 13:57:53 -04:00
Konstantin Pschera
fea3a72838 Fix babel-plugin-transform-regenerator README (#5852) 2017-06-13 09:19:36 -05:00
Justin Ridgewell
05726a976e Merge pull request #5837 from jridgewell/hoist-closure-helpers
Hoist several closures
2017-06-12 02:23:45 -04:00
Ryan Gaus
070662e381 Add tests for babel-generator (#5845)
Added two tests for src/generators/flow.js that check if a value is of
type `empty` or `mixed`.
2017-06-10 09:28:37 -04:00
Henry Zhu
cdca54aed3 remove possibleConstructorReturn in loose mode as well 2017-06-09 18:42:52 -04:00
Henry Zhu
4081f3e23e removeClassCallCheck option 2017-06-09 16:50:17 -04:00
Hasan Bayat
1b29ab1289 Adding documentation and information (#5717) [skip ci] 2017-06-09 11:24:20 -04:00
Brian Ng
cce83a0cea Fix parens issues with exponentiation in generator (#5830) 2017-06-09 11:10:16 -04:00
Sarup Banskota
f1303aa54c Misc updates to babel-core README (#5841) [skip ci]
* Minor grammar things
* Standardize fullstops on the options table
* Usage of `` where appropriate
2017-06-09 10:37:34 -04:00
Alex Rattray
dd82d7a653 Document babel-helper-plugin-test-runner usage (#5843) [skip ci]
* Document `babel-helper-plugin-test-runner` usage

* [skip ci]
2017-06-09 10:35:53 -04:00
Justin Ridgewell
ac33b1be27 Fix addCompletionRecords 2017-06-09 00:12:16 -04:00
Henry Zhu
ccd314cba7 6.25.0 changelog [skip ci] (#5844) 2017-06-08 17:30:39 -04:00
Henry Zhu
82f37841f5 v6.25.0 2017-06-08 17:29:04 -04:00
Daniel Tschinder
36ab72f095 Support declare export statements (#5589)
* Add definition of declare export statements

* Add more codecoverage
2017-06-08 23:15:54 +02:00
Henry Zhu
bc013e6d34 just make sure babylon is up to date [skip ci] 2017-06-08 17:10:51 -04:00
Bo Lingen
0c8fdc381d Backport array & object pattern fixes to 6.x (#5770)
* Backport array & object pattern fixes to 6.x

Original PRs merged to 7.0 as #5722 and #5762

* fix lint error
2017-06-08 16:58:37 -04:00
Sarup Banskota
9b05b0df5c Include node 8.0 to travis config & update tests (#5807)
* Remove node 7 and introduce node 8 in travis config

Progress on #5804

* Run yarn install with node 8

Progress on #5804

* Remove expose_debug_as from tests; replace with expose_gc_as

Fixes #5804

* Remove dashed options since they aren't listed

* Revert "Remove dashed options since they aren't listed"

This reverts commit f826167e320ee85331e09ac63b5674401cac6236.
2017-06-08 18:50:42 +02:00
Justin Ridgewell
119d5c5871 Hoist several closures 2017-06-08 03:39:10 -04:00
Justin Ridgewell
0740e61131 Use strict 2017-06-08 00:47:19 -04:00
Justin Ridgewell
97d0ab78cb Update babylon 2017-06-07 03:52:42 -04:00
Justin Ridgewell
f537fc7da7 Add babel-generator tests 2017-06-07 03:22:52 -04:00
Justin Ridgewell
462825b15a Simplify transform
This also makes the output use less comparisons for `foo?.()?.bar`
cases. 😁
2017-06-07 03:22:52 -04:00
Justin Ridgewell
9e91ac54d3 Optional call expressions short circuit later member expressions 2017-06-07 03:22:52 -04:00
Justin Ridgewell
54d9732d0b Test Update and Unary expressions 2017-06-07 03:22:52 -04:00
Justin Ridgewell
d92309f0db PR comments 2017-06-07 03:22:52 -04:00
Justin Ridgewell
faa6c9f708 Use nil 2017-06-07 03:22:52 -04:00
Justin Ridgewell
6cc2f5dc78 Consider any unary expression 2017-06-07 03:22:52 -04:00
Justin Ridgewell
a62cb9281e Delete unnecessary check 2017-06-07 03:22:52 -04:00
Justin Ridgewell
ef87acc389 Test not-top-level optional chaining 2017-06-07 03:22:51 -04:00
Justin Ridgewell
1f22ac353a Lint 2017-06-07 03:22:51 -04:00
Justin Ridgewell
0e5f597ee6 Readme 2017-06-07 03:22:51 -04:00
Justin Ridgewell
899634d20b Add exec tests 2017-06-07 03:22:51 -04:00
Justin Ridgewell
b048bff77d Add optional to MemberExpression 2017-06-07 03:22:51 -04:00
Justin Ridgewell
9ce797dd34 Reduce context memoization when possible 2017-06-07 03:22:51 -04:00
Justin Ridgewell
acdd3637bc Refactor 2017-06-07 03:22:51 -04:00
Justin Ridgewell
85b6b4b1b2 Print optional chain operator 2017-06-07 03:22:51 -04:00
Justin Ridgewell
5fe4803562 Simplify NewExpression|CallExpression visitor 2017-06-07 03:22:51 -04:00
Justin Ridgewell
30ee87159d Split syntax and transform into two plugins 2017-06-07 03:22:51 -04:00
Justin Ridgewell
2a496890ff Use a better nested syntax
This way, it quickly returns from the conditions. The first nil will
now exit, instead of checking every nil.

This also allows conditionalChaining inside a container to still
operate the container.
2017-06-07 03:22:51 -04:00
Justin Ridgewell
3fae121460 Implement Null Propagation Operator 2017-06-07 03:22:51 -04:00
Sven SAULEAU
750b03a22f refactor: use WeakSet to keep track of transformed nodes 2017-06-07 03:22:51 -04:00
Sven SAULEAU
98487b5a15 fix: typo 2017-06-07 03:22:51 -04:00
Sven SAULEAU
a9d8040c0f refactor: change undefined to void 0 2017-06-07 03:22:51 -04:00
Sven SAULEAU
3faca62a77 wip 2017-06-07 03:22:51 -04:00
Sven SAULEAU
cc6959e1fa feat: WIP assignements 2017-06-07 03:22:51 -04:00
Sven SAULEAU
6bd3bf4d2f feat: optional chaining with function call 2017-06-07 03:22:51 -04:00
Sven SAULEAU
ed15443dba fix: use undefined instead of null 2017-06-07 03:22:51 -04:00
Sven SAULEAU
64ff5a080d refactor: improved transformation logic 2017-06-07 03:22:51 -04:00
Sven SAULEAU
72259ca5d3 feat: cleanup 2017-06-07 03:22:51 -04:00
Sven SAULEAU
00f58b9bfa feat: optional chaing 2017-06-07 03:22:51 -04:00
Justin Ridgewell
5cc1cbf3bc Matches pattern cleanup (#5826)
* Extract duplicated function into babel-types

Also reimplements in a sane way.

* Add tests

* cleanup
2017-06-06 11:20:05 -04:00
Justin Ridgewell
8df5514083 Fix numeric separator Number transform (#5825) 2017-06-06 08:14:30 -04:00
Henry Zhu
123dce5fcd Hardcode to double quotes, indent to 2 spaces (#5824) 2017-06-05 22:14:37 -05:00
Justin Ridgewell
783d85ee4b Merge pull request #5780 from kentor/react-display-name-to-support-createReactClass
Backport support for createReactClass with transform-react-display-name
2017-06-05 16:13:16 -04:00
Nicolò Ribaudo
b0524427c1 Wrap an arrow function in parentheses if it the test of a conditional expression (#5820)
* Wrap an arrow function in parentheses if it the test of a conditional expression

Fixes #5819

* Use ConditionalExpresion to check if () => {} should be wrapped

* Move `t.isTaggedTemplateExpression()` from ArrowFunctionExpression to
  ConditionalExpresion

* [test] `await (() => {})` needs the parentheses

* [test] (a ? b : c)`` needs the parentheses
2017-06-05 12:39:28 -04:00
Justin Ridgewell
53e3f0dbdc babel-types: avoid recreating validator closures (#5821) 2017-06-05 12:38:30 -04:00
Artem Yavorsky
c4fd05c0c2 Spec compatibility for template literals. (#5791)
* Spec compatibility for template literals.

* Update preset-es2015 `spec` expected case.

* Prevent array mutability by replacing `shift`.

* Fix condition for single item.

* Group concats to ensure toPrimitive sequence.

* Update function test case.

* Add semi for function test case.

* Simplify concat call expressions creating.

* Fix some cases with multiple idengifiers.

* Add test case with different literals.

* Add test case for `Symbol()` and toPrimitive order

* Add actual literal case.

* Add minNodeVersion to template literals order.

* Flip the logical expression.

* Update README for template literals spec option.

* docs [skip ci]
2017-06-05 08:53:10 -04:00
Simen Bekkhus
1e55653ac1 Don't call deprecated code frame export (#5815) 2017-06-02 08:49:26 -04:00
Henry Zhu
272209ace5 ⬆️ Alpha 12 (#5808)
* fix usage of codeframe
2017-06-01 15:13:17 -04:00
Sven SAULEAU
7e739f954d Merge pull request #5802 from babel/issue5371
Remove check for super calls in arrow function
2017-06-01 09:55:08 +02:00
Sven SAULEAU
bf9b434736 refactor: search parent instead of using state 2017-05-31 19:34:05 -05:00
Sven SAULEAU
819056e94a fix: remove check for super in arrow function 2017-05-31 19:33:57 -05:00
Henry Zhu
c5bad22767 v7.0.0-alpha.12 2017-05-31 17:11:39 -04:00
Henry Zhu
68ed633175 force-publish all packages [skip ci] 2017-05-31 17:09:11 -04:00
Henry Zhu
ce976bba2a v7.0.0-alpha.11 2017-05-31 16:43:30 -04:00
Mauro Bringolf
c142bbc429 Remove duplicated getStatementParent and refactor requires to imports in tests (#5746)
* Additional testcase and require->import refactorings

* Removed duplicated getStatementParent function. Refactored all babel-traverse tests to use ESmodules
2017-05-31 15:33:25 -04:00
Henry Zhu
a6273a92ec fix flow type issue 2017-05-31 15:31:59 -04:00
Henry Zhu
1d7d090bf0 fix pkg name 2017-05-31 15:31:51 -04:00
Buu Nguyen
f58f4ac351 Fix incorrect destructuring in for loop let initialization (#5763)
* Fix incorrect destructuring in for loop `let` initialization

* Improve approach and fix tests
2017-05-31 15:29:50 -04:00
Simen Bekkhus
63b7137dac Add column range to babel-code-frame (#5646) 2017-05-31 15:22:46 -04:00
Rick Waldron
5393a49349 Support for NumericLiteralSeparator, Stage 1 feature (#5793)
* Support for NumericLiteralSeparator, Stage 1 feature

commit cd8f6e062876261a334d968f875e477a48927b6d
Author: Sven SAULEAU <xtuc@users.noreply.github.com>
Date:   Wed May 31 16:14:15 2017 +0200

    docs: update README [skip ci]

commit cf013e3382bf73cdf9224026c1ec0b1a368cfef2
Author: Rick Waldron <waldron.rick@gmail.com>
Date:   Tue May 30 14:51:20 2017 -0400

    Support for NumericLiteralSeparator, Stage 1 feature

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

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

* add note about presets [skip ci]
2017-05-31 15:18:48 -04:00
Henry Zhu
defde165ed pin to lerna rc.4 2017-05-31 14:32:50 -04:00
Sven SAULEAU
3783429a96 Merge pull request #5798 from rwaldron/fix-plugin-readmes
Make all packages/*/README.md descriptions consistent.
2017-05-31 16:30:35 +02:00
Rick Waldron
3a6fdca069 Make all packages/*/README.md descriptions consistent.
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-05-31 10:24:26 -04:00
Justin Ridgewell
489cf90d23 Merge pull request #5796 from noinkling/add-inspect-brk-option
Allow --inspect-brk option to be used with babel-node [6.x backport]
2017-05-31 03:20:41 -04:00
noinkling
0230dc5067 Allow --inspect-brk option to be used with babel-node 2017-05-31 14:14:58 +12:00
Justin Ridgewell
d34d2b1305 Merge pull request #5785 from noinkling/7.0
Allow --inspect-brk option to be used with babel-node
2017-05-30 15:30:33 -04:00
Peeyush Kushwaha
5fbe8edfb9 Contributing troubleshooting (#5790) 2017-05-29 11:58:07 -05:00
Peeyush Kushwaha
dcbb6c5ce5 Add a section on troubleshooting [skip ci] (#5788)
* Add a section on troubleshooting [skip ci]

* Move troubleshooting section to be under the running tests section

* [skip ci]
2017-05-29 11:20:13 -04:00
noinkling
517ecdae65 Allow --inspect-brk option to be used with babel-node 2017-05-28 18:08:04 +12:00
Justin Ridgewell
2579c5b6e9 Merge pull request #5775 from peey/switch-continue
Switch continue
2017-05-27 22:45:14 -04:00
Henry Zhu
30defbe436 fix flow error [skip ci] 2017-05-27 10:20:30 -04:00
Henry Zhu
3477e740e1 pin babel, update lerna 2017-05-27 09:39:21 -04:00
Henry Zhu
0df3e3d6eb update babylon beta 11 2017-05-27 09:08:58 -04:00
Mauro Bringolf
f0d7d580d5 Added individual test cases for possible errors with path.replaceWith (#5779) 2017-05-27 00:22:26 -04:00
Brian Ng
4ae39239b5 Remove import declaration when stripping flowtypes if only type/typeof specifiers (#5782) 2017-05-26 15:36:46 -04:00
Brian Vaughn
b296759852 Updated transform-react-display-name for createReactClass addon (#5554)
* Updated transform-react-display-name for ReactCreateClass addon

* Tweaked description for transform-react-display-name plugin

* Changed ReactCreateClass to createReactClass
2017-05-26 10:04:34 -07:00
Henry Zhu
9e2ef0cf9e update types [skip ci] 2017-05-25 15:23:30 -04:00
Henry Zhu
9b44cef691 v7.0.0-alpha.10 2017-05-25 15:17:07 -04:00
Henry Zhu
ce2335604c Merge pull request #5761 from babel/b7-10
Babylon 7 alpha.10
2017-05-25 14:29:25 -04:00
Henry Zhu
51f3ab45c4 [skip ci] 2017-05-25 12:54:06 -04:00
Buu Nguyen
8abe061fab Support specifying minimum Node version a test requires (#5765) 2017-05-25 11:59:00 -04:00
Aditya Vohra
bf9baa182b Change regeneratorRuntime to _regenerator2.default in transform runtime README [skip ci] (#5767) 2017-05-25 08:34:31 -05:00
Peeyush Kushwaha
ee389384bc Update regenerator test relying on wrong semantics
Broken by fix to switch statements in block scoping
2017-05-25 13:51:13 +05:30
Peeyush Kushwaha
72d83acc07 Properly convert continue statements in switch
Ignore just non-label break statements in a switch, and allow continue
statments and lablled break statements.

Fixes #5725
2017-05-25 13:49:29 +05:30
Buu Nguyen
cfe0a84e2b Update doc per review feedback (#5766) [skip ci] 2017-05-23 16:47:09 -05:00
Buu Nguyen
4ce24c041a Minor improvements to grammar, verbiage and others (#5764) [skip ci] 2017-05-23 16:34:50 -04:00
Brian Ng
3563823870 Print decorators before ExportDeclaration 2017-05-23 10:37:38 -05:00
Brian Ng
9d95b3faae 518-spread-assignable 2017-05-23 09:09:01 -05:00
Brian Ng
f8f2ead450 358-decorator-exported-class 2017-05-23 08:57:03 -05:00
Brian Ng
32c4cdf016 339-spread-obj-pattern-assignable 2017-05-23 08:43:15 -05:00
Brian Ng
afe85c11a7 474-transform 2017-05-23 08:08:07 -05:00
Brian Ng
01d5d5ebc7 499-transform 2017-05-23 07:58:22 -05:00
Bo Lingen
8772e7fb89 Fix ObjectProperty patterns (#5762)
* Fix Object Property values to allow Patterns

* Add RestElement to allowed types

* add tests for nested pattern structures
2017-05-22 20:24:19 -04:00
Brian Ng
889a505ffd 377-async-func-decl 2017-05-22 17:35:01 -05:00
Brian Ng
6c6ee74eb0 351-class-prop 2017-05-22 17:26:15 -05:00
Brian Ng
48ce5bcf1c 499-super-class-prop 2017-05-22 16:59:16 -05:00
Brian Ng
ec596604bc 474-export-default-exotic 2017-05-22 16:54:23 -05:00
Henry Zhu
d365dad341 add some tests 2017-05-22 17:48:20 -04:00
Samuel Reed
853b9f8ece Fix multiple var declarations in transform-react-constant-elements (#5732) (#5756)
This was broken by a legacy attachment path conditional that
is no longer needed.
2017-05-22 17:46:53 -04:00
Henry Zhu
6620612b66 update to beta.10 2017-05-22 17:13:54 -04:00
Brian Ng
c6eab0c206 Merge pull request #5758 from STRML/test-react-constant-elements-unreferenced-param
Add regression test for transform-react-constant-elements (#5552)
2017-05-21 13:38:52 -05:00
Samuel Reed
83232bb4ff Add regression test for transform-react-constant-elements (#5552) 2017-05-21 11:47:35 -05:00
Justin Ridgewell
5b261849e0 Merge pull request #5755 from u9lyfish/patch-1
Fix broken tables in README.md
2017-05-20 16:57:53 -04:00
u9lyfish@gmail.com
58c686378d Fix broken tables in README.md 2017-05-20 23:44:51 +08:00
James Lal
6928695735 Flow comments import export (#5675)
* Add failing test for `export type .. from ...; `

* Add support for flow comment : `export ... from '...'`
2017-05-20 09:10:39 -04:00
Brian Ng
9a92933589 Fix incorrect property ordering with obj rest spread on nested (#5750) 2017-05-20 09:08:23 -04:00
Justin Ridgewell
943fa8aa73 Merge pull request #5753 from jridgewell/7.0
Hoist toSequenceExpression's convert helper (#5693)
2017-05-19 21:54:06 -04:00
Justin Ridgewell
58216f5022 Hoist toSequenceExpression's convert helper (#5693) 2017-05-19 17:35:05 -04:00
Justin Ridgewell
5f866f2d92 Hoist toSequenceExpression's convert helper (#5693)
* Hoist toSequenceExpression's convert helper

* Adds tests

* lint

* dev-depend on babel-generator
2017-05-19 17:03:33 -04:00
Justin Ridgewell
8cd4a62c02 Transform do-expressions on exit (#5694)
* Transform do-expressions on exit

This allows other transforms (notably, block scoping) to do their magic
first, possibly saving closures.

Also fixes a bug with declaring duplicate bindings (de-opts now).

* Use strict in exec test

* lint
2017-05-19 16:58:15 -04:00
Buu Nguyen
c474fd48e1 Fix issue semi-colon gets inserted unnecessarily (#5749)
* Fix issue semi-colon gets inserted unnecessarily

* Simplify if condition a bit
2017-05-19 16:54:51 -04:00
Brian Ng
2788a914f6 Add process to test sandbox (#5410) 2017-05-19 15:13:23 -04:00
Justin Ridgewell
09229db794 Cleanup template-literals transform (#5748)
Avoid `Array#shift`s and prefer `const`s when possible.
2017-05-19 14:57:15 -04:00
Brian Ng
a52d34023c Add spec option example for transform-es2015-arrow-functions [skip ci] (#5698) 2017-05-19 14:56:56 -04:00
Mauro Bringolf
8facda4505 Added more types to API signatures (#5733) [skip ci] 2017-05-19 14:53:43 -04:00
Mauro Bringolf
943b7371a1 Completed return types for all NodePath family methods (#5739) [skip ci] 2017-05-19 14:52:13 -04:00
Karl Cheng
0667160b11 Fix optimisation of shadowed rest parameters
The arguments of a function would be unnecessarily copied if there was
a nested function that had a parameter with the same identifier as the
rest parameter for the outer function. This checks the scope of the
parameter is correct before deoptimising.

Fixes: https://github.com/babel/babel/issues/5656
Refs: https://github.com/babel/babel/issues/2091
2017-05-16 22:39:13 +10:00
Mauro Bringolf
ce6f67216e Add test cases for bad options in babel-preset-es2015 (#5720)
* Added testcases for bad 'spec' or 'module' option

* Corrected typo in test description
2017-05-14 16:21:37 +02:00
Sven SAULEAU
486563152c Merge pull request #5729 from Daniel15/patch-1
Lowercase "business model" in badge
2017-05-12 11:31:16 +02:00
Daniel Lo Nigro
11539e219b Lowercase "business model" in badge
For consistency with the other badges

Also removed a stray quotation mark.
2017-05-11 21:48:26 -07:00
Logan Smyth
086cdfc705 Add more compat logic for Rest/SpreadElement for 6.x vs 7.x 2017-05-11 18:24:34 -07:00
Diogo Franco
899a754bef Correct the validator for ArrayPattern (#5722)
The elements of the `elements` array should be either `Identifier`, `Pattern` or `RestElement`, but the validator was requiring `Expression`. It happened to work for `Identifier` since an `Identifier` is an `Expression`, but not for the other possible pattern elements.
2017-05-10 10:50:01 +09:00
Robert Brignull
5633e3c4f6 Fix typo a => b 2017-05-07 15:58:24 -07:00
Logan Smyth
6646707e01 Fix 'Unhandled promise rejection (rejection id: 1): ReferenceError: setTimeout is not defined' warning. 2017-05-05 14:13:11 -07:00
Logan Smyth
14584c218c Kill the "shadow-functions.js" internal plugin in favor of an explicit helper (#5677)
* Handle arrow function processing via shared API rather than default plugin.

* Fix a few small PR comments.

* Preserve existing spec arrow 'this' rewrites, and support spec in subclass constructors.
2017-05-05 13:27:18 -07:00
Steven Hargrove
d5aa6d3ff8 Fix for #4943 "Calling an async function with default parameter as function for arguments checking handled synchonous" (#5688)
* moved applying arguments inside new Promise handler block

* updated test fixture to reflect change

* corrected the apply to use correct scope and arguments

* added regression test for issue #4943, added async-to-generator/async-default-arguments test

* added regression test for issue #4943

* switched back to using arrow function, since now pointing to v7 release base branch

* simplified async-to-generator regression test for issue #4943, imrproved change to self/arguments refs by using arrow function on returned promise

* updated text fixtures

* removed es2015 preset usage from issue #4943 regression exec test

* added use strict to test fixture

* added use strict to test fixture

* added destructing transform to test options

* removed use strict from exec test

* added parameters & destructing transforms to test
2017-05-03 21:44:41 -07:00
Diogo Franco
86a53773f1 Add function name to spec-transformed arrow functions (#5620)
While it may appear that this should be done by es2015-function-name,
another way to think about it is that es2015-function-name implements
the naming that javascript engines are supposed to do; and javascript
engines cannot name function expressions that are the object of a
member expression.
2017-05-03 11:50:37 +09:00
Brian Ng
79c1eed8c1 Fix incorrect property ordering with obj rest spread on nested (#5685) 2017-05-02 14:04:37 -04:00
Samuel Reed
c307bbb3a9 Fix PathHoister hoisting before a same-scope variable declaration.
Seems we didn't have tests running for this very simple case.

Also fixes #5520
2017-05-01 14:32:11 -07:00
Samuel Reed
3570ba7c28 Fix PathHoister error attaching after export declarations.
Fixes #5369.

See also 4ee385e96c/packages/babel-plugin-transform-class-properties/src/index.js (L167)
2017-05-01 14:22:38 -07:00
Brian Vaughn
526a7d20ef Updated transform-react-display-name for createReactClass addon (#5554)
* Updated transform-react-display-name for ReactCreateClass addon

* Tweaked description for transform-react-display-name plugin

* Changed ReactCreateClass to createReactClass
2017-05-01 17:16:17 -04:00
Samuel Reed
c3e8cc8ad6 Fix PathHoister error attaching after export declarations.
Fixes #5369.

See also 4ee385e96c/packages/babel-plugin-transform-class-properties/src/index.js (L167)
2017-05-01 12:41:29 -07:00
Bradley Farias
7ca81700f7 add .mjs to list of well known extensions
this is to conform to the plan of the Node.js EP
2017-05-01 09:43:49 -07:00
Henry Zhu
685006433b Remove babel-helper-builder-conditional-assignment-operator-visitor, unused in babel [skip ci] (#5676) 2017-04-27 18:04:00 -04:00
Patrick Williams
48de6b32de use find-cache-dir for babel-register cache (#5669) 2017-04-27 16:14:59 -04:00
Sasha Aickin
925b6448e0 Fix operator processing in object super. 2017-04-26 20:14:40 -07:00
Sebastian McKenzie
60adcd68a0 Port flow object spread from #418 to 6.x (#5653)
* Add support for object type spread

* Type spread: remove variance and add stripping test

* Fix tests
2017-04-26 17:16:38 -04:00
Brian Ng
8895828bc3 Merge pull request #5659 from aretecode/patch-1
[Doc PR] naming fix in example
2017-04-25 08:04:25 -05:00
James
b4f3d943b2 -> parsedAst 2017-04-24 03:24:06 -07:00
James
505d639da7 string -> sourceCode, ast -> generatedCode
9a576ca932
2017-04-24 01:16:02 -07:00
James
9a576ca932 back to babylon 2017-04-23 21:28:42 -07:00
Daniel Tschinder
fce92fa1ad Switch to pirates for babel-register. (#3670)
* Switch to pirates for babel-register.

Pirates is a simple module that enables easy require hooking. It makes sure that your require hook works properly. It also makes the implimentation of babel-register a lot simpler.

For more on pirates: http://ariporad.link/piratesjs

* Use modified version of pirates.

* Switch back to stable version

* Initial tests for babel-register

* Fix tests to work in new test env

* Fix for new ignore behaviour

* Update pirates to 3.0.1
2017-04-24 00:25:44 +02:00
James
a18ee8a9a5 [skip ci] babylon -> babel, ast -> parsedAst
align the naming, allow the example to be usable without change
2017-04-22 22:15:59 -07:00
James
446ee06680 [readme] change code -> string
because code is declared as const twice
2017-04-22 22:08:55 -07:00
Conrad Buck
8434f89bc0 Add support for object type spread (#5525)
* Add support for object type spread

* Type spread: remove variance and add stripping test
2017-04-20 11:59:45 -04:00
Christopher Karper
14ed03127c Fix object destructuring in param arrays (#5650) 2017-04-20 10:45:45 -04:00
Logan Smyth
0eae6a432c Remove merge helper and add more type declarations. (#5649) 2017-04-18 19:08:39 -07:00
Logan Smyth
6af8e64711 Typecheck much more of the config loading process (#5642)
* Add type declarations for micromatch.

* Enable Flowtype on all config loading.

* Remove unneeded comments.
2017-04-18 09:28:18 -07:00
Henry Zhu
c46ef658b5 update to alpha.9 (#5639) 2017-04-18 11:22:31 -04:00
Henry Zhu
62375cdf12 v7.0.0-alpha.9 2017-04-18 10:41:30 -04:00
Logan Smyth
d1d812edff Fix a regression from adding negation support in #5625. (#5641) 2017-04-17 18:13:37 -07:00
Henry Zhu
25ae8c8554 v7.0.0-alpha.8 2017-04-17 15:12:31 -04:00
Logan Smyth
2b86d353d6 Restrict Babel's plugins/presets to a single target. (#5547) 2017-04-17 11:45:49 -07:00
Logan Smyth
c59e9f5f0e Merge pull request #5608 from loganfsmyth/config-cache
Cache configs based on mtime and allow .babelrc.js functions
2017-04-17 11:43:31 -07:00
Logan Smyth
1c078e5a76 Add tests for caching API and .babelrc.js functions. 2017-04-17 11:20:34 -07:00
Henry Zhu
6a478c48fb Deprecate: move babel-preset-latest to babel/babel-archive (#5638) [skip ci] 2017-04-17 11:09:04 -04:00
Xavier Damman
28831c144d added opencollective backers and sponsors (#5572) [skip ci] 2017-04-15 12:51:31 -04:00
Logan Smyth
ad250ef10a Merge pull request #5602 from loganfsmyth/option-manager-cleanup
Refactor OptionManager to be a short class with a bunch of pure helper functions.
2017-04-14 14:25:45 -07:00
Logan Smyth
ccbb2eb8d4 Disallow cache configuration after handler evaluation. 2017-04-14 14:19:20 -07:00
Logan Smyth
2774cb7d42 Allow function-based .babelrc.js files. 2017-04-13 20:17:32 -07:00
Logan Smyth
911027f289 Cache config files based on mtime rather than file content. 2017-04-13 20:17:31 -07:00
Logan Smyth
2163acd6c2 Refactor static file processing with a helper wrapper. 2017-04-13 13:23:36 -07:00
Logan Smyth
a2f334b9e9 Fix issue with #5625 2017-04-12 11:41:54 -07:00
Artem Yavorsky
3146b245ed Test arrow function inside generator. (#5605) 2017-04-12 11:13:58 -07:00
Logan Smyth
d1c954b36f Allow negation of ignore and only patterns. (#5625) 2017-04-12 11:10:33 -07:00
Logan Smyth
248c240998 Use clearer function name. 2017-04-10 10:01:01 -07:00
Logan Smyth
d7e10a3adc Misc refactoring of OptionManager. 2017-04-10 10:01:01 -07:00
Logan Smyth
d16991054e Pass the config through mergeOptions. 2017-04-10 10:01:01 -07:00
Logan Smyth
e13320ef73 Separate plugin/preset loading and plugin/preset evaluation. 2017-04-10 10:01:01 -07:00
Logan Smyth
adb903fd4b Standardlize plugin/preset result object. 2017-04-10 10:01:01 -07:00
Logan Smyth
75847306fd Expose passes as a first-class output of OptionManager. 2017-04-10 10:01:01 -07:00
Logan Smyth
1fecf286c6 Avoid the onResolve callback. 2017-04-10 10:01:01 -07:00
Logan Smyth
ac5c13c1c8 Move OptionManager statics to be module functions to the lack of sideeffects clearer. 2017-04-10 10:01:01 -07:00
Logan Smyth
258e82ca13 Expose a function rather than a class from option-manager. 2017-04-10 10:01:01 -07:00
Logan Smyth
86fc4fbc4f Avoid using OptionManager statics 2017-04-10 10:01:01 -07:00
Logan Smyth
ded4ca48cd Move .inherits handling to OptionManager. 2017-04-10 10:01:01 -07:00
Logan Smyth
2ea3338b8e Set a basic coverage rate to avoid tiny percentage changes from 'auto'. (#5619) 2017-04-10 09:58:44 -07:00
ssuman
412180e203 Increase the code coverage for traverse evaluation (#5363)
* When applied this commit will increase the code coverage for evaluation.js

* Fixing linting issues
2017-04-09 16:49:37 -07:00
Brian Ng
cd9bb7ba10 Ensure default exported classes keep entry in export table (#5488) 2017-04-09 16:39:15 -07:00
Erik Simmler
769eddc788 Avoid creating a new line comment when a block comment is preceded by a forward slash (#5562)
Fixes #5557
2017-04-09 16:36:18 -07:00
Jan Kassens
a1a795321a Update deprecation warning on flow bindings (#5615)
Babel 6 is at 6.24, doesn't seem like this is getting removed in version 6 anymore.
2017-04-09 16:11:06 -07:00
Daniel Kao
216cbf5bd6 Move syntax-dynamic-import to stage-3 (#5610) 2017-04-08 10:14:23 -04:00
Brian Ng
11b7db05fb Merge pull request #5613 from babel/backport-doc-changes
Backport doc changes
2017-04-08 09:08:47 -05:00
Sven SAULEAU
ca435b6d48 Improve options documentation for babel-plugin-transform-runtime #5401 2017-04-08 10:18:44 +02:00
Sven SAULEAU
982aba38e4 [doc] Fix: comments in usage w/ options #5400 2017-04-08 10:18:01 +02:00
Sven SAULEAU
c1b3740707 document cache option for babel-register #5440 2017-04-08 10:16:55 +02:00
Sven SAULEAU
e9bc213b14 Update coffescript/register reference link address #5475 2017-04-08 10:15:43 +02:00
Sven SAULEAU
e2c2d7d742 Update babel-generator's README #5517 2017-04-08 10:14:56 +02:00
Sven SAULEAU
2cb4d08d19 Improve example of babel-plugin-transform-es2015-arrow-functions #5573 2017-04-08 10:14:19 +02:00
Sven SAULEAU
149acc40bd Remove incorrect docs. #5580 2017-04-08 10:13:47 +02:00
Sven SAULEAU
d40cb31685 Update transform-es2015-modules-commonjs doc #5588 2017-04-08 10:13:20 +02:00
Henry Zhu
f8da5e3457 v6.24.1 2017-04-07 11:19:02 -04:00
Sven SAULEAU
0b917c00d6 Merge pull request #5573 from exacs/docs-babel-plugin-transform-es2015
Improve example of babel-plugin-transform-es2015-arrow-functions
2017-04-07 08:17:43 +02:00
Henry Zhu
2a874dff8c fix the fixtures after PR was merged 2017-04-06 14:14:15 -04:00
Andres Suarez
f0dc710a46 Remove unnecessary returns in asyncToGenerator helper (#5548)
* Remove unnecessary returns in asyncToGenerator helper

* Reuse "then" callbacks in asyncToGenerator helpher
2017-04-06 11:40:55 -04:00
MrSpider
fd3a2c285a Fix replacing function declaration in export default (fixes #4468) (#5456) 2017-04-06 11:40:31 -04:00
Henry Zhu
3534bc872d Merge pull request #5567 from aickin/update-regenerator-transform
Update regenerator-transform to new version
2017-04-06 11:18:03 -04:00
Diogo Franco
452f8f150c Always use the native (or polyfilled) Promise in transform-async-to-generator (#5536)
* Always use the native (or polyfilled) Promise in transform-async-to-generator

Fixes #5531

* Simplify scope handling to only un-shadow the Program's Promise

Only the helper needs to see the native Promise.
2017-04-06 11:17:31 -04:00
Daniel Tschinder
66f8546107 Add test for regression 4219 2017-04-06 15:51:17 +02:00
Henry Zhu
c732f5e1d0 v7.0.0-alpha.7 2017-04-05 17:13:26 -04:00
Henry Zhu
9acbcccff8 update issue template [skip ci] (#5591) 2017-04-05 15:26:26 -04:00
Brian Ng
ae0681aa3f Merge pull request #5588 from babel/xtuc-patch-2
Update transform-es2015-modules-commonjs doc
2017-04-05 09:48:14 -05:00
Sven SAULEAU
beae0ff9ba docs: [skip ci] type in plugin's name 2017-04-05 16:43:56 +02:00
Henry Zhu
8f848b4b32 add individual polyfill files (#5584)
* add individual polyfill files

* rename files

* use preset-env for the script [skip ci]
2017-04-05 10:11:58 -04:00
Logan Smyth
d39400c9d5 Separate config/plugin loading from config processing. (#5563) 2017-04-04 14:48:48 -07:00
Logan Smyth
9155c613cb Change babel-register default ignore to cwd content. (#5583) 2017-04-04 14:47:49 -07:00
Daniel Tschinder
b2ced1d6bd Update babylon to latest beta (#5585) 2017-04-04 22:32:31 +02:00
Brian Ng
7ad697cd86 Merge pull request #5580 from loganfsmyth/fix-docs
Remove incorrect docs.
2017-04-04 08:56:47 -05:00
Alex Rattray
348cc5eeff Use raw value of JSXText and JSXAttribute (#5256) 2017-04-04 15:46:20 +02:00
Felix Yan
9b4c33d44e Fix a typo: occurences -> occurrences (#5575) 2017-04-03 22:38:12 -07:00
Logan Smyth
5576a8942b Remove incorrect docs. 2017-04-03 21:13:00 -07:00
Carlos Saito
abcbb07357 Do not transform const to var
[skip ci]
2017-04-02 18:54:10 +02:00
Carlos Saito
4276462a07 Function without renaming
[skip ci]
2017-04-02 18:54:10 +02:00
Carlos Saito
95c65ec1cb Improve example of babel-plugin-transform-es2015-arrow-functions
[skip ci]
2017-04-02 14:27:15 +02:00
Logan Smyth
878a7c5fdb Add tests to test the plugin ordering. (#5571) 2017-03-31 18:52:58 -07:00
Sasha Aickin
60df9f3cad Updating regenerator-transform and adding a test for the issue in facebook/regenerator#267 2017-03-30 22:10:02 -07:00
Logan Smyth
d3497348b8 Ensure that incremental builds work with 'gulp build'. (#5561) 2017-03-28 15:18:12 -07:00
Henry Zhu
4bf8e4d08d temp fix for watch, still recompiles all [skip ci] 2017-03-28 14:31:55 -04:00
Logan Smyth
0c2ac9d907 Use a standard .babelignore and babel-register. (#5555) 2017-03-27 21:16:09 -04:00
Henry Zhu
899daafcf4 Merge pull request #5551 from babel/fix
use latest babel-core
2017-03-27 18:00:11 -04:00
Logan Smyth
fa23b662c2 Add empty .babelrc for CLI tests. 2017-03-27 14:46:39 -07:00
Henry Zhu
3d74dc044f fix ci 2017-03-27 17:26:39 -04:00
Henry Zhu
67253c5d27 babelrc false to relevant files 2017-03-27 17:19:02 -04:00
Henry Zhu
7935dd6642 pass config 2017-03-27 16:44:42 -04:00
Henry Zhu
f3ef03abfd use caret for devDeps 2017-03-27 16:32:13 -04:00
Henry Zhu
75328ccc60 use latest babel-core 2017-03-27 16:24:13 -04:00
Henry Zhu
dea509377c v7.0.0-alpha.6 2017-03-27 15:09:36 -04:00
Henry Zhu
7262ad631f Merge pull request #5543 from babel/food
🐶 🍲
2017-03-27 15:00:23 -04:00
Kai Cataldo
1f2f63ccdf Fix: config lookup logic in babel-core (#5550)
This fixes a bug that was causing the config lookup to stop
when a package.json file was found even if it did not contain a
"babel" key.
2017-03-27 11:54:57 -07:00
Henry Zhu
1ada981077 run coverage on circle ci 2017-03-27 14:24:32 -04:00
Henry Zhu
18bbaa0253 use node current in dev 2017-03-27 14:24:32 -04:00
Henry Zhu
4278ede41f 🐶 🍲 2017-03-27 14:24:16 -04:00
Henry Zhu
7a1ccf076c Misc (#5545)
* normalize npmignores

* fixup eslint ignore, etc

* lint

* remove unused

* rm from gitignore

* use strict
2017-03-25 21:46:16 -04:00
Henry Zhu
cff1c8db39 v7.0.0-alpha.5 2017-03-24 10:38:10 -04:00
Henry Zhu
b8cf7b89f2 keep one core-js helper file in git, remove babel-runtime from deps (#5540) 2017-03-24 10:36:41 -04:00
azrael25
0eb898d95b fix babel-runtime helpers gererator (#5539) 2017-03-24 08:56:41 -04:00
Henry Zhu
d0b6db1901 v7.0.0-alpha.4 2017-03-23 18:06:48 -04:00
Henry Zhu
d7a77f4161 register should be a devDep 2017-03-23 18:04:46 -04:00
Henry Zhu
287869dcc2 nvm [skip ci] 2017-03-23 17:50:45 -04:00
Logan Smyth
a498371005 Ensure the ignore regex is consistent and initialized fully. (#5534) 2017-03-23 17:44:03 -04:00
Henry Zhu
ab68800e06 v7.0.0-alpha.3 2017-03-23 15:49:01 -04:00
Henry Zhu
f438a4e6b6 force publish all pkgs for now, clean runtime helpers/core-js correctly [skip ci] 2017-03-23 15:45:49 -04:00
Brian Ng
c687b703ae Ensure babel-cli tests compare generated output with out-files (#5205) 2017-03-23 12:06:56 -04:00
Boopathi Rajaa
c9a851a218 Cleanup traverse cache APIs (#5494) 2017-03-23 12:00:28 -04:00
Damien Maillard
299e51298c Fix path.remove() leading & trailing comments sharing (#5504) 2017-03-23 11:55:14 -04:00
Patrick Williams
0cd541b7d8 document cache option for babel-register (#5440) [skip ci] 2017-03-23 11:44:44 -04:00
Artem Yavorsky
796d497ea1 [skip ci] devEngines: Bump node to 4.x. (#5530) 2017-03-23 11:28:36 -04:00
Jason Julian
640515b3f6 removed unused alias in babel-runtime (#5516) 2017-03-22 20:03:35 -04:00
Henry Zhu
e155859b12 Merge pull request #5528 from babel/fix-babel-runtime-helpers
Fix babel runtime helpers
2017-03-22 20:02:29 -04:00
Brian Ng
c0779fdb71 Merge pull request #5341 from yavorsky/regenerator-transform-0-9-10
Bump regenerator-transform version to 0.9.11.
2017-03-22 18:07:47 -05:00
Artem Yavorsky
60b5409183 Bump regenerator-transform version to 0.9.11 2017-03-22 18:02:09 -05:00
Artem Yavorsky
f2f226b4f2 Add syntax-object-rest-spread as devDep for tests. 2017-03-23 00:52:10 +02:00
Artem Yavorsky
ddfb6f2c44 Remove object-rest-spread syntax. 2017-03-23 00:33:03 +02:00
Henry Zhu
26b9f9ed15 commit one helper to git to check regressions 2017-03-22 18:18:08 -04:00
Henry Zhu
483958b24d fix runtime helpers
Ref f3f907bdb3 (diff-339968af11c78f10673c78c6c7568d2fR34)
2017-03-22 18:07:11 -04:00
Guy Bedford
b75d80386c document dynamic import support (#5457) [skip ci] 2017-03-22 16:55:42 -04:00
Samuel Reed
f20da57317 Fix PathHoister attaching to default parameters. (#5415)
* Fix PathHoister attaching to default parameters.

Ref: #5315

* Update hoister.js
2017-03-22 16:37:53 -04:00
Patrick Williams
b2c977a1b0 Seperate version env cache files (#5411) 2017-03-22 16:29:29 -04:00
jddxf
7e25dccc6e Update babel-generator's README (#5517) [skip ci] 2017-03-22 16:25:42 -04:00
Robert Jackson
c4ebc8553b Properly preserve import ordering with AMD format. (#5474)
Previously, all "bare imports" (e.g. `import './foo';`) were moved to the
end of the array of sources. I presume this was done to remove needless
variables in the callback signature.

Unfortunately, doing this actually changes the intent of the program.
Modules should be evaluated in the order that they were in the source.

In the case of a bare import, it is quite possible that the bare import
has side effects that a later required module should see. With the current
implementation the later imported modules are evaluated before that "side
effecty" module has been evaluated.

Obviously, it is better to avoid these sorts of side effect ridden modules
but even still you could imagine a similar issue with cycles.

This change ensures that module source order is preserved in the AMD
dependencies list, and avoids making needless variables as much as possible.
2017-03-22 16:24:17 -04:00
Henry Zhu
b638c8b3eb Transform the template literals revision proposal (#5523)
* Account for template literals revision

* extra tests

* update to babylon beta 7

* pr feedback (keep arr length the same)
2017-03-22 16:07:36 -04:00
Henry Zhu
492ee95f27 Merge pull request #5522 from babel/update-babylon 2017-03-22 10:49:29 -04:00
Sven SAULEAU
2b774f46fb fix: handle bailed when recursive convert (#5499) 2017-03-22 09:18:37 +01:00
Arshabh Kumar Agarwal
a55f38b127 Changes the throw error for test in super-illegal-non-constructor-call (#5450) 2017-03-22 00:24:28 -04:00
Henry Zhu
ceb68f5bb7 babylon@7.0.0-beta.6 2017-03-22 00:24:00 -04:00
Henry Zhu
7d37017a5f Merge pull request #5489 from loganfsmyth/conf-refactor
Misc fixes + Move babel-core config processing from transformation/file/options into top-level folder
2017-03-21 14:12:41 -04:00
Henry Zhu
7551a8e666 Update yarn.lock 2017-03-21 13:04:54 -04:00
Henry Zhu
4901f33423 remove unnecessary call 2017-03-21 13:03:54 -04:00
Henry Zhu
95c905c5d2 fix markdown rendering [skip ci] 2017-03-20 09:32:32 -04:00
Aaron Ang
94024961ba Update error message when importing babel-cli (#5507) 2017-03-19 15:59:01 -07:00
Daniel Tschinder
ae8728c146 Merge branch 'master' into 7.0 2017-03-19 14:21:00 +01:00
Henry Zhu
b3c7337fac Fix changelog [skip ci] 2017-03-19 14:14:00 +01:00
Artem Yavorsky
70354013f1 Fix visitor inheritance. 2017-03-19 14:46:59 +02:00
Artem Yavorsky
c42e027602 Add object rest spread syntax using plugin. 2017-03-19 14:02:01 +02:00
Diogo Franco
256fcbc58f Treat "await" as an invalid identifier (#4954)
It is valid (outside `async` functions) in the "script" parse goal, but always invalid in the "module" parse goal.

Fixes #4952.
2017-03-19 11:28:52 +09:00
Artem Yavorsky
18d6ba9947 Fix export array rest expected output. 2017-03-19 01:18:22 +02:00
Artem Yavorsky
c82b084927 Fix object rest params for exports. 2017-03-19 00:32:27 +02:00
Artem Yavorsky
45b41740d8 Consider default params for object pattern. 2017-03-18 16:26:22 +02:00
Artem Yavorsky
b608e28aa7 Consider rest params for array pattern in exports. 2017-03-18 16:02:06 +02:00
Artem Yavorsky
06f67e1ad3 Consider default parameters for array pattern. 2017-03-18 15:42:39 +02:00
Artem Yavorsky
b5bb89b30a Add array pattern to exports destructuring. 2017-03-18 15:12:46 +02:00
Brian Ng
baafe486b3 Add useBuiltins and useESModules options to transform-runtime README [skip ci] (#5481) 2017-03-17 14:55:55 -04:00
Henry Zhu
534f621183 remove unused use of removed util class 2017-03-17 10:41:19 -04:00
Logan Smyth
a15de19888 Encapsulate config loading in config/ index file. 2017-03-17 00:04:00 -07:00
Logan Smyth
3c63431c7e Move config loading helpers into config folder. 2017-03-17 00:03:59 -07:00
Logan Smyth
f3f907bdb3 Remove unneeded helper file. 2017-03-17 00:03:59 -07:00
Logan Smyth
7b5d4fe069 Resolve parser and generator plugins in configuration resolution. 2017-03-17 00:03:59 -07:00
Logan Smyth
b71569ff6c Remove unneeded util.js file. 2017-03-17 00:03:59 -07:00
Logan Smyth
3e2d731d50 Move the Store class to be inside transformation. 2017-03-17 00:03:59 -07:00
Logan Smyth
12a2124d16 Move the deeply nested option logic to a toplevel folder. 2017-03-17 00:03:58 -07:00
Logan Smyth
6c4810cea5 Move Plugin class to be part of config loading, independent of File. 2017-03-17 00:03:58 -07:00
Logan Smyth
05ee30c9f7 Use the standard option parser to load the internal plugins. 2017-03-17 00:03:58 -07:00
Logan Smyth
38720ae309 Remove store subclassing from Plugin class. 2017-03-17 00:03:58 -07:00
Logan Smyth
bf13ed4da0 Limit where certain arguments are allowed in Babel config. 2017-03-17 00:03:58 -07:00
Logan Smyth
344f0a68c9 Centralize preset processing from two loops to one. 2017-03-17 00:03:57 -07:00
Logan Smyth
62def8da19 Make presets consistently resolve string values relative to their config file location. 2017-03-17 00:03:50 -07:00
Logan Smyth
39c862c195 Make only/ignore relative to cwd/config file and move only/ignore checking all to core. (#5487)
* Make only/ignore relative to cwd/config file and move only/ignore checking all to core.
2017-03-16 23:22:43 -07:00
Logan Smyth
b6194a8533 Merge pull request #5467 from loganfsmyth/clean-options
Misc reorganizing and prep for ignore/only refactoring
2017-03-16 20:25:20 -07:00
Ryan Paul
8859715893 Removes unused lodash dependency from babel-helper-builder-react-jsx (#5486) 2017-03-16 16:17:37 -04:00
Brian Ng
612cce399a Fix options header on preset-latest readme [skip ci] 2017-03-16 14:10:26 -05:00
Ryan Paul
4e96a2da5e Removes unused lodash dep from babel-helper-builder-react-jsx (#5484) 2017-03-16 15:08:11 -04:00
Aaron Ang
edf2c76d63 Improve options documentation for babel-plugin-transform-runtime (#5401) 2017-03-16 10:37:50 -05:00
Sergey Bekrin
bf1b6ace53 update coffescript reference in readme [skip ci] (#5475) 2017-03-16 10:35:40 -05:00
Sven SAULEAU
ad1edc6155 Merge pull request #5477 from xtuc/fix-generator-doc
Update babel-generator documentation
2017-03-16 08:56:08 +01:00
Sven SAULEAU
e30197b96b docs: [skip ci] update documentation 2017-03-16 08:53:38 +01:00
Artem Yavorsky
0c2e3b1045 Remove exports definition. 2017-03-15 16:02:21 +02:00
Artem Yavorsky
9b410be61c Add test for exports destructuring. 2017-03-15 15:37:17 +02:00
Artem Yavorsky
f81d7496b1 Fix exports while destructuring. 2017-03-15 15:35:45 +02:00
Diogo Franco
2c0907acdc Merge pull request #5442 from babel/babel-runtime-with-builtins
Add useBuiltIns and useESModules options to transform-runtime
2017-03-15 11:47:35 +09:00
Logan Smyth
dd1bc3b183 Resolve programmatic/CLI arguments from cwd, not file being compiled. (#5466) 2017-03-14 16:56:00 -07:00
Logan Smyth
bf4664b430 Invert the resolution order of config-chain to process higher-priority items first. 2017-03-14 13:39:57 -07:00
Logan Smyth
dcb0f91f38 Ignore files if they don't match only OR they do match ignore. 2017-03-14 13:39:57 -07:00
Logan Smyth
738bd54bfb Move OptionManager calls out of 'new File'. 2017-03-14 13:39:57 -07:00
Logan Smyth
83356abd92 Centralize transform API functions. 2017-03-14 13:39:56 -07:00
Logan Smyth
c1be6a36c4 Delete Logger class. 2017-03-14 13:39:56 -07:00
Logan Smyth
188fe105c2 Move option-defaulting to option-manager. 2017-03-14 13:30:24 -07:00
Logan Smyth
540f9b2ad6 Remove the nonstandard basename option. 2017-03-14 13:30:24 -07:00
Logan Smyth
2642c2c2df Merge pull request #5463 from loganfsmyth/strict-args
More strictly parse configs and explicitly handle arguments in babel-cli
2017-03-14 10:21:32 -07:00
Nitin Tulswani
8c1cd177b2 added examples for transforms. [skip ci] (#5393) 2017-03-14 09:43:51 -05:00
Sven SAULEAU
0bc802cf1b Merge pull request #5448 from xtuc/feat-expose-env-core
Export Babel's environment
2017-03-14 12:50:21 +01:00
Logan Smyth
5b50b73d8b Remove config.js file in favor of config code. 2017-03-13 11:06:46 -07:00
Logan Smyth
4f72232ca9 Move option parsing to babel-cli. 2017-03-13 11:06:46 -07:00
Logan Smyth
2c564a6973 Move babel config descriptions to babel-cli. 2017-03-13 00:06:01 -07:00
Logan Smyth
0c0f090a98 Get rid of circular dependencies in babel cli script. 2017-03-13 00:00:56 -07:00
Henry Zhu
523a41b25e v6.24.0 changelog [skip ci] 2017-03-12 22:23:51 -04:00
Henry Zhu
71e4336f65 v6.24.0 2017-03-12 22:18:08 -04:00
Henry Zhu
a8cf9079a8 changelog for 6.24.0 [skip ci] (#5452) 2017-03-12 22:03:19 -04:00
Henry Zhu
b78fc9b4d0 Keep parentheses for logical expression when in await expression (fix #5428) (#5433) (#5453) 2017-03-12 21:40:38 -04:00
Aaron Ang
2bb6dff00a Use absolute paths in Babel's CONTRIBUTING.md (#5431) 2017-03-12 20:31:58 -05:00
Sven SAULEAU
c00ffb83be Merge pull request #5029 from xtuc/fix-require-debug
Require debug module directly
2017-03-12 21:23:56 +01:00
Seth Bergman
3d52d30e49 Fixed broken links in README.md [skip ci] (#5449)
* Fixed broken links in README.md

- [plugins](https://github.com/babel/babel/blob/master/docs/plugins) => [plugins](https://babeljs.io/docs/plugins/)
- [presets](https://github.com/babel/babel/blob/master/docs/plugins/#presets) => [presets](https://babeljs.io/docs/plugins/preset-latest/)

* Corrected the presets link [skip-ci]

Changed to:
```
[presets](https://babeljs.io/docs/plugins/#presets)
```
2017-03-12 00:24:57 -08:00
Sven SAULEAU
d328af0aec feat: export env getter 2017-03-11 20:40:23 +01:00
Sven SAULEAU
8744303f06 Merge branch '7.0' into fix-require-debug 2017-03-11 12:17:04 +01:00
Diogo Franco (Kovensky)
752788f22f Add fixtures for the transform-runtime output 2017-03-11 13:36:38 +09:00
Logan Smyth
01b250a8fa Merge pull request #5430 from loganfsmyth/opts-simplify
Simplify option and plugin pass processing
2017-03-10 13:03:19 -08:00
MrSpider
5287e13817 Fix replacing function declaration in export default (fixes #4468) (#5444) 2017-03-10 11:41:03 -08:00
Aaron Ang
911b71f2c6 Use absolute paths in Babel's CONTRIBUTING.md (#5431) 2017-03-10 08:49:28 -06:00
Diogo Franco (Kovensky)
25212445ed Add new generated files to .gitignore 2017-03-10 18:53:20 +09:00
Diogo Franco (Kovensky)
8dc2176a04 Fix Node 4 parse errors 2017-03-10 16:36:20 +09:00
Diogo Franco (Kovensky)
cf5ab16ff9 Add useBuiltIns and useESModules options to transform-runtime
useBuiltIns uses versions of the helpers that do not import even
internal polyfills from core-js.

useESModules uses versions of the helpers that do not go through
transform-es2015-modules-commonjs. This allows for smaller builds in
module systems like webpack, as it doesn't need to preserve commonjs
semantics.

This includes changes to the babel-runtime build-dist script, which
will build the versions of the runtime helpers to be used by
combinations of useBuiltIns and useESModules.
2017-03-10 16:27:35 +09:00
Logan Smyth
ca71c74696 Move plugin and pass initialization into a more central location. 2017-03-09 16:13:38 -08:00
Logan Smyth
305165eda4 Remove Logger usage from options processing. 2017-03-09 16:13:38 -08:00
Henry Zhu
12eb25c06c don't show other presets in readme [skip ci] (#5438) 2017-03-09 11:00:25 -05:00
Sven SAULEAU
7c8825f6b2 Merge pull request #5418 from babel/xtuc-patch-4
Add new members
2017-03-09 16:48:06 +01:00
Aaron Ang
3d987ed6c0 Keep parentheses for logical expression when in await expression (fix #5428) (#5433) 2017-03-09 09:13:53 -05:00
Henry Zhu
230712e091 Internal: back to fixed, publish everything (#5436) 2017-03-08 22:56:00 -05:00
Henry Zhu
0553d7761d Publish
- babel-cli@7.0.0-alpha.2
 - babel-core@7.0.0-alpha.2
 - babel-helper-plugin-test-runner@7.0.0-alpha.2
 - babel-helper-transform-fixture-test-runner@7.0.0-alpha.2
 - babel-register@7.0.0-alpha.2
2017-03-08 13:08:44 -05:00
Henry Zhu
02473a72c1 Merge pull request #4892 from kaicataldo/babelrcjs
Add support for .babelrc.js files
2017-03-07 16:58:00 -05:00
Kai Cataldo
d054cd0ea8 Add support for .babelrc.js files 2017-03-07 16:44:24 -05:00
Brian Ng
0336cab757 Fix transform-object-rest-spread README [skip ci] (#5409) 2017-03-07 16:41:49 -05:00
Artem Gurzhii
6888a2c51b Code refactoring for the babel-generator (#5344)
* refactoring code for babel-generator package

* removing spaces and refactoring if statement

* fixing warnings
2017-03-07 16:41:49 -05:00
Logan Smyth
39eca84642 Use 'resolve' from npm instead of private 'module' methods. (#5416) 2017-03-07 12:42:25 -08:00
Logan Smyth
ea787a1980 Merge pull request #5427 from rwjblue/backport-modules-noInterop
Backport `noInterop` flag for modules to 6.x.
2017-03-07 12:25:16 -08:00
Robert Jackson
290995923e Add docs for strict and noInterop with es2015-modules-commonjs.
(cherry picked from commit 23de276718)
2017-03-07 14:53:01 -05:00
Robert Jackson
bc65822379 Add noInterop option to babel-plugin-transform-es2015-modules-commonjs.
The intent of this option is to toggle module interop behavior. When `true`
no `interopRequireXXX` helper invocations will be emitted.

(cherry picked from commit 0d1edb9811)
2017-03-07 14:53:01 -05:00
Logan Smyth
836dd95c44 Merge pull request #5422 from rwjblue/remove-interop-require-default-in-strict-mode
Add noInterop option to babel-plugin-transform-es2015-modules-commonjs.
2017-03-07 11:16:43 -08:00
Robert Jackson
23de276718 Add docs for strict and noInterop with es2015-modules-commonjs. 2017-03-06 20:19:38 -05:00
Robert Jackson
0d1edb9811 Add noInterop option to babel-plugin-transform-es2015-modules-commonjs.
The intent of this option is to toggle module interop behavior. When `true`
no `interopRequireXXX` helper invocations will be emitted.
2017-03-06 19:51:35 -05:00
Brian Ng
8a82cc060a Run new lint rules (#5413) 2017-03-04 10:46:01 -05:00
Sven SAULEAU
990d22a8d4 docs: [skip ci] add new members 2017-03-04 11:26:13 +01:00
Brian Ng
2127df0db0 Fix transform-object-rest-spread README [skip ci] (#5409) 2017-03-02 23:29:34 -05:00
Henry Zhu
f7e2d88f6c independent mode [skip ci] 2017-03-02 16:25:18 -05:00
Henry Zhu
11e54a6bd3 v7.0.0-alpha.1 2017-03-02 16:04:47 -05:00
Henry Zhu
22a5ce43f1 fix lerna config [skip ci] 2017-03-02 16:00:44 -05:00
Henry Zhu
67ed224df0 update babel-types readme [skip ci] 2017-03-02 15:58:12 -05:00
Henry Zhu
c86f922dc7 add exact flag [skip ci] 2017-03-02 15:54:51 -05:00
Henry Zhu
b4b03d48fa remove undeclared plugin [skip ci] (#5407) 2017-03-02 15:53:02 -05:00
Henry Zhu
0847ae055d cleanup + update to lerna 38 (#5406) 2017-03-02 15:04:54 -05:00
Artem Gurzhii
0d3a7e9cc6 Code refactoring for the babel-generator (#5344)
* refactoring code for babel-generator package

* removing spaces and refactoring if statement

* fixing warnings
2017-03-02 10:14:03 -08:00
Aaron Ang
4ad0caaa66 Merge pull request #5400 from JPeer264/fix/usage
[doc] Fix: comments in usage w/ options
2017-03-01 12:50:29 -08:00
JPeer264
b9c0f364c4 [skip ci] Fix: comments in usage w/ options 2017-03-01 21:35:51 +01:00
Henry Zhu
65f23b8212 Merge pull request #5399 from babel/update-babylon-beta-4
Update babylon beta 4
2017-03-01 13:26:28 -05:00
Henry Zhu
b363e7b199 add @danez's changes 2017-03-01 12:54:22 -05:00
Henry Zhu
2b9c3735fd update to babylon beta 4 2017-03-01 12:38:19 -05:00
Henry Zhu
3ff77a61e4 Update babylon beta 3 (#5394)
* Update babylon to v7-beta.3

* convert RestProperty/SpreadProperty to RestElement/SpreadElement

* add virtual types to make it easier to upgrade
2017-02-28 16:58:19 -05:00
Daniel Tschinder
6d6cdf6baf [7.0] Allow presets to be objects (#5385)
* Allow presets to be objects

* Improve logic to detect preset format
2017-02-28 16:39:08 -05:00
Logan Smyth
9acae54a29 Merge pull request #5376 from loganfsmyth/no-pipeline
[7.0] Remove the unneeded Pipeline class.
2017-02-27 12:33:11 -08:00
Henry Zhu
696e63c58b Merge pull request #5380 from babel/extra-do + 6.x commits 2017-02-25 18:48:27 -05:00
Henry Zhu
6529cb5f01 babel-generator: add another do test 2017-02-25 18:39:18 -05:00
Alex Kuzmenko
01918c68c1 Improve babel-generator's code coverage (#5338) 2017-02-25 13:26:29 -05:00
Sven SAULEAU
eb9d699ce9 style: [skip ci] lint code snippets in md (#5379) 2017-02-25 12:19:29 -05:00
Logan Smyth
f3e92010c5 Remove the unneeded Pipeline class. 2017-02-24 13:37:33 -08:00
Henry Zhu
d33d023594 Merge remote-tracking branch 'origin/master' into merge-master 2017-02-23 18:54:15 -05:00
Daniel Tschinder
87ca6150ae [7.0] Remove bc code from preset handling and preset-es2015 (#5128)
* Remove bc code from preset handling and preset-es2015

* Add more tests

* Only allow functions for presets

* Fix lint
2017-02-22 14:58:01 +01:00
Zachary Miller
6614a63b3b Wrap some generated do expressions in parens (#5339) 2017-02-22 07:50:58 -05:00
Aaron Ang
45087b258b Add Yarn installation to CONTRIBUTING.md (#5358) [skip ci] 2017-02-22 07:50:22 -05:00
Daniel Tschinder
be293bd708 Enable codecov partial coverage (#5336) 2017-02-21 22:40:11 -05:00
Aaron Ang
c1c9ac4e11 Add section to CONTRIBUTING about debugging code (#5354) [skip ci] 2017-02-21 22:26:52 -05:00
Aaron Ang
3a6d85e55e Remove redundant NODE_ENV=test in Makefile (#5350)
`NODE_ENV=test` is exported by default. Therefore, targets that set `NODE_ENV` to `test` are cleaned up.
2017-02-21 22:14:59 -05:00
JeongHoon Byun (aka Outsider)
2de4b08c51 Add test for passing arguments to babel-node (#5163) (#5342) 2017-02-21 22:14:26 -05:00
Izaak Schroeder
8d9195f862 Pass dirname as extra metadata to preset constructor. (#4834)
* Pass `dirname` as extra metadata to preset constructor.

Sometimes a preset would like to know where it should resolve relative paths from (e.g. https://github.com/tleunen/babel-plugin-module-resolver) and this extra information makes that possible.

* Test for `dirname` passed into preset constructor

This adds a check for `dirname`’s existence and correctness to the
`resolve-addons-relative-to-file` test, and serves as a minimal example
of a path-aware preset.
2017-02-21 22:13:03 -05:00
Artem Yavorsky
02f51fb7a5 [skip ci] Add devEngines to package.json (#5312) 2017-02-21 22:10:33 -05:00
Marcelo Dapper
724c949244 Replace lodash/assign with Object.assign (#5356)
Remove imports to lodash/assign and replace assign with Object.assign.
The lodash/assign is unnecessary for babel 7 as node >4 has the same
functionality built-in with Object.assign as used here.

This resolve the [issue 5353](https://github.com/babel/babel/issues/5353)
2017-02-21 22:08:20 -05:00
Logan Smyth
c1f7d67bae Merge pull request #5351 from loganfsmyth/reduce-require
Avoid usage of exports/module.exports/require().
2017-02-21 16:59:32 -08:00
Logan Smyth
4ee385e96c Avoid usage of exports/module.exports/require(). 2017-02-21 16:52:42 -08:00
Alex Kuzmenko
b5246994b5 Update CONTRIBUTING.md: include make build (#5349) [skip ci] 2017-02-21 10:09:31 -05:00
Daniel Tschinder
2974a82df1 Add babel-bot to team (#5355) [skip ci] 2017-02-21 08:44:40 -05:00
Brian Ng
7b63af0e91 Fix typo in CONTRIBUTING.md [skip ci] 2017-02-20 11:37:04 -06:00
Henry Zhu
d9f01cbce6 Merge pull request #5317 from babel/update-babylon
Update to babylon@7.0.0-beta.0
2017-02-18 13:06:39 -05:00
Daniel Tschinder
7e540cdcc9 Remove obsolete code 2017-02-18 12:30:46 +01:00
Brendan Houle
07dd2b1e20 Shorthand properties examples (#5334) 2017-02-17 12:01:57 -06:00
Zachary Miller
d55a775024 Update CONTRIBUTING.md with respect to coverage check [skip ci] (#5329) 2017-02-16 22:14:16 -05:00
Joe Lencioni
69c6d27794 Improve syntax highlighting in readme for JSX (#5331) [skip ci] 2017-02-16 20:36:05 -05:00
Wilhelmina Drengwitz
7e59f86444 Fix 'o' is undefined in example code (#5327) [skip ci] 2017-02-16 15:24:20 -05:00
Daniel Tschinder
28853bf190 Fix for-await printing (#5322)
Only the first for-await was correctly printed all subsequent for-await statements
where printed as for-of as the variable op was changed inside the buildForXStatement
2017-02-15 17:43:06 -05:00
Daniel Tschinder
7c62278dcd [7.0] Change for-await to use new AST (#5321) 2017-02-15 17:29:09 -05:00
Alexander
1ba3269ece [7.0] Switch decorators-legacy to decorators in the Stage 1 Preset (#5318) (#5319) 2017-02-15 16:58:31 -05:00
Daniel Tschinder
ca78da6501 Fix variance (#5320) 2017-02-15 22:37:19 +01:00
Alex Kuzmenko
fa2a373acd [7.0] Replacing current decorators with decorators-legacy (#5290) 2017-02-15 15:42:50 -05:00
Jason Laster
ff2c24eed2 Add test for reference paths (#5296) 2017-02-15 15:05:31 -05:00
Toru Kobayashi
9188be9ed5 [7.0] Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#5199) 2017-02-15 14:58:07 -05:00
Charles Pick
bc8f476d33 [7.0] Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#5229) 2017-02-15 14:54:27 -05:00
Henry Zhu
b3e208fcd0 Update to babylon@7.0.0-beta.0 2017-02-15 14:45:21 -05:00
Brian Ng
b77c435f0f Ignore babel-register test artifacts (#5316) [skip ci] 2017-02-15 14:38:54 -05:00
Sergey Rubanov
958f72ddc2 Add name field to package.json (#5311) [skip ci] 2017-02-15 10:55:12 -05:00
Logan Smyth
7dcc9708e3 Manually bump and publish babel-runtime 2017-02-14 11:26:49 -08:00
Sergey Rubanov
c3098d2437 Add Node 7 to CI (#5165)
This reapplies this commit, as it was lost before
2017-02-14 15:33:10 +01:00
Daniel Tschinder
6c03cb0783 Merge branch 'master' into merge-master
# Conflicts:
#	lerna.json
#	packages/babel-cli/package.json
#	packages/babel-core/package.json
#	packages/babel-generator/package.json
#	packages/babel-helper-builder-react-jsx/package.json
#	packages/babel-helper-function-name/package.json
#	packages/babel-helper-optimise-call-expression/package.json
#	packages/babel-helper-replace-supers/package.json
#	packages/babel-helper-transform-fixture-test-runner/package.json
#	packages/babel-helpers/package.json
#	packages/babel-plugin-transform-class-properties/package.json
#	packages/babel-plugin-transform-es2015-block-scoping/package.json
#	packages/babel-plugin-transform-es2015-classes/package.json
#	packages/babel-plugin-transform-es2015-modules-commonjs/package.json
#	packages/babel-plugin-transform-es2015-modules-systemjs/package.json
#	packages/babel-plugin-transform-es2015-modules-umd/package.json
#	packages/babel-plugin-transform-es2015-parameters/package.json
#	packages/babel-plugin-transform-react-jsx/package.json
#	packages/babel-register/package.json
#	packages/babel-template/package.json
#	packages/babel-traverse/package.json
#	packages/babel/package.json
2017-02-14 12:46:23 +01:00
Logan Smyth
11cf0e0b50 Revert lerna again 2017-02-13 18:18:45 -08:00
Logan Smyth
9cae61911d v6.23.1 2017-02-13 18:18:17 -08:00
Logan Smyth
454933ef76 Revert "Rewrite Hub as interface #5047" (#5306) 2017-02-13 18:15:50 -08:00
Logan Smyth
48709e9fa4 Revert change that lerna force-committed. 2017-02-13 17:20:18 -08:00
Logan Smyth
48573f1fb4 v6.23.0 2017-02-13 17:14:12 -08:00
Logan Smyth
24400c5b66 Update babel-types README from script. 2017-02-13 15:00:37 -08:00
Logan Smyth
cc5750d151 Add CHANGELOG for 6.23.0 [skip ci] (#5304) 2017-02-13 14:57:26 -08:00
Logan Smyth
e1fee21529 Add charset so tests work with convert-source-map@>1.4 (#5302) 2017-02-13 14:37:41 -08:00
Logan Smyth
1c1e9c764b Revert "Upgrade lerna to current beta." (#5303) 2017-02-13 14:20:10 -08:00
Logan Smyth
8a28c07d20 Upgrade lerna to current beta. (#5300) 2017-02-13 14:01:57 -08:00
Brian Ng
6522a255d9 Add greenkeeperio-bot to mention-bot blacklist (#5301) [skip ci] 2017-02-13 16:56:12 -05:00
Ben Alpert
14d3c2e256 Avoid adding unnecessary closure for block scoping (#5246)
When you write

```
for (const x of l) {
  setTimeout(() => x);
}
```

we need to add a closure because the variable is meant to be block-scoped and recreated each time the block runs. We do this.

However, we also add the closure when no loop is present. This isn't necessary, because if no loop is present then each piece of code runs at most once. I changed the transform to only add a closure if a variable is referenced from within a loop.
2017-02-13 13:46:00 -08:00
Yongxu Ren
2985597d40 Rewrite Hub as interface #5047 (#5050)
* Rewrite Hub as interface #5047

* Update index.js
2017-02-13 12:49:10 -08:00
Justin Ridgewell
ca45904a45 Fix loose for-of with label (#5298) 2017-02-13 10:30:36 -05:00
Samuel Reed
2aa2de8c6f feature: Support pure expressions in transform-react-constant-elements (#4812) 2017-02-12 20:02:38 -08:00
Logan Smyth
4edcd02965 Fix linting error 2017-02-12 18:48:07 -08:00
Samuel Reed
f4e3dfee74 Fix PathHoister hoisting before bindings. (#5153)
Fixes #5149 and enables a few additional safe hoists.
2017-02-12 18:35:08 -08:00
Samuel Reed
eb91bd831c Fix PathHoister hoisting JSX member expressions on "this". (#5143)
The PathHoister ignored member references on "this", causing it
to potentially hoist an expression above its function scope.

This patch tells the hoister to watch for "this", and if seen,
mark the nearest non-arrow function scope as the upper limit
for hoistng.

This fixes #4397 and is an alternative to #4787.
2017-02-12 18:34:07 -08:00
Henry Zhu
dde70c0a04 [7.0] remove standalone babel package (#5293)
Having it isn't compatible with the changes for `babel-cli -> @babel/cli`
2017-02-10 14:40:24 -05:00
james kyle
75ac320cf7 Add new flow preset (#5288) 2017-02-09 16:45:38 -08:00
Henry Zhu
870a37834c .gitignore for test [skip ci] 2017-02-09 19:19:41 -05:00
Henry Zhu
982cdb2a3a update yarn 2017-02-09 18:54:42 -05:00
Henry Zhu
ad91c6d186 use lerna@2-beta.37 (#5254) 2017-02-09 18:47:58 -05:00
Henry Zhu
9083bd6283 Merge branch 'master' into 7.0 2017-02-09 18:36:02 -05:00
Brian Ng
6da9bb83df Prevent multiple return statements in a loop when replacing expressions (#5030) 2017-02-09 13:06:41 -08:00
jwbay
1a325ce5d5 codegen performance: use trim-right instead of lodash/trimEnd (#5255) 2017-02-09 13:04:42 -08:00
Sven SAULEAU
fb0a91b750 Fix TypeError with babel-register's cache (#5260) 2017-02-08 15:24:23 -05:00
Boopathi Rajaa
f8ffe03e79 Deopt evaluation of undefined with a local binding. Fix #5204 (#5206) 2017-02-08 10:37:14 -05:00
Mark Jones
5c5262437e Add definition of stage 3 (#5253) [skip ci] 2017-02-08 10:25:43 -05:00
Mark Jones
64e7d76b6b Added info about stage 2 (#5252) [skip ci] 2017-02-08 10:25:10 -05:00
Mark Jones
01eabd0d34 Add background for stage 1 (#5251) [skip ci] 2017-02-08 10:23:54 -05:00
Jimmy Jia
9de923258c Don't transpile ES7 symbol properties (#5195) 2017-02-07 11:19:14 -05:00
Vicente Jr Yuchitcho
1ba4a3fe5d Add path sibling traversal methods (#5230)
* getPrevSibling
* getNextSibling
* getAllNextSiblings
* getAllPrevSiblings
2017-02-07 11:17:50 -05:00
Łukasz Lityński
badce969da Fix confusing comment (#5272) (#5273) 2017-02-06 16:17:26 -08:00
Ben Alpert
ff8a10e52f Add option to block-scoping to slow on throw code (#5236)
The let/const plugin can add closures where you don't expect them. This is undesirable in some perf-sensitive projects (ex: React). I added an option that throws whenever the plugin adds a function (as opposed to simply renaming variables when converting to var).
2017-02-06 13:50:56 -05:00
Christina
6ee7bf6df5 checks if babel is installed globally and displays correct cli message (#5258)
* checks if babel is installed globally and displays correct cli message - fixes #5228

* recommend local installation and fix lint errors

* uses babel-cli vs babel

* switch back to babel

* use process.cwd() to determine if globally executed

* checks for /node_module/.bin/babel

* compare execPath and module execution path to determine global or local installation

* Move the babel/cli.js into a 'src' so the 'const's are compiled Node < 6.
2017-02-06 10:30:56 -08:00
Erik Desjardins
e9d7757433 Emit parens for await (but not yield) of ternary expressions (#5270) 2017-02-06 09:06:48 -08:00
Logan Smyth
6fa6f5924d [7.0] Run Babel's unittests in a custom sandbox (take 2). (#5263)
* Run Babel's unittests in a custom sandbox (take 2).

* Add tests for sandboxing behavior.
2017-02-04 13:31:33 -08:00
Andres Suarez
8c3392f058 Remove uses of lodash/compact (#5181) 2017-02-04 13:01:45 -08:00
Logan Smyth
b845f2b69d Re-enable the max-len ESLint rule. (#5265) 2017-02-04 11:07:15 -05:00
Logan Smyth
4d411ef83e Add a sublime project [skip ci] (#5264) 2017-02-03 17:52:29 -05:00
Marek Święcicki
ba0df23365 [7.0] Remove quotes option (#5154)
* remove mention of 'quotes' option from README.md

* always infer quotes option's value
2017-01-31 12:03:51 -08:00
StyMaar
283d9cbb9e Fix broken repository link in package.json (#5248) [skip ci] 2017-01-31 09:27:07 -05:00
Brian Ng
160bd3924b Normalize options sections in docs [skip ci] (#5244) 2017-01-31 08:46:01 -05:00
Henry Zhu
2104ab6c44 Add our business model [skip ci] (#5242)
- don't need to run tests for this one
2017-01-30 09:28:53 -08:00
Logan Smyth
510e93b2bd Merge pull request #5235 from mattste/fix4323
Limit export node default assignment stack size #4323
2017-01-28 12:55:29 -08:00
Matthew Stewart
d4790888a3 Limit export node default assignment stack size #4323
Signed-off-by: Matthew Stewart <mattdste@gmail.com>
2017-01-28 12:51:37 -05:00
Brian Ng
e530e3c025 [7.0] List babylon plugins instead of * in babel-generator tests (#5231) 2017-01-28 09:35:21 -05:00
Kai Cataldo
e09ea222c9 Remove babel-runtime from packages' dependencies (#5218) 2017-01-27 09:04:35 -05:00
wtgtybhertgeghgtwtg
e5aa501327 Bump detect-indent. (#5226) 2017-01-27 09:02:48 -05:00
Artem Yavorsky
3f95a767f2 [7.0] Add legacy-decorators to stage-1. Fixes #5220 (#5225) 2017-01-27 09:02:10 -05:00
Fabian Finke
a97be35984 Add example to spread README [skip ci] (#5227) 2017-01-27 13:39:39 +01:00
Anderson Vasques
0766f29591 [7.0] Use lerna's --independent mode + changes (fixes #5221)
Adding version `independent` and cacheDir `.changelog`
2017-01-26 20:01:54 -05:00
Sven SAULEAU
446b4a7dbd docs: remove link to REPL (#5216) 2017-01-26 14:50:23 -06:00
Thomas Roch
a52265c79e docs: fix do expressions JSX example (#5214) [skip ci] 2017-01-26 11:04:56 -05:00
Sven SAULEAU
931cee7ab8 docs: [skip ci] update README (#5212) 2017-01-26 08:00:23 -05:00
Sven SAULEAU
aa7817bafb transform-regenerator README pt2 (#5203)
* docs: [skip ci] remove comments in JSON

* docs: [skip ci] nit remove duplicated babelrc
2017-01-24 15:32:18 +01:00
Sven SAULEAU
7fe59c38fe docs: [skip ci] update README (#5202) 2017-01-24 08:23:35 -06:00
Sven SAULEAU
2a1db1c250 docs: [skip ci] update README (#5200) 2017-01-24 08:00:31 -06:00
wtgtybhertgeghgtwtg
398b0326a3 [7.0] Bump home-or-tmp for babel-register. (#5189) 2017-01-23 23:35:44 -05:00
Chau Nguyen
2ee3a017f0 [7.0] Added yarn.lock (#5175)
* Added yarn.lock

* Updated bootstrap npm install commands to yarn and added yarn caching
2017-01-23 18:15:33 -05:00
Brian Ng
b69dc51be0 Fix missing parens when function expressions is tag (#5193) 2017-01-23 08:45:57 -08:00
Sven SAULEAU
c638985aca docs: [skip ci] update README (#5194) 2017-01-23 10:48:35 -05:00
Vivek Kumar Bansal
728072f47b [7.0] Remove old babel-runtime code (#5187) 2017-01-21 11:25:29 -05:00
Scott Arnold
20a5249dea [7.0] Drop support for Node 5 (#5186) 2017-01-21 10:14:49 -05:00
Henry Zhu
661102c7ea Merge branch 'master' into 7.0
# Conflicts:
#	.travis.yml
#	CHANGELOG.md
#	lerna.json
#	packages/babel-cli/package.json
2017-01-21 08:52:14 -05:00
Andres Suarez
e9d87ed55c Remove path-is-absolute in favor of builtin path.isAbsolute (#5179) 2017-01-21 08:33:34 -05:00
Brian Ng
d76092b2dd Internal: Run coverage only once (#5182) 2017-01-21 08:20:03 -05:00
Henry Zhu
3a0d1599cd Internal: only build once on CI (#5177) 2017-01-20 17:46:09 -05:00
Henry Zhu
d7a0ef19f1 Run in dev on build otherwise it runs with coverage plugin (#5159) [skip ci] 2017-01-20 10:08:01 -05:00
Sergey Rubanov
7aa6387835 Add Node 7 to CI (#5165) 2017-01-20 10:07:32 -05:00
Mathias Bynens
090f7abda4 [7.0] babel-preset-stage-2: Add transform-unicode-property-regex (#3683)
This enables the use of Unicode property escapes of the form `\p{…}` and `\P{…}` in regular expressions with the `u` flag enabled.

More info: https://mathiasbynens.be/notes/es-unicode-property-escapes
Proposal: https://github.com/mathiasbynens/es-regexp-unicode-property-escapes
Plugin: https://github.com/mathiasbynens/babel-plugin-transform-unicode-property-regex
2017-01-20 08:17:25 -05:00
Colin
1aa7a2a1a3 Remove "class-constructor-call" syntax and transform plugins (#5119)
* removed class-constructor-call syntax and transform plugins and all references to them

* #5112, removed another reference to constructor call
2017-01-20 10:42:56 +01:00
Sergey Rubanov
d0b42d4313 Update babel-core browserify fixture (#5164) 2017-01-20 10:29:44 +01:00
Logan Smyth
85eec9ffef CHANGELOG for 6.22.2 2017-01-19 22:08:10 -08:00
Logan Smyth
7de9fa07fb v6.22.2 2017-01-19 22:03:27 -08:00
Logan Smyth
396634a51d Merge pull request #5162 from loganfsmyth/fix-5161
Break out of argument processing properly.
2017-01-19 22:00:58 -08:00
Logan Smyth
6528fe105e Break out of argument processing properly. 2017-01-19 21:47:11 -08:00
Adonis K
12886ea495 [7.0] Remove stage 4 plugins from stage 3 preset (#5126)
* remove trailing function commas from stage-3 preset (#5117)

trailing function commas is now a finished proposal and was moved to stage 4 (https://github.com/tc39/proposal-trailing-function-commas)

* remove the exponentiation operator from stage-3 preset (#5117)

exponentiation-operator is now a finished proposal and was moved to stage 4 (https://github.com/rwaldron/exponentiation-operator)

* remove async function to es2015 generator from stage-3 preset (#5117)

async functions is now a finished proposal and was moved to stage 4 (https://github.com/tc39/ecmascript-asyncawait)
2017-01-19 23:03:49 -05:00
Sergey Rubanov
b978996ba4 Remove add-module-exports use internally (#5131) 2017-01-19 23:02:19 -05:00
Jordan Jones
1742035a98 [7.0] Fixes #5108, browser.js and browser.js test removed (#5124)
* Fixes #5108, browser.js and browser.js test removed

* Moved api/node.js to index.js and adjusted associated file references
2017-01-19 22:43:11 -05:00
Janus Troelsen
e4ba28c294 [7.0] Dependencies: Upgrade regexpu-core to ^4.0.2 (#5028) 2017-01-19 22:33:46 -05:00
Anderson Vasques
81c3578adc [7.0] Remove old code used for backwards compatibility (#5122)
[7.0] Remove old code used for backwards compatibility in babel-polyfill

Fixes #5121
2017-01-19 22:32:16 -05:00
Chau Nguyen
d710e6dd5b [7.0] Drop flowUsesCommas option from babel-generator (#5123) 2017-01-19 22:24:13 -05:00
Sergey Rubanov
3a5ce620c8 [7.0] Deprecate babel-core/register.js (#5132)
* Deprecate babel-core/register.js

* add error when using `babel-core/register`
2017-01-19 22:22:45 -05:00
Shubheksha Jalan
c468b15a15 [7.0] removed old code from transform-runtime (#5142) 2017-01-19 22:20:04 -05:00
Henry Zhu
fabfc463f1 v6.22.1 changelog [skip ci] 2017-01-19 22:17:33 -05:00
Henry Zhu
368485828f v6.22.1 2017-01-19 22:12:53 -05:00
Henry Zhu
b06763f1a3 force update core/cli 2017-01-19 22:09:37 -05:00
Jason Aslakson
ef25bebfa8 fix issue #5012 - Cannot read property 'declarations' of null (#5019)
- temporary fix
2017-01-19 21:36:18 -05:00
Henry Zhu
ef3ab66847 Merge pull request #5025 from siddharthkp/patch-1
Drop support for Node 0.12 💀
2017-01-19 21:25:16 -05:00
Henry Zhu
e2c5a513f6 Create circle.yml 2017-01-19 20:42:25 -05:00
Henry Zhu
2471d5ebf3 Merge pull request #5041 from xtuc/remove-0.10-support
Remove node 0.10 support (CI)
2017-01-19 20:24:22 -05:00
Henry Zhu
e9fc38bcd3 v6.22.0 2017-01-19 19:33:22 -05:00
Henry Zhu
cc227f44a6 Merge pull request #5157 from babel/revert-5135-run-sandbox-tests
Revert "Run Babel's unittests in a custom sandbox."
2017-01-19 19:25:29 -05:00
Henry Zhu
03c88baf8d 6.22.0 changelog [skip ci] (#5158) 2017-01-19 19:24:23 -05:00
Henry Zhu
4106dd3db1 Revert "Run Babel's unittests in a custom sandbox." 2017-01-19 18:43:50 -05:00
Erik Desjardins
bca170ad79 Avoid duplicating impure expressions in object rest destructuring (#5151)
* avoid duplicating impure initializers in object rest destructuring

* reuse existing VariableDeclarations in object rest destructuring, to fix two issues:

1. inserting an additional VariableDeclaration after the current one may change order of operations, which is unsafe if a future VariableDeclarator refers to a destructured variable.

2. The entire VariableDeclaration is removed when all properties are rest properties, indiscriminately removing other variables
2017-01-18 21:32:44 -05:00
Toru Kobayashi
3871236723 transform-react-constant-elements hoists Composite Components (#5137) [skip ci] 2017-01-17 14:47:04 -05:00
Logan Smyth
c76b8eec82 Run Babel's unittests in a custom sandbox. (#5135) 2017-01-17 14:46:23 -05:00
Daniel Tschinder
56ac8b8f83 Increase cache timeout to 12h for top badges 2017-01-17 11:16:30 +01:00
Daniel Tschinder
7d4de327d0 remove style flat as it is default now 2017-01-17 11:03:16 +01:00
Brian Ng
8c35b320d3 Bump eslint-config-babel and fix lint (#5129) 2017-01-17 10:51:16 +01:00
Artem Yavorsky
2457c8ee14 [skip ci] Fix dependency status extension. (#5144) 2017-01-16 17:28:55 -06:00
Sergey Rubanov
292c3ca206 Refactor test packages to use ES modules instead of CJS (#5138) 2017-01-16 11:25:04 -05:00
Artem Yavorsky
b315fc6135 [skip ci] Add babel-preset-env to maintained list. (#5136) 2017-01-16 08:35:01 -05:00
Logan Smyth
e863790e7e Fix linting error from merged PR. 2017-01-15 15:29:26 -08:00
Logan Smyth
c5fb56e66c Bump out chokidar dependency for the new awaitWriteFinish option. 2017-01-15 14:45:48 -08:00
Logan Smyth
40746f3dcb Merge pull request #3698 from hayeah/master
Watch mode should wait for file write. (T7411)
2017-01-15 14:44:45 -08:00
Logan Smyth
a98c9ae9dc Merge pull request #4790 from peterm0x/master
fixes invalid line offsets in merged sourcemaps
2017-01-15 14:36:33 -08:00
Logan Smyth
7200626021 Merge pull request #5088 from christophehurpeau/fix-issue-4851
fix: plugin-transform-object-rest-spread param with default value
2017-01-15 14:27:56 -08:00
Logan Smyth
87c201fa47 Merge pull request #5043 from zertosh/no-lodash-is
Replace "lodash/is*" and "lodash/each" with native equivalents
2017-01-15 14:22:24 -08:00
Mark Wubben
20c9dca798 Document babelrc option (#5101)
The core package accepts a babelrc option, which if set to false stops
the transforms from using .babelrc and .babelignore files. Document
this option and remove the --no-babelrc CLI flag, referring to the CLI
documentation instead.

[skip ci]
2017-01-15 16:04:23 -06:00
Christophe Hurpeau
4a1965511f fix: plugin-transform-object-rest-spread param with default value 2017-01-15 14:02:08 -08:00
Logan Smyth
e18dc7a6d3 Avoid destructuring in untranspiled script. 2017-01-15 13:54:54 -08:00
Andres Suarez
658f13e030 Replace uses of "lodash/each" with native equivalents 2017-01-15 13:54:54 -08:00
Andres Suarez
2bee765e6b Replace lodash is* with equivalent typeof check 2017-01-15 13:53:58 -08:00
Logan Smyth
1ab58d6dae Merge pull request #5042 from zertosh/no-lodash1
Use native or lodash util module where full "lodash" is required
2017-01-15 13:53:30 -08:00
Andres Suarez
85b3aec747 Use native or lodash util module where full "lodash" is required 2017-01-15 13:35:00 -08:00
Logan Smyth
5d31316fb1 Merge pull request #5093 from existentialism/issue5090
Ensure array is always copied during destructure
2017-01-15 13:10:02 -08:00
Sven SAULEAU
00a34b9c2e fix: [skip ci] removed description (#5130) 2017-01-15 21:48:47 +01:00
Logan Smyth
17b711fa70 Merge pull request #5008 from babel/fix-5004
Don't try to visit ArrowFunctionExpression, they cannot be named
2017-01-15 11:47:52 -08:00
Sven SAULEAU
d67b55e88f fix: [skip ci] update supported environments 2017-01-15 19:45:07 +01:00
Brian Ng
47bb77d352 Update babel-core options in README (#5114)
* Add wrapPluginVisitorMethod option to babel-core README [skip ci]

* fix typo

* alpha-sort options

* add note about introspection [skip ci]
2017-01-14 16:01:52 -05:00
Logan Smyth
3c2e9c0021 Merge pull request #5110 from loganfsmyth/flowtype-codegen
Validate importKind and ensure code generation exists.
2017-01-14 10:41:25 -08:00
Henry Zhu
672adba9a1 enable prefer const (#5113) 2017-01-14 09:48:52 -05:00
Sven SAULEAU
982850731e fix: [skip ci] consistent documentation (#5111) 2017-01-14 09:45:20 -05:00
Henry Zhu
d3f3aced40 mention-bot: remove comments [skip ci] 2017-01-14 09:29:45 -05:00
Sven SAULEAU
1691fc959f Add mention-bot (#5057) [skip ci] 2017-01-14 08:21:58 -05:00
Logan Smyth
80a757819f Validate importKind and ensure code generation exists. 2017-01-13 22:17:39 -08:00
Logan Smyth
2e6713209c Merge pull request #5035 from jeffmo/import_type_shorthand
Strip Flow's new shorthand import-type specifiers
2017-01-13 21:56:18 -08:00
Brian Ng
761079fac0 Add examples to computed-props and for-of READMEs [skip ci] (#5096) 2017-01-13 20:23:13 -05:00
Jeff Morrison
b820d8ebc9 Strip Flow's new shorthand import-type specifiers 2017-01-13 13:24:33 -05:00
Simon Lydell
d2113d4881 babel-code-frame: Upgrade to js-tokens@3 (#5094)
That version brings a big performance boost.
2017-01-13 12:11:44 -05:00
Sérgio Batista
3a1c0c84fb Fix broken repository url (#5100) 2017-01-13 15:16:07 +01:00
Brian Ng
46d9339488 arrow 2017-01-11 17:12:09 -06:00
Brian Ng
a749907bc2 Ensure array is always copied during destructure 2017-01-11 09:23:21 -06:00
Ryan Tsao
39d18679e1 Fix getBindingIdentifiers in babel-types (#5068)
* Added getBindingIdentifier tests

* Added failing test for getBindingIdentifiers

* Fix babel-types getBindingIdentifiers
2017-01-09 09:08:07 -05:00
Daniel Tschinder
dc617129f6 Optimize removal-hooks for ArrowFunctions (#5076) 2017-01-09 09:05:23 -05:00
Karsten Gohm
de1a76413f Static function call result comment does not match variable content (#5077)
static staticProperty, defined in line 18, value is 'babeliscool' but comment on line 33 the given sample output is 'babelIsCool'. 
this commit fixes this inconsistency
2017-01-09 09:02:19 -05:00
Anthony Zotti
d1cd179c45 Update LICENSE (#5058) 2017-01-05 22:12:12 +01:00
Andrii Bida
3ef99d1467 Fix typo in README.md (#5070)
Minor typo fix: added the missing space.
2017-01-05 14:43:26 -06:00
Andres Suarez
796c6c0763 Remove unused dependency (#5038) 2017-01-05 08:17:16 -05:00
Brian Ng
2a8d3173d3 Remove unused define-map helper from computed-properties (#5053) 2017-01-05 08:16:35 -05:00
Brian Ng
f611cab0f5 Fix some doc lint issues (#5061)
* Remove duplicate usage section from transform-es2015-classes [skip ci]

* Fix doc lint issue with transform-function-bind [skip ci]
2017-01-02 09:01:08 +01:00
Sven SAULEAU
39cda64fe2 docs: [skip ci] incorrect snippet language (#5059) 2017-01-01 14:59:50 +01:00
Sven SAULEAU
b443f3e158 Merge pull request #5051 from gitanupam/patch-1
Adding more info to the Install section
2016-12-29 08:28:49 +01:00
Sven SAULEAU
fbeadc46ea [skip ci] merge documentation with the website 2016-12-28 21:49:40 +01:00
gitanupam
438c872e64 Adding more info to the Install section
It was confusing to see the Install command for babel-present-react again when the earlier command to install CLI also included babel-preset-react. Hence the edit.
2016-12-28 16:24:00 +05:30
Brian Ng
b1635f8c05 Fix some README links [skip ci] (#5045) 2016-12-27 09:30:14 -05:00
Sven SAULEAU
90279f102f docs: remove compiler support for 0.10 2016-12-25 20:54:38 +01:00
Sven SAULEAU
8b25e21520 build: remove Circle CI 2016-12-25 20:54:20 +01:00
Janus Troelsen
b2e6926042 Upgrade glob to v7 (#5027) 2016-12-22 23:57:53 +01:00
Henry Zhu
b583829809 remove plugin links, just use the website [skip ci] (#5031) 2016-12-22 11:06:00 -05:00
Sven SAULEAU
1f116e1e9d Merge pull request #5011 from babel/add-team
Add Team section [skip ci]
2016-12-22 16:49:28 +01:00
Logan Smyth
f89461906d Merge pull request #5026 from chicoxyzzy/dont_add_spaces_in_template_literals
Remove unnecessary spaces around template element
2016-12-21 21:19:08 -08:00
Sven SAULEAU
1672982873 fix: require debug directly instead of debug/node 2016-12-21 18:09:58 +01:00
chico
07b5b0edf8 fix one more fixture 2016-12-21 19:28:36 +03:00
chico
2d7703afd9 Like was discussed in Slack chat with @ljharb and @hzoo spaces was added with no particular reason.
https://babeljs.slack.com/archives/discussion/p1481744017001806

I'm still not sure if everything here is correct (for example source maps)
2016-12-21 19:14:39 +03:00
Siddharth Kshetrapal
868c9ecc11 change node version in contributing 2016-12-21 12:35:16 +05:30
Siddharth Kshetrapal
7135751750 Drop support for Node 0.12 💀 2016-12-21 12:28:28 +05:30
Logan Smyth
ce0c620a9f Merge pull request #4729 from rmacklin/add-resolvePlugin-and-resolvePreset
Add resolvePlugin and resolvePreset methods to babel-core API
2016-12-20 08:42:27 -08:00
Sven SAULEAU
8edc1d9530 Merge pull request #5014 from babel/xtuc-patch-2
Update babel-core's README
2016-12-18 15:21:51 +01:00
Logan Smyth
1a8150ef97 v6.21.1 2016-12-17 21:15:33 -08:00
Logan Smyth
405697558e v6.21.1 changelog [skip ci] 2016-12-17 21:09:26 -08:00
Logan Smyth
545162ff1a Merge pull request #5015 from loganfsmyth/revert-react-jsx
Revert babel-helper-builder-react-jsx change from #4988
2016-12-17 21:07:56 -08:00
Logan Smyth
dbc07220ae Revert babel-helper-builder-react-jsx change from #4988 2016-12-17 20:50:03 -08:00
Sven SAULEAU
9d76f0b2de [skip ci] update README 2016-12-17 16:37:45 +01:00
Sven SAULEAU
3ef8e61d72 [skip ci] update babel-core's README 2016-12-17 12:41:49 +01:00
Sven SAULEAU
aaa250c17a [skip ci] Split members in README 2016-12-17 11:20:02 +01:00
Sven SAULEAU
9fd3f204dd [skip ci] update README 2016-12-17 11:12:36 +01:00
Sven SAULEAU
84bae86ae2 [skip ci] update README
Add xtuc to members
2016-12-17 10:50:24 +01:00
Henry Zhu
96084983e6 Add Team section [skip ci] 2016-12-16 20:38:27 -05:00
Henry Zhu
77d9e3e5c4 v6.21.0 2016-12-16 16:55:53 -05:00
Henry Zhu
3c28b4e1ac remove old code/license [skip ci] 2016-12-16 16:54:08 -05:00
Henry Zhu
542e4e9ee1 update babel-types readme [skip ci] 2016-12-16 16:50:41 -05:00
Henry Zhu
a73115f401 update core [skip ci] 2016-12-16 16:49:58 -05:00
Henry Zhu
8442dbdf29 v6.21.0 changelog [skip ci] (#5010) 2016-12-16 16:43:18 -05:00
Dan Harper
d90aaf2c76 Print Flow optional & type annotations in function params with defaults (#4872)
Fixes #4863
2016-12-16 15:31:05 -05:00
Brian Ng
01bc43464e Ensure directives get printed in block statements (#4873) 2016-12-16 15:30:14 -05:00
Justin Ridgewell
2bbc36d25e JSXSpreadChildren, throw in transform-react-jsx (#4988) 2016-12-16 15:30:00 -05:00
Henry Zhu
670ee996c8 Merge pull request #4940 from appden/fix-react-constant-elements
Fix React constant element bugs
2016-12-16 15:29:05 -05:00
Christoph Pojer
003d03789f Merge pull request #4979 from davidaurelio/generator-raw-mappings
babel-generator: Expose raw mappings
2016-12-16 20:00:48 +00:00
Henry Zhu
bfe4faa0d9 fix tests 2016-12-16 11:50:57 -05:00
Justin Ridgewell
852348d700 Fix default parameter - rest parameter edge case (#3572)
When the rest parameter shared the same name as a default identifier
for a param, the loop would be hoisted outside the function!

```js
var a = 1;

for (var _len = arguments.length, a = Array(_len > 1 ? _len - 1 : 0),
_key = 1; _key < _len; _key++) {
  a[_key - 1] = arguments[_key];
}

function foo2() {
  var b = arguments.length <= 0 || arguments[0] === undefined ? a :
arguments[0];

  assert.equal(b, 1);
}
foo2(undefined, 2);
```

And if you tried to reference any index or `#length`, it’d blow up and
refuse to transpile.
2016-12-16 10:53:52 -05:00
Brian Ng
196cdd4dce Bail on sharing comments with siblings if key is a string (#5007) 2016-12-16 10:52:48 -05:00
Henry Zhu
69a9f6bf70 babel-helper-transform-fixture-test-runner: pass require as a global (#4999) 2016-12-16 10:51:37 -05:00
Henry Zhu
c1e2b0dddc internal: don't run watch with the test env (skip building with code coverage) [skip ci] (#5005) 2016-12-16 10:51:18 -05:00
Diogo Franco (Kovensky)
31b85a36dd Add fixture for known bug 2016-12-16 11:25:42 +09:00
Diogo Franco (Kovensky)
ccf2f56085 Don't try to visit ArrowFunctionExpression, they cannot be named
They will still be visited if the arrow functions are transformed to regular
functions.

Fixes #5004
2016-12-16 11:14:47 +09:00
David Aurelio
2907d663dc add comments 2016-12-16 01:12:50 +00:00
Henry Zhu
e06faa99da fix sizing [skip ci] 2016-12-14 10:31:23 -05:00
Henry Zhu
63f673593e typo [skip ci] 2016-12-14 10:30:43 -05:00
Henry Zhu
a025cf1890 changelog for v6.20.1 to v6.20.3 [skip ci] 2016-12-14 10:29:47 -05:00
Henry Zhu
d1160cabb1 mention repl/link [skip ci] 2016-12-14 09:09:39 -05:00
Henry Zhu
cd2a9b0418 add semver label [skip ci] 2016-12-14 09:07:54 -05:00
David Aurelio
4cb7e5009a Add missing property descriptor values 2016-12-14 10:18:18 +00:00
Yuta Hiroto
68148b8a05 Fix links in CONTRIBUTING.md [skip ci] (#4989) 2016-12-12 08:00:16 -05:00
Henry Zhu
0ed97ce941 make installing runtime/transform-runtime clearer [skip ci] (#4991) 2016-12-11 21:04:24 -05:00
Brian Ng
7b5e6f1e50 Add example to es2015-unicode-regex [skip ci] (#4983) 2016-12-09 11:55:19 -05:00
David Aurelio
7ea283eb82 babel-generator: Expose raw mappings
Exposes raw mappings when source map generation is enabled. To avoid the cost of source map generation for consumers of the raw mappings only, `.map` is changed to a getter that generates the source map lazily on first access.
2016-12-09 09:55:42 +00:00
Henry Zhu
71a9e3275d v6.20.3 2016-12-08 21:55:37 -05:00
Logan Smyth
5aa87aab8d Calculate the correct arity for async functions with destructuring - fixes #4977 (#4978) 2016-12-08 21:51:24 -05:00
Henry Zhu
d597678def v6.20.2 2016-12-08 20:15:21 -05:00
Henry Zhu
cfc1e5cb38 fix object spread (#4976) 2016-12-08 20:13:57 -05:00
Henry Zhu
10d75f6d8a fix clean lib 2016-12-08 19:45:26 -05:00
Henry Zhu
07d49ffabf update readme [skip ci] 2016-12-08 19:33:55 -05:00
Henry Zhu
2bb9ab04e3 v6.20.1 2016-12-08 19:32:27 -05:00
Henry Zhu
88bc28c414 Fix nested object spread (#4974) 2016-12-08 19:30:50 -05:00
Henry Zhu
608e77e389 v6.20.0 2016-12-08 18:25:39 -05:00
Henry Zhu
16a05166b2 v6.20.0 changelog [skip ci] (#4971)
* v6.20.0 changelog [skip ci]
* remove old license since rewrite [skip ci]
2016-12-08 18:17:33 -05:00
Brian Ng
db04f99124 Raise limit on code size before compacting (#4965) 2016-12-08 18:08:56 -05:00
Ben Newman
16c84fb353 Use regenerator-transform to implement babel-plugin-transform-regenerator (#4881)
* Use regenerator-transform to implement babel-plugin-transform-regenerator.

Though I believe this is safe to merge, you may want to wait to merge it
until https://github.com/facebook/regenerator/pull/259 is merged. That
pull request also provides more explanation of why I think moving the
implementation of Regenerator back to its original repository is a good
idea. I'm happy to compromise on anything necessary to make this happen.

Note that the regenerator-transform version is pegged to an exact version
(0.9.7). Past experience has taught me that releasing new versions of
Regenerator is almost impossible if client projects are allowed to pull in
new patch versions automatically. I will happily submit a pull request
whenever a new version is released.

* Remove never-used babel-plugin-transform-regenerator/.test directory.

* regenerator-transform to 0.9.8
2016-12-08 15:17:03 -05:00
Boopathi Rajaa
73ff13f326 Add getBindingIdentifierPaths/getOuterBindingIdentifierPaths (#4876) 2016-12-08 12:43:14 -05:00
Justin Ridgewell
32aa1f75d6 Hoist generateDeclaredUidIdentifier helper function (#4934) 2016-12-08 12:42:22 -05:00
Denis Pushkarev
492e79f76d update regenerator-runtime in babel-polypill (#4966) 2016-12-08 10:58:22 -05:00
Henry Zhu
f8f78f50e5 Temp fix for make watch [skip ci] (#4967) 2016-12-08 10:42:31 -05:00
Ben Newman
26b4e0909e Add (and fix) failing test of function parameter bindings in a catch block (#4880)
* Add failing test of function parameter bindings in a catch block.

This test can be run in isolation via the following command:

  TEST_GREP='block-scoping.*function in catch' make test-only

This test fails because BlockScoping#getLetReferences accidentally
considers the parameters of the function declaration as let bindings in
the catch scope. When the name of the catch parameter is the same as one
of the function's parameter names, the function declaration will be
unnecessarily wrapped to isolate its parameters from the outer scope.

While the extra wrapping may not seem harmful in this case, this behavior
is a symptom of a deeper problem that causes very subtle bugs in transform
code involving catch parameters and function declarations. This test case
was just the simplest example I could find to demonstrate the problem.

I have a proposed fix for this problem that I will push as soon as the
tests fail for this commit.

* Make BlockScoping#getLetReferences ignore function parameters.
2016-12-08 10:16:48 -05:00
Ben Newman
44fe114939 Upgrade regenerator-runtime to version 0.10.0. (#4877)
This changes the behavior of `runtime.awrap` to match the output of https://github.com/leebyron/async-to-gen.

See this commit for further explanation of why this change is a good idea: e62a7e5008
2016-12-08 10:13:53 -05:00
wtgtybhertgeghgtwtg
d1c640ea61 Add /.test and /src to babel-plugin-transform-regenerator .npmignore. (#4961) [skip ci] 2016-12-08 10:12:29 -05:00
Logan Smyth
80dfdd2a43 Only base async fn arity on non-default/non-rest params - fixes #4891 (#4901) 2016-12-08 09:48:15 -05:00
Sean Larkin
39c92160f7 Add generator support for Import (#4945) 2016-12-07 18:22:12 -05:00
Sven SAULEAU
455d888ce8 update package documentation (#4948) [skip ci] 2016-12-06 14:24:52 -05:00
Henry Zhu
219f629267 update readme [skip ci] 2016-12-05 22:51:33 -05:00
Sven SAULEAU
cf37677c90 Update README.md (#4937) [skip ci] 2016-12-05 13:39:14 -05:00
Sven SAULEAU
351c1d3b4f Update README [skip ci] (#4938) 2016-12-05 13:36:31 -05:00
Scott Kyle
c438209718 Fix constant elements hoisted before declarator (#4804)
When multiple declarators are present in a declaration, we want to insert the constant element inside the declaration rather than placing it before because it may rely on a declarator inside that same declaration.
2016-12-03 20:19:32 -08:00
Scott Kyle
5a9509205b Fix constant elements hoisted out of block (#4419)
When block scoped variables caused the block to be wrapped in a closure, the variable `bindings` remained in parent function scope, which caused the JSX element to be hoisted out of the closure.
2016-12-03 19:54:53 -08:00
Brian Ng
b81cf12c7b Add example to transform-react-display-name docs (#4939)
* Add example to transform-react-display-name docs [skip ci]

* Normalize in/out markup in transform-react docs [skip ci]
2016-12-03 20:09:07 -05:00
wtgtybhertgeghgtwtg
930512e91f Add test to babel-plugin-syntax-trailing-function-commas .npmignore. (#4936) 2016-12-03 08:15:18 -05:00
Tommaso
27e201e0e1 Update plugins READMEs from babel.github.io [skip ci] (#4931) 2016-12-02 17:07:16 -06:00
Christophe Hurpeau
81575bcdfe Fix for object-rest with parameters destructuring nested rest (#4883) 2016-12-01 23:58:07 -05:00
Joe Haddad
06820ca17d Add forceColor option to babel-code-frame (#4913) 2016-12-01 23:43:08 -05:00
Kanitkorn Sujautra
b43191d402 Update transform-object-rest-spread's README from babel.github.io [skip ci] (#4930) 2016-12-01 23:42:27 -05:00
Kanitkorn Sujautra
fcc5b8963b Update transform-object-assign's README from babel.github.io [skip ci] (#4929) 2016-12-01 23:39:45 -05:00
Michael Kühnel
75720a3243 monorepo doc: Add another con (#4927) [skip ci] 2016-12-01 17:28:04 -05:00
Henry Zhu
0f583c0d1f mention [skip ci] in PR template (#4928) 2016-12-01 17:08:13 -05:00
Brian Ng
f71efbce92 Update transform-es2015 READMEs from babel.github.io [skip ci] (#4926)
Signed-off-by: Brian Ng <bng412@gmail.com>
2016-12-01 16:11:36 -05:00
Brian Ng
723c90e8f0 Tweak example in transform-jsx-source README [skip ci] (#4925) 2016-12-01 11:28:04 -05:00
Brian Ng
c2b3ea793f Update async READMEs from babel.github.io [skip ci] (#4919) 2016-11-30 12:24:59 -05:00
Brian Ng
66dfd8f0c1 Fix some React transform README issues [skip ci] (#4917) 2016-11-30 12:19:54 -05:00
Henry Zhu
e21dcec087 update readmes [skip ci] 2016-11-29 21:23:53 -05:00
Daniel Tschinder
f0cdf136bd Remove shouldIgnore check (#4907)
Otherwise tasks will never be marked as disabled
2016-11-29 20:36:50 -05:00
Henry Zhu
e86f62b304 README: add --save-dev [skip ci]
Closes gh-4910
2016-11-29 08:40:27 -05:00
Sven SAULEAU
2311b5b53a README: remove dollar in sh snippets [skip ci] 2016-11-29 08:39:23 -05:00
Henry Zhu
f3e4b9a7b7 add example [skip ci] 2016-11-29 08:32:46 -05:00
Kanitkorn Sujautra
287ee0fda8 Docs/babel plugin check es2015 constants (#4908) [skip ci] 2016-11-29 08:18:30 -05:00
Brian Ng
4a14202e92 Update React transform READMEs from babel.github.io [skip ci] (#4903)
* Update React transform READMEs from babel.github.io [skip ci]

* Drop inline-elements polyfill message (move to website)
2016-11-28 20:50:17 -05:00
Sven SAULEAU
51e8fd1868 Update babel-types README (#4905) [skip ci] 2016-11-28 20:22:59 -05:00
Benjamin E. Coe
db67d7fdce Switch to nyc, babel-plugin-istanbul & codecov-node for code coverage (#4885)
* Switch to nyc, babel-plugin-istanbul & codecov-node for code coverage

This setup (very much like Babylon's) let us trace code coverage back to the `src/` directories of packages.

* Exclude package tests from coverage report

* fix: upgrade to version of nyc that tweaks a couple more things for babel

* fix: remove comment based on @hzoo's review
2016-11-28 14:17:52 -05:00
Sven SAULEAU
f98d824ae7 Fix babel-types README (#4899) [skip ci] 2016-11-28 11:09:41 -05:00
Daniel Tschinder
1d9e509df2 Fix eslint (#4897)
* Fix eslint call

* Fix linting errors
2016-11-26 11:24:38 -05:00
Henry Zhu
53de56d069 simple intro [skip ci] (#4890) 2016-11-24 16:47:48 -05:00
Henry Zhu
9d0518b715 Readme updates from babel.github.io [skip ci] (#4884) 2016-11-22 14:17:17 -05:00
Boopathi Rajaa
7e020272c1 Fix path.evaluate for references before declarations (#4875) 2016-11-20 22:44:56 -05:00
Brian Ng
3a27f49c57 Fix identation with empty leading ObjectTypeProperty (#4862) 2016-11-19 10:47:41 -05:00
Henry Zhu
19bb830c50 use *, add test for assign-expression in parameter (#4865) 2016-11-19 10:45:00 -05:00
Henry Zhu
cd041541b8 Fix bug + Generate test fixtures if no expected.js (#4858) 2016-11-17 17:53:46 -05:00
Nikolai Tillmann
efefe828f9 Preserve null in babel-types' clone and deepClone. (#4853)
* Preserve null in babel-types' clone and deepClone.
* Also respect undefined when cloning.
* Updating last test to reflect original test case "[,0]"
2016-11-17 08:52:04 -05:00
Henry Zhu
e6901792a1 pr template [skip ci] 2016-11-17 00:29:45 -05:00
Henry Zhu
b86f618a5a npm downloads [skip ci] 2016-11-16 15:41:58 -05:00
Henry Zhu
754a6ed8c0 v6.19.0 2016-11-16 11:15:30 -05:00
Henry Zhu
ca33c8fa05 v6.19.0 changelog [skip ci] (#4846) 2016-11-16 10:27:28 -05:00
Henry Zhu
54dc01440b add jsonCompatibleStrings option [skip ci] 2016-11-15 16:53:33 -05:00
Henry Zhu
4462d59acd refactor: switch ancestory/descendant logic [skip ci]
- Ref https://github.com/babel/babel/pull/4836#discussion_r88118790 @jridgewell
2016-11-15 16:41:08 -05:00
Boopathi Rajaa
55a47a8819 Add path utilities isAncestor and isDescendant (#4836)
* Add path utilities isAncestor and isDescendant

* Create ancestry.js
2016-11-15 16:36:45 -05:00
Moti Zilberman
f8ddd80f96 Greater spec compliance for class properties (#4544)
* Desugar class properties to Object.defineProperty per spec
* Define uninitialized static class properties with value=undefined
* Make class-properties increased spec compliance opt-in (spec: true)
2016-11-15 16:35:51 -05:00
Juriy Zaytsev
cf3a38fb40 Add jsonCompatibleStrings option to generator (#4827) 2016-11-15 15:03:41 -05:00
Henry Zhu
8475b6ec02 fix lint 2016-11-15 14:51:26 -05:00
Sam Pepose
db85bdc3fc Added flowCommaSeparator option for object types (#3547) 2016-11-15 14:43:42 -05:00
Henry Zhu
6a6ec8785b Start babel-types tests, add isNodesEquivalent (#3553) 2016-11-15 14:24:20 -05:00
Henry Zhu
c36f523737 updated PULL_REQUEST_TEMPLATE [skip ci] (#4844) 2016-11-15 12:08:19 -05:00
Henry Zhu
46b216cfa7 Add toc, team section [skip ci] (#4802) 2016-11-15 12:04:47 -05:00
Richy HBM
c162cfc2f8 Update PR template to close an issue via the PR (#4842) [skip ci] 2016-11-15 11:33:29 -05:00
Henry Zhu
5e0508d57c object rest - fix when destructuring in variables/parameters (#4755)
* object rest - fix when destructuring in variables/parameters

* fixes + ExportNamedDeclaration support

* Account for CatchClause

* support ForXStatement

* support assignment expression? + PR fixes
2016-11-15 11:31:03 -05:00
Shine Wang
5075f3cb6f Bug fix for printing minified literals (#4830)
* Fixed minified literal generator: now prints the shorter of `raw` and `value`.
2016-11-15 10:50:57 -05:00
Boopathi Rajaa
dbc1371ba9 Add clearCache and clearPath as separate APIs under traverse (#4835) 2016-11-15 10:48:59 -05:00
Henry Zhu
d0c884b9d4 Merge pull request #4789 from guybedford/system-dynamic-import
Support import() as contextual import in system module format
2016-11-14 18:00:06 -05:00
Henry Zhu
62ae3c7ee8 Fix system transformer to ensure consistent modules iteration (#4832)
* include test for number specifiers

* use ordered modules array over object properties
2016-11-14 13:17:54 -05:00
lion
862b387ad7 👕 Fix crlf to lf (#4837) 2016-11-13 21:42:08 +01:00
lion
7b8ba2d9ef FIx typo in CHANGELOG.md [skip ci] (#4838) 2016-11-13 21:41:32 +01:00
guybedford
76702a3a57 use ordered modules array over object properties 2016-11-11 17:48:14 +02:00
guybedford
bd251f236b include test for number specifiers 2016-11-11 17:48:13 +02:00
guybedford
d8c83bba52 make syntax-dynamic-import optional 2016-11-11 10:15:31 +02:00
guybedford
d62403753c babel-plugin-syntax-dynamic-import as a dependency of babel-plugin-transform-es2015-modules-systemjs 2016-11-11 09:57:44 +02:00
guybedford
11a2f07692 support import() as contextual import in system module format 2016-11-11 09:57:44 +02:00
Samuel Reed
5678e61c0f fix binding kind of destructured variables. (#4813)
Fixes #4516 and any other code that hoists into a scope
where function params are destructured.
2016-11-08 13:51:54 -05:00
Scott Stern
723ca0eef8 Chore: FLOW command in makefile and logic in .travis.yml(issue#4710). (#4807) 2016-11-04 08:26:45 -04:00
Henry Zhu
b68e9bfba7 v6.18.1-v6.18.2 changelog [skip ci] 2016-11-01 17:39:05 -04:00
Henry Zhu
7b64a9d914 v6.18.2 2016-11-01 17:30:53 -04:00
Henry Zhu
1a974e58d0 v6.18.1 2016-11-01 17:17:16 -04:00
Henry Zhu
9681b530e9 Allow relative paths in babelrc options in options.json (#4797) 2016-11-01 16:58:28 -04:00
Henry Zhu
a21100f6b3 show less packages [skip ci] (#4801) 2016-11-01 09:04:19 -04:00
Henry Zhu
b6647dd9f5 Update eslint, use codeframe formatter (#4796) 2016-10-30 18:53:53 -04:00
Greenkeeper
2b6ff53459 chore(package): update flow-bin to version 0.34.0 (#4792)
https://greenkeeper.io/
2016-10-29 10:15:25 +02:00
Justin Ridgewell
15eeeb6559 Fix line endings (#4793) 2016-10-28 23:44:00 -04:00
Peter Mikula
fad6483aac fixes invalid line offsets in merged sourcemaps 2016-10-28 21:36:40 +03:00
Henry Zhu
e1ac315653 fix readme [skip ci] 2016-10-26 17:34:00 -04:00
Greenkeeper
ec49648038 chore(package): update chai to version 3.5.0 (#4776)
https://greenkeeper.io/
2016-10-25 12:24:25 +02:00
Diogo Franco
35b795ce54 Fix Valid example to be actually valid (#4773)
* Fix Valid example to be actually valid

* Rename 'pluginName' to 'presetName' in the example
2016-10-25 11:27:20 +02:00
Henry Zhu
cfc5d3feae docs [skip ci] 2016-10-24 18:58:30 -04:00
Henry Zhu
46e15d9557 v6.18.0 for babel-runtime [skip ci] 2016-10-24 18:46:56 -04:00
Henry Zhu
a6ea9111a5 v6.18.0 changelog fixes [skip ci] 2016-10-24 17:36:07 -04:00
Henry Zhu
12f9cd0826 v6.18.0 2016-10-24 17:18:36 -04:00
Henry Zhu
aae09a27d6 update readme [skip ci] 2016-10-24 16:04:45 -04:00
Henry Zhu
094096c9b3 v6.18.0 changelog (#4726) [skip ci]
* changelog: emoji for docs [skip ci]

* v6.18.0 changelog [skip ci]
2016-10-24 15:44:46 -04:00
Andrew Levine
555ee0cb51 Don't treat JSXIdentifier in JSXMemberExpression as HTML tag. Closes #4027 (#4765) 2016-10-24 10:42:50 -04:00
Andrew Levine
de46827be7 Handle remapping of JSXIdentifier to MemberExpression in CommonJS transform. Closes #3728 (#4763) 2016-10-24 10:23:43 -04:00
Andrew Levine
7cfe5c13e3 Add TEST_DEBUG env var option for test.sh, to enable node 6 debugger (#4764) 2016-10-23 23:58:25 -04:00
Greenkeeper
905efd1f26 chore(package): update browserify to version 13.1.1 (#4762)
https://greenkeeper.io/
2016-10-24 00:54:41 +02:00
Moti Zilberman
fd4667e649 Increase test coverage (#4742)
* Add tests for path type inferers

* Add test for babel-types.valueToNode

* Add tests for babel-types.toKeyAlias

* Add tests for babel-types.toStatement

* Add tests for babel-types.toExpression

* Lint fixes in babel-traverse/test/inference
2016-10-23 10:51:09 +02:00
Juriy Zaytsev
beda884f41 Make getBinding ignore labels; add Scope#getLabel, Scope#registerLabel (#4758)
* Make getBinding ignore labels; add Scope#getLabel, Scope#registerLabel

* generateUid: account for labels again
2016-10-21 17:19:59 -04:00
Sam Goldman
7bb430aeea Add variance node type and generate property variance annotations (#4697)
* Add variance node type and generate property variance annotations

babel/babylon#161 adds parsing support for property variance
annotations. This PR adds the necessary node type for the new Variance
node and generate support for all the positions where variance can now
appear.

* Variance is no longer a separate node type

This diff also adds tests to class properties and to the
flow-strip-types transform.

* Add test + fix for edge case with variance and class proeprties
2016-10-21 16:05:36 -04:00
Kai Cataldo
7443f9e1c2 Add make command to delete node_modules (#4748) 2016-10-19 07:58:35 -04:00
Henry Zhu
4b3aaae9c0 fixes [skip ci]
Ref https://github.com/babel/babel/issues/4590#issuecomment-254359917
2016-10-17 19:53:29 -04:00
Moti Zilberman
6bc10b5573 Support ObjectExpression in static path evaluation (#4746) 2016-10-17 18:55:02 -04:00
Daniel Tschinder
d9dd32860a Fix replacing for-of if inside label (#4736)
This replaces the label instead of the for-of itself as we already
integrate the label in the replacement nodes.
Fixes #3858
2016-10-17 17:27:13 -04:00
Simen Bekkhus
9c2794dc85 Replace path-exists with fs.existsSync (#4731)
It's not deprecated anymore, see nodejs/node#8364
2016-10-17 14:31:49 -04:00
Moti Zilberman
05bdd4822a Merge pull request #4744 from nhajidin/fix-checkout
Fix line endings on checkout
2016-10-17 18:56:47 +03:00
Brian Ng
dfe896dd54 Avoid unnecessary +0 in transform-es2015-parameters (#4738) 2016-10-17 17:09:55 +02:00
Jordan Gensler
391e5bd813 [import()] Initial support for dynamic-import (#4699)
* [import()] Initial support for function-like import

* [import()] Renaming import-functions to dynamic-import

* [stage-2] Fixing lint error

* add to package.json
2016-10-17 11:02:00 -04:00
Nazim Hajidin
71e0e00bfe Fix line endings on checkout 2016-10-17 10:51:49 -04:00
Moti Zilberman
b8eeddf960 Automatically generate missing expected.js fixtures (#4735)
This is much like Babylon's existing behavior around `expected.json`. The equivalent of babel/babylon#188 is already applied here, to guard against silent failure (and a potential false positive) if a test is accidentally committed without its expected.js.
2016-10-17 16:39:32 +02:00
Brian Ng
478bba0ade Fix few typos in issue/pr templates (#4739) [skip ci] 2016-10-17 00:20:24 -04:00
Richard Macklin
6ec93d782b Extract resolveFromPossibleNames to remove duplicated logic
"DRY"s the duplicated algorithm in resolvePlugin and resolvePreset
2016-10-16 11:18:43 -07:00
Richard Macklin
4ea1007645 Remove unneeded tests
Previously these were testing the logic that is now encapsulated in
getPossiblePresetNames and tested in a unit test
2016-10-16 11:07:16 -07:00
Richard Macklin
e24f07dfda Extract resolvePreset method to babel-core public API
This encapsulates the logic for turning an acceptable preset name into
the absolute path for that preset. It can be used to preprocess a
presets list to map each preset to its absolute path, which is necessary
if `babel.transform` is going to be executed on a file outside the
directory subtree where the presets are installed.

This adds a getPossiblePresetNames helper encapsulating the logic for
what preset names we should try to resolve, and the resolvePreset method
just calls this helper and actually resolves them.
2016-10-16 11:06:47 -07:00
Richard Macklin
f4389a1886 Extract resolvePlugin method to babel-core public API
This encapsulates the logic for turning an acceptable plugin name into
the absolute path for that plugin. It can be used to preprocess a
plugins list to map each plugin to its absolute path, which is necessary
if `babel.transform` is going to be executed on a file outside the
directory subtree where the plugins are installed.

This adds a getPossiblePluginNames helper encapsulating the logic for
what plugin names we should try to resolve, and the resolvePlugin method
just calls this helper and actually resolves them.
2016-10-16 10:52:13 -07:00
Henry Zhu
2dc919d4c6 contributing updates [skip ci] 2016-10-15 19:27:24 -04:00
Henry Zhu
9299921d07 increase git depth [skip ci] 2016-10-15 18:52:14 -04:00
Andrew Levine
9f8ab29213 Change usage of "suite"/"test" in unit-tests to "describe"/"it" (#4734)
Fixes #4733
2016-10-15 18:45:35 -04:00
Andrew Levine
c0038221d7 Run ESLint on test files, and fix lint errors in test files (#4732) 2016-10-15 18:27:48 -04:00
Moti Zilberman
fd218abffb Add .gitattributes forcing LF line endings (#4730) 2016-10-15 10:29:12 -04:00
Moti Zilberman
76de1cc8a4 Update tests for changed error messages in Babylon (#4727)
Depends on babel/babylon#172.
2016-10-14 16:25:56 -04:00
Moti Zilberman
2827d660fc Make special case for class property initializers in shadow-functions (#4502) 2016-10-14 15:21:11 -04:00
Brian Ng
fde16f10fa Add useBuiltIns option to helper-builder-react-jsx (#4655) 2016-10-14 21:18:39 +02:00
Sam Goldman
15183078e6 Add EmptyTypeAnnotation (#4724)
Added to Flow in facebook/flow#c603505583993aa953904005f91c350f4b65d6bd
Parser support added in babel/babylon#171.
2016-10-14 15:16:02 -04:00
Kai Cataldo
50baac3251 Remove babel-doctor from babel-cli (#4725)
* Remove babel-doctor from babel-cli

fixes #4678

* Throw when babel-doctor is used
2016-10-14 14:49:16 -04:00
Jamesernator
dc4140dc5f Fixed incorrect compilation of async iterator methods (#4719) 2016-10-14 14:38:57 -04:00
Moti Zilberman
9fc51d6292 Consolidate contiguous var declarations in destructuring transform (#4690)
* Consolidate contiguous var declarations in destructuring transform

Fixes #3081.

* Simplify var node coalescing in es2015-destructuring

* Revert "Simplify var node coalescing in es2015-destructuring"

This reverts commit 15cb373f0726f68225f7080a7ae206a63af174ee.

* More careful condition for var coalescing in es2015-destructuring
2016-10-14 11:51:22 -04:00
Henry Zhu
71790aace0 update eslint-config, fixes, add commands (#4721)
* update eslint-config, fixes, add commands

* switch plugin
2016-10-13 21:37:07 +02:00
Henry Zhu
09f135f9a1 fix spacing [skip ci] 2016-10-12 11:33:03 -04:00
Henry Zhu
668428097c add deprecated in readme for class-constructor-call [skip ci] 2016-10-12 10:17:19 -04:00
Henry Zhu
ccff8fa286 add deprecated in readme for class-constructor-call [skip ci] 2016-10-12 10:17:03 -04:00
Henry Zhu
9a979b5618 add deprecated description for class-constructor-call [skip ci] 2016-10-12 10:16:43 -04:00
Flavio Corpa
9b02a6d298 Add missing description to all package.json files (#4703) [skip ci] 2016-10-12 10:15:50 -04:00
Henry Zhu
9c7d8c4cad update phab links explanation [skip ci] 2016-10-12 08:45:52 -04:00
Daniel Tschinder
1dca51f8ab Enable babel for tests (#4564)
* Enable babel for tests

This enables babel for tests by using a mocha compiler
It uses the babel config from package.json
Transformed OptionsManager test to es2015 to see if it works
Removed the 5s timeout from cli tests, as the default timeout is already 10s, this should probably fix the timouts on travis that we had in babylon
Also run the cli tests on travis, they were disabled if istanbul active, but istanbul is always active on travis so we were never running this tests.

* ignore scripts directory

* only register for tests

* Set only flag correctly
2016-10-12 10:56:50 +02:00
Eric Rozell
c2387f0444 fix(shouldIgnore): filename normalization should be platform sensitive (#4631)
* fix(shouldIgnore): filename normalization should be platform sensitive

shouldIgnore normalizes the path of the filename prior to running any "only" regexes or functions. The normalization uses "slash", which has some undesirable special cases for non-ASCII characters and longer paths. Changing the normalization behavior to always replace path separators.

There is no real need to add additional tests, because the tests are not run in an environment where path.sep !== '/'.

* Minor style fix to use double quotes.

* Remove conditional for regex replace to keep consistent behavior.

* whitespace [skip ci]
2016-10-11 16:02:50 -04:00
Kai Cataldo
27ee74ea14 Better error messaging when preset options are given without a corresponding preset (#4685) 2016-10-11 16:56:53 +02:00
Daniel Tschinder
760bbd6014 🚀 Update home-or-tmp to version 2.0.0 (#4660) 2016-10-07 16:48:45 -04:00
Brian Ng
0aa3ac2bb5 Update babel parser options (#4688)
* Update babel parser options
2016-10-07 14:30:47 -04:00
Dan Harper
33eb56ab09 fix error when constructor default arg refers to own static property or self (#4666)
(closes #4253)
(closes #4442)
2016-10-05 17:52:42 -04:00
Gyandeep Singh
6cfd3d91b2 Update: Eslint to 3.0 and update CI builds (fixes #4638) (#4680) 2016-10-05 17:44:25 -04:00
Moti Zilberman
0366d1ad19 Handle side effects correctly in rest params index expressions (#4348) (#4674) 2016-10-05 21:59:41 +02:00
Moti Zilberman
7a7704fea0 Fix block scoping transform for declarations in labeled statements (#4669)
* Fix block scoping transform for declarations in labeled statements (#4122)

* DRY block-scoping
2016-10-05 21:47:21 +02:00
Moti Zilberman
a62905c61d Remove travis short-circuit script (#4676) 2016-10-05 11:27:55 -04:00
Moti Zilberman
12d2673038 Add test for rest params name collision with top-level name (#4333) (#4673) 2016-10-05 10:15:04 -04:00
Daniel Tschinder
a15f992feb 🚀 Update fs-readdir-recursive to 1.0.0 (#4662)
* 🚀 Update fs-readdir-recursive to 1.0.0

* Revert chalk change
2016-10-05 09:57:02 -04:00
Daniel Tschinder
6d863baef8 🚀 Update chai to version 3.0.0 (#4664) 2016-10-05 09:56:26 -04:00
Sebastiaan Deckers
7977c9249e Babel API example (#4675) [skip ci]
Just a minor fix. I'm new to Babel's API and this tripped me up. Seems like it happened to others before (e.g. #2859). Guessing this came from an earlier `var babel = require('babel-core')` which does work.
2016-10-05 09:50:11 -04:00
Moti Zilberman
f5b5d8f337 Avoid repeating impure (template) literals when desugaring **= (#4403) (#4672) 2016-10-05 11:10:12 +02:00
Dan Harper
9e17aaf043 retain return types on ObjectMethods in transform-es2015-shorthand-properties (#4670) 2016-10-04 21:32:43 -04:00
Henry Zhu
9e6ac7b693 typo [skip ci] 2016-10-04 20:56:05 -04:00
Henry Zhu
338e6364a3 update pkgs [skip ci]
- remove babili pkgs
- remove deprecated (class constructor)
- add new
2016-10-04 20:53:54 -04:00
Dan Harper
7f772e94ce retain method return types on transform-es2015-classes (closes #4665) (#4668) 2016-10-04 18:22:29 -04:00
Daniel Tschinder
fc54264f70 update json5 to version 0.5.0 (#4649) 2016-10-04 08:32:32 -04:00
Daniel Tschinder
2dcee25d37 Exclude super from being assign (#4642)
Assigning of super is not allowed `var ref = super;` This fix adds an exception into
the explode helper so that super stays untouched and does not get assigned.
2016-10-03 21:04:26 -04:00
Daniel Tschinder
ab3cff7cc3 Update detect-indent to version 4.0.0 (#4652) 2016-10-03 21:02:03 -04:00
Daniel Tschinder
3a69b8a252 Update globals to version 9.0.0 (#4651) 2016-10-03 21:01:06 -04:00
Daniel Tschinder
e0dbb1e770 Inline shebang-regex (#4650) 2016-10-03 20:58:26 -04:00
sugargreenbean
c57e0e88a5 changed bool to boolean as well as updated tests (#4646) 2016-10-03 19:31:56 -04:00
Gyandeep Singh
cc86799151 Docs: Fix babel-plugin-transform-async-generator-functions heading (#4656) [skip ci] 2016-10-03 18:16:40 -04:00
Brian Ng
9eb99dec9f Tweak license for GitHub display (#4653) 2016-10-03 16:17:16 -04:00
Henry Zhu
7ed15e298a mention issues [skip ci] 2016-10-03 15:03:36 -04:00
Daniel Tschinder
5de1feac1d Fix README 2016-10-03 00:46:49 +02:00
Henry Zhu
e50b3c890f v6.17.0 2016-10-01 15:23:18 -04:00
Henry Zhu
fc3912217f v6.17.0 changelog [skip ci] (#4637) 2016-10-01 15:10:24 -04:00
Henry Zhu
6afbacbdf7 Add emoji to changelog label/headings [skip ci] 2016-10-01 14:24:41 -04:00
Daniel Tschinder
5a8070a397 Forward bound shadowed function when hoisting identifiers (#4635)
This change ensures that when hoisting an identifier we do not hoist it up to
the first no shadowed function, but rather up to the bound shadowed function
2016-10-01 13:24:12 -04:00
Bruno Jouhier
f9ccee9d83 fixed babel/babel#4632 - missing parentheses around yield expression … (#4633)
* fixed babel/babel#4632 - missing parentheses around yield expression in conditional test

* babel/babel#4632 - added test
2016-10-01 12:58:59 -04:00
Daniel Tschinder
16716ea3de Fix rest parameters with flow type casting (#4636)
Do not skip TypeCastExpressions when finding referenced identifiers as the
type cast contains valid non flow code that we need to visit.
2016-10-01 12:58:14 -04:00
Henry Zhu
fe2b9d73ed update .PHONY [skip ci] 2016-10-01 11:15:23 -04:00
Dan Harper
0e02a18216 fix regression in transform-flow-comments for class properties (#4623) 2016-10-01 00:56:09 -04:00
Daniel Tschinder
46339463bd Resolve presets with named exports correctly (#4620) 2016-09-30 18:27:40 -04:00
Henry Zhu
78b2763e78 transform-async-generator: use babel-runtime 6 (#4626) 2016-09-30 18:26:46 -04:00
Juriy Zaytsev
1d728750c9 Add retainFunctionParens option (#4621)
* Add retainParens option

* Add doc, remove option

* Add negation test

* Make sure parens are not added

* Change name

* Change dir name
2016-09-30 18:05:33 -04:00
Henry Zhu
6f363b60bb Move async-generators to stage-3 (#4617) 2016-09-30 17:29:18 -04:00
Greenkeeper
949febbcf0 chore(package): update flow-bin to version 0.33.0 (#4614)
https://greenkeeper.io/
2016-09-30 10:21:43 +02:00
Henry Zhu
159779d582 Merge pull request #4611 from babel/async-gen-stg-2
Async gen stg 2
2016-09-29 15:41:47 -04:00
Henry Zhu
efa0affea1 move object-rest-spread to stage-3 2016-09-29 15:26:47 -04:00
Henry Zhu
0ab904e2d9 Add transform-async-generator-functions to stage-2 2016-09-29 15:24:58 -04:00
Henry Zhu
37419b44b9 v6.16.3 2016-09-29 11:46:53 -04:00
Joakim
aa0aada8ad Forcing source-map-support module into node environment, so its not tricked by jsdom (#4607) 2016-09-29 17:01:31 +02:00
Henry Zhu
6abc28e532 update types readme [skip ci] 2016-09-29 08:47:24 -04:00
Henry Zhu
b3e04da882 v6.16.2 2016-09-29 08:46:45 -04:00
Daniel Tschinder
5a1984aa41 make babel-helper-remap-async-to-generator bc with babel 6.15 and lower (#4603) 2016-09-29 08:14:39 -04:00
Dan Harper
682e9658c9 Fix bodyless async functions (#4600)
* fix bodyless async functions (#4599)

* Do the same in the async-generator-functions transform
2016-09-29 12:01:37 +02:00
Henry Zhu
6d82ee297e fix link [skip ci] 2016-09-28 18:29:03 -04:00
Henry Zhu
08c0557b26 v6.16.1 2016-09-28 17:25:12 -04:00
Henry Zhu
64cdbf7ca0 Add back babel-runtime (#4591) 2016-09-28 17:21:36 -04:00
Henry Zhu
6d22f258db v6.16.0 2016-09-28 15:38:45 -04:00
Henry Zhu
4f2637e1ec v6.16.0 changelog [skip ci] (#4545)
* v6.16.0 changelog [skip ci]

* Small fixes

* Typo 🙈
2016-09-28 13:49:02 -04:00
Dan Harper
8709899b42 fix flow-strip-types/flow-comments removing entire ClassProperty (#4587) 2016-09-28 18:25:33 +02:00
Henry Zhu
5ea57d5e9c fix tests and add exec test 2016-09-27 17:37:21 -04:00
zenparsing
26e79c5433 Implement support for async generator functions and for-await statements 2016-09-27 17:37:21 -04:00
Simon Lydell
bf0e256c3a babel-code-frame: Highlight strings with green (not red) (#4579)
- Red makes it look like something is wrong with the string.
- On Ubuntu-based systems, it looks kinda broken.
- The error markers (`>` and `^`) as well as invalid tokens are already
  marked with red. By not having strings red, the most important
  information -- the error location -- is more visible.

This is a continuation of commit fa1de5ce (PR #4572).
2016-09-27 15:35:17 -04:00
Simon Lydell
e40aad53a4 Improve syntax highlighting colors (#4572)
- Highlight the error location markers in bold red.
- Dim the line number gutter with grey.
- Don't highlight brackets. Few editor color schemes do.
- Add JSX tag highlighting.
- Don't highlight punctuators with bold. That looks bad on Ubuntu based
  systems. Instead, highlight them the same way as JSX tags, which
  results in really nice JSX highlighting.
- Highlight capitalized variable names.
- Make invalid tokens stand out with a red background.
2016-09-27 11:10:51 -04:00
Henry Zhu
b2eb5eca6f babel-core: add options for different parser/generator (#3561)
* babel-core: add options for different parser/generator

* test for experiemental plugins, other babylon options

* fix passing options into parser

* Fix when no code is provided

* fixup tests

* fix tests again

* use filename and fallback to cwd
2016-09-27 09:09:31 -04:00
Maxime Thirouin
90f3f9049f babel-register: update source-map-support to latest (#4577)
This allows in some case when you use other modules that use this source-map-support lib to get only a single version at the root of node_modules. For example, this can prevent issues when requiring using webpack Banner plugin (compiled code is not always requiring dependencies as you would expect).
2016-09-27 14:55:35 +02:00
Daniel Tschinder
50d2c5e930 Update CONTRIBUTING.md 2016-09-27 10:46:03 +02:00
Henry Zhu
afbe3997a8 babel-code-frame: add options for linesBefore, linesAfter (#4561)
* babel-code-frame: add options for linesBefore, linesAfter

* add example, use list of keywords

* a [skip ci]

* Update index.js
2016-09-26 16:12:35 -04:00
Moti Zilberman
03d772c2ec Computed class properties (#4500)
* Support computed class property names (#4499)

** Depends on babel/babylon#121 **

* `babel-types`: Add `computed` field to `ClassProperty`

* `babel-plugin-transform-class-properties`: handle computed property names correctly

* `babel-generator`: add tests for class properties (computed/literal, static/instance)

* doc: Update babel-types with ClassProperty.computed

* chore(package): update babylon to v6.11.0

* babel-types: move ClassProperty.computed to be last builder arg
2016-09-26 17:46:00 +02:00
Micha Reiser
a81a0d0f84 Fix fileName options passed to babylon (#4570)
The filename options used by babylon is called `sourceFilename` and not `filename`. Therefore the option should be adjusted to be called `sourceFilename`.
2016-09-26 16:31:05 +02:00
Henry Zhu
fc2b3cb465 Fixes T2299: Prevent REPL from printing implicit 'use strict' (#4562)
* Fixes T2299: Prevent REPL from printing implicit 'use strict'

* Test for T2299

* make fixes
2016-09-25 23:29:37 -04:00
Daniel Tschinder
702259d483 Only exit if the TRAVIS_COMMIT_RANGE is not empty (#4565) 2016-09-25 23:29:13 -04:00
Logan Smyth
819cde936c Merge pull request #4511 from motiz88/fix-4462
Fix UpdateExpression handling in es2015-modules-commonjs, resolve #4462
2016-09-25 14:16:53 -07:00
Justin Ridgewell
c2ed9de7fb Flip default parameter template (#4515)
* Flip default parameter template

YMMV, I saved ~10b on a 2kb library. Not noticeable at the small scale, by why not do it anyway?

I've (unscientifically) found that flipping the default parameter conditional yields better gzip results. I think this is due to the slightly longer string it can now repeatedly match:

```js
// old
var param = arguments.length <= 0 || void 0 === arguments[0] ? null : arguments[0]
--------------------------------------------------------------^

// new
var param = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null
------------------------------------------------------------------------^
```

Though it's entirely likely gzip will also choose up to the index of the arguments if you many default parameters at different indexes.

* Update tests
2016-09-25 14:05:53 -07:00
Logan Smyth
08b45ca853 Merge pull request #4534 from BoomTownROI/master
Fix issue with minified libraries and code coverage
2016-09-25 13:59:43 -07:00
Kay J
4dcc981d6a Removed unnecessary 'return' statements. (#3653)
* Removed unnecessary 'return' statements.

Returning a 'Promise' value in 'promise.then()' makes promise chains.
Used memory and promises are not garbage collected
until finishing 'helpers.asyncToGenerator'.

* Update test
2016-09-25 13:57:59 -07:00
Logan Smyth
66a4aec1f9 Merge pull request #4566 from loganfsmyth/fix-3695
Allow presets to be ES6 default exports.
2016-09-25 12:52:42 -07:00
Justin Johansson
bae59470da Upgraded all babel-preset-xxxs but babel-preset-es2015 to export syntax 2016-09-25 12:27:32 -07:00
Logan Smyth
ef794198e9 Allow presets to be ES6 exports. 2016-09-25 11:41:43 -07:00
Justin Johansson
e16a1657ab Align all babel-preset-xxx packages dir structures with status quo 2016-09-25 11:41:43 -07:00
Daniel Tschinder
c2d2702cf9 Fix destructuring evaluation with call expressions (#4552)
* Fix destructuring evaluation with call expressions

Do not optimize destructions with callExpressions, as the call
might change the value of a variable that we are assigning to.

Fixes #4054

* Also deopt on member expressions

members expressions might be getters who have side effects
2016-09-24 19:08:53 -04:00
Daniel Tschinder
a83262026f Remove unused dependency babel-register (#4560) 2016-09-24 11:46:08 -04:00
Henry Zhu
ca7c48ff28 fix travis docs check (#4556) 2016-09-24 10:11:52 -04:00
Daniel Tschinder
d6f4d85284 Do not include babel-register in every test (#3669)
This is not necessary
2016-09-24 14:51:01 +02:00
Henry Zhu
d7533e899f Internal: cancel build with only .md changes (#4547) 2016-09-22 17:59:47 -04:00
Kai Cataldo
1db8c02d05 Remove duplicate default error (#4543)
* Revert "Throw error for multiple exports default (#3518)"

This reverts commit aa51dd4a3d.

* Fix export default tests
2016-09-22 12:00:18 -04:00
Henry Zhu
c07919bc9b Add support for preset organization shortcuts (#4542)
* add support for @org shortcats, fixes #4362

* add shortcut test

* fixes
2016-09-21 16:44:13 -04:00
Kai Cataldo
f3a6e4b0ae Fix tests with duplicate named exports (#4538)
* Fix babel-plugin-transform-flow-strip-types tests

* Fix babel-plugin-transform-es2015-modules-umd tests

* Fix babel-generator tests

* Fix babel-plugin-transform-es2015-modules-systemjs tests

* Fix babel-plugin-transform-es2015-modules-commonjs tests

* Fix babel-plugin-transform-es2015-modules-amd tests
2016-09-21 10:52:59 +02:00
Henry Zhu
a793107bf3 fix lint 2016-09-20 14:04:15 -04:00
Logan Smyth
46eb99b18b Use the real sourcemap API and handle input sourcemaps - fixes T7259 (#3456) 2016-09-20 13:39:01 -04:00
Alberto Piai
8f6d4ae5cf Fix typeof Symbol.prototype (#3686)
* formatting

* fix `typeof Symbol.prototype`

Babel uses a helper function to return the correct value for `typeof
obj` when obj is a Symbol and support for Symbol has been polyfilled.

This function assumes that `obj.constructor === Symbol` implies `typeof
obj === 'symbol'`.

This isn't true when obj is `Symbol.prototype`. In that case (REPL from
node 6, the same holds in Firefox):

```
> Symbol.prototype.constructor === Symbol
true
> typeof Symbol.prototype
'object'
>
```

AFAICS, that's the only case where the assumption doesn't hold.

The test added by this patch fails only on node 0.10, as 0.12 already
has a native implementation of Symbol and the polyfill code doesn't run.

This caused a problem in core-js when it's compiled with babel (the
issue was isolated by @skozin here:
https://github.com/zloirock/core-js/issues/189#issuecomment-209864582).
2016-09-20 12:19:09 -04:00
Basil Hosmer
cb4b2b0744 flow plugin: generate exact object type annotations (#3702) 2016-09-20 11:10:55 +02:00
Dan Harper
fa7321f978 add tests for other module formats, from #4524 (#4532) 2016-09-20 11:04:07 +02:00
Dan Harper
f859830e54 Fix: export default arrows with function naming (#4524) 2016-09-19 21:58:37 -04:00
Rob Landers
c5504c4807 Update context.js
Fix queue size
2016-09-19 15:12:33 -04:00
Moti Zilberman
e64d86c1eb If loading a preset fails, show its name/path (#4506) (#4517) 2016-09-17 23:01:08 -04:00
Daniel Tschinder
cbbc1c7333 fix default exported classes without a name (#4518)
* fix default exported classes without a name

This correctly requeues class without name so the es3 transform can
transform the default keyword.

* Replace phabricator issue number with github
2016-09-17 22:50:54 -04:00
Daniel Tschinder
590ad4d24f Replace phabricator tickets with github ones in code comments (#4519) 2016-09-17 22:50:02 -04:00
Brian Donovan
ec34e5acc7 Remove unused thisReference argument to getSuperProperty. (#4520) 2016-09-17 22:47:52 -04:00
Daniel Tschinder
1fce4cb42a Fix striping of typeParameters from arrow functions (#4521)
the typeParameters field was missing in the visitors and therefore
never visited by babel-traverse

Fixes #4483
2016-09-17 22:46:45 -04:00
Moti Zilberman
43e0cfb08d Fix UpdateExpression handling in es2015-modules-commonjs, resolve #4462 2016-09-13 19:06:52 +03:00
Daniel Tschinder
de975b9660 Use plain js to do the pre/postpublish for the polyfill (#3694)
* Use plain js to do the pre/postpublish for the polyfill

* remove dist on clean [skip ci]
2016-09-13 09:09:11 -04:00
Daniel Tschinder
ff78fb19f7 Only set options in cli if different from default (#4507)
* CLI: Only set options if different from default 

Currently default values (like comments: true) will be set always for the transform.
This behaviour dos not allow for setting this options from babelrc as the default would always have precedence.

* Add new tests for comments
Also ensure that the babelrc in the fixture folder is copied over to the
working directory during tests
2016-09-13 08:25:08 -04:00
Daniel Tschinder
993f887240 Test for ignore with starting slash (#4509) 2016-09-12 22:48:06 +02:00
Andy Kant
5e9e659a7f Support custom ports for V8 Inspector (#4508) 2016-09-12 21:00:02 +02:00
Dan Harper
41f2bbc104 Flow: Fix generating arrow functions with param (#4504)
* transform-flow-comments, single arrow param support #4503

* further tests for printing single arrow func param flow code

* cleanup
2016-09-12 08:27:49 -04:00
Timothy Gu
5249b9d809 Remove ES2015 tests than do not parse in ES2016 (#4501)
These tests are originally from Traceur, which does not fully support
ES2016.

See babel/babylon#106 for a rationale why these code blocks are not
valid ES2016.
2016-09-11 21:58:38 -04:00
Henry Zhu
d2d34ba8e7 object rest spread useBuiltIns option (#4491)
* feat(transform-object-rest-spread): add polyfill=false option to avoid extends helper

* object-rest-spread: add useBuiltIns option

* add test for invalid option
2016-09-09 18:38:50 -04:00
Henry Zhu
3d93a2ab9c circle.yml: use later version of 0.10 2016-09-09 18:38:02 -04:00
Henry Zhu
7041e0b46f add example of a test that requires throwing an error [skip ci] 2016-09-09 18:09:52 -04:00
Mathias Bynens
b9919bdc48 babel-generator: Ensure ASCII-safe output for string literals (#4478)
Ref. #4477.
2016-09-08 18:04:52 -04:00
Henry Zhu
e5b9c92d3d mention the redirect url [skip ci] 2016-09-08 12:08:44 -04:00
Henry Zhu
2b4e49dd64 Docs: github issues [skip ci] 2016-09-07 17:14:55 -04:00
Daniel Tschinder
a1b46f1640 Issue and PR templates (#3690) [skip ci]
* Create PULL_REQUEST_TEMPLATE.md

* Create ISSUE_TEMPLATE.md

* Use label names in PR template

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md
2016-09-07 16:37:49 -04:00
Henry Zhu
1445dadb23 Remove unused regenerator deps (#3703) 2016-09-07 11:24:57 -04:00
Daniel Tschinder
71dff8c834 Allow overwritting of sourceRoot (#3685)
Also replaces lodash/extend with Object.assign
2016-09-03 12:12:34 -04:00
Greenkeeper
460714b126 chore(package): update flow-bin to version 0.32.0 (#3697) [skip ci]
https://greenkeeper.io/
2016-09-03 12:04:01 -04:00
Henry Zhu
e5961592c4 babel-code-frame: babel-runtime not necessary (#3699) 2016-09-03 12:03:34 -04:00
Howard Yeh
32232dd30e Watch mode should wait for file change. (T7411) 2016-09-03 16:33:22 +08:00
Bo Borgerson
8f790ceeed Satisfy the "space-infix-ops" eslint rule (#3696)
Future proofing against https://github.com/babel/eslint-config-babel/pull/1.

Only one violation, even without enforcement!
2016-09-02 18:50:03 -04:00
Henry Zhu
d81e154aca remove kcheck, unused devDeps (#3693)
remove unused packages (devDeps)
2016-09-02 08:44:39 -04:00
Greenkeeper
2664c1658d chore(package): update shelljs to version 0.7.4 (#3681)
https://greenkeeper.io/
2016-09-01 23:56:35 +02:00
Henry Zhu
6d7417ba1b Update babel-types docs, contributing, babel-cli [skip ci]
Closes gh-3684
2016-09-01 16:15:32 -04:00
Henry Zhu
b3dca4fb5a v6.15.0 2016-09-01 11:03:06 -04:00
Henry Zhu
13d76e98d6 v6.15.0 changelog [skip ci] (#3691)
* v6.15.0 changelog [skip ci]

* add [skip ci]

* add [skip ci]
2016-09-01 10:54:41 -04:00
Ben Briggs
c94abcc170 Add support for preserving comments in babel-template. (#3689)
* Add support for preserving comments in babel-template.

* Add an API section to babel-template.
2016-09-01 10:50:25 -04:00
Ryan Biwer
23ea626241 Fix block scope remapping (fixes T7525) (#3662) 2016-09-01 10:48:32 -04:00
Boopathi Rajaa
953dd1df48 Fix toExpression converting arrow functions to function expressions without block body (#3687) 2016-08-31 17:01:59 -04:00
Henry Zhu
174e44f656 fix broken test from old PR 2016-08-31 14:55:38 -04:00
Boopathi Rajaa
477a72a975 Fix bug undefined reference for export declaration (#3629)
+ (Fix https://phabricator.babeljs.io/T7534)
+ Export declaration class/function/var ids now add the export
declaration path as the referenced one.
2016-08-31 14:42:33 -04:00
Stanislav Sysoev
33da726638 Not null check in babel-helper-builder-binary-assignment-operator-visitor (#3647)
Fix: T7537 — https://phabricator.babeljs.io/T7537

When transforming super call in class constructor, part of ast is replaced using method "replaceWithMultiple" here:
https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-es2015-classes/src/vanilla.js#L379

It leads to removing the node (replacing it with null) here:
https://github.com/babel/babel/blob/master/packages/babel-traverse/src/path/replacement.js#L51

But parent ExpressionsStatement is still untouched and when it reaches visitor generated in here
https://github.com/babel/babel/blob/master/packages/babel-helper-builder-binary-assignment-operator-visitor/src/index.js#L18

It blows up because expression is null from previous visitors.
2016-08-31 14:41:49 -04:00
Dan Abramov
4ac0df00f1 Add an option for custom runtime (#3612) 2016-08-31 13:59:43 -04:00
Logan Smyth
288e956699 Merge pull request #3676 from loganfsmyth/non-circular-types
Remove the cycle from babel-types/babel-traverse.
2016-08-31 10:20:41 -07:00
Logan Smyth
a0ca5ed61e Remove the cycle from babel-types/babel-traverse. 2016-08-29 19:13:19 -07:00
Henry Zhu
b871a49e3a fix link [skip ci] 2016-08-25 14:38:28 -06:00
Diogo Franco
cd6130116d Mention how arrow functions' spec uses .bind (#3679) 2016-08-24 20:32:51 -06:00
Henry Zhu
5ce325c399 v6.14.0 2016-08-24 17:40:46 -06:00
Henry Zhu
f834a24b50 Add v6.14.0 changelog [skip ci] (#3677)
* Add v6.14.0 changelog [skip ci]

* fixes [skip ci]
2016-08-24 18:05:47 -05:00
Henry Zhu
ee1eb59077 Latest tests (#3674)
* add preset-latest tests

* test for es2015-preset spec option
2016-08-23 18:29:40 -04:00
Daniel Tschinder
10cd6519d8 Fix class inheritance in IE <=10 (T3041) (#3527)
* Fix class inheritance in IE9 & IE10 (T3041)

Internet Explorer 9&10 do not support __proto__ at all, don't have
Object.setPrototypeOf(), but have Object.getPrototypeOf().

Because of this setting the prototype is not possible, which makes the
babelHelpers.inherits() function to set __proto__ although not supported.

Afterwards Object.getPrototypeOf() is used, but this one is not
respecting the "custom" property __proto__ that we set.

The solution is to check for __proto__ first and afterwards fallback to
Object.getPrototypeOf().

* Do the same logic in babel-helper-replace-supers

* Fix tests

* Extract creation of prototype nodes to small helper
2016-08-23 15:08:44 -04:00
Thomas Aylott
2a4186faf3 Fixes #6726 ignore config option (#3644)
https://phabricator.babeljs.io/T6726
2016-08-23 14:55:37 -04:00
Diogo Franco
53ed4e5eb8 Support 'spec' option on babel-preset-es2015 (#3671)
Allows enabling the spec options in the couple of presets that have it.

Generally enables a slower, but more correct codepath.
2016-08-23 14:28:19 -04:00
Henry Zhu
3bf479789d add options to babel-preset-latest (#3673) 2016-08-23 14:27:43 -04:00
Diogo Franco
1e6257bdcb Fixes modules test to actually test modules (#3672)
* Fixes modules test to actually test modules

It is a mystery how these tests ever passed before.

* Correct test -> suite
2016-08-23 14:06:02 -04:00
Sota Yamashtia
3d0ef3a001 Create preset babel-preset-latest (#3625) 2016-08-23 11:07:23 -04:00
Henry Zhu
20551cf729 Docs: add babel-preset-es2017, change version [skip ci] 2016-08-23 09:32:30 -04:00
Sota Yamashtia
68d7032e0f Add es2017-preset (#3624) 2016-08-23 09:29:38 -04:00
Daniel Tschinder
b06eed30c3 Ensure correct version of babel installed for preset options (#3668) 2016-08-22 08:49:56 -04:00
Greenkeeper
0a8fc15169 chore(package): update istanbul to version 0.4.5 (#3666)
https://greenkeeper.io/
2016-08-22 11:27:17 +02:00
Guy Bedford
de2791a696 ensure consistent expression value for post-assignment unary expressions (#3650) 2016-08-20 12:21:17 -04:00
Paul O’Shannessy
55f37a1b1e Use arrow syntax for ObjectTypeProperty FunctionTypeAnnotations (#3663)
This fixes an issue where optional properties would get transformed to
an invalid syntax. The easiest solution was to make all FunctionTypes
get transformed to the arrow syntax (previously everything went the
other way).
2016-08-20 10:37:56 -04:00
Sebastian McKenzie
07b3dc18a0 Add wrapPluginVisitorMethod option to allow introspection and metrics tracking of plugins (#3659) 2016-08-20 10:36:52 -04:00
Daniel Tschinder
ea69362249 set sourceRoot in babel-register transform (#3608) 2016-08-18 22:42:57 +02:00
Adam Leventhal
0d1e1ee10c incorrect handling of returns nested in switch cases (#3618) 2016-08-18 10:14:07 -04:00
Boopathi Rajaa
183d9570f9 Fix bug where redeclaration of var doesn't deopt (#3559)
* Fix bug where redeclaration of var doesn't deopt. (Close T7470)

* [evaluate] Add tests for cases - let/const/different scopes
2016-08-17 19:23:09 -04:00
Sebastian McKenzie
4a19661346 Generate names field for identifiers to get correct names mappings (#3658) 2016-08-16 13:43:55 -04:00
Kai Cataldo
aa51dd4a3d Throw error for multiple exports default (#3518)
Fixes https://phabricator.babeljs.io/T7242
2016-08-16 13:21:00 -04:00
Daniel Tschinder
308de41992 Add support for the new declare module.exports of flow. (#3570) 2016-08-16 16:54:00 +02:00
Logan Smyth
2aaee8b8d4 Strip flow-only class props without needing transform-class-properties. (#3655) 2016-08-16 10:30:04 -04:00
Henry Zhu
043da1a26a Revert "Revert "Use es2015 loose mode after publish (#3639)"" (#3645)
This reverts commit a2d66c0fc8.
2016-08-16 16:28:05 +02:00
Henry Zhu
090f8cd10f Internal: remove comments (#3657) 2016-08-15 11:40:10 -04:00
Jordan Scales
ca27cf135d Revert "Merge pull request #3641 from babel/guy-fieri" (#3646)
This reverts commit 033681af89, reversing
changes made to a2d66c0fc8.

I brought you into this world, and I can take you out.
2016-08-15 11:35:39 -04:00
Marcelo Jorge Vieira
a61596472a Fixed typo in README.md (#3651)
Replaced 'seperate' with 'separate'
2016-08-12 10:39:00 +02:00
Sebastian McKenzie
033681af89 Merge pull request #3641 from babel/guy-fieri
Fix exports of babel-core
2016-08-09 10:52:26 +10:00
James Kyle
10f4546fef Remove unnecessary import 2016-08-08 17:34:01 -07:00
James Kyle
f36d07d303 Fixes from PR comments 2016-08-08 17:32:58 -07:00
James Kyle
a2d66c0fc8 Revert "Use es2015 loose mode after publish (#3639)"
This reverts commit 154922c0f7.
2016-08-06 12:33:07 -07:00
James Kyle
9eb12e2c34 Fix lint 2016-08-05 12:40:50 -07:00
James Kyle
fd89bd136f Fix exports of babel-core 2016-08-05 12:36:08 -07:00
Henry Zhu
154922c0f7 Use es2015 loose mode after publish (#3639) 2016-08-05 10:23:45 -04:00
Brian Donovan
a1c0b5a118 Update test name to reflect reality. (#3640)
Originally pointed out by @Kovensky in https://github.com/babel/babel/pull/3635#discussion_r73652441.
2016-08-05 10:12:33 -04:00
Henry Zhu
94c05225e5 Changelog for v6.13.2 [skip ci] 2016-08-05 09:57:12 -04:00
Henry Zhu
a8324712a5 v6.13.2 2016-08-05 09:51:34 -04:00
Henry Zhu
96f31ed38f Merge pull request #3638 from babel/christophehurpeau-patch-2
[Bug Fix] option manager: val = val.buildPreset should be before the check if the preset supports options
2016-08-05 09:49:33 -04:00
Henry Zhu
7213e57ee2 add tests, be able to pass preset options to test helper 2016-08-05 09:36:52 -04:00
Christophe Hurpeau
425d460ebf [Bug Fix] option manager: val = val.buildPreset should be before the check if the preset supports options 2016-08-05 12:06:07 +02:00
nhducit
3b5a94ed0f Add a white space (#3636) 2016-08-05 10:28:31 +02:00
Logan Smyth
65b733c894 Changelog for 6.13.1. 2016-08-04 21:25:20 -07:00
Logan Smyth
f3ad8a8392 v6.13.1 2016-08-04 21:12:12 -07:00
Logan Smyth
11badb556f Add comment to explain enumerability logic. 2016-08-04 21:06:59 -07:00
Logan Smyth
af50e3194e Merge pull request #3635 from loganfsmyth/fix-back-compat
Fix backward-compatibility of babel-preset-es2015 - fixes T7536
2016-08-04 21:06:16 -07:00
Logan Smyth
66317b10db Fix backward-compatibility of babel-preset-es2015 - fixes T7536 2016-08-04 20:55:20 -07:00
Henry Zhu
39865ce746 fix typos [skip ci] 2016-08-04 21:35:46 -04:00
Henry Zhu
eaea1276a4 add quotes [skip ci] 2016-08-04 21:34:53 -04:00
Henry Zhu
6ab3e35075 v6.13.0 2016-08-04 19:34:51 -04:00
Henry Zhu
a4e2856a2e Docs: add v6.13.0 changelog [skip ci] (#3631)
* Docs: add v6.13.0 changelog [skip ci]

* add link to babel/notes [skip ci]
2016-08-04 19:23:11 -04:00
Henry Zhu
c6354a2132 es2015: transpile the preset, modify modules option to support "amd,umd,systemjs" as well, tests (#3627)
* es2015: transpile the preset, at spec option

* es2015: add support for modules option

* fixes + tests

* fixup preset error messsage

* es2015: update readme [skip ci]

* pass loose to other module transforms
2016-08-04 17:54:04 -04:00
Erik Desjardins
aeb42c2228 Fix bug where path.evaluate treats repeated identifiers as undefined (#3557)
* babel-traverse: add test to demonstrate repeated identifiers being evaluated to `false`

* fix typo: `value` -> `val`

* path.evaluate: only mark item as resolved if we're confident
2016-08-04 16:58:41 -04:00
Daniel Tseng
d0c82f0d8a Missing FlowType definition opts.deprecatedAlias (#3628)
Added missing FlowType definition `opts.deprecatedAlias` for `defineType()` in `babel-types/src/definitions/index.js`
2016-08-04 13:40:41 -04:00
Logan Smyth
897f553dc7 Support passing options to presets. (#3331) 2016-08-03 22:14:16 -04:00
Henry Zhu
a959ebe223 Misc: remove deps from syntax plugins (#3604) 2016-08-02 23:11:50 -04:00
Henry Zhu
c331a94943 Show a more informative error message when using the decorator transform and link to the legacy one [skip ci] (#3626) 2016-08-02 20:47:03 -04:00
Henry Zhu
c1a597ffdc Misc: update npm owners [skip ci]
Will remove when we add this to lerna https://github.com/lerna/lerna/pull/294
2016-08-02 09:09:09 -04:00
Henry Zhu
be02536f18 remove minify plugins (will be in another repo) (#3621) 2016-08-02 07:20:08 -04:00
Greenkeeper
8354120664 chore(package): update mocha to version 3.0.0 (#3622)
https://greenkeeper.io/
2016-08-02 10:49:11 +02:00
Douglas Wade
f3d3c899c1 Move decorators to stage 2 (#3613) 2016-08-02 10:47:45 +02:00
Kristóf Poduszló
8f60dbb4a9 Move babel-plugin-transform-class-properties to stage 2 (#3611) 2016-08-01 21:12:52 -04:00
Henry Zhu
1f82a26902 Notes (#3619) [skip ci]
* Docs: remove centering on text [skip ci]

* add link to notes [skip ci]
2016-07-30 15:28:21 -04:00
battaile
3a677400f8 add description (#3614) [skip ci] 2016-07-29 14:49:39 -04:00
Henry Zhu
35a258f23f Docs: v6.12.0 changelog [skip ci] 2016-07-27 15:24:15 -04:00
Henry Zhu
698ef139bc v6.12.0 2016-07-27 15:23:17 -04:00
Henry Zhu
18238ac072 Docs: add helpers to readme [skip ci] 2016-07-27 10:58:11 -04:00
Sebastian McKenzie
3b4b3656a8 Fix React constant elements transform from hoisting elements to positions where their referenced bindings haven't been evaluated yet (#3596) 2016-07-27 10:54:21 -04:00
Sebastian McKenzie
8d14f9f4d0 Add helpers: false option to babel-plugin-transform-runtime (#3603) 2016-07-27 10:36:58 -04:00
Henry Zhu
0ff1f089bb Fix: use correct identifier in template - fixes T7509 (#3602) 2016-07-27 09:24:26 -04:00
Logan Smyth
81f0f464e7 Merge pull request #3534 from rmacklin/add-exactGlobals-option-to-umd-transform
Add exactGlobals option to transform-es2015-modules-umd plugin to enable more flexibility in specifying global names
2016-07-26 22:55:27 -07:00
Richard Macklin
55a25c271a Simplify accum to just be a memberExpression not an array 2016-07-26 22:38:40 -07:00
Richard Macklin
fcb50de89b Remove unnecessary checking for "." since the code works in either case 2016-07-26 22:38:40 -07:00
Richard Macklin
6c9f241812 Add test case for overriding exported global name without specifying the moduleId or moduleIds options 2016-07-26 22:38:40 -07:00
Richard Macklin
ac9487abf3 Add the ability to override the exported global using the globals map
when `exactGlobals` is true
2016-07-26 22:38:39 -07:00
Richard Macklin
c252d3dae6 Add exactGlobals option to transform-es2015-modules-umd plugin
to enable more flexibility specifying global names
2016-07-26 22:38:39 -07:00
Richard Macklin
8b0179e2d5 Fix typo in transform-es2015-modules-umd plugin README
and specify json as the language for the subsequent code block
2016-07-26 22:38:39 -07:00
Henry Zhu
930c1d583a Docs: v6.11.6 changelog [skip ci] 2016-07-26 18:15:12 -04:00
Henry Zhu
55f20afe1c v6.11.6 2016-07-26 18:12:25 -04:00
Henry Zhu
7ee2381955 Revert "Correct source map paths for babel-register." (#3599) 2016-07-26 18:07:29 -04:00
Aliaksei Sapach
83522c9cb5 fix: systemjs - hoist named function exports (#3594) 2016-07-26 18:06:42 -04:00
Greenkeeper
dce9ee9d80 Update mocha to version 2.5.3 🚀 (#3597)
* chore(package): update mocha to version 2.5.3

https://greenkeeper.io/

* Allow range for mocha
2016-07-26 08:00:01 -04:00
Henry Zhu
309b5ddbe5 Docs: just show for external deps [skip ci] 2016-07-25 11:50:44 -04:00
Henry Zhu
a8fbc98a6d Docs: showing devDeps aren't that useful in our case [skip ci] 2016-07-25 10:04:14 -04:00
Henry Zhu
c5836b0bc2 Misc: remove unused devDep [skip ci] 2016-07-25 09:44:44 -04:00
Henry Zhu
9f585797a6 Docs: remove more unncessary badges [skip ci] 2016-07-25 09:44:12 -04:00
Henry Zhu
7ac09c2e1c Docs: remove devDeps for packages that only use the test helper [skip ci] 2016-07-25 09:40:32 -04:00
Henry Zhu
21fb122df2 Add badges (#3593)
* Docs: Add badges, update readme [skip ci]

* update [skip ci]

* updates
2016-07-25 09:12:15 -04:00
Henry Zhu
98dea13afa v6.11.5 2016-07-23 14:09:34 -04:00
Henry Zhu
5a92f1c6c5 Docs: v6.11.5 changelog [skip ci] (#3592)
* Docs: v6.11.5 changelog [skip ci]

* fix [skip ci]
2016-07-23 14:01:01 -04:00
Henry Zhu
253918c30f Fix buildExportAll to account for commonjs/amd/systemjs (#3591)
* Fix buildExportAll to account for commonjs/amd

If the re-exported module was generated with Babel and it is a commonjs or amd module and so is the current module, this will result in an attempt to redefine the __esModule property, which throws a runtime error.

* Add test: don't overwrite __esModule on re-export

(Failing.)

* fixup tests

* Add fix for systemjs
2016-07-23 13:21:07 -04:00
Henry Zhu
d6646fb54f Docs: update readme [skip ci] 2016-07-23 09:34:45 -04:00
Rolf Timmermans
c8bd9e3ffb Correct source map paths for babel-register. (#3523) 2016-07-22 11:11:31 -04:00
Keyan Zhang
879f69f0fb infer class name for classes that have static properties (#3589) 2016-07-22 09:50:03 -04:00
Thomas Grainger
a289dfbbab The config name is sourceMaps not sourceMap (#3588) 2016-07-21 10:10:58 +02:00
Henry Zhu
6e58954bce v6.11.4 2016-07-19 21:59:53 -04:00
Henry Zhu
5f9cbeab00 Docs: v6.11.4 changelog [skip ci] (#3587) 2016-07-19 21:50:11 -04:00
Logan Smyth
210c3f7da9 Merge pull request #3564 from jamestalmage/lazy-require-hook
Extract config file resolution from OptionsManager
2016-07-19 18:24:45 -07:00
Logan Smyth
40ec299df5 Merge pull request #3583 from jhen0409/patch-3
Add block if parent is non-block statement for remove-console/debugger
2016-07-18 22:21:10 -07:00
Jhen
6cb3e5ed1f Add statement-no-block test fixture for remove-console/debugger 2016-07-19 13:02:29 +08:00
Jhen
e464b9ab87 Add block if parent is no block statement for remove-console/debugger 2016-07-19 12:56:29 +08:00
Logan Smyth
ab47b439cc Merge pull request #3586 from loganfsmyth/fix-retainLines-generator-issue
Avoid duplicated identifier sharing location - fixes T7436
2016-07-18 20:56:57 -07:00
Logan Smyth
ea426baa07 Avoid duplicated identifier sharing location - fixes T7436 2016-07-18 20:49:14 -07:00
Logan Smyth
a1c2d4dd5d Merge pull request #3584 from loganfsmyth/generator-refactor-cleanup2
babel-generator: More refactoring and optimizations
2016-07-18 19:23:24 -07:00
Logan Smyth
a13bf6e0be Drop the unhelpful 'keyword' helper. 2016-07-18 19:12:22 -07:00
Logan Smyth
1b527eb23c Perform number decimal checks at the token level. 2016-07-18 19:12:21 -07:00
Logan Smyth
9f49c99774 Drop .getLast(). 2016-07-18 19:12:21 -07:00
Justin Ridgewell
9a6890c92f Default parameters cleanup (#3574)
* Remove buildDefaultParamAssign

This seems to have been
[added](https://github.com/babel/babel/commit/4b85b05839017ab2abc03ba2d1
e875a63f002890) in v5.5.4 to address
[#1690](https://phabricator.babeljs.io/T1690). It [became
“dead”](https://github.com/babel/babel/blob/v6.0.0/packages/babel-core/t
est/fixtures/transformation/es6.parameters/default-before-last/expected.
js) (as far as I can tell) in the [v6.0.0
commit](https://github.com/babel/babel/commit/ae7d5367f1c3d438667242d692
5db024f875fccd).

Either way, this code is never executed.

- `pushDefNode` is only called when the param is a default param.
- `buildDefaultParamAssign` (which is inside `pushDefNode`) only runs
of the param index is less than or equals to the lastNonDefaultParam.
AKA, is this param before any non-defaulting params.

Which is a contradiction.

* Small optimization

No need to check if we need an iife if we already know we need one.
2016-07-18 11:03:59 -04:00
Daniel Tschinder
88eec4b852 Support all variations of v8Flags (#3578)
This adds support for specifying v8Flags with dashes. Previously only underscores
were allowed.
Also allows specifying values for v8Flags in the from --flag=value, which was not supported till now.
Also add --inspect support.
2016-07-18 10:36:03 -04:00
Logan Smyth
fdc5b7cb5d Only set the source location when inserting the comment text. 2016-07-17 21:51:01 -07:00
Logan Smyth
4dcec860bd Drop trailing whitespace after all newlines. 2016-07-17 21:51:01 -07:00
Logan Smyth
59fe72ee7d Avoid recalculating the current line. 2016-07-17 21:51:01 -07:00
Logan Smyth
1bbf109e8e Move aux comments entirely into printer. 2016-07-17 21:51:01 -07:00
Logan Smyth
11ee8642fd Drop the 'after' callback from 'print'. 2016-07-17 21:51:01 -07:00
Logan Smyth
59c1945493 Move whitespace handling into statement list printing. 2016-07-17 21:51:01 -07:00
Logan Smyth
5de7433147 Avoid calls to isUserWhitespacable by explicitly marking statement lists. 2016-07-17 21:51:00 -07:00
Logan Smyth
38b91235cc Print inter-node newlines before other node items. 2016-07-17 21:51:00 -07:00
Logan Smyth
6bf52b74c0 Include newline insertion in the call sites of rightBrace. 2016-07-17 12:39:22 -07:00
Logan Smyth
0e05e9f216 Rely on .space and .newline behavior instead of explicit format checks. 2016-07-17 12:39:22 -07:00
Logan Smyth
68bc3d7dfb Standardize on the comment format function. 2016-07-17 12:39:22 -07:00
Logan Smyth
a3c99278ba Move format definition into Printer. 2016-07-17 11:07:26 -07:00
Logan Smyth
0d5cbe6102 Move class static helpers off class. 2016-07-17 11:07:26 -07:00
Logan Smyth
5e730b18bb Instantiate Whitespace in the printer. 2016-07-17 11:07:25 -07:00
Logan Smyth
ca1d601037 Move property definitions to class props. 2016-07-17 11:07:24 -07:00
Logan Smyth
1d0ff341fd Skip mutating the 'ignore' flag when printing. 2016-07-17 11:06:31 -07:00
Logan Smyth
3cc38a0063 Merge pull request #3581 from loganfsmyth/generator-refactor-cleanup
babel-generator: Misc cleanup and stale code removal
2016-07-16 12:44:19 -07:00
Logan Smyth
a255ef9ba1 Merge pull request #3580 from jridgewell/babel-generator
Further optimize babel-generator Buffer
2016-07-16 12:40:55 -07:00
Logan Smyth
44282e4579 Disable indent and inc/dec time. 2016-07-14 22:58:48 -07:00
Logan Smyth
9b8b5112df Remove unneeded _compact assignment. 2016-07-14 22:58:48 -07:00
Logan Smyth
1bf76b0f33 Use .append to force-commit semicolons for empty statements. 2016-07-14 22:58:48 -07:00
Logan Smyth
bd9bb053c3 Flatten aux comment logic. 2016-07-14 22:58:48 -07:00
Logan Smyth
9483f4bd94 Drop old stale code. 2016-07-14 22:58:47 -07:00
Logan Smyth
b841d12c9e Initialize inForStatementInitCounter as a public var. 2016-07-14 22:58:47 -07:00
Logan Smyth
e056c0b9d6 Use the presence of _whitespace to toggle its use. 2016-07-14 22:58:47 -07:00
Logan Smyth
6a74731c6b Drop the private version of ._format 2016-07-14 22:58:47 -07:00
Logan Smyth
55a1ffd266 Mark a bunch of methods private. 2016-07-14 22:58:46 -07:00
Justin Ridgewell
a70755d0e6 Further optimize babel-generator Buffer
We can eek out a bit more speed from Babel generator by turning the
buffer into an array as well.
Re: #3565

```
Items: 2 , time: 4 length: 114
Items: 4 , time: 3 length: 218
Items: 8 , time: 3 length: 426
Items: 16 , time: 2 length: 861
Items: 32 , time: 5 length: 1741
Items: 64 , time: 2 length: 3501
Items: 128 , time: 4 length: 7106
Items: 256 , time: 8 length: 14530
Items: 512 , time: 12 length: 29378
Items: 1024 , time: 24 length: 59147
Items: 2048 , time: 38 length: 121611
Items: 4096 , time: 71 length: 246539
Items: 8192 , time: 131 length: 496395
Items: 16384 , time: 350 length: 1015260
Items: 32768 , time: 573 length: 2063836
Items: 65536 , time: 1263 length: 4160988
Items: 131072 , time: 2143 length: 8448509
Items: 262144 , time: 4859 length: 17230333
```

to

```
Items: 2 , time: 4 length: 114
Items: 4 , time: 3 length: 218
Items: 8 , time: 9 length: 426
Items: 16 , time: 1 length: 861
Items: 32 , time: 5 length: 1741
Items: 64 , time: 1 length: 3501
Items: 128 , time: 3 length: 7106
Items: 256 , time: 7 length: 14530
Items: 512 , time: 9 length: 29378
Items: 1024 , time: 17 length: 59147
Items: 2048 , time: 30 length: 121611
Items: 4096 , time: 61 length: 246539
Items: 8192 , time: 113 length: 496395
Items: 16384 , time: 307 length: 1015260
Items: 32768 , time: 443 length: 2063836
Items: 65536 , time: 1065 length: 4160988
Items: 131072 , time: 1799 length: 8448509
Items: 262144 , time: 4217 length: 17230333
```
2016-07-15 01:27:45 -04:00
Logan Smyth
6b7f3cc4cd Inline comment generation function. 2016-07-14 21:55:08 -07:00
Logan Smyth
475581dc66 Ditch the tiny Position class. 2016-07-14 21:55:08 -07:00
Logan Smyth
8379c21939 Drop unneeded condition in SourceMap class. 2016-07-14 21:54:47 -07:00
Henry Zhu
3073c63e58 Docs: 6.11.3 changelog [skip ci] (#3576) 2016-07-13 06:50:47 -04:00
Henry Zhu
7076c675d9 v6.11.3 2016-07-12 22:33:58 -04:00
Justin Ridgewell
823ffbd87c Fix error in rest parameter length optimization (#3573)
If there aren’t enough arguments to get to the offset index, we would
return an negative length.
2016-07-12 21:12:45 -04:00
James Talmage
0a9cbe6e83 git commit add test for package.json config 2016-07-07 16:58:22 -04:00
James Talmage
8e84196eb8 add tests for env options 2016-07-07 16:36:34 -04:00
Logan Smyth
57ef3ea8eb Merge pull request #3567 from loganfsmyth/fix-generator-buffer-getlast
Use the first item in the queue since it is the most recent.
2016-07-06 23:45:46 -07:00
Logan Smyth
11d49db23b Use the first item in the queue since it is the most recent. 2016-07-06 23:30:45 -07:00
Logan Smyth
f1a71093f9 Merge pull request #3566 from jridgewell/patch-1
Remove unused Position#unshift
2016-07-06 19:13:53 -07:00
Justin Ridgewell
9cdb24157e Remove unused Position#unshift
Not only is it unused, it'll break things if you push a newline since it doesn't set a new `#column` value.
2016-07-06 21:58:02 -04:00
Logan Smyth
193b9b5797 Merge pull request #3565 from loganfsmyth/codegen-append-only
Make the code generator write-only to avoid exponential time generation
2016-07-06 18:33:00 -07:00
Logan Smyth
65a677decd Maintain a queue to allow deletion of whitespace/semicolons without accessing buf. 2016-07-05 21:03:29 -07:00
Logan Smyth
cb60808500 Make buffer a property for managing the token queue. 2016-07-05 21:02:46 -07:00
Logan Smyth
c5a6c5c291 Pass values directly to avoid object usage. 2016-07-05 21:01:33 -07:00
Logan Smyth
abb9618e8c Drop array support from endsWith. 2016-07-05 19:44:51 -07:00
Logan Smyth
f908f3fc88 Use 'push' for all cases. 2016-07-04 22:49:59 -07:00
Logan Smyth
caef91672d Remove unnecessary passthrough function. 2016-07-04 22:49:59 -07:00
Logan Smyth
578f48134b Remove removeLast usage. 2016-07-04 22:49:59 -07:00
Logan Smyth
80cd3ca331 Drop one usage of removeLast. 2016-07-04 22:49:59 -07:00
Logan Smyth
d6b1e36d49 Make the 'catchUp' call implicit to source location updates. 2016-07-04 22:49:58 -07:00
Logan Smyth
3680d10b6f Centralize position tracking into buffer. 2016-07-04 22:42:28 -07:00
James Talmage
62ad67e5d9 add tests for build-config-chain 2016-07-03 23:58:44 -04:00
Logan Smyth
177c092496 Remove sideeffectful position mutation. 2016-07-02 15:38:05 -07:00
Logan Smyth
e4da8cfea5 Use the standard newline function. 2016-07-02 15:38:05 -07:00
James Kyle
c561312bee Adds strictMode option to strict-mode transform (#3562) 2016-07-02 13:27:57 -07:00
Logan Smyth
52683f0018 Use the proper transform plugin for preset-es2016. (#3563) 2016-07-02 14:46:38 -04:00
James Talmage
79d8c5aa14 find list of applicable configs without requiring babel-core or plugins
`build-config-chain.js` creates an array of options which will be passed to `OptionsManager#mergeOptions`. The advantage of separating it out is that `build-config-chain` has a very minimal dependency list. The eventual intent is to allow the require hook to lazy load only when required. In other words, if no required files ever match the patterns `ignore` / `only` patterns, the bulk of babel-core, and the associated plugins, will never be loaded.
2016-07-02 03:04:49 -04:00
Logan Smyth
ff4f476abe Update Changelog for 6.11.2. 2016-06-28 23:18:52 -07:00
Logan Smyth
172d81d4fe v6.11.2 2016-06-28 23:14:43 -07:00
Logan Smyth
4126b38b9b Merge pull request #3558 from loganfsmyth/fix-async-func-ref
Fix non-unique 'ref' binding name - fixes T7468
2016-06-28 19:26:52 -07:00
Logan Smyth
ee43c4b735 Merge branch 'master' into fix-async-func-ref 2016-06-28 19:26:39 -07:00
Logan Smyth
231f27f170 Fix non-unique 'ref' binding name - fixes T7468 2016-06-28 19:16:44 -07:00
Henry Zhu
efbd530690 Use secure token for slack notifications from travis (#3556) 2016-06-28 08:45:36 -04:00
Henry Zhu
e390570f9d Docs: 6.11.1 changelog [skip ci] 2016-06-27 17:24:26 -04:00
Henry Zhu
7b9749233e v6.11.1 2016-06-27 17:19:48 -04:00
Forbes Lindesay
3bc3c9a3ed Babel types docs (#3549)
* Update babel-types documentation

Mostly just re-run generate-babel-types-docs but also update for some
more validator types.

* Rebuild docs as part of "build-dost"

* Include fields not in BUILDER_KEYS in babel-types docs

These fields don’t have a shorthand for you to pass them to the helper
method, but they are still useful to know about.

* Fields not included in BUILDER_KEYS cannot be "required"

We don’t ever type-check fields not in BUILDER_KEYS so they are never
required.
2016-06-27 17:01:58 -04:00
Henry Zhu
39f645768c Remove jsx-self from react preset (#3552) 2016-06-27 11:47:37 -04:00
Antonio Diaz
7a15409085 Update to Contributor Covenant v1.4 (#3515) 2016-06-26 20:44:58 -07:00
Henry Zhu
f345c70c96 Docs: 6.11.0 changelog [skip ci] (#3551) 2016-06-26 20:47:41 -04:00
Henry Zhu
470635adb0 v6.11.0 2016-06-26 20:21:26 -04:00
Henry Zhu
22eb40d204 Build: use lerna 2.x beta (#3509)
lerna changelog

update
2016-06-26 17:28:14 -04:00
Logan Smyth
15f267b7af Merge pull request #3550 from loganfsmyth/fix-jsx-self-mistakes
Fix some mistakes in the jsx-self transform.
2016-06-26 13:56:27 -07:00
Logan Smyth
856b1f2923 Fix some mistakes in the jsx-self transform. 2016-06-26 13:52:07 -07:00
Sam Pepose
3ee06187d5 Fixed incorrect newlines with Flow object types (#3548) 2016-06-23 20:38:05 -04:00
Mathias Bynens
115a6543ab Update to regexpu-core@2.0.0 for ES2016 compliance (#3338)
regexpu-core v2.0.0 matches the ES2016 spec. See 9b10d2a597.
2016-06-23 12:03:03 -04:00
Logan Smyth
cae3f60e76 Merge pull request #3546 from sampepose/master
Fixed incorrect printing of array of nullable flow type
2016-06-22 21:31:10 -07:00
Sam Pepose
7d83147e16 Added semicolon 2016-06-22 21:21:53 -07:00
Sam Pepose
199a612131 Fixed incorrect printing of array of nullable flow type 2016-06-22 20:33:43 -07:00
Simon Lydell
3d77ad9381 babel-code-frame: Upgrade to js-tokens@2 (#3533)
That version brings ES2016 support. However, the difference in syntax
highlighting is not distinguishable, because both `*` and `**` get the
same color.
2016-06-22 13:23:21 -04:00
Sergey Rubanov
8fef2bc568 Add es2016 preset (#3531) 2016-06-22 12:16:49 -04:00
Jacob Rask
17ce0a57c5 Promote trailing-function-commas to stage 3 (#3522)
See https://github.com/tc39/proposals
2016-06-22 12:16:14 -04:00
Henry Zhu
93299d9bc4 add new package to react preset package.json 2016-06-22 12:14:36 -04:00
Sebastian McKenzie
9229225f21 Merge pull request #3540 from jimfb/jsx-self
Added jsx-self babel transform plugin
2016-06-22 17:11:25 +01:00
jim
7d0c4ecf17 Added jsx-self babel transform plugin 2016-06-22 09:05:48 -07:00
Jesse McCarthy
d0edc1c646 Link to new AST spec location (#3544) 2016-06-22 09:51:19 -04:00
Sebastian McKenzie
3267afd608 Merge pull request #3543 from babel/mv-ast-spec
Move ast spec to babylon [skip ci]
2016-06-22 13:54:19 +01:00
Henry Zhu
5ead4b3e96 Move ast spec to babylon [skip ci] 2016-06-22 08:39:18 -04:00
Logan Smyth
6efef693a2 Add forgotten attribution. 2016-06-21 09:56:15 -07:00
Logan Smyth
2ad9be1974 Update Changelog for 6.10.4 2016-06-21 09:48:10 -07:00
Logan Smyth
faf024ad44 v6.10.4 2016-06-21 09:43:33 -07:00
Logan Smyth
60e6b74901 Merge pull request #3537 from theJian/master
update minimatch to v3.0.2
2016-06-21 08:14:52 -07:00
A2ZH
49d36e291d update minimatch v3.0.2 2016-06-21 01:01:42 +08:00
Sebastian McKenzie
b2390cca02 deopt on recursion in path.evaluate - fixes T7397 2016-06-19 22:08:39 +01:00
Logan Smyth
5a8a2512d0 Docs: 6.10.3 changelog [skip ci] 2016-06-18 16:58:45 -07:00
Logan Smyth
cc22b1cc23 v6.10.3 2016-06-18 16:55:21 -07:00
Logan Smyth
d2eecfb6cc Merge pull request #3532 from loganfsmyth/allow-empty-exports
Allow empty export statements with no export specifiers - fixes T7439
2016-06-18 13:24:31 -07:00
Logan Smyth
2ba27c73d7 Allow empty 'export {};' statements - fixes T7439 2016-06-18 12:41:44 -07:00
Henry Zhu
3ecf417509 typo [skip ci] 2016-06-17 17:49:07 -04:00
Henry Zhu
724699ff5e Docs: 6.10.2 changelog [skip ci] (#3530) 2016-06-17 17:48:16 -04:00
Henry Zhu
bfc90c975d v6.10.2 2016-06-17 17:45:16 -04:00
Henry Zhu
514e40923c cleanup transpiled files in make clean - fixes T7434 [skip ci] (#3528) 2016-06-17 17:24:18 -04:00
Daniel Tschinder
d7c0fbdf5b "name" should not be visited for TypeParameter (#3529)
name is a string and does not need to be visited
2016-06-17 17:21:23 -04:00
Logan Smyth
4e1b4aecfd Merge pull request #3492 from loganfsmyth/codegen-cleanup
Refactor space insertion and remove some unneeded function options
2016-06-16 22:15:56 -07:00
Logan Smyth
df2c3f3d25 Use the common space helper everywhere to ensure we get the smallest output possible. 2016-06-16 22:00:24 -07:00
Logan Smyth
5c74ebb87e Remove unneeded space check. 2016-06-16 22:00:24 -07:00
Logan Smyth
1514d0a1ad Drop some space-insertion logic. 2016-06-16 22:00:23 -07:00
Logan Smyth
39896b4d91 Automatically prepend a space when writing a word immediately after a word. 2016-06-16 22:00:23 -07:00
Logan Smyth
4286cb4f2a Explicitly label standalone tokens and words. 2016-06-16 22:00:23 -07:00
Logan Smyth
e702e67233 Split all of the pushes into individual tokens. 2016-06-16 22:00:23 -07:00
Logan Smyth
22e2c88269 Drop the unneeded noIndent function param. 2016-06-16 22:00:23 -07:00
Logan Smyth
f566700657 Avoid processing indentation for every pushed string. 2016-06-16 21:59:51 -07:00
Logan Smyth
8336aa52e8 Split all of the separators into functions. 2016-06-16 20:31:19 -07:00
Logan Smyth
3e1a661eb6 Use the general list handlers and the default separator. 2016-06-16 20:31:19 -07:00
Logan Smyth
315c075419 Remove the unnecessary push/_push division. 2016-06-16 20:31:19 -07:00
Logan Smyth
528128f62d Avoid looking for raw values for all nodes. 2016-06-16 20:31:19 -07:00
Logan Smyth
710f151d31 Use the standard space helper for comment space. 2016-06-16 20:31:19 -07:00
Logan Smyth
680fcc16d7 Standardize on .endsWith 2016-06-16 20:31:19 -07:00
Logan Smyth
2f790889eb Make sure to roll back the generated position markers when trimming spaces. 2016-06-16 20:31:19 -07:00
Logan Smyth
9ddf9aabfc Don't track position when sourcemaps are off. 2016-06-16 20:31:19 -07:00
Logan Smyth
61e3b1d314 Remove incorrect function/class check. 2016-06-16 20:31:19 -07:00
Logan Smyth
0be2f1cf48 Remove unnecessary ensureSemicolon. 2016-06-16 20:31:19 -07:00
Logan Smyth
67763085ab Be consistent with semicolons. 2016-06-16 20:31:19 -07:00
Logan Smyth
c1ba5e6ac8 Remove unused force param. 2016-06-16 20:31:19 -07:00
Logan Smyth
d042ddfdda Clarify that the code generator class is not public. 2016-06-16 20:31:19 -07:00
Logan Smyth
efea2c19f2 Add more tests for minified output. 2016-06-16 20:31:19 -07:00
Henry Zhu
4a262be436 more links [skip ci] 2016-06-11 12:50:39 -04:00
Logan Smyth
b05643c52f Changelog for 6.10.1. 2016-06-11 00:41:07 -07:00
Logan Smyth
e64aeb7316 v6.10.1 2016-06-11 00:36:09 -07:00
Logan Smyth
57328c1fbd Merge pull request #3526 from loganfsmyth/fix-switch-error
Fix an issue with the switch handing from PR #3490.
2016-06-11 00:32:37 -07:00
Logan Smyth
5ddce1372b Fix an issue with the switch handing from PR #3490. 2016-06-11 00:17:36 -07:00
Logan Smyth
a7801b1e52 Merge pull request #3525 from lxe/skip-shorthand
remove shorthand of --skip-initial-build
2016-06-11 00:16:51 -07:00
Aleksey Smolenchuk
2033c1da30 remove shorthand of --skip-initial-build
-s is already taken by --source-maps
2016-06-10 22:46:24 -07:00
Henry Zhu
8cb32e8cf1 Docs: 6.10.0 changelog [skip ci] (#3524) 2016-06-11 00:19:51 -04:00
Henry Zhu
c5ae951f98 v6.10.0 2016-06-11 00:05:21 -04:00
Henry Zhu
c113b0a7ec Merge pull request #3519 from koenkivits/patch-1
Fix broken links in monorepo.md
2016-06-11 00:00:49 -04:00
Henry Zhu
0dc1a69017 Merge pull request #3520 from babel/babylon-update
Support changes in flow parsing
2016-06-11 00:00:36 -04:00
Henry Zhu
b567c02413 generator tests 2016-06-10 18:05:54 -04:00
Henry Zhu
ff42a744df add back in identifier 2016-06-10 17:07:03 -04:00
Henry Zhu
63e8313788 add type def 2016-06-08 16:16:22 -04:00
Henry Zhu
ad0e1ba6de Support changes in flow parsing 2016-06-08 13:07:58 -04:00
Koen Kivits
867e07cee4 Fix broken links in monorepo.md 2016-06-08 17:45:34 +02:00
Kai Cataldo
dc525edf51 Clean up language/consistency in CONTRIBUTING.md (#3517) 2016-06-04 12:26:31 -04:00
Logan Smyth
61b3a6314b Merge pull request #3490 from jayphelps/T7324
create new lexical env inside switch statement blocks, fixes #T7324
2016-05-30 14:42:29 -07:00
Logan Smyth
85ec7834d0 Merge pull request #3489 from lxe/optinal-nocompile-watch
babel-cli: add --skip-initial-build option to only compile on changes when watching
2016-05-30 14:29:30 -07:00
Henry Zhu
8bbffb4bea Docs: 6.9.2 changelog [skip ci] 2016-05-29 19:19:12 -04:00
Henry Zhu
5b3db3aceb v6.9.2 2016-05-29 19:16:15 -04:00
Henry Zhu
e95ff9effb Fix: for babel-runtime, regenerator-runtime should be a dependency now (#3516) 2016-05-29 19:14:42 -04:00
Henry Zhu
77ac82b9f5 v6.9.1 2016-05-29 15:50:04 -04:00
Henry Zhu
d71072fe97 add changelog for babel-regenerator-runtime removal [ci skip] 2016-05-28 19:10:32 -04:00
Ben Newman
b3acf9100e Make babel-runtime use regenerator-runtime from npm. (#3494)
The source repository for regenerator-runtime can now be found at
https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime

This also removes the babel-regenerator-runtime package, now that the only
difference between it and regenerator-runtime has been resolved:
bc8d2d672c
2016-05-28 19:04:48 -04:00
Henry Zhu
3d6ae488be Docs: add 6.9.1 changelog [ci skip] (#3513) 2016-05-28 16:29:34 -04:00
Henry Zhu
cfbabe80bb Docs: add to getting started (#3512) [ci skip] 2016-05-28 10:18:11 -04:00
Andrew Johnston
f408f28a02 Fix: assign _this to this when there is no Superclass - Fixes T7364
Closes gh-3508
2016-05-28 09:51:28 -04:00
Lukas Eipert
8532bb8334 update license field with a valid SPDX expression (#3507) 2016-05-28 09:39:06 -04:00
Leonid Nikiforenko
822e8804d5 Make JSXText Immutable (#3510) 2016-05-25 23:30:29 -04:00
Aleksey Smolenchuk
4bf6f8ab18 cli: --skip-initial-build option to compile only on watched changes 2016-05-20 09:47:41 -07:00
Lukas Eipert
13c961d29d Adds repository field to babel-regenerator-runtime (#3506)
Similiar to #3370.

One of our licensing checking scripts throws warnings, as we expect npm dependencies to contain the repository field.
2016-05-20 11:41:48 -04:00
Jesse McCarthy
ff044bbb0f Use more ideal mocha hooks (#3446)
* setup() instead of manual before().
* suiteTeardown() instead of afterEach().
2016-05-19 08:26:59 -04:00
Henry Zhu
7594204777 typo [ci skip] 2016-05-17 14:54:12 -04:00
Henry Zhu
cf6304a34b v6.9.0 2016-05-17 14:49:17 -04:00
Henry Zhu
f7c6afe594 Docs: 6.9.0 changelog [skip ci] (#3505) 2016-05-17 11:38:48 -04:00
Shuhei Kagawa
be9be86919 Add decorators to argument types (#3470) 2016-05-16 16:48:20 -04:00
Denis Pushkarev
16ad574e48 Update core-js to 2.4 (#3480) 2016-05-16 16:46:22 -04:00
Guy Bedford
40c4e7c2ea Modules systemjs system global name, use strict wrapping (#3482)
* modules systemjs system global name, use strict wrapping

* document systemGlobal option in readme
2016-05-16 16:46:06 -04:00
Alexander Kotliarskyi
8fa1174b32 Skip adding __source if it already exists (#3504) 2016-05-16 16:45:33 -04:00
dlwalsh
cdb465a834 remove repeating dependency from babel-traverse (#3501) 2016-05-16 09:54:37 -04:00
dlwalsh
9f8cd91605 Replace trim-right with _.trimEnd (#3502) 2016-05-16 09:53:48 -04:00
dlwalsh
829d4497c9 remove micro modules in favour of lodash functions (#3500) 2016-05-15 22:00:50 -04:00
Henry Zhu
52f56cbdc5 Add slack badge [skip ci] 2016-05-15 01:08:01 -04:00
Jhen-Jie Hong
2d7fb9af41 Class properties: Add path.ensureBlock for ArrowFunctionExpression (#3486)
* Class properties: Add path.ensureBlock for ArrowFunctionExpression

* Class properties: Add test case for non-block arrow function
2016-05-13 17:45:15 -04:00
Amjad Masad
109d99bb5e don't double count binding references (#3465)
When, for example, a function is moved between from one place to another we recrawl and end up double counting any references it holds to the upper scope. This protects against that. (The same thing is done for constant violations in the `reassign` method)
2016-05-13 17:20:32 -04:00
Jay Phelps
330071e59d also visit ClassProperty's for rest param deopt check, fixes #T7311 (#3481) 2016-05-13 17:18:14 -04:00
Jordan Klassen
dc1f40540d Upgrade to lodash 4 (#3315)
* Upgrade to lodash 4

* Fix incorrect require in babel-runtime/scripts

* Replace cloneDeep with cloneDeepWith where applicable
2016-05-13 17:15:14 -04:00
Thomas Grainger
2607f35b9f Fix grammar in 6.8.0 CHANGELOG (#3498) 2016-05-04 08:00:57 -04:00
Logan Smyth
9843c87573 Fix block statement code style. (#3493) 2016-05-02 21:15:37 -04:00
Henry Zhu
bf5de6bcb7 v6.8.1 2016-05-02 20:42:03 -04:00
Henry Zhu
8463dff9d9 Lazy-initialize babel-traverse to avoid circular dep. (#3497) 2016-05-02 20:40:05 -04:00
Henry Zhu
05bf216339 v6.8.0 2016-05-02 19:43:49 -04:00
Henry Zhu
2af299f5ce Docs: 6.8.0 changelog (#3496) 2016-05-02 19:25:16 -04:00
Henry Zhu
cafd15cdcf Merge pull request #3438 from hzoo/self-host-on-babel6
Self host on babel6
2016-05-01 20:03:04 -04:00
Henry Zhu
1b62be4c57 Travis: add node 6, remove iojs (#3484)
* Travis: add node 6

* remove iojs from travis [skip ci]
2016-05-01 15:22:33 -04:00
Logan Smyth
881ea85dd8 Merge pull request #3491 from rektide/babel-template-quasiquotes
docs: babel-template is an implementation of quasiquotes.
2016-04-30 14:20:13 -07:00
rektide
cfb911de91 babel-template is an implementation of quasiquotes.
LISP, Haskell, Scala, Scheme, Boo respect this term for a string literal of code being interpretted into AST. Babel should clearly identify that it too has quasi-quotes capabilities.
2016-04-30 17:08:08 -04:00
Jay Phelps
4166e5148e create new lexical env inside switch statement blocks, fixes #T7324 2016-04-29 23:54:41 -07:00
Henry Zhu
83efecdc8d check if we can revert gcc additions (#3483) 2016-04-26 17:55:35 -04:00
Henry Zhu
d657649031 Use local add-module-exports 2016-04-25 21:53:28 -04:00
Henry Zhu
ecd294b55e fix babel-traverse issues 2016-04-25 21:52:51 -04:00
Henry Zhu
373006f61b test loose mode 2016-04-25 21:52:51 -04:00
Henry Zhu
6f5e47eff0 Check if t.is is already defined (specifically accounting for the isImmutable method in validators 2016-04-24 20:06:23 -04:00
Henry Zhu
c9e5da6ad0 use named exports instead of export * as a temp workaround 2016-04-24 20:06:23 -04:00
Henry Zhu
4c23b01798 change plugins to use babel-runtime 6 2016-04-24 20:06:23 -04:00
Henry Zhu
10957a1093 Update dependencies on the top level to use babel 6 2016-04-24 20:05:34 -04:00
Logan Smyth
27bd5c6719 Merge pull request #3477 from mattkrick/patch-1
turn transform into a simple `for` loop
2016-04-24 16:47:31 -07:00
Olivier Tassinari
e2a2dd882f Docs: Update README.md (#3479)
`traverse` is imported but not used.
2016-04-24 18:38:13 -04:00
Matt Krick
caab035115 turn transform into a simple for loop 2016-04-22 16:53:10 -05:00
Logan Smyth
696c74933a v6.7.7 2016-04-20 20:09:20 -07:00
Logan Smyth
7372003fc2 Update CHANGELOG for v6.7.7. 2016-04-20 19:44:38 -07:00
Logan Smyth
f6be6e0bd4 Merge pull request #3463 from loganfsmyth/sourcemap-rework
Support more fine-grained source location tracking and use it for functions
2016-04-20 18:57:18 -07:00
Logan Smyth
09d6215835 Merge pull request #3475 from loganfsmyth/quick-perf-fixes
Code generator performance improvements
2016-04-20 18:56:57 -07:00
Logan Smyth
ca8556e36f Let function optimize better by using a boolean. 2016-04-19 19:36:11 -07:00
Logan Smyth
eb455dff85 Pre-expand type aliases for fast lookup. 2016-04-19 19:36:10 -07:00
Logan Smyth
dc92a16e7f Fast path for newline processing. 2016-04-19 18:59:32 -07:00
Logan Smyth
e7796b45c9 Add a fast path for checking for exact node types.
In my unscientific tests locally, this look the time for generating
200 files down from 11.8 to 8.3 seconds.
2016-04-19 18:59:15 -07:00
Logan Smyth
e7d37f342c Merge pull request #3457 from babel/T7272
Add test for T7272
2016-04-18 23:35:49 -07:00
Logan Smyth
b311517fd3 Merge pull request #3422 from loganfsmyth/this-shadow-constructor
Initialize shadowed 'this' bindings in constructors after super - fixes T7191
2016-04-16 14:29:38 -07:00
Henry Zhu
ceaf4af714 Docs: add heading for writing tests [skip ci] 2016-04-16 14:48:11 -04:00
Henry Zhu
eb184d618b Clarify phabricator explaination [ci skip] 2016-04-16 14:03:57 -04:00
Henry Zhu
178fc539da Add a note about old github issue links 2016-04-14 08:03:46 -04:00
Henry Zhu
98685d21d7 Merge pull request #3464 from lydell/code-frame-tabs
babel-code-frame: Handle code with tabs
2016-04-11 13:42:37 -04:00
Simon Lydell
f80463120b babel-code-frame: Handle code with tabs
Previously, the `^` marker was misaligned if the line above contained tabs.

Fixes T7282.

Note: This commit handles a very subtle edge-case differently: When the passed
in column number is larger than the length of the line. Previously, the `^`
marker would be faithfully placed at that exact column number. Now, it is placed
at the end of the line instead (after the last character of the line to be
precise). Ideally, we should define what should happen in edge cases, but that's
out of scope for this PR.
2016-04-11 15:46:32 +02:00
Simon Lydell
580b09abb1 babel-code-frame: Add test for code with tabs 2016-04-11 15:44:31 +02:00
Logan Smyth
81e6d4147d Map the end of block statement nodes to the end of their original location - fixes T7258 2016-04-11 01:54:41 -07:00
Logan Smyth
76bb1dffaa Track sourcemap location on a stack - fixes T7255 2016-04-11 01:54:40 -07:00
Logan Smyth
7d6d4c204b Create a duplicate class identiier to avoid sharing 'loc'. 2016-04-10 21:18:33 -07:00
Logan Smyth
3cb9c90c31 Merge pull request #3459 from loganfsmyth/changelog-6.7.6
Update changelog for v6.7.6.
2016-04-08 09:31:35 -07:00
Logan Smyth
83301afb6e Update changelog for v6.7.6. 2016-04-08 09:30:44 -07:00
Logan Smyth
0130c6c186 v6.7.6 2016-04-08 09:27:12 -07:00
Logan Smyth
003e39c2a8 Merge pull request #3458 from loganfsmyth/revert-3433
Revert "Merge pull request #3433 from loganfsmyth/bail-out-rename"
2016-04-08 09:23:58 -07:00
Logan Smyth
c3ccddaaaf Revert "Merge pull request #3433 from loganfsmyth/bail-out-rename"
This reverts commit 2d0a007d14, reversing
changes made to e4d6d42041.
2016-04-08 09:09:48 -07:00
Henry Zhu
c24b0b043a Add test for T7272 2016-04-08 09:02:02 -04:00
Logan Smyth
b0d27142e8 Merge pull request #3455 from loganfsmyth/changelog-6.7.5
Update CHANGELOG for v6.7.5
2016-04-07 20:29:07 -07:00
Logan Smyth
89ecbda25c v6.7.5 2016-04-07 20:24:49 -07:00
Logan Smyth
bd06ce3678 Update CHANGELOG for v6.7.5 2016-04-07 20:09:57 -07:00
Logan Smyth
9cfb8cb172 Merge pull request #3451 from loganfsmyth/sourcemap-no-source
Handle input source mappings with no original location.
2016-04-07 20:06:11 -07:00
Logan Smyth
3af8ec16e9 Handle input source mappings with no source location - fixes T7151 2016-04-07 09:34:45 -07:00
Logan Smyth
d221e21102 Handle mappings with no source when using CLI file. 2016-04-07 09:34:43 -07:00
Logan Smyth
6ec9bbead4 Merge pull request #3421 from loganfsmyth/generate-default-exports
Wrap parens around default exports starting with function/class - fixes T7136
2016-04-06 22:02:52 -07:00
Logan Smyth
11e2e1b9b0 Merge pull request #3258 from trodrigues/patch-1
Documentation for babel-plugin-transform-runtime
2016-04-06 20:54:42 -07:00
Logan Smyth
2d0a007d14 Merge pull request #3433 from loganfsmyth/bail-out-rename
Only attempt to rename export declarations, not expressions - fixes T7215
2016-04-06 19:04:21 -07:00
Logan Smyth
e4d6d42041 Merge pull request #3447 from nkzawa/patch-0
Stop traversing when target type is found
2016-04-06 18:31:51 -07:00
Logan Smyth
4b4ffe587a Merge pull request #3448 from addaleax/pass-strings-to-path-xyzname
Make sure input to path.{dir,base}name is a string
2016-04-06 17:21:34 -07:00
Anna Henningsen
bd99179abc Make sure input to path.{dir,base}name is a string
Since nodejs/node@08085c49b6, which will be part of Node.js v6.0,
functions from the `path` core module (like `dirname`) will require
their input to be a string.

Currently, at some points in the code they might be called
with `undefined`; This patch adds `… || ""` so that the input
is always a string.

For `path.dirname` in the babel-core file, this does not change
behaviour, since
`path.dirname(undefined) === path.dirname("") === "."` (where the
first expression is only defined for Node.js ≤ v5.x).

For `path.basename`, this changes the return value, since
`path.basename(undefined) === "undefined"` (on Node.js ≤ v5.x), but
`path.basename("") === ""`. However, it seems reasonable to assume
that, due to the trailing expression in
`path.basename(…) || "stdout"`, the current behaviour is not actually
the intended one.

There are possibly more places in the code base where similar changes
may be neccessary; However, these suffice to make the tests pass
and un-break the build of at least one external project when using
the current Node.js master branch.
2016-03-28 15:31:38 +02:00
nkzawa
85ecb6c97b stop traversing when target type is found 2016-03-28 03:01:06 +09:00
Henry Zhu
8fb6f878a3 Merge pull request #3441 from lydell/improve-babel-code-frame
Improve babel-code-frame. Kill the line-numbers dependency.
2016-03-25 13:06:00 -04:00
Henry Zhu
fd06f72c95 Merge pull request #3442 from loganfsmyth/remove-stale-check
Remove the NodePath validation check
2016-03-25 13:05:19 -04:00
Henry Zhu
e4be235e67 Merge pull request #3444 from drd/dont-mangle-jsxexpressioncontainer-stringliterals
Preserve whitespace in JSXExpressionContainer StringLiteral children
2016-03-25 13:04:10 -04:00
Eric O'Connell
aef82d190b Preserve whitespace in JSXExpressionContainer StringLiteral children - fixes T7243 2016-03-24 21:17:09 -07:00
Logan Smyth
bad2c768f2 Remove this check which will never pass with the new cache. 2016-03-23 20:57:18 -07:00
Simon Lydell
b733c6766a babel-code-frame: Add missing documentation.
I used the README for babel-generator as inspiration.
2016-03-23 19:06:45 +01:00
Simon Lydell
dceb988bbb babel-code-frame: Fix indentation 2016-03-23 19:00:53 +01:00
Simon Lydell
aaaffd32e7 babel-code-frame: Get rid of the line-numbers dependency. 2016-03-23 18:59:39 +01:00
Simon Lydell
d6b8e4c608 babel-code-frame: Add tests 2016-03-23 18:38:07 +01:00
Simon Lydell
6af4ba1937 babel-code-frame: Update type annotation
The code allows omitting the column number, but the type annotation for that
parameter didn't.
2016-03-23 17:13:07 +01:00
Henry Zhu
4c371132ae Merge pull request #3439 from loganfsmyth/changelog-6.7.4
Update CHANGELOG for 6.7.4
2016-03-22 23:48:42 -04:00
Logan Smyth
66a77fe9c1 Update CHANGELOG for 6.7.4 2016-03-22 20:44:05 -07:00
Logan Smyth
6470426f7a v6.7.4 2016-03-22 20:37:46 -07:00
Amjad Masad
a42d57ea81 Merge pull request #3430 from babel/dont-reuse-react
Don't reuse same node for React.createElement
2016-03-22 17:14:53 -07:00
Sebastian McKenzie
67de615bfc update babel-code-frame version 2016-03-22 22:14:36 +00:00
Sebastian McKenzie
09287643c7 remove line-numbers from babel-code-frame 2016-03-22 22:08:25 +00:00
Henry Zhu
971ab0e88e Merge pull request #3437 from babel/rm-flow-comments
Remove unused flow-comments plugin [skip ci]
2016-03-22 10:37:30 -04:00
Henry Zhu
12c78a890b Remove unused flow-comments plugin [skip ci]
- forgot to do this earlier
2016-03-22 10:37:05 -04:00
Henry Zhu
bbd37783be Merge pull request #3436 from babel/update-kcheck
update kcheck
2016-03-21 20:02:15 -04:00
Henry Zhu
77bc219548 update kcheck 2016-03-21 19:03:02 -04:00
Denis Pushkarev
8308f77cfe Merge pull request #3424 from babel/fix-t7206
Fix for T7206
2016-03-21 01:50:05 +06:00
Logan Smyth
078f6c0ed3 Only attempt to rename export declarations, not expressions - fixes T7215 2016-03-16 23:26:52 -07:00
Henry Zhu
3232c30f61 Merge pull request #3432 from simeonwillbanks/patch-1
Fix Misspelling
2016-03-17 01:24:07 -04:00
Logan Smyth
374b5d273a Merge pull request #3431 from loganfsmyth/build-debounce
Add a debounce delay so switching branches rebuilds.
2016-03-16 22:19:02 -07:00
Simeon Willbanks
93d438cf01 Fix misspelling 2016-03-16 22:17:09 -07:00
Logan Smyth
eb096b8290 Add a debounce delay so switching branches rebuilds. 2016-03-16 22:07:02 -07:00
Henry Zhu
459b1ffa1c Merge pull request #3420 from loganfsmyth/scope-cache-invalidation
Invalidate the scope cache if a node is moved to a different path - fixes T7194
2016-03-16 23:18:48 -04:00
Amjad Masad
7a2bae2de5 Merge pull request #3429 from babel/localize-test
Localize side-effectful test
2016-03-16 20:13:28 -07:00
Amjad Masad
bf600b0526 fix lint issue 2016-03-16 20:06:09 -07:00
Amjad Masad
3f4b88e638 Don't reuse same node for React.createElement
Is causing problems with path cache. See https://github.com/babel/babel/pull/3428
2016-03-16 18:14:16 -07:00
Amjad Masad
f6ff14624f localize side-effectful test 2016-03-16 18:13:40 -07:00
Henry Zhu
514d68770f Merge pull request #3419 from loganfsmyth/helper-requeue-T7199
Ensure that we push and pop evenly so things don't fail to queue - fixes T7199
2016-03-16 16:15:35 -04:00
Denis Pushkarev
ca46147734 dirty fix for T7206 for preventing runtime transform Object.defineProperty in the babel-polyfill entry point 2016-03-15 02:55:46 +06:00
Logan Smyth
661b2d9150 Merge pull request #3400 from callumlocke/patch-1
Add breakConfig option to babel's own babel config
2016-03-13 14:47:02 -07:00
Logan Smyth
e3af434250 Inserting shadowed 'this' bindings in constructors after super - fixes T7191 2016-03-12 16:18:56 -08:00
Logan Smyth
256c0100cb Wrap parens around default exports starting with function/class - fixes T7136 2016-03-12 15:31:16 -08:00
Logan Smyth
80aa424b75 Invalidate the scope cache if a node is moved to a different path - fixes T7194 2016-03-12 14:21:21 -08:00
Logan Smyth
b1c50b01f2 Ensure that we push and pop evenly so things don't fail to queue - fixes T7199 2016-03-12 12:30:33 -08:00
Amjad Masad
5373733b8d v6.7.3 2016-03-10 17:35:55 -08:00
Amjad Masad
5a9dd78b11 Merge pull request #3415 from babel/rework-warn
Rework logic that controls flowBinding warning
2016-03-10 17:11:46 -08:00
Amjad Masad
4abc03eef1 Rework logic that controls flowBinding warning
The flag to control whether we should warn didn't take into account
nested calls or scope chains. An easier approach is to have a
counter. That way we know for sure if we're somewhere deep inside a
crawl call or not.
2016-03-10 16:39:12 -08:00
Amjad Masad
3252761cce Update changelog with v6.7.2 2016-03-10 14:51:20 -08:00
Amjad Masad
de92d632f3 v6.7.2 2016-03-10 14:41:27 -08:00
Amjad Masad
9b229f1f08 Merge pull request #3414 from babel/flow-binding
Warn on Flow-based bindings and don't count as a const violation
2016-03-10 13:41:58 -08:00
Amjad Masad
5a081a8572 Update comment, reformat message 2016-03-10 13:00:45 -08:00
Amjad Masad
9f0dbf0234 Better warnings 2016-03-10 12:54:02 -08:00
Amjad Masad
7f4b57a7a4 Add warning instead of removing support 2016-03-10 12:35:15 -08:00
Amjad Masad
fd7b1c3386 don't rely on scope to get the type alias 2016-03-10 12:13:05 -08:00
Amjad Masad
342f9d5eb5 Don't consider flow types as bindings 2016-03-10 11:48:14 -08:00
Sebastian McKenzie
986ac9950a Merge pull request #3413 from babel/remove-babylon
Remove babylon
2016-03-09 22:36:28 -08:00
Sebastian McKenzie
0a490ef294 Remove babylon 2016-03-10 06:25:26 +00:00
Amjad Masad
7fb4133994 Merge pull request #3410 from babel/test-npmignore
add test to npmignores [ci skip]
2016-03-09 14:15:32 -08:00
Amjad Masad
a141bd9c1f Update changelog with v6.7 and v6.7.1 2016-03-09 14:12:38 -08:00
Amjad Masad
fedd8bd50e v6.7.1 2016-03-09 14:03:50 -08:00
Amjad Masad
facf6bc82f Merge pull request #3411 from babel/hotfix-7197
[hotfix T7197] Use scope.moveBindingTo
2016-03-09 14:00:01 -08:00
Amjad Masad
07d2c15e99 quotes 2016-03-09 13:34:06 -08:00
Amjad Masad
3dd80a6b14 Update updateScopeInfo method to use moveBindingTo 2016-03-09 13:28:45 -08:00
Amjad Masad
8b4b02a5fb [hotfix T7197] Use scope.moveBindingTo
I had deleted the binding and created a new one. I naively thought that
the analysis will automatically run again. But now discovered the method
I actually want to use: `scope.moveBindingTo` which moves the binding
and all the correct analysis. The only thing that was left to do is to
update `binding.kind` which I did manually.
2016-03-09 13:24:20 -08:00
Henry Zhu
0cc53dafc0 add test to npmignores [ci skip] 2016-03-08 22:33:23 -05:00
Amjad Masad
3d5969ecff v6.7.0 2016-03-08 16:52:45 -08:00
Amjad Masad
bbdc308e92 Merge pull request #3409 from babel/sourcempa
Fix sourcemap generation for ES2015 modules
2016-03-08 16:42:36 -08:00
Amjad Masad
ad3d5bea44 Add more test cases 2016-03-08 15:28:29 -08:00
Amjad Masad
13dc2423f0 Fix auxiliary comment test 2016-03-08 13:59:34 -08:00
Amjad Masad
46ebd90acb Test and fix export statement sourcemap 2016-03-08 13:47:02 -08:00
Amjad Masad
108838c66c Copy source location to require statement for sourcemap generation 2016-03-08 13:38:24 -08:00
Logan Smyth
1da5cda3ab Merge pull request #3408 from loganfsmyth/expand-regression-tests
Expand the regression tests for T2765.
2016-03-08 08:34:04 -08:00
Logan Smyth
af4575c43e Expand the regression tests for T2765. 2016-03-08 08:15:42 -08:00
Amjad Masad
2f654650bb Merge pull request #3407 from babel/async-tests
Async context tests
2016-03-08 02:00:40 -08:00
Amjad Masad
b35013abe5 Merge pull request #3406 from babel/fix-scope-info
Update scope info after block-scoping transform
2016-03-08 00:57:18 -08:00
Amjad Masad
69773a45f4 Add more async context tests 2016-03-08 00:55:42 -08:00
Amjad Masad
57c6c4ea81 Add test for T2765 2016-03-08 00:47:18 -08:00
Amjad Masad
0200542e82 don't use Array.includes 2016-03-08 00:33:37 -08:00
Logan Smyth
bbc3401c71 Merge pull request #3405 from loganfsmyth/shadowing-fixes
Fix shadow function processing for async functions
2016-03-07 21:22:54 -08:00
Logan Smyth
de21f2ef77 Resolve 'arguments' for rest args relative to direct parent. 2016-03-07 20:45:21 -08:00
Logan Smyth
42d3844f24 Revert special arrow wrapper and avoid shadowing arguments. 2016-03-07 20:45:20 -08:00
Logan Smyth
51ddeade8a Avoid renaming this bindings in simple arrow function cases. 2016-03-07 20:45:20 -08:00
Logan Smyth
db3a43869c Remap across arrow function boundaries - fixes T7108 2016-03-07 20:45:19 -08:00
Logan Smyth
2e210927d8 Move the necessary exec transforms to the exec test. 2016-03-07 20:45:19 -08:00
Logan Smyth
836f398619 Re-use central inShadow logic. 2016-03-07 20:45:19 -08:00
Logan Smyth
8b8e3ddbec Flatten inShadow logic for readability. 2016-03-07 20:45:18 -08:00
Amjad Masad
891becffc1 Merge pull request #3363 from danez/patch-1
fix(babel-template): Fix Error in IE <= 9
2016-03-07 18:35:27 -08:00
Amjad Masad
3bebc3a7ca lint 2016-03-07 18:26:51 -08:00
Amjad Masad
77c7cc5363 Rework scope info updating in block-scoping transform
I previously tried an approach to scope bindings from var to scope but
it didn't catch all cases. This is evident in this bug:

https://phabricator.babeljs.io/T2892

Where even after transforming a const to a var we still get an error
that it's read-only.

This approach will go through and delete every existing let and const
binding and creates a new one with the kind "var"
2016-03-07 18:19:10 -08:00
Henry Zhu
1f92e5a15c Failing test for nested async with const 2016-03-07 13:59:03 -08:00
Amjad Masad
60d773f370 Merge pull request #3393 from babel/cache
Move NodePath cache out of the AST
2016-03-07 13:57:47 -08:00
Amjad Masad
5d0645e308 Merge pull request #3381 from keijokapp/fix-named-functionexpression-scoping-issue
Fix named async FunctionExpression scoping issue.
2016-03-07 13:39:52 -08:00
Amjad Masad
ec18fa0059 Add clearCache test 2016-03-07 12:50:57 -08:00
Amjad Masad
d5e78384ef Only export methods and not the entire cache 2016-03-07 12:50:29 -08:00
Amjad Masad
fc19ac2af5 Remove merge artificats 2016-03-07 12:05:46 -08:00
Amjad Masad
403d6153fd correct cache path 2016-03-07 12:04:44 -08:00
Amjad Masad
b53755422c Move things around 2016-03-07 12:04:44 -08:00
Amjad Masad
bf91a68375 Move scope cache to the cache module 2016-03-07 12:04:44 -08:00
Amjad Masad
3c148148bc Semicolon 2016-03-07 12:04:44 -08:00
Amjad Masad
5367d5d151 Make sure we update the cache in all the right places 2016-03-07 12:04:44 -08:00
Amjad Masad
29ef158204 Semis 2016-03-07 12:03:48 -08:00
Amjad Masad
b9a893aab6 Move NodePath cache out of the AST
As mentioned on the task https://phabricator.babeljs.io/T7179 having
this cache on the AST leads to all sorts of portability and reuse
bugs.

This moves the cache into a clearable WeakMap which will fix the
following:

1. Moving the AST between different babel versions or tools will not
lead into sharing potentially outdated cached information

2. `.clear()` can be called on the cache by a plugin to clear
potentially outdated information. This is helpful when implementing two
seperate pipelines that should not share information.

I think the next step (which is harder, I tried) is to isolate cache and
make it live on a transform or pipeline level state (like the `hub`).

The reason it is hard is because the `babel-traverse` main API -- although
requires the state object to be passed -- not many callers do. To fix
this we should release a patch version that warns about this and fix all
the internal callers. Next couple of releases we can start throwing when
no state is passed (or we can create our own state).
2016-03-07 12:03:48 -08:00
Amjad Masad
b7465843dd Merge pull request #3375 from jmm/parameters-rest-optimization-errors
Fix errors in parameters rest transformation [T7138]
2016-03-07 11:58:15 -08:00
Amjad Masad
4b2a660ee0 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
3c6c09d00a Only detect indent if babel-generator is provided code string, vs multi-source object. 2016-03-07 02:47:28 -08:00
Dale Bustad
288b3ba559 Attach filename property to node.loc when provided. 2016-03-07 02:47:28 -08:00
Dale Bustad
f007b51554 Accept filename-to-file-content hash as code parameter of generate. 2016-03-07 02:47:28 -08:00
Dale Bustad
26dcd6400f When generating sourcemaps, use per-node source filename if present. 2016-03-07 02:47:27 -08:00
Henry Zhu
d7342542b7 Merge pull request #3385 from samwgoldman/def-site-variance
Add support for Flow def-site variance syntax
2016-03-06 18:00:38 -05:00
Sam Goldman
a38a58bad8 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
5eb13059e2 Merge pull request #3383 from babel/T7160
Regression with exporting an arrow function with a default param
2016-03-06 15:40:27 -05:00
Henry Zhu
57ef6a2b6a v6.6.5 2016-03-04 18:16:17 -05:00
Henry Zhu
d915508877 remove misc alias files 2016-03-04 17:58:49 -05:00
Henry Zhu
5cc2037b1b Merge pull request #3401 from babel/changelog-6.6.5
6.6.5 changelog [ci skip]
2016-03-04 17:55:55 -05:00
Henry Zhu
54cbefaa27 6.6.5 changelog [ci skip] 2016-03-04 17:47:26 -05:00
Henry Zhu
3689cae8e5 Merge pull request #3399 from babel/flow-comments
use flow instead of flow-comments
2016-03-04 16:24:28 -05:00
Henry Zhu
937b8a6767 use flow instead of flow-comments 2016-03-04 15:50:05 -05:00
Callum Locke
2870eaf669 Add breakConfig option to babel's own babel config 2016-03-04 12:56:57 +00:00
Amjad Masad
92ed05640c Merge pull request #3398 from babel/revert-rm-flow
Revert "Remove flow"
2016-03-03 16:07:24 -08:00
Amjad Masad
2d05996810 Merge pull request #3397 from babel/hzoo-patch-1
Make sure lib is clean before publishing
2016-03-03 15:22:54 -08:00
Amjad Masad
2f5a17fd90 fix eslint 2016-03-03 15:22:16 -08:00
Amjad Masad
2fbe28cc88 Remove remaining @flow annotations 2016-03-03 15:10:59 -08:00
Amjad Masad
12ee11a0a4 Revert "Remove Flow annotations and pragmas"
This reverts commit 4252244d06.
2016-03-03 15:03:55 -08:00
Henry Zhu
b8b6bc0602 Make sure lib is clean before publishing 2016-03-03 17:50:51 -05:00
Amjad Masad
3667527d04 Revert "Remove flow"
This reverts commit 2827ff6b01.
2016-03-03 14:49:20 -08:00
Amjad Masad
b88182cacf Merge pull request #3396 from AgentME/afterCompute
Fix T7183: Object accessors after computed property were broken
2016-03-03 14:45:53 -08:00
Chris Cowan
cbae3c0e1d Fix T7183. 2016-03-03 12:15:11 -08:00
Chris Cowan
d864cde3c8 Add failing tests for T7183. 2016-03-03 12:12:14 -08:00
Logan Smyth
6ccd74a94e Merge pull request #3395 from loganfsmyth/object-rest-binding
Recognize object rest properties as binding identifiers - fixes T7178
2016-03-03 09:44:51 -08:00
Logan Smyth
305252d335 Recognize object rest properties as binding identifiers - fixes T7178 2016-03-03 08:58:22 -08:00
Amjad Masad
47782a6170 Merge pull request #3389 from babel/block-binding-actual
Update scope binding info after transforming block-scoped bindings
2016-03-02 18:51:26 -08:00
Amjad Masad
3744aefb4f Merge pull request #3391 from benjamn/fix-buildExportAll
Make buildExportAll generate pure ES5 code.
2016-03-02 18:50:47 -08:00
Henry Zhu
02a659a754 Merge pull request #3394 from babel/6.6.4-changelog
6.6.4 changelog [ci skip]
2016-03-02 16:49:19 -05:00
Henry Zhu
2aabefe812 6.6.4 changelog [ci skip] 2016-03-02 16:47:59 -05:00
Henry Zhu
39a8f5b796 v6.6.4 2016-03-02 16:29:17 -05:00
Henry Zhu
bca622abbc Merge pull request #3388 from AgentME/dupgetters
Partial T7173 Fix: Prevent accessors being seen as duplicates of each other
2016-03-02 16:22:57 -05:00
Henry Zhu
414efef7e3 Regression with exporting an arrow function with a default param 2016-03-02 09:49:43 -05:00
Henry Zhu
4d7b2b8066 Docs: fix mistakes in changelog [ci skip] 2016-03-02 09:44:32 -05:00
Henry Zhu
c70786b150 Merge pull request #3392 from samwgoldman/remove-more-flow
Remove flow
2016-03-02 08:54:25 -05:00
Sam Goldman
2827ff6b01 Remove flow 2016-03-01 22:33:30 -08:00
Ben Newman
9acd33b93a Make buildExportAll generate pure ES5 code.
The untransformed `let` keyword causes problems for older parsers. I
understand using `let` instead of `var` ensures each getter function has
its own binding for the KEY variable, but the same can be accomplished
(with less code) using a `.forEach` callback function, and this way
there's no need to worry about generating a unique name for the `key`
variable.
2016-03-02 00:08:55 -05:00
Amjad Masad
f4197cc77b Merge pull request #3350 from skevy/fix-babelrc-plugin-resolution
Make Babel actually resolve plugins relative to where they were specified (via .babelrc).
2016-03-01 17:19:40 -08:00
Chris Cowan
63af3d1366 Fix issue where we didn't record seeing a property sometimes. 2016-03-01 17:13:20 -08:00
Amjad Masad
30bb38c4bb Update scope binding info after transforming block-scoped bindings
When convert a const, let or any other block-bound binding to a var we
forget to update the scope info. This confuses other transforms that may
come after this as to which scope does the binding belongs to.

This also uncovered an issue where duplicate block-scoped bindings were allowed
to co-exist.
2016-03-01 17:03:06 -08:00
Chris Cowan
3227279d95 Fix accessors being seen as duplicates of each other
If an object has a getter and setter of the same name, then they
shouldn't be treated as duplicate properties.
2016-03-01 16:30:48 -08:00
Henry Zhu
cc9430fd29 Add changelog for 6.6.1-6.6.3 [ci skip] 2016-03-01 17:50:26 -05:00
Henry Zhu
86284963f3 v6.6.3 2016-03-01 11:40:48 -05:00
Logan Smyth
58c6c1d2ab Merge pull request #3387 from loganfsmyth/context-queue-fix
Ensure that the found context is active before pushing it.
2016-03-01 08:28:49 -08:00
Logan Smyth
f2fea017c6 Ensure that the found context is active before pushing it. 2016-03-01 08:14:14 -08:00
Henry Zhu
b1477a3e8c v6.6.2 2016-03-01 09:08:35 -05:00
Henry Zhu
01f5b93978 Merge pull request #3386 from loganfsmyth/revert-requeue-change
Revert .requeue changes made in earlier ES3 fixes.
2016-03-01 08:54:19 -05:00
Logan Smyth
4561732bce Revert .requeue changes made in earlier ES3 fixes. 2016-02-29 23:55:47 -08:00
Henry Zhu
ddc82a848c Merge pull request #3384 from babel/build-dist
Run build-dist on publish so we do not forget
2016-02-29 23:06:00 -05:00
Henry Zhu
68c0a4b141 Run build-dist (will also run build) 2016-02-29 19:42:21 -05:00
Henry Zhu
68cdb2133d v6.6.1 2016-02-29 19:27:09 -05:00
Henry Zhu
188dbcb61c Update polyfill/runtime README 2016-02-29 19:24:07 -05:00
Henry Zhu
acfcd88fd9 Run build-dist on publish so we do not forget 2016-02-29 19:18:45 -05:00
Henry Zhu
b1058db7fb changelog: add missing entries [ci skip] 2016-02-29 16:51:57 -05:00
Henry Zhu
f34e6518ff v6.6.0 2016-02-29 16:12:12 -05:00
Henry Zhu
4b1d20004f Merge pull request #3382 from babel/6.6.0-changelog
Add 6.6.0 changelog
2016-02-29 16:06:24 -05:00
Henry Zhu
6b6447da2e we need a gif of course 2016-02-29 16:05:09 -05:00
Henry Zhu
c10291cb28 Add 6.6.0 changelog [ci skip] 2016-02-29 15:58:15 -05:00
Henry Zhu
7dad6ab4ed Merge pull request #3377 from babel/babel-5-opts-error
Give specific error messages for babel 5 options that were removed in…
2016-02-29 15:17:43 -05:00
Henry Zhu
0916e2d189 Give specific error messages for babel 5 options that were removed in babel 6 2016-02-29 14:34:46 -05:00
keijokapp
105299f26d Fix named FunctionExpression scoping issue. 2016-02-29 19:21:48 +02:00
Henry Zhu
1271d2cd52 Merge pull request #3380 from babel/unary-arrow
Fix: Add parens for unary arrow function
2016-02-29 12:18:12 -05:00
Henry Zhu
66ea5342de Merge pull request #3379 from babel/memexp-numliteral
Fix: invalid codegen for non decimal numeric literals in MemberExpression
2016-02-29 11:40:30 -05:00
Henry Zhu
3e4668dc14 Merge pull request #3366 from clayreimann/umd-plugin-add-global-name-override
[UMD] Fixed T6832
2016-02-29 09:45:10 -05:00
Clay Reimann
92946ccac3 [UMD] Fixed T6832 2016-02-29 08:23:35 -06:00
Henry Zhu
ec3c183668 Fix: Add parens for unary arrow function
Fixes T7157
2016-02-28 21:56:22 -05:00
Henry Zhu
35ed18f628 Fix invalid codegen for non decimal numeric literals in MemberExpression
Fixes T7156
2016-02-28 20:34:45 -05:00
Henry Zhu
6cb0fd8cc7 Merge pull request #3378 from samwgoldman/remove-flow
Remove Flow annotations and pragmas
2016-02-28 19:08:51 -05:00
Sam Goldman
5167d001c5 Remove @noflow as well 2016-02-28 13:25:36 -10:00
Sam Goldman
cd1af74ecc Remove weird codemod artifact 2016-02-28 13:23:28 -10:00
Sam Goldman
4252244d06 Remove Flow annotations and pragmas 2016-02-28 13:18:57 -10:00
Henry Zhu
6aff776124 Merge pull request #3280 from AgentME/dupkeys
Fix T2462, compile duplicate keys in objects to valid strict ES5
2016-02-27 23:16:20 -05:00
Chris Cowan
b2aecd4320 Fix arrow style issue 2016-02-26 08:57:34 -08:00
Chris Cowan
f01eaa8e47 Put transform-es2015-duplicate-keys plugin in es2015 preset. 2016-02-25 21:03:03 -08:00
Chris Cowan
4730526bf2 Add transform-es2015-duplicate-keys plugin. 2016-02-25 21:03:03 -08:00
Henry Zhu
b8cdd6e28c Merge pull request #3365 from jridgewell/replace-implicit-arrow-with-block
Replace arrow expression body with block statement
2016-02-25 22:02:31 -05:00
Henry Zhu
bf05b1b3bc Merge pull request #3368 from loganfsmyth/es3-transform-fixes
Fix the module plugin to properly requeue so the ES3 transforms can work
2016-02-25 21:57:23 -05:00
Jesse McCarthy
49e30f49bc Fix rest optimization errors. 2016-02-25 18:42:52 -05:00
Jesse McCarthy
8419be1afc Add postfix update expression fixtures.
(Failing.)
2016-02-25 17:11:19 -05:00
Jesse McCarthy
5f98d22b6d Add for-of fixture.
(Failing.)
2016-02-25 17:11:19 -05:00
Jesse McCarthy
1c304965e7 Add rest loop position optimization fixture.
(Failing.)

With destructuring assignment to an element.

This makes the function ineligible for `arguments` optimization, while
remaining eligible for loop position optimization.
2016-02-25 17:11:19 -05:00
Victor Felder
183fbab967 Fix some rest optimization errors.
Commit message edited by @jmm.
2016-02-25 17:11:19 -05:00
Jesse McCarthy
6ca07974c9 Add array destruct w/o [rest[0]] on RHS fixture.
(Failing.)
2016-02-25 17:11:19 -05:00
Jesse McCarthy
0be3a58dd2 Add expected fixtures for new actuals.
(Failing.)
2016-02-25 17:11:18 -05:00
Ben Newman
a82bf11e2a Add rest deoptimization fixtures.
(Failing.)

Commit message edited by @jmm.
2016-02-25 17:11:18 -05:00
Logan Smyth
a5ed818a55 Merge pull request #3370 from siroky/patch-1
Adds repository field to babel-plugin-transform-regenerator
2016-02-23 22:21:59 -08:00
Honza Široký
33d70df5b9 Adds repository field to babel-plugin-transform-regenerator 2016-02-24 01:07:33 +01:00
Henry Zhu
c43a154275 Merge pull request #3369 from tiemevanveen/patch-1
Docs: fix babel-plugin-transform-proto-to-assign readme url
2016-02-23 11:32:21 -05:00
Tieme van Veen
84a5d863b0 fix babel-plugin-transform-proto-to-assign readme url 2016-02-23 17:23:05 +01:00
Logan Smyth
0a0407be41 Re-queue remapped imports so they are re-traversed - fixes T6863 2016-02-22 22:54:28 -08:00
Logan Smyth
01003b954a Re-queue nodes inserted with .replaceWith and centralize logic - fixes T2817 2016-02-22 22:44:03 -08:00
Henry Zhu
54a064b970 Merge pull request #3362 from hzoo/err-babel-5-plugin
Show a better error when trying to use a babel 5 plugin
2016-02-22 19:40:52 -05:00
Logan Smyth
98c0c08808 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
Henry Zhu
ab7533ed6c Merge pull request #3358 from gzzhanghao/master
Fix generator with empty token list and force a newline for line comments in concise mode
2016-02-20 22:33:20 -05:00
Justin Ridgewell
de1431e8c6 Replace arrow expression body with block statement
Original PR: https://github.com/babel/babel/pull/2469. Seems this got
lost in the v6 changes.

- - -

Without this, the only way to replace the arrow function is to either
manually override its `node.body`, or duplicate the arrow:

```js
// Old
ArrowFunctionExpression: function (node) {
  node.body = t.blockStatement(...);
  // Or
  return t.ArrowFunctionExpression(
    node.params,
    t.blockStatement(...),
    node.async
  );
}

// New
ArrowFunctionExpression: function() {
  this.get("body").replaceWith(t.blockStatement(...));
}
```
2016-02-20 04:36:40 -05:00
Jesse McCarthy
3b8c5b7620 Merge pull request #3249 from jmm/rest-assign-el
Fix assignment to rest param element AST error.

Fix T6932.
2016-02-19 08:47:17 -05:00
Daniel Tschinder
ec5d83f95d fix(babel-template): Fix Error in IE <= 9
In IE <= 9 Error.prototype.stack does not exist.
2016-02-18 14:03:14 +01:00
Henry Zhu
6425c47537 Show a better error when trying to use a babel 5 plugin 2016-02-17 20:31:49 -05:00
Henry Zhu
26a3fdc3df Merge pull request #3336 from erikdesjardins/async-arrow-rest
Fix T3077 (incorrect _arguments for async arrow functions with rest params)
2016-02-17 15:26:58 -05:00
Sebastian McKenzie
523dfb1387 update kcheck 2016-02-17 05:34:41 +00:00
Sebastian McKenzie
13d1eabcab bump kcheck version 2016-02-17 05:29:14 +00:00
Sebastian McKenzie
e9f19e1097 remove npm3 kcheck hack 2016-02-17 05:22:53 +00:00
Sebastian McKenzie
6b4f2dfc19 clear node_modules, fix travis ci 2016-02-17 05:08:43 +00:00
Jason
28ca3f7f3a [generator] bug fix
- Fix Whitespace with empty token list
- Force a newline for line comments in concise mode
2016-02-17 13:01:54 +08:00
Sebastian McKenzie
4c6c80a3ab install npm 3 on all travis builds 2016-02-17 04:59:02 +00:00
Logan Smyth
39c9066e40 Merge pull request #3359 from loganfsmyth/context-queueing-order
Queue regeneratorRuntime so it is transformed before Program#exit
2016-02-15 21:23:45 -08:00
Denis Pushkarev
e6e0171db3 [core-js] temporary disable features, which can break "old runtime and new transform-runtime" case 2016-02-16 00:30:54 +06:00
Sebastian McKenzie
9bd15508a2 suppress final lint error? 2016-02-15 00:20:19 +00:00
Sebastian McKenzie
c55794596e remove flowconfig 2016-02-15 00:10:58 +00:00
Sebastian McKenzie
d1e02e773f remove flow-bin 2016-02-15 00:06:40 +00:00
Sebastian McKenzie
224bbd0fb9 remove version in flowconfig 2016-02-15 00:06:18 +00:00
Sebastian McKenzie
d1f7eab060 noflow one more file 2016-02-15 00:00:44 +00:00
Sebastian McKenzie
b5bcd64120 noflow some files 2016-02-14 23:58:37 +00:00
Sebastian McKenzie
7116816624 klint -> kcheck 2016-02-14 23:53:10 +00:00
Sebastian McKenzie
54e24b6a6c Update Makefile to use klint 2016-02-14 23:28:28 +00:00
Sebastian McKenzie
93e5c0e64b Merge pull request #3361 from babel/klint
Switch to klint, fix some lint rules
2016-02-14 23:26:30 +00:00
Sebastian McKenzie
5b89849f43 Switch to klint, fix some lint rules 2016-02-14 23:25:14 +00:00
Sebastian McKenzie
a1b8a765f7 Merge pull request #3340 from zloirock/update-core-js
update core-js
2016-02-14 23:13:48 +00:00
Henry Zhu
ef6b54c1d9 Merge pull request #3356 from loganfsmyth/operator-parse-error
Properly fail to parse >== and <== - fixes T2921
2016-02-14 16:15:31 -05:00
Logan Smyth
96a6d9f92e Queue regeneratorRuntime so it is transformed before Program#exit - fixes T7041 2016-02-13 22:56:03 -08:00
Henry Zhu
456d24630a Merge pull request #3357 from forivall/typo-1
Fix typo: sorucemap -> sourcemap
2016-02-13 16:08:30 -05:00
Jordan Klassen
89b20c6562 Fix typo: sorucemap -> sourcemap 2016-02-13 12:35:45 -08:00
Logan Smyth
ce1423d560 Properly fail to parse >== and <== - fixes T2921 2016-02-13 10:08:05 -08:00
Logan Smyth
9e383b09b9 Clean up babylon bundle to allow it to be re-bundled - fixes T6930 2016-02-12 22:48:00 -08:00
Amjad Masad
e0a7271ace Merge pull request #3346 from schmod/T7091
rename scope bindings during block scope transform
2016-02-12 12:12:39 -08:00
Henry Zhu
2d96a52ad2 Merge pull request #3353 from babel/changelog
6.5.2 changelog
2016-02-12 11:52:34 -05:00
Henry Zhu
97a4434663 6.5.2 changelog 2016-02-12 11:51:53 -05:00
Henry Zhu
b1bb39e733 v6.5.2 2016-02-12 11:29:58 -05:00
Erik Desjardins
a3bca783dd Transformed generators for async function expressions should not be shadow functions 2016-02-12 11:25:11 -05:00
Henry Zhu
5d98f3a401 Merge pull request #3342 from rstacruz/patch-1
babel-register: update README.md
2016-02-12 10:59:22 -05:00
Henry Zhu
971545000a Merge pull request #3345 from babel/readme-with-options
Docs: update plugin readmes with options
2016-02-12 10:58:04 -05:00
Logan Smyth
e9423e82bc Merge pull request #3348 from loganfsmyth/fix-option-loading
Merge config options into list after babelrc options - fixes T7079
2016-02-12 08:44:59 -07:00
Henry Zhu
7ad94765f0 Merge pull request #3352 from pra85/patch-2
Docs: Fix a typo
2016-02-12 08:54:25 -05:00
Prayag Verma
b3d270ed9b Fix a typo
`setttings` → `settings`
2016-02-12 17:24:25 +05:30
Sebastian McKenzie
637fdc6fd3 Merge pull request #3344 from babel/remove-0.10ci
Travis: Remove 0.10, since it's covered by Circle
2016-02-12 07:01:28 +00:00
Henry Zhu
a1c11e6046 Merge pull request #3351 from hzoo/asi-generator
Add class properties test with a generator method that results in a p…
2016-02-11 13:17:43 -05:00
Henry Zhu
8568198238 Add class properties test with a generator method that results in a parse error 2016-02-11 13:03:36 -05:00
Adam Miskiewicz
c1960dbe02 Make Babel resolve plugins relative to where they were specified.
Given the following `.babelrc`:

```
{
  "plugins": ["./myPluginDir/somePlugin.js"]
}
```

Babel should resolve that plugin relative to the directory that contains the `.babelrc` file.

Currently, Babel is resolving the plugin relative to the current `process.cwd()`, as you can see in this test case: https://github.com/skevy/babel-plugin-resolution-test-case

This is occurring because the "fake" `Module` that we're creating in the `resolve` helper doesn't have an `id` and `filename`. Therefore, Node builds an array of paths that contains a number of node_module paths as well as `.`, and doesn't contain the path in which we'd actually like to look up the plugin. `.` of course resolves to the current `process.cwd()`, and thus makes the Babel plugin resolution mechanism quite fragile. The relevant code in Node.JS can be found here (tagged at the v5.4.1 release): ff99203724/lib/module.js (L236-L242).

This PR adds `id` and `filename` to that fake `Module` in order to resolve this issue.
2016-02-11 11:13:57 -05:00
Logan Smyth
ff2bf2642b Merge pull request #3326 from eetulatja/master
Fix spread to work with super method calls
2016-02-10 22:49:02 -07:00
Logan Smyth
b53864c569 Merge pull request #3334 from loganfsmyth/bind-callee-ref
Check BindExpression callee for reference - fixes T6984
2016-02-10 22:42:50 -07:00
Logan Smyth
18fd06cf4a 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
8c910d6a4c Merge config options into list after babelrc options - fixes T7079 2016-02-10 21:18:27 -08:00
Henry Zhu
5a271b091a Docs: update plugin readmes with options [ci skip] 2016-02-10 18:12:58 -05:00
Andrew Schmadel
307d5c5a0d rename scope bindings during block scope transform 2016-02-10 11:44:16 -05:00
Henry Zhu
d3310fb5ea Travis: Remove 0.10, since it's covered by Circle 2016-02-09 23:27:00 -05:00
Henry Zhu
77a36633be Merge pull request #3343 from ntwb/patch-1
Travis CI: Switch from deprecated `stable` NodeJS to latest 4.x.x & 5.x.x
2016-02-09 23:20:59 -05:00
Stephen Edgar
606c8d05fd Travis CI: Switch from deprecated stable NodeJS to latest 4.x.x & 5.x.x
• `stable` is deprecated, see https://github.com/creationix/nvm#usage
• Switch from `4.0` to `4` to use the latest v4.x.x LTS branch
• Switch from `stable` to `5` to use the latest v5.x.x "stable" branch
2016-02-10 14:13:21 +11:00
Erik
27a132a9cb Add test for T3077 (Incorrect rest operator behavior for async arrow functions) 2016-02-09 13:13:28 -05:00
Rico Sta. Cruz
5a312e69be babel-register: update README.md 2016-02-09 18:48:25 +08:00
Denis Pushkarev
e50be68400 add special case for legacy modules to the runtime build script 2016-02-09 15:28:17 +06:00
Henry Zhu
afce6253bc Merge pull request #3341 from chicoxyzzy/unnecessary-dep
bin-version-check is unnecessary now
2016-02-08 20:41:12 -05:00
chico
fae5b7a728 bin-version-check is unnecessary now 2016-02-09 04:32:53 +03:00
Denis Pushkarev
79214b3b05 update core-js 2016-02-09 07:31:02 +06:00
Henry Zhu
612e11e615 Merge pull request #3339 from babel/shell-scripts
Know how to write good shell scripts
2016-02-08 20:27:31 -05:00
Henry Zhu
7bcfa02edd Know how to write good shell scripts 2016-02-08 19:59:34 -05:00
Henry Zhu
c7f8e0c5b8 Merge pull request #3337 from loganfsmyth/no-prefer-global
Don't preferGlobal on the `babel` package.
2016-02-08 11:45:32 -05:00
Logan Smyth
2f0c646364 Don't preferGlobal on the babel package. 2016-02-08 08:33:23 -08:00
Henry Zhu
851ed6e6a5 clarify that passPerPreset is experimental 2016-02-08 10:39:30 -05:00
Sebastian McKenzie
7507f5ffb5 Update CHANGELOG.md 2016-02-08 02:40:41 +00:00
Sebastian McKenzie
a0fdb77413 v6.5.1 2016-02-08 02:18:10 +00:00
Sebastian McKenzie
bc2f84f371 Fix API change that e7187faea6 introduced that wasn't changed in babel-register. Also use an object rather than a long ass list of arguments. 2016-02-08 02:17:09 +00:00
Amjad Masad
ba40f6979b Merge pull request #3333 from loganfsmyth/improve-cli-error
Improve the error messaging for using the wrong CLI script.
2016-02-07 14:37:15 -08:00
Henry Zhu
04137d363f Merge pull request #3328 from babel/tests-docs
Docs: update CONTRIBUTING to include some information on how tests wo…
2016-02-07 17:27:58 -05:00
Henry Zhu
8191681dfa Merge pull request #3325 from babel/npm3
Add note about developing with npm 3.
2016-02-07 09:27:49 -05:00
Henry Zhu
24c759a229 Merge pull request #3329 from loganfsmyth/export-specifier-validator
Fix export specifier validator.
2016-02-07 09:27:09 -05:00
Logan Smyth
c67905ac93 Add tests for class property ASI. 2016-02-06 23:01:38 -08:00
Logan Smyth
b13be640fa Check BindExpression callee for reference - fixes T6984 2016-02-06 22:17:46 -08:00
Henry Zhu
f3fca16838 Merge pull request #3330 from loganfsmyth/recommend-nonglobal
Remove global install recommendation.
2016-02-06 22:19:41 -05:00
Logan Smyth
256cb18656 Improve the error messaging for using the wrong CLI script. 2016-02-06 19:09:14 -08:00
Logan Smyth
63b328ce87 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
89ae1dc258 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
f9f8ad6eff v6.5.0 2016-02-06 19:06:41 -05:00
Logan Smyth
50e9016002 Remove global install recommendation. 2016-02-06 13:53:42 -08:00
Logan Smyth
ccf3875a67 Fix export specifier validator. 2016-02-06 13:49:34 -08:00
Henry Zhu
eb7d697957 remove unnecessary stuff, add more links 2016-02-06 16:04:02 -05:00
Henry Zhu
773dcbc5d5 Docs: update CONTRIBUTING to include some information on how tests work in plugins 2016-02-06 16:01:22 -05:00
Eetu Latja
9d5184ffb2 Fix spread to work with super method calls 2016-02-06 19:31:42 +02:00
Henry Zhu
cee7619f73 Add note about developing with npm 3. 2016-02-06 10:06:56 -05:00
Henry Zhu
31404b9bdc Merge pull request #3302 from babel/6.5.0-changelog
add 6.5.0 changelog
2016-02-05 17:21:20 -05:00
Henry Zhu
6b751a53da Add 6.5.0 changelog [ci skip] 2016-02-05 17:18:30 -05:00
Amjad Masad
e24be1a051 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
Henry Zhu
4e619db873 Merge pull request #3324 from zjmiller/master
Parenthize "in" in for-loop init, even when init has nested for-loop
2016-02-05 15:50:11 -05:00
Henry Zhu
a757e26005 Merge pull request #3312 from erikdesjardins/hoist-async
Fix T6882 (async functions are not hoisted)
2016-02-05 15:32:26 -05:00
Zachary Miller
33b4ef5d52 Parenthize "in" in for-loop init, even when init has nested for-loop 2016-02-05 14:28:01 -06:00
Henry Zhu
1eb8b9dff2 Merge pull request #3319 from jeffmo/flow_leading_pipes
Add support for leading pipes in Flow type alias RHS syntax
2016-02-05 13:53:07 -05:00
Jeff Morrison
e6951e99f0 Add support for leading pipes in Flow type alias RHS syntax 2016-02-05 13:23:55 -05:00
Henry Zhu
98fa405b91 Merge pull request #3322 from babel/update-gcc
Update gcc for compiling modules in node 4/5
2016-02-04 20:41:23 -05:00
Henry Zhu
a24a61c6c7 Update gcc for compiling modules in node 4/5 2016-02-04 18:52:23 -05:00
Henry Zhu
fff27b458f Internal: actually fail/exit when flow fails 2016-02-04 18:47:00 -05:00
Henry Zhu
526151c580 Merge pull request #3321 from babel/babylon-test
Docs: add information on writing tests in babylon
2016-02-04 17:57:18 -05:00
Henry Zhu
12f286143e Docs: add information on writing tests in babylon 2016-02-04 17:42:25 -05:00
Amjad Masad
bcc32da0d9 Merge pull request #3316 from forivall/babel-generator-simplify-node
Simplify babel-generator/node/index.js
2016-02-04 14:10:16 -08:00
Henry Zhu
f8036c7230 Merge pull request #3311 from babel/object-body
[T7047] Consider arrow functions when parenthesizing object expressions
2016-02-04 14:44:22 -05:00
Henry Zhu
807e190728 Merge pull request #3186 from hzoo/add-some-flow
add some more flow types
2016-02-04 11:10:02 -05:00
Henry Zhu
f59faeeeaa only run flow check in CI if npm 3 2016-02-04 11:07:05 -05:00
Henry Zhu
3522148255 update babel-eslint and eslint 2016-02-04 11:07:04 -05:00
Henry Zhu
e998e53466 run generate-iterfaces 2016-02-04 11:07:04 -05:00
Henry Zhu
c2d7e95e1a add some more flow types 2016-02-04 11:07:03 -05:00
Henry Zhu
7d2ec4aa7f Merge pull request #3318 from babel/test-3303
make a test for #3303
2016-02-04 10:56:44 -05:00
Henry Zhu
9182fcd71b make a test for #3303 2016-02-04 10:54:14 -05:00
Henry Zhu
26cd517932 Merge pull request #3303 from BlackGlory/patch-1
Throw a TypeError when falsy value found in plugins
2016-02-04 10:50:38 -05:00
Sebastian McKenzie
effaf820c3 Merge pull request #3317 from babel/add-make-build
make publish: add make build in case it wasn't run
2016-02-04 15:17:00 +00:00
Henry Zhu
9f5314ad42 make publish: add make build in case it wasn't run 2016-02-04 09:58:57 -05:00
Jordan Klassen
8fd329a2f4 Remove "Node" class from generator, just use module
The Node class was unused as a class
2016-02-03 16:51:10 -08:00
Amjad Masad
6bb7eb0c78 Merge pull request #3300 from gzzhanghao/gen-fix
Fix generators with default args
2016-02-03 15:46:39 -08:00
Sebastian McKenzie
f08ce440ab Merge pull request #3314 from guybedford/template-source-maps
PR for T6903 - fixing System source maps
2016-02-03 23:45:41 +00:00
guybedford
5a0d5dc500 babel-template clearNode fix to not remove existing sourceMaps (T6903) 2016-02-04 01:31:18 +02:00
Sebastian McKenzie
19591b709f Merge pull request #3313 from babel/analyse-api
Add babel.analyze
2016-02-03 22:01:39 +00:00
Sebastian McKenzie
35e8250b57 add a top level analyze method for path marking sugar 2016-02-03 21:29:47 +00:00
Henry Zhu
6b76402791 Merge pull request #3301 from jmm/ast-updates
Update AST spec
2016-02-03 15:53:13 -05:00
Henry Zhu
e1867f75e2 Merge pull request #3304 from jamestalmage/fix-T7046
[babel-template][T7046]: Add optional babylon options argument.
2016-02-03 14:26:56 -05:00
Erik Desjardins
84af53d356 Async function will be hoisted above some imports
...but it's still below `exports.foo = undefined;`, so the test is intact
2016-02-03 12:11:14 -05:00
Erik Desjardins
4142003bbd Hoist initial exports.foo = undefined and __esModule declarations above hoisted async functions 2016-02-03 12:11:11 -05:00
Erik
e759b5f835 Add exec test for T6882 (async function hoisting) 2016-02-03 12:11:08 -05:00
Jason
523a9d1d00 [traverse] nit 2016-02-03 17:46:34 +08:00
Tiago Rodrigues
61bf94afdb Fix bad link due to copypaste failure 2016-02-03 10:07:55 +01:00
Erik
ec61bd9386 Revert "Don't mark async functions as hoist"
This reverts commit d34cb69912.
2016-02-02 22:13:26 -05:00
Amjad Masad
7428654c19 Merge pull request #3290 from AgentME/exportAsyncTest
Add test for T3026
2016-02-02 16:55:58 -08:00
Amjad Masad
430607fc1d Merge pull request #3298 from babel/hzoo-T7010
Set NOT_LOCAL_BINDING on all inferred function names
2016-02-02 16:46:35 -08:00
Amjad Masad
9aac73e70b Merge pull request #3299 from robcolburn/multibyte-test
Ensure that we do not break mutli-byte handling
2016-02-02 16:45:50 -08:00
Amjad Masad
aa9dafe05f Merge pull request #3307 from josh/cli-optional-chokidar-dev
babel-cli: Make chokidar dependency optional
2016-02-02 16:45:02 -08:00
Amjad Masad
3d3b30eb45 [T7047]Consider arrow functions when parenthesizing object expressions 2016-02-02 16:26:31 -08:00
Tiago Rodrigues
597d895cf3 Documentation for babel-plugin-transform-runtime
Based on 862b43db93/docs/usage/runtime.md

Related to https://github.com/babel/babel.github.io/issues/674 and https://github.com/babel/babel.github.io/issues/491
2016-02-02 16:36:30 +01:00
Joshua Peek
005c4cb7a8 Show specific error message when chokidar can't be loaded 2016-02-01 19:24:08 -08:00
Henry Zhu
82bab2847b Merge pull request #3308 from sappharx/patch-1
Update compiler-environment-support.md
2016-02-01 21:01:31 -05:00
Vincent Sisk
b8129d8ddf Update compiler-environment-support.md 2016-02-01 18:50:58 -07:00
Joshua Peek
f81d9e1274 Mark chokidar as optional dependency 2016-02-01 17:03:37 -08:00
Joshua Peek
0878685a5a Defer requiring chokidar dependency until --watch flag is passed 2016-02-01 17:03:13 -08:00
Julian Viereck
624a811885 Fix and tests 2016-01-31 01:22:31 +01:00
James Kyle
13129568ca Merge pull request #3168 from CrocoDillon/babelrc-option
Use the babelrc option in babel-register
2016-01-30 12:51:06 -08:00
CrocoDillon
1ba81153a7 Use this.options.babelrc instead of opts.babelrc 2016-01-30 12:11:33 -05:00
CrocoDillon
f4093a552f Use the babelrc option in babel-register
Which can be used to ignore `.babelrc` files by setting this to false, currently ignored in babel-register.
2016-01-30 12:09:49 -05:00
Henry Zhu
190105627f Add link to lerna in monorepo.md 2016-01-30 10:11:28 -05:00
James Talmage
79f783cdf5 [babel-template][T7046]: Add optional babylon options argument. 2016-01-28 21:35:20 -05:00
BlackGlory
6ca20c5540 Throw a TypeError when falsy value found in plugins 2016-01-24 14:38:46 +08:00
Jesse McCarthy
07f0bd4ea9 Update AST spec.
* Remove redundant `Node` reference from `Identifier` interface.
  `Expression` already inherits from `Node`.

* Add missing interfaces: `Literal`, `Pattern`.
2016-01-23 10:57:42 -05:00
Jason
35463a46b6 Use exec style test in transform-regenerator 2016-01-23 23:30:52 +08:00
Jason
bbdd4aaf21 Ignore isolated paths when traversing 2016-01-23 18:39:14 +08:00
Amjad Masad
12b7a44796 Merge pull request #3281 from DmitrySoshnikov/pass_per_preset
[RFC] Pass per preset
2016-01-22 14:29:07 -08:00
Amjad Masad
5699403835 Add comment clarifying the optimization 2016-01-22 14:24:45 -08:00
Amjad Masad
7d719d9ce9 Merge pull request #3283 from gzzhanghao/gen-perf
Improve generator performance
2016-01-22 14:22:48 -08:00
Amjad Masad
35bb62c2e5 Merge pull request #3285 from frantic/hoist-file-name
Hoist current file name for transform-react-jsx-source
2016-01-22 14:21:20 -08:00
Amjad Masad
4f82506711 Merge pull request #3294 from babel/with-body
WithStatements can have statements as bodies
2016-01-22 14:18:10 -08:00
Amjad Masad
c1a7fc93d0 Move setting NOT_LOCAL_BINDING to the function name helper 2016-01-22 14:07:57 -08:00
Sebastian McKenzie
6c66694a73 Merge pull request #3293 from babel/hzoo-patch-1
update spec decorator property
2016-01-22 20:55:58 +00:00
Rob Colburn
7b1b876dc2 Ensure that we do not break mutli-byte handling 2016-01-22 12:13:18 -08:00
Henry Zhu
da106e2bf4 check for nested id 2016-01-22 14:42:07 -05:00
Henry Zhu
ad81f5b149 check if valid.id is defined 2016-01-22 14:20:54 -05:00
Sebastian McKenzie
16f8fd5c83 Merge pull request #3295 from babel/hzoo-patch-2
ast/spec: add BindExpression
2016-01-22 10:31:18 +00:00
Sebastian McKenzie
12ddcc7def Merge pull request #3297 from horpto/hotfix/T2765_72428
[hotfix][T2765#72428] Wrong  'this'  for nested arrow in arrow function
2016-01-22 10:31:04 +00:00
Alex Kotliarskyi
ca1c4bba86 Fix naming (s/node/path/g) 2016-01-21 22:45:10 -08:00
horpto
d0a932d0e8 [hotfix][T2765#72428] Wrong 'this' for nested arrow in arrow function 2016-01-22 10:29:04 +05:00
Dmitry Soshnikov
845a4fa557 Pass per preset: Use full function systax in test for old Node versions 2016-01-21 15:14:42 -08:00
Dmitry Soshnikov
e2486b5f71 Pass per preset: added unit test 2016-01-21 14:54:40 -08:00
Henry Zhu
e1da431453 ast/spec: add BindExpression 2016-01-20 23:56:19 -05:00
Amjad Masad
b326a3fd1e Merge pull request #3292 from babel/unary-expressions
UnaryExpressions are never not prefix
2016-01-20 20:55:36 -08:00
Amjad Masad
2110f530ea WithStatements can have statements as bodies
For example try: `with({x: 1}) console.log(x);`
2016-01-20 20:48:31 -08:00
Henry Zhu
370095e866 update spec decorator property 2016-01-20 23:17:45 -05:00
Amjad Masad
6b47447e7a UnaryExpressions are never not prefix
If you look at the spec https://github.com/babel/babel/blob/master/doc/ast/spec.md#unaryexpression
All unary expressions are prefix. We should deprecate this field. But for now let's just default it true.
2016-01-20 19:02:04 -08:00
Alex Kotliarskyi
1f543e1bca Add jsx source annotations only to the files that contain JSX 2016-01-20 14:23:27 -08:00
Alex Kotliarskyi
eaef8302cc Generate unique filename variable 2016-01-20 13:52:55 -08:00
Dmitry Soshnikov
e7187faea6 Pass per preset: merge nested preset sub-options into preset 2016-01-20 13:36:27 -08:00
Alex Kotliarskyi
34116faaf8 Fix tests for react-jsx-source 2016-01-20 13:25:53 -08:00
Chris Cowan
7621d38bbd Add test for T3026. 2016-01-20 12:11:57 -08:00
Amjad Masad
f98dd6c76d Merge pull request #3287 from nettofarah/patch-1
[doc] Correct use of possessive case
2016-01-20 01:17:32 -08:00
Amjad Masad
a43f208e6b changelog 2016-01-20 01:01:17 -08:00
Amjad Masad
e9a913a3f6 v6.4.6 2016-01-20 00:58:48 -08:00
Sebastian McKenzie
1358ac6519 Merge pull request #3288 from babel/fix-T7006
[hotfix][T7006] Arrow functions don't have arguments bound
2016-01-20 08:54:50 +00:00
Amjad Masad
9980b6b8b2 [hotfix][T7006] Arrow functions don't have arguments bound 2016-01-20 00:41:17 -08:00
Jason
e9fae4ca54 Update Whitespace._findToken 2016-01-20 16:37:46 +08:00
Netto Farah
955758f9bb Correct use of possessive case
Changing it's to its
2016-01-20 00:23:56 -08:00
Jason
d11a2e3d48 Add type annotations for Whitespace._findToken 2016-01-20 13:01:32 +08:00
Alex Kotliarskyi
1643592342 Guard against empty loc 2016-01-19 20:59:42 -08:00
Alex Kotliarskyi
9f76cf7c42 Hoist current file name for transform-react-jsx-source
For better tooling support it's important to include absolute file name for JSX
elements. However, having them inline will inflate resulting file size, so we
move the file name to a constant declared at the beginning of the file and
reference it from `__source` attribute.
2016-01-19 20:10:53 -08:00
Henry Zhu
ec8f0a224e Merge pull request #3279 from hzoo/6.4.5-log
add 6.4.5 changelog
2016-01-19 18:04:41 -05:00
Henry Zhu
e152e7044e v6.4.5 2016-01-19 18:02:31 -05:00
Henry Zhu
c89d9e110f add 6.4.5 changelog [ci skip] 2016-01-19 15:28:48 -05:00
Henry Zhu
b825e0c152 Merge pull request #3284 from bmeck/babylon-flow
fix flow for babylon
2016-01-19 14:23:29 -05:00
Henry Zhu
b29a09d976 Merge pull request #3282 from 59naga/master
Fix T6953,T2541 export-from statement renamed default issue
2016-01-19 14:23:12 -05:00
Bradley Farias
b628fee856 fix flow for babylon 2016-01-19 13:01:26 -06:00
Jason
993c5a572b Improve performance for generator.buffer 2016-01-20 02:04:26 +08:00
59naga
c509847588 Fix T6953,T2541 export-from statement renamed default issue
- Use `interopRequireDefault` helper if local name is default.

Via 59naga/babel-plugin-add-module-exports#20
2016-01-20 02:54:54 +09:00
Jason
235d8397fd Make Whitespace._findToken private and add comments 2016-01-19 21:46:22 +08:00
Jason
ed227a6c8a Use binary search to improve getNewlinesBefore/After performance 2016-01-19 21:18:06 +08:00
Jason
76e3c5227b Improve generator performance by caching the last character in Buffer 2016-01-19 21:16:33 +08:00
Dmitry Soshnikov
3f1353d01f [RFC] Pass per preset
This introduces "pass per preset" feature, spawting a new traversal for each preset in case if the `passPerPreset` is `true` (default is `false`). This gives opportunity to define "before" and "after" presets, mimicking a similar feature from Babel 5. A rationally for this is to make plugins as short as possible, and handled only needed nodes, not afrading potential collisions in case if presets are merged.
2016-01-18 21:00:37 -08:00
Sebastian McKenzie
f1ef0ff5e9 Merge pull request #3118 from benjamn/import-hoisting
Add test of import hoisting that fails when the runtime transform is used.
2016-01-19 02:20:17 +00:00
Henry Zhu
e5383aa447 Merge pull request #3278 from jmm/makefile-npm-bins
Update node_modules/.bin references in Makefile
2016-01-18 18:30:18 -05:00
Amjad Masad
1264709226 Merge pull request #3274 from babel/fix-function-decl
Method names should not be bound to body
2016-01-18 10:57:19 -08:00
Jesse McCarthy
30cf018d33 Homogenize node_modules/.bin references.
Some had leading `./` some didn't.
2016-01-18 13:55:56 -05:00
Jesse McCarthy
9ea64e0973 Delete unneccessary node command. 2016-01-18 13:55:56 -05:00
Jesse McCarthy
6a9b52ee90 Revert "Add node_modules/.bin to PATH."
This reverts commit 25fb2b8410.

This didn't work as intended. Now it's cruft / misleading.
2016-01-18 13:55:34 -05:00
Sebastian McKenzie
de51bf5486 Merge branch 'kpdecker-source-map-reenter' 2016-01-18 18:37:06 +00:00
Sebastian McKenzie
65a4c8f4a4 Merge branch 'source-map-reenter' of https://github.com/kpdecker/babel into kpdecker-source-map-reenter
Conflicts:
	packages/babel-generator/src/printer.js
2016-01-18 18:36:57 +00:00
Sebastian McKenzie
f957ebde39 Merge pull request #3277 from charliesome/gulp-binstub
Use project-local gulp binstub rather than system gulp
2016-01-18 17:35:55 +00:00
Charlie Somerville
00f72f4735 use project-local gulp binstub rather than system gulp 2016-01-18 23:09:51 +11:00
Henry Zhu
d8c3ad0d63 Merge pull request #3272 from AgentME/dedupeParserOpts
Fix T3084, dedupe parser opts
2016-01-17 23:51:29 -05:00
Sebastian McKenzie
e604bf229b Merge pull request #3276 from babel/async-to-generator-helper-runaway-promises
Add missing returns to async to generator helper
2016-01-18 02:02:38 +00:00
Sebastian McKenzie
99a224efd9 add missing returns to async to generator helper 2016-01-18 02:02:08 +00:00
Amjad Masad
7125bf4917 Merge pull request #3275 from hzoo/temp-remove-types
Internal: temporarily remove flow types
2016-01-17 14:54:22 -08:00
Henry Zhu
7041901fc1 update flowconfig 2016-01-17 17:23:15 -05:00
Henry Zhu
51dfd2237e Internal: temporarily remove flow types
- Will need to investigate the issue regarding eslint/babel-eslint.
2016-01-17 17:14:57 -05:00
Amjad Masad
5c680181ba Merge pull request #3257 from horpto/bugfix/T2765
[2765] transform-async-to-generator doesn't work for `this` inside arrow
2016-01-17 14:14:56 -08:00
Amjad Masad
d11bcae496 Merge pull request #3263 from jmm/rest-new-passing-fixtures
Increase `parameters/rest` transform test coverage
2016-01-17 14:00:26 -08:00
Amjad Masad
578e9243eb Merge pull request #3269 from forivall/explode-doc
Add documentation comment for visitors.explode
2016-01-17 13:58:20 -08:00
Amjad Masad
cf62c53832 Merge pull request #3264 from jmm/parameters-rest-simplify
Simplify `parameters/rest` code
2016-01-17 13:50:55 -08:00
Amjad Masad
95c93dd22b Method names should not be bound to body
As an artificat of compiling methods to named function expressions the
function name is being considered a "local" binding in the function
body. This means that we will throw errors anytime someone would want to
create a new local binding with the same name.

This is solved by assigning a symbol to function Identifiers that
indicates that they should not be considered local bindings.
2016-01-17 13:19:37 -08:00
Chris Cowan
af363c8da5 Make babylon ignore duplicate plugins. 2016-01-15 19:29:21 -08:00
Chris Cowan
aa9b3ec2a8 Make Babylon correctly handle "flow" being present multiple times in plugins. 2016-01-15 19:00:38 -08:00
Henry Zhu
9d0a05ecde Merge pull request #3268 from hzoo/t2892-test
Add test for T2892
2016-01-14 18:40:30 -05:00
Henry Zhu
1e48287654 remove bug fix heading 2016-01-14 18:04:01 -05:00
Henry Zhu
10105bb077 Add test for 2892 2016-01-14 17:23:20 -05:00
Henry Zhu
ba2bf16282 6.4.4 changelog 2016-01-14 17:17:31 -05:00
Henry Zhu
8644e5f27c v6.4.4 2016-01-14 17:05:41 -05:00
Henry Zhu
4638f4db4d republish transform-regenerator 2016-01-14 17:03:39 -05:00
Jordan Klassen
0c1eddfd52 Add documentation comment for visitors.explode 2016-01-14 13:41:19 -08:00
Jesse McCarthy
19937573a6 Fix assignment to rest param element. 2016-01-14 13:21:47 -05:00
Jesse McCarthy
49728be8b6 Test for no-opt of assign to rest param element.
That is, do not attempt to optimize assignments as opposed to reads.

(Failing.)
2016-01-14 13:21:40 -05:00
Amjad Masad
3f2a445c9a v6.4.3 2016-01-13 21:56:22 -08:00
Amjad Masad
1e58139179 changelog 2016-01-13 21:53:43 -08:00
Amjad Masad
d3242e8513 Merge pull request #3261 from jmm/array-expr-builder-default
Add ArrayExpression.elements.default
2016-01-13 21:23:03 -08:00
Amjad Masad
ee1e16f76d Merge pull request #3162 from loganfsmyth/requeue-generators-6676
Requeue generators for re-traversal so we pick up regeneratorRuntime - fixes T6676
2016-01-13 21:22:03 -08:00
Jesse McCarthy
857675c99c Add fixtures to exercise shadow conditional. 2016-01-13 17:37:29 -05:00
Jesse McCarthy
41066f55ea Add fixtures for deopt due to arguments. 2016-01-13 17:37:23 -05:00
Jesse McCarthy
b17965ab8b Improve comments. 2016-01-13 17:24:06 -05:00
Jesse McCarthy
059d7123db Remove unnecessary else. 2016-01-13 17:24:06 -05:00
Jesse McCarthy
e4044062c3 Remove unnecessary length check & nesting. 2016-01-13 17:24:06 -05:00
Jesse McCarthy
4c69f1cda5 Replace func expr with arrow. 2016-01-13 17:24:06 -05:00
Jesse McCarthy
afd98ebd2a Remove unnecessary literal return value. 2016-01-13 17:24:06 -05:00
Jesse McCarthy
bcfa58a6a2 Remove unnecessary intermediate var. 2016-01-13 17:24:06 -05:00
horpto
5ac022ab9b 4 -> 2 spaces tab size 2016-01-13 15:37:20 +05:00
Amjad Masad
add96d626d Double quotes 2016-01-12 17:30:53 -08:00
Amjad Masad
0d9459dbb6 Fix minified labeledStatement printing
Unary expressions with alphabetic operators like 'void' were being
squished next to the statement.
2016-01-12 17:28:46 -08:00
Amjad Masad
b7aa49d9f5 Merge pull request #3250 from babel/symbol-rename
[T6933] Rename any shadowing Symbol binding
2016-01-12 17:02:16 -08:00
Ben Newman
e1ec9ef985 Make require declarations inherit ._blockHoist values from imports.
This commit fixes the failing test I introduced in pull request #3118.
2016-01-12 18:01:31 -05:00
Ben Newman
4ca25ac7a9 Add test of import hoisting that fails with the runtime transform. 2016-01-12 18:01:31 -05:00
Jesse McCarthy
0f85e79f67 Add ArrayExpression.elements.default. 2016-01-12 11:33:08 -05:00
Amjad Masad
6a3b3dc3e9 Merge pull request #3252 from caseywebdev/fix-amd-umd-use-strict
Fix T2929, T6796, stop leaking directives
2016-01-11 17:34:51 -08:00
Amjad Masad
bad98a1056 Merge pull request #3232 from jonathanong/babel-register-cache-mkdirp
babel register cache: make sure the cache file's directory exists
2016-01-11 17:34:08 -08:00
James Kyle
dfc4113a57 Merge pull request #3259 from mathiasbynens/use-regexpu-core
Use only `regexpu-core` instead of all of `regexpu`
2016-01-11 10:57:13 -08:00
Mathias Bynens
430e80fe0e Use only regexpu-core instead of all of regexpu
Ref. https://github.com/mathiasbynens/regexpu/issues/24.
2016-01-11 19:32:19 +01:00
horpto
fa9f8ea4be Fix for deeply nested async arrows 2016-01-11 04:37:16 +05:00
horpto
f2fdc74d1b [2765] transform-async-to-generator doesn't work for this inside arrow
function
2016-01-10 21:52:04 +05:00
Sebastian McKenzie
69b20a3054 label 4.2.0 breaking changes as accidental 2016-01-09 19:06:18 +01:00
Sebastian McKenzie
7a3d2865c1 package renames aren't breaking changes 2016-01-09 19:05:29 +01:00
Sebastian McKenzie
21f6f52161 Merge pull request #3255 from ForbesLindesay/patch-1
Move "throw parse error if class properties do not have a semicolon" to breaking changes
2016-01-09 19:04:37 +01:00
Forbes Lindesay
d9c2090d23 Move "throw parse error if class properties do not have a semicolon" to breaking changes
This broke my project, because I hadn't added semi-colons in all places.
2016-01-09 17:54:41 +00:00
Henry Zhu
0dd640d0dc Merge pull request #3254 from ForbesLindesay/patch-1
Changelog: Move "remove `StringLiteral`" in `babel-types` into Breaking Changes
2016-01-09 12:52:56 -05:00
Forbes Lindesay
a77bd91013 Move "remove StringLiteral" in babel-types into Breaking Changes 2016-01-09 15:34:50 +00:00
Casey Foster
c7c4d7f5fd Fix T2929, T6796, stop leaking directives 2016-01-08 15:29:42 -06:00
James Kyle
fb0977b4b3 Merge pull request #3251 from ForbesLindesay/document-babel-generator-opts
Document options for babel-generator
2016-01-08 09:33:13 -08:00
ForbesLindesay
bd7b202866 Document options for babel-generator 2016-01-08 14:38:37 +00:00
Amjad Masad
1d4d0c0175 [T6933] Rename any shadowing Symbol binding 2016-01-07 21:02:59 -08:00
Henry Zhu
917436ca24 add 6.4.2 changelog and some dates 2016-01-06 21:53:30 -05:00
Henry Zhu
7af1bd4354 v6.4.2 2016-01-06 21:26:43 -05:00
Henry Zhu
a156dd2918 Merge pull request #3247 from babel/await-paren
Parenthesize await/yield expression in binary expr
2016-01-06 21:18:08 -05:00
Amjad Masad
17ea5cd916 Fix failing test 2016-01-06 17:50:17 -08:00
Amjad Masad
a41c486155 Merge pull request #3246 from babel/kpdecker-rest-length-fail
Support expressions in rest arg access
2016-01-06 19:40:49 -06:00
Amjad Masad
feedc527a1 Merge pull request #3244 from hzoo/cp-loc
`babylon`: fix error location for class properties with a missing sem…
2016-01-06 19:39:22 -06:00
Amjad Masad
139503e86f Parenthesize await/yield expression in binary expr 2016-01-06 17:35:39 -08:00
Amjad Masad
59ea034df2 Support expressions in rest arg access
The current implementation assumes a numeric literal although it just
checks the base type.
2016-01-06 17:07:05 -08:00
Henry Zhu
c9d7d75654 6.4.1 changelog 2016-01-06 20:01:45 -05:00
Amjad Masad
88d57b58a4 Merge branch 'rest-length-fail' of https://github.com/kpdecker/babel into kpdecker-rest-length-fail 2016-01-06 16:46:16 -08:00
Amjad Masad
ada2fdbe4b v6.4.1 2016-01-06 16:27:49 -08:00
Amjad Masad
c415c00179 Merge pull request #3245 from babel/assig-parenth
Revert #3217 and add tests
2016-01-06 18:24:38 -06:00
Amjad Masad
ec983b276e add assignment expression parentheses test 2016-01-06 16:03:45 -08:00
Amjad Masad
6abee425d3 Revert "babel-types: add Binary alias to AssignmentExpression definition (fixes T6887)"
This was causing problems with parenthesizing assignment expression
This reverts commit b5cf529d6b.
2016-01-06 15:59:39 -08:00
Henry Zhu
f31099f383 babylon: fix error location for class properties with a missing semicolon 2016-01-06 18:42:26 -05:00
kpdecker
28280be3ed Add failing tests case for 6.4 rest.length issue 2016-01-06 17:34:43 -06:00
Henry Zhu
7918b9028b Merge pull request #3231 from babel/changelog-6.4.0
add 6.4.0 changelog
2016-01-06 15:53:58 -05:00
Henry Zhu
85b164306a update changelog 2016-01-06 15:47:51 -05:00
Henry Zhu
8cac20d845 v6.4.0 2016-01-06 15:34:12 -05:00
Amjad Masad
e79c625091 Merge pull request #3229 from hzoo/T6913
Add a check for parentheses for AwaitExpressions (fixes T6913)
2016-01-06 14:22:54 -06:00
Henry Zhu
cd227b3ffe add 6.4.0 changelog 2016-01-06 11:15:58 -05:00
Sebastian McKenzie
72c091b63a Ensure regenerator option for babel-plugin-transform-runtime doesn't cancel out core-js polyfill 2016-01-06 15:26:00 +00:00
Sebastian McKenzie
b28803c698 Merge pull request #3235 from guybedford/polyfillRuntime
Ensure opts.polyfill = false behaves correctly for runtime-transformer
2016-01-06 15:23:41 +00:00
Sebastian McKenzie
d2f5a409da 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
Sebastian McKenzie
e6e13cbe35 Merge pull request #3166 from guybedford/moduleName
Add __moduleName support to System.register
2016-01-06 15:11:34 +00:00
Sebastian McKenzie
d4bc297a7e Merge pull request #3233 from maclover7/patch-1
Update LICENSE end date to 2016
2016-01-06 15:02:07 +00:00
Henry Zhu
ddddd173f0 Merge pull request #3240 from athaeryn/fix-small-typo
Fix typo in babel-generator README
2016-01-06 09:02:56 -05:00
Mike Anderson
2471d80bd0 Fix small typo in babel-generator README 2016-01-05 23:33:50 -06:00
Henry Zhu
d9e453fb3c Merge pull request #3236 from samwgoldman/export-interface
Add `export interface` Flow syntax support to Babel 6.x
2016-01-05 22:04:36 -05:00
Sam Goldman
aeeffe5cff Guard export interface against isExportDefaultSpecifier 2016-01-05 17:28:21 -08:00
Sam Goldman
17d19a0056 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
Henry Zhu
cf41c321af Don't overparenthesize, add yield tests 2016-01-05 18:12:25 -05:00
guybedford
d5f71d4a32 ensure opts.polyfill = false behaves correctly for runtime-transformer 2016-01-06 00:26:45 +02:00
Amjad Masad
06545e6f70 Merge pull request #3217 from babel/hzoo-patch-1
`babel-types`: add `Binary` alias to `AssignmentExpression` definitio…
2016-01-05 16:26:02 -06:00
Amjad Masad
6cc17e4ed7 Merge pull request #3230 from samwgoldman/declare-type-declare-interface
Add `declare type` and `declare interface` Flow syntax support to 6.x
2016-01-05 16:18:18 -06:00
Jon Moss
7a303fdc70 Update LICENSE end date to 2016 2016-01-04 22:59:12 -05:00
jongleberry
37dbf7c5ed babel register cache: make sure the cache file's directory exists 2016-01-04 14:28:38 -08:00
Sam Goldman
26c97c4069 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
e764346d5f Add support for "declare type" Flow syntax
See facebook/flow#1105
2016-01-04 11:42:43 -08:00
Henry Zhu
ab2135bc9f Add a check for parentheses for AwaitExpressions (fixes T6913) 2016-01-04 08:31:07 -05:00
Sebastian McKenzie
2516b7570f Merge pull request #3228 from babel/revert-3208-remove-array-generics-from-runtime
Revert "remove array generics from runtime"
2016-01-03 03:42:15 +00:00
Sebastian McKenzie
3fa51097a6 Revert "remove array generics from runtime" 2016-01-03 03:42:10 +00:00
Sebastian McKenzie
e68754faf2 Merge pull request #3227 from babel/revert-3206-update-core-js
Revert "update core-js"
2016-01-03 03:41:46 +00:00
Sebastian McKenzie
4e20a99b89 Revert "update core-js" 2016-01-03 03:41:40 +00:00
Henry Zhu
b5cf529d6b babel-types: add Binary alias to AssignmentExpression definition (fixes T6887) 2016-01-01 14:44:28 -05:00
guybedford
be2d85d688 use a _context object instead of a __moduleName argument 2015-12-31 17:11:51 +02:00
Sebastian McKenzie
2ec842d425 Merge pull request #3220 from jmm/not-a-directive
Don't parse parenthesized string as directive
2015-12-31 01:54:47 +00:00
Sebastian McKenzie
181e9b5957 Merge pull request #3214 from fabiomcosta/fix_rest_args_length_multiple_params
[T6891][fix][babel-plugin-transform-es2015-parameters] arguments.length optimization bugfix
2015-12-31 01:44:10 +00:00
Henry Zhu
976edfc067 babylon: throw parse error if class properties do not have a semicolon (fixes T6873) 2015-12-30 14:01:46 -05:00
Jesse McCarthy
970a0ade4b Update Slack link. 2015-12-30 13:42:32 -05:00
Sebastian McKenzie
1ec3a348d6 Merge pull request #3221 from skleeschulte/patch-1
Added handling of "--nolazy" flag
2015-12-30 03:38:07 +00:00
Henry Zhu
dc1796674f Merge pull request #3218 from jdalton/_typeof
Defer to the built-in `typeof` if support for symbols exists.
2015-12-29 12:31:15 -05:00
Fabio M. Costa
699868ed2a [fix][babel-plugin-transform-es2015-parameters] arguments.length optimization bugfix 2015-12-28 21:56:49 -08:00
Stefan Kleeschulte
f9bab3a25c Added handling of "--nolazy" flag
See https://phabricator.babeljs.io/T6897
2015-12-29 06:43:46 +01:00
Jesse McCarthy
424d059292 Don't make directive from parenthesized string. 2015-12-28 11:04:33 -05:00
Jesse McCarthy
00505ac171 Add non-directive fixture.
(Failing.)
2015-12-28 11:04:33 -05:00
John-David Dalton
d9bf5da460 Defer to built-in typeof if built-in support for symbols exists. 2015-12-27 22:50:48 -06:00
Amjad Masad
570b50c895 Merge pull request #3213 from babel/print-bugs
Fix various print inefficiencies/bugs
2015-12-27 18:28:27 -06:00
Sebastian McKenzie
082c7852fc Merge pull request #3216 from babel/crawl-up-display-name
More relaxed `displayName` inference
2015-12-27 21:58:25 +00:00
Sebastian McKenzie
05896b834b Crawl up ancestry looking for possible candidates to infer displayName from rather than just checking the direct parent 2015-12-27 21:48:28 +00:00
Sebastian McKenzie
5ca1cf0506 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
5fa8092725 Merge pull request #3215 from spicyj/fn-name
Set function names from assignment expressions
2015-12-27 21:00:41 +00:00
Ben Alpert
248f00fe82 Set function names from assignment expressions
Based on http://www.2ality.com/2015/09/function-names-es6.html.
2015-12-27 12:46:56 -08:00
Sebastian McKenzie
e5e085a567 Merge pull request #3195 from babel/hzoo-patch-1-1
validate: allow JSXText node in JSXElement children property
2015-12-27 20:30:32 +00:00
Amjad Masad
5be9d9d8aa More tests 2015-12-27 01:59:24 -08:00
Amjad Masad
ed5a057e4e Fix various print inefficiencies/bugs 2015-12-27 01:24:19 -08:00
Amjad Masad
fd998cb9af Merge pull request #3210 from babel/fun-paren
Use a printStack to determine parenthesis
2015-12-27 01:21:37 -08:00
Amjad Masad
10c9d26983 Also use for object expressions 2015-12-24 15:01:46 -08:00
Amjad Masad
0d8e5a9e86 Fix over-parenthesizing of function expressions 2015-12-24 14:55:51 -08:00
Henry Zhu
2befeb0657 remove validation for StringLiteral in JSXElement children property 2015-12-24 15:53:43 -05:00
Denis Pushkarev
15760dfed2 Merge pull request #3208 from zloirock/remove-array-generics-from-runtime
remove array generics from runtime
2015-12-25 00:20:32 +06:00
Denis Pushkarev
fd8477d881 remove array generics from runtime 2015-12-25 00:16:50 +06:00
Denis Pushkarev
99622e3d0f Merge pull request #3206 from zloirock/update-core-js
update core-js
2015-12-24 21:42:15 +06:00
Denis Pushkarev
49880e4e81 update core-js 2015-12-24 21:34:53 +06:00
Sam Goldman
5cfec9d8ca Add mixins to the class declaration visitor 2015-12-24 10:31:03 -05:00
Sebastian McKenzie
97faab3418 Merge pull request #3204 from babel/no-babylon-patch
Stop people from patching babylon by building it
2015-12-24 04:13:40 +00:00
Sebastian McKenzie
5b091c17f3 Merge pull request #3205 from babel/external-helpers
Rename babel-plugin-external-helpers-2 to babel-plugin-external-helpers
2015-12-24 04:09:15 +00:00
Sebastian McKenzie
6fe210d4bf stop people from patching babylon by building it 2015-12-24 03:58:52 +00:00
Sebastian McKenzie
1fa24b1efd rename babel-plugin-external-helpers-2 to babel-plugin-external-helpers 2015-12-24 03:54:40 +00:00
James Kyle
730e80b231 Merge pull request #3199 from babel/hzoo-patch-2
v6.3.26 changelog
2015-12-23 19:44:35 -08:00
Henry Zhu
8489c6bfa1 typo 2015-12-23 22:29:43 -05:00
Sam Goldman
ef60fed7d6 Add test ensuring declare statements are transformed to comments 2015-12-23 16:49:18 -05:00
Sam Goldman
b4f130fd14 Add test ensuring declare class w/ mixins are stripped 2015-12-23 16:42:23 -05:00
Sam Goldman
e9c23ba7a1 Don't generate class mixins if prop doesn't exist 2015-12-23 16:37:14 -05:00
Sam Goldman
bb874a4e46 Add babel-generator support for mixins to Babel 6.x 2015-12-23 16:26:29 -05:00
Sam Goldman
123a9596ce Add support for mixins to Babel 6.x 2015-12-23 16:09:12 -05:00
Amjad Masad
1932211235 Merge pull request #3202 from samwgoldman/flow-this-type-6.x
Add support for this type to Babel 6.x
2015-12-23 11:15:08 -08:00
Sam Goldman
32c03222bf Add support for this type to Babel 6.x 2015-12-23 13:54:57 -05:00
Henry Zhu
17e63580c1 v6.3.26 changelog 2015-12-23 11:43:24 -05:00
Amjad Masad
ae8b7ea352 v6.3.26 2015-12-22 23:11:59 -08:00
Amjad Masad
ad6a28b3ed Merge pull request #3196 from jmm/resolve-relative-to-file
Add test for file-relative plugin & preset resolution
2015-12-22 23:03:42 -08:00
Amjad Masad
c8e3d9154b Merge pull request #3185 from antigremlin/fix-gulp-paths-windows
Allow gulp build to work on Windows
2015-12-22 22:57:58 -08:00
Amjad Masad
a2030e5804 Merge pull request #3198 from babel/eval-bug-2
Eval bug with lack of confidence considered falsy
2015-12-22 22:57:32 -08:00
Amjad Masad
959021dc70 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
0037cf6b34 remove all property, fixup tests 2015-12-23 00:02:02 -05:00
Amjad Masad
090e8b18ea Merge pull request #3191 from vhf/destructuring-rest-args-initialization-order
Order of arguments initialization - fixes T6809
2015-12-22 20:51:20 -08:00
Amjad Masad
6ce463399d Fix evaluation bug with || 2015-12-22 20:48:50 -08:00
Amjad Masad
76eae9bcd8 add failing test 2015-12-22 20:47:08 -08:00
Jesse McCarthy
77f5d30fb1 Add test for file-relative addon resolution
Plugins & presets.
2015-12-22 14:25:23 -05:00
Henry Zhu
aa2cc907ea validate: allow JSXText node in JSXElement children property (fixes T6876) 2015-12-22 09:35:14 -05:00
James Kyle
fd3aad5811 Merge pull request #3193 from babel/thejameskyle-patch-1
Point devs to cli docs instead of installing
2015-12-21 17:11:01 -08:00
Amjad Masad
436a8c8461 add package names 2015-12-21 14:05:40 -08:00
Amjad Masad
189e4ecdc4 v6.3.25 changelog 2015-12-21 14:03:20 -08:00
Amjad Masad
705b0959e7 v6.3.25 2015-12-21 13:59:11 -08:00
Amjad Masad
319838bd14 Merge pull request #3192 from babel/eval-bug
Evaluation may succeed even when not confident
2015-12-21 13:55:27 -08:00
James Kyle
dbc85cff69 Point devs to cli docs instead of installing
https://github.com/babel/babel.github.io/issues/650
2015-12-21 10:34:11 -08:00
Andrey Taranov
dd0b96ca5d Allow gulp build to work on Windows
The problem with gulp pipeline is that it replaces /src/ with /lib/ in
filenames as a regex replace operation. The regex only worked for Unix
before. Here we add a 2nd regex accomodate Windows backslashes and choose
between the two by looking if we're using path.win32.  The Unix regex is
changed to only match the package/*/src. This seemingly has no effect on
the build.

Fixes T6855
2015-12-21 14:18:59 +01:00
Amjad Masad
c5f504b865 Merge pull request #3189 from hzoo/T6859
babel-generator: keep double quotes in StringLiteral for JSX parent
2015-12-21 02:51:04 -08:00
Amjad Masad
65c13d1385 Merge pull request #3187 from MakeNowJust/fix/use-strict-use-strict
Fix ignoring previous strict mode after twice "use strict"
2015-12-21 02:25:29 -08:00
Amjad Masad
6354e7185b Merge pull request #3165 from vhf/multiple-rest-arguments
[optimisation] Fixing T6818
2015-12-21 02:13:31 -08:00
Amjad Masad
a5b9afbebe Make sure we always return when not confident 2015-12-21 02:04:16 -08:00
Amjad Masad
902d04b8f1 Failing test 2015-12-21 02:04:16 -08:00
Victor Felder
27f2918abb Minor refactoring 2015-12-21 10:43:59 +01:00
Victor Felder
28adaa49b2 Order of arguments initialization - fixes T6809
When using a default param + some destructuring param + a rest param, the
initialization order of the destructured arguments was incorrect due to the
presence of the rest parameter.
2015-12-21 02:53:36 +01:00
Victor Felder
f472670503 Add test case for regression possibly introduced by #2833 2015-12-21 02:42:01 +01:00
Henry Zhu
276c98f7f0 Remove await* from babel-generator, add parsing error to babylon - (fixes T6688) 2015-12-19 23:15:09 -05:00
Henry Zhu
379be365d6 babel-generator: keep double quotes in StringLiteral for JSX parent (fixes T6859) 2015-12-19 22:12:41 -05:00
Amjad Masad
bbd14f88c4 Merge pull request #3188 from steveluscher/patch-3
Make use of `opts.quotes` in the CodeGenerator
2015-12-18 19:15:14 -08:00
Steven Luscher
370c3ad343 Make use of opts.quotes in the CodeGenerator
I think we're meant to respect the value of `opts.quotes`, and try to infer it if none was supplied.
2015-12-18 18:23:20 -08:00
TSUYUSATO Kitsune
eb2266fb1a 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
691741d201 changelog for 6.3.24 2015-12-18 15:57:14 -08:00
Amjad Masad
2b69dec01a v6.3.24 2015-12-18 15:53:49 -08:00
Amjad Masad
fdac02fa26 Merge pull request #3184 from babel/workaround-inference
Test and workaround inference bugs
2015-12-18 15:33:42 -08:00
guybedford
40714d004c add __moduleName wrapper support 2015-12-18 20:42:35 +02:00
Victor Felder
5d414a2323 Handle case where optimisation concist of only replacing rest param id with args 2015-12-18 17:43:00 +01:00
Henry Zhu
472ad1e6a6 update changelog for 6.3.21-6.3.23 2015-12-18 11:06:00 -05:00
Henry Zhu
b79ff75c31 v6.3.23 2015-12-18 10:18:12 -05:00
Henry Zhu
ed6daa794f Merge pull request #3169 from hzoo/rename-flow-comments
rename flow-comments plugin to transform-flow-comments
2015-12-18 10:07:30 -05:00
Amjad Masad
57b2ccdb66 Test and workaround inference bugs 2015-12-18 03:15:27 -08:00
Victor Felder
6cc0538d2f Safely transform all usages of rest arguments 2015-12-18 11:30:48 +01:00
Victor Felder
2dea8b2352 Safely transform multiple rest arguments 2015-12-18 11:30:48 +01:00
Victor Felder
3dfb4eb8c6 Simplify rest transformation 2015-12-18 11:30:48 +01:00
Amjad Masad
31032ee7ad v6.3.21 2015-12-18 00:23:03 -08:00
Amjad Masad
135e1e56ca Merge pull request #3182 from babel/arrow-fn
Parenthesize arrow function when part of logical or binary expression
2015-12-18 00:11:24 -08:00
kpdecker
9e382b1686 Fix aux comment termination in lists and calls 2015-12-18 01:37:26 -06:00
kpdecker
3791491b79 Strip location information from import remaps
Fixes https://phabricator.babeljs.io/T6851
2015-12-18 01:36:24 -06:00
Amjad Masad
4aaaeb9ccf decouple arrow functions from function exprs 2015-12-17 23:31:52 -08:00
Amjad Masad
c889ef4058 Parenthesize arrow function when part of logical or binary expression 2015-12-17 23:18:43 -08:00
kpdecker
94e7e4da8e Update source map handling to be reentrant
Rather than repeating the original location when we exit a node, we need to restore the previous parent’s original line location, since the source map format denotes the start location.
2015-12-18 01:11:32 -06:00
Amjad Masad
4c693085a6 Merge pull request #3180 from babel/needsblock
Handle nested if statements with alternates in printer
2015-12-17 23:06:05 -08:00
kpdecker
9b79fbcdf5 Avoid emitting duplicate source map entries 2015-12-18 00:57:48 -06:00
Amjad Masad
9de3a3cbb9 Merge pull request #3176 from jmm/T6779-func-name-method
Don't transform method definition in transform-es2015-function-name (T6779)
2015-12-17 22:54:39 -08:00
Amjad Masad
cda9fd291f Merge pull request #3143 from fabiomcosta/improved_rest_transform_optimisations
[babel-plugin-transform-es2015-parameters][T6774] more opportunities for optimizations
2015-12-17 22:50:28 -08:00
Amjad Masad
47b686b6fa Handle nested if statements with alternates in printer
Previously we saw a bug that when we have nested if statements
and an alternate then the generated code may confuse which
if statement the alternate belongs to.

e.g.

```
if (foo) if (bar) bar(); else baz();
```

But this was handled by looking at the consequent
and if it's an if we add a block. However we didn't
handle situations where it's not an if but the last
recursive statement is an if:

```
if (foo) while (bar) if (baz) baz(); else shoosh()
```

This handles it by recurring until we get the last
statement.
2015-12-17 22:41:55 -08:00
Henry Zhu
0749e2dd92 Merge pull request #3179 from mroch/flow_0_20_0
Upgrade to flow 0.20.0
2015-12-17 16:05:32 -05:00
Marshall Roch
8b55f4dfc2 Upgrade to flow 0.20.0 2015-12-17 12:49:48 -08:00
Henry Zhu
c0e322d74a Merge pull request #3177 from steveluscher/patch-1
Clarify description of `comments` config.
2015-12-17 14:18:37 -05:00
Henry Zhu
8ea45fb0e0 Merge pull request #3178 from steveluscher/patch-2
Correct type annotation for `shouldPrintComment`
2015-12-17 14:17:35 -05:00
Steven Luscher
b6dabff82e Correct type annotation for shouldPrintComment
I think this is supposed to be a `Function` that returns a `boolean`.
2015-12-17 10:50:59 -08:00
Fabio M. Costa
3868d36e31 [babel-plugin-transform-es2015-parameters] more oportunities for optimisations 2015-12-17 10:50:56 -08:00
Steven Luscher
603bb64db0 Clarify description of comments config.
It doesn't mean anything for “strip/output” to be “on.”
2015-12-17 10:36:10 -08:00
Sebastian McKenzie
16ae7c2d9a Merge pull request #3171 from babel/inference-recursion
Inference recursion
2015-12-17 14:44:29 +00:00
Sebastian McKenzie
a8a58aaa07 Fix infinite recursion bug 2015-12-17 14:44:18 +00:00
Amjad Masad
b802034a25 Merge pull request #3173 from voideanvalue/T6829
[babel-generator] fix unhandled new-precedence edge case
2015-12-16 13:32:18 -08:00
voideanvalue
2ac8e836f5 [babel-generator] fix unhandled new-precedence edge case 2015-12-16 12:51:13 -08:00
Henry Zhu
fa96d15793 add 6.3.20 changelog 2015-12-16 15:32:32 -05:00
Amjad Masad
c451222d6e v6.3.20 2015-12-16 12:24:45 -08:00
Amjad Masad
4bb7dbabb0 Merge pull request #3170 from babel/fix-numeric-member-expr
Fix invalid codegen for number member expr
2015-12-16 12:21:42 -08:00
Amjad Masad
178da2f59b var 2015-12-16 12:20:49 -08:00
Henry Zhu
6fd294057e Merge pull request #3172 from babel/thejameskyle/T6805
Add Expression alias to BindExpression
2015-12-16 09:48:54 -05:00
Henry Zhu
ed016aef9e add functionBind to babylon plugins readme 2015-12-16 09:47:08 -05:00
James Kyle
2141406c86 Add Expression alias to BindExpression 2015-12-15 23:37:29 -08:00
Amjad Masad
12fac9cadf Inference recursion bug 2015-12-15 19:56:27 -08:00
Amjad Masad
320cede9be Fix invalid codegen for number member expr 2015-12-15 17:47:46 -08:00
Henry Zhu
33ce926c7f rename flow-comments plugin 2015-12-15 20:14:47 -05:00
Henry Zhu
59f5e7f218 v6.3.19 changelog 2015-12-14 17:27:07 -05:00
Amjad Masad
9303517bab v6.3.19 2015-12-14 14:11:36 -08:00
Amjad Masad
2a41f499bd Merge pull request #3167 from babel/binary-expr
Use the leftMost from the right to check if we need spaces in BinaryExpressions
2015-12-14 14:05:05 -08:00
Amjad Masad
f2c8f2ac5c Merge pull request #3157 from hzoo/port-flow-comments
move babel-plugin-flow-comments from babel-plugins repo and convert to use babel 6
2015-12-14 13:43:09 -08:00
Amjad Masad
007ef5cdbb Use the leftMost from the right to check if we need spaces in BinaryExpressions 2015-12-14 13:36:52 -08:00
Logan Smyth
7b25b33ac6 Merge pull request #3161 from loganfsmyth/function-rename-6781
Only rename outer function bindings on conflict - fixes T6781
2015-12-13 23:44:43 -08:00
Logan Smyth
36717cbf81 Merge pull request #3142 from loganfsmyth/runtime-typeof-error-T6644
Add custom transform for babel-runtime builds to avoid circular deps - fixes T6644
2015-12-13 23:44:13 -08:00
Amjad Masad
22424f457d v6.3.18 changelog 2015-12-13 23:15:06 -08:00
Amjad Masad
d649b2e36e v6.3.18 2015-12-13 23:01:37 -08:00
Logan Smyth
ee6f470d77 Requeue generators for re-traversal so we pick up regeneratorRuntime - fixes T6676 2015-12-13 16:15:02 -08:00
Logan Smyth
afcfba2075 Only rename outer function bindings on conflict - fixes T6781 2015-12-13 15:35:28 -08:00
Henry Zhu
9c88b8797e Merge pull request #3160 from vslinko-forks/numbericLiteral
Typo: t.numbericLiteral -> t.numericLiteral
2015-12-13 11:44:39 -05:00
Vyacheslav Slinko
925774ed86 Typo: t.numbericLiteral -> t.numericLiteral 2015-12-13 17:03:19 +03:00
Amjad Masad
4e82edb6d0 Merge pull request #3158 from babel/paren-object
Parenthesize object expression when it may end up at the start of an expression
2015-12-12 20:43:46 -08:00
Amjad Masad
07df8515b9 Parenthesize object expression when it could end up at the start of an expression T6811 2015-12-11 18:04:16 -08:00
Henry Zhu
1a545f2761 move babel-plugin-flow-comments from babel-plugins repo and convert to use babel 6 2015-12-11 10:59:08 -05:00
Jesse McCarthy
740604f268 Merge pull request #3123 from jmm/traverse-needs-parent-message
Make traverseNeedsParent message clearer.
2015-12-11 10:05:43 -05:00
Jesse McCarthy
9674ef4b27 Make traverseNeedsParent message clearer. 2015-12-11 09:44:57 -05:00
Sebastian McKenzie
e9fa841ae6 Merge pull request #2833 from vhf/rest-arguments-use
Have es2015 rest transform safely use `arguments`
2015-12-12 01:35:57 +11:00
Sebastian McKenzie
d8445e0e78 Merge pull request #2933 from ForbesLindesay/babel-types-docs
Generate documentation for babel-types
2015-12-12 01:33:48 +11:00
Sebastian McKenzie
0278f5a2ba Merge pull request #3107 from MakeNowJust/fix/t6675-2
Fixed T6675
2015-12-12 01:30:05 +11:00
Henry Zhu
53d548bb5b fix typo in 6.3.17 changelog 2015-12-10 22:03:40 -05:00
Amjad Masad
7892b7e6f3 Changelog for 6.3.17 2015-12-10 17:29:43 -08:00
Amjad Masad
1fbbdd61e3 v6.3.17 2015-12-10 17:20:27 -08:00
Henry Zhu
caa7fc0853 Merge pull request #3150 from babel/thejameskyle-patch-1
Do not prefer global when installing babel-cli
2015-12-10 16:42:29 -05:00
Amjad Masad
d2e7e6a54d Merge pull request #3152 from babel/minified-format
Add minified format option
2015-12-10 16:28:48 -05:00
Henry Zhu
055374ba18 Merge pull request #3151 from babel/object-property-pure
Support ObjectProperty in purity check
2015-12-09 22:02:38 -05:00
Henry Zhu
f32d6b2d67 Merge pull request #3153 from babel/do-while
do-while takes a statement
2015-12-09 22:00:53 -05:00
Amjad Masad
cbc37bfb2c do-while takes a statement
see http://www.ecma-international.org/ecma-262/6.0/#sec-iteration-statements
2015-12-09 18:37:02 -08:00
Amjad Masad
cb03a98b65 Add minified format option
As a follow up from #3145 we agreed to add a new format that is a
superset of the compact format option. Do things that are considered
dangerous. e.g. not printing semicolons, or print literal values
as opposed to raw values.
2015-12-09 17:34:23 -08:00
Amjad Masad
2a2cb4f160 Support ObjectProperty in purity check 2015-12-09 16:49:16 -08:00
James Kyle
5952b1f133 Do not prefer global when installing babel-cli
We should be encouraging users to install locally just like every other dependency.
2015-12-09 15:30:28 -08:00
Henry Zhu
e96f3544f6 Add 6.3.16 changelog 2015-12-08 23:12:44 -05:00
Henry Zhu
94edd6e461 v6.3.16 2015-12-08 23:10:41 -05:00
Jesse McCarthy
36e58f4d4f Apply only to ObjectProperty.
Fix T6779. It should be possible to apply this to ES5 functions without
mutating ES2015 MethodDefinition's.
2015-12-08 16:46:45 -05:00
Jesse McCarthy
24998bbd3f Add method definition fixtures.
(Failing.)
2015-12-08 16:46:45 -05:00
Henry Zhu
e02606b373 Merge pull request #3148 from babel/unary-pure
Support unary expression in isPure check
2015-12-07 15:20:41 -05:00
Henry Zhu
14bad622f2 add second param 2015-12-07 15:20:30 -05:00
Amjad Masad
6601a6f737 Support unary expression in isPure check 2015-12-07 11:55:21 -08:00
Amjad Masad
b8f5ca4ff0 Merge pull request #3145 from babel/always-print
Always print strings for consistency
2015-12-07 14:12:32 -05:00
Amjad Masad
874ab9dfc7 Merge pull request #3147 from babel/seq-throw
Don't print on throw statements with sequence exprs
2015-12-07 14:01:38 -05:00
Amjad Masad
4b99d18ea7 Only reprint in compact mode 2015-12-07 10:59:50 -08:00
Amjad Masad
aaf834801c Merge pull request #3146 from babel/no-comment
Never print comments in compact mode
2015-12-07 13:38:40 -05:00
Amjad Masad
5b5cd761df fix logical expression 2015-12-07 10:38:14 -08:00
Amjad Masad
19daae6d96 Don't print on throw statements with sequence exprs 2015-12-07 02:48:11 -08:00
Amjad Masad
8689d1a045 Never print comments in compact mode 2015-12-07 02:37:53 -08:00
Amjad Masad
89e6d5bc7e Always print strings for consistency 2015-12-07 02:30:14 -08:00
Amjad Masad
797913d9da Merge pull request #3144 from jochenberger/patch-1
Update CHANGELOG.md
2015-12-07 03:29:58 -05:00
jochenberger
8e98305900 Update CHANGELOG.md 2015-12-07 09:19:05 +01:00
Logan Smyth
05fc7ee05b Merge pull request #3137 from loganfsmyth/export-all-fail-T2763
Set the proper parents for new node paths - fixes T2763
2015-12-06 22:15:46 -08:00
Logan Smyth
d2ee421941 Make runtime point at itself and avoid nesting helpers - fixes T6644 2015-12-06 09:56:50 -08:00
Henry Zhu
2e11839257 Add 6.3.15 changelog 2015-12-06 11:36:16 -05:00
Henry Zhu
3f7019f964 v6.3.15 2015-12-06 11:31:46 -05:00
Henry Zhu
d06cfe63c2 eslint: add space-after-keywords 2015-12-06 11:30:07 -05:00
Henry Zhu
f52b8f9e99 Merge pull request #3141 from babel/mul-def
Fix bug with evaluating an expression in it's own binding
2015-12-06 11:22:49 -05:00
Amjad Masad
350ee82a83 add comment 2015-12-06 08:00:15 -08:00
Amjad Masad
036e90e9cc Fix bug with evaluating an expression in it's own binding 2015-12-06 07:56:17 -08:00
Henry Zhu
583cde6f8c Merge pull request #3140 from babel/lerna-bin
Fix lerna path
2015-12-06 10:33:18 -05:00
Amjad Masad
064fe9426d Fix lerna path 2015-12-06 06:48:40 -08:00
Logan Smyth
b9e675597c Make alternate compat names load from main helpers 2015-12-05 23:57:35 -08:00
James Kyle
abb85b498a Merge pull request #3138 from loganfsmyth/class-rename-failure-T2494
Skip name inference on hard-to-replace classes - fixes T2494
2015-12-05 20:58:37 -08:00
Logan Smyth
925804798d Skip name inference on hard-to-replace classes - fixes T2494 2015-12-05 17:07:10 -08:00
Logan Smyth
9f32061769 Merge pull request #3134 from loganfsmyth/default-renamer-T6750
Ensure that default exports have a name before splitting them - fixes T6750
2015-12-05 16:23:39 -08:00
Logan Smyth
f37acd293c Set the proper parents for new node paths - fixes T2763 2015-12-05 16:16:02 -08:00
Logan Smyth
a12a116b9f Ensure that default exports have a name before splitting them - fixes T6750 2015-12-05 15:28:48 -08:00
Henry Zhu
ec1e975333 Merge pull request #3136 from loganfsmyth/destructure-export-T6720
Move destructuring statements off export statements before processing - fixes T6720
2015-12-05 18:26:50 -05:00
Logan Smyth
29a3176276 Move destructuring statements off export statements before processing - fixes T6720 2015-12-05 14:27:42 -08:00
Henry Zhu
333dc8dcda Merge pull request #3135 from loganfsmyth/loose-async-gen-T6755
Ensure that the async/generator flags carry over when converting class methods - fixes T6755
2015-12-05 15:42:29 -05:00
Logan Smyth
03f189fc46 Ensure that the async/generator flags carry over when converting class methods - fixes T6755 2015-12-05 12:24:00 -08:00
Henry Zhu
6082ac8a59 skip nested new expressions 2015-12-05 14:19:31 -05:00
Henry Zhu
21f76655ad account for parent NewExpression with arguments 2015-12-05 13:37:06 -05:00
Henry Zhu
8a1ad5350c Merge pull request #3111 from amasad/new
No need for parens for new expressions without args
2015-12-05 13:33:23 -05:00
Jesse McCarthy
412c65deb3 Add discussion forum to README support section. 2015-12-04 14:20:57 -05:00
James Kyle
f4647bbb54 Merge pull request #3128 from jmm/ast-spec
Update description: ESTree ES5 => Babylon.
2015-12-04 11:11:24 -08:00
James Kyle
e7bdbb67e8 Merge pull request #3131 from hzoo/changelog
add changelog
2015-12-04 11:10:50 -08:00
Henry Zhu
72eec06bb9 add changelog for 6.3.8-6.3.14 2015-12-04 14:04:32 -05:00
Henry Zhu
0587a5d12c v6.3.14 2015-12-04 13:52:36 -05:00
Logan Smyth
164bc1aed6 Merge pull request #3133 from loganfsmyth/switch-scope-6761
Properly resolve scope from switch statement - fixes T6761
2015-12-04 09:32:45 -08:00
Logan Smyth
8efd1d71ad Properly resolve scope from switch statement - fixes T6761 2015-12-04 09:04:25 -08:00
Sebastian McKenzie
e526643f79 fix wrong bootstrap script reference 2015-12-05 02:21:34 +11:00
Sebastian McKenzie
3e2fa16dbc fix make bootstrap/ci 2015-12-05 02:16:42 +11:00
Sebastian McKenzie
d9dce29d09 move up make build in make bootstrap 2015-12-05 02:08:54 +11:00
Henry Zhu
61e2568c08 add 6.3.1 changelog 2015-12-04 07:33:50 -05:00
Henry Zhu
608e6f9274 add 6.3.2 changelog 2015-12-04 07:33:50 -05:00
Sebastian McKenzie
f60261eafb update to lerna 2015-12-04 23:23:50 +11:00
Sebastian McKenzie
d6117a9e27 Merge branch 'master' of github.com:babel/babel 2015-12-04 23:17:11 +11:00
Sebastian McKenzie
d2ff843dae Merge pull request #3130 from amasad/flow-null-type
Add support for null literal type
2015-12-04 23:01:03 +11:00
Sebastian McKenzie
7b36967416 v6.3.13 2015-12-04 22:56:51 +11:00
Sebastian McKenzie
ae831c2270 v6.3.12 2015-12-04 22:56:13 +11:00
Sebastian McKenzie
74609ec82c v6.3.10 2015-12-04 22:54:49 +11:00
Sebastian McKenzie
06809c7f81 v6.3.9 2015-12-04 22:54:38 +11:00
Sebastian McKenzie
659d310a2b v6.3.8 2015-12-04 22:54:22 +11:00
Amjad Masad
37797c4d50 Test name, and remove todos 2015-12-04 00:12:37 -08:00
Amjad Masad
9c20ace184 Add support for null literal type 2015-12-03 23:58:25 -08:00
Henry Zhu
b515fa8db8 v6.3.2 2015-12-03 22:48:04 -05:00
Logan Smyth
aa6dc5d153 Merge pull request #3116 from loganfsmyth/register-plugin-duplication
Disable babelrc processing on the already-processed configuration - fixes T6690
2015-12-03 18:33:58 -08:00
Jesse McCarthy
e8beafa1dd Update description: ESTree ES5 => Babylon.
Also remove doctoc comments that aren't currently being used.
2015-12-03 15:04:26 -05:00
Henry Zhu
c8a6d8117d Merge pull request #3108 from cspotcode/feature/fix-T2864
source-maps: Fix T2864
2015-12-03 14:46:00 -05:00
Henry Zhu
8d78ea4ecf Merge pull request #3112 from phantom10111/fix-es2015-classes
Fix return super(); in class constructor - fixes T2997
2015-12-03 10:34:18 -05:00
Henry Zhu
ae666c1e09 Merge pull request #3127 from loganfsmyth/where-fit-3051
Ensure we always push into a BlockStatement - fixes T3051
2015-12-02 22:58:10 -05:00
Logan Smyth
d71b59d0cc Ensure we always push into a BlockStatement - fixes T3051 2015-12-02 19:41:22 -08:00
Henry Zhu
f51fe91488 Merge pull request #3124 from hzoo/changelog
add 6.3.1 and 6.3.0 changelog
2015-12-02 21:55:03 -05:00
Henry Zhu
8cf1b418fc transform-inline-environment-variables: replace -> replaceWith - fixes T6724 2015-12-02 21:53:12 -05:00
Henry Zhu
ec86e2ebfd add 6.3.1 and 6.3.0 changelog 2015-12-02 00:09:26 -05:00
Henry Zhu
53877ec158 Merge pull request #3119 from loganfsmyth/default-export-generator-6733
Ensure that generator functions always have an identifier - fixes T6733
2015-12-01 22:27:59 -05:00
Henry Zhu
4f69482896 Merge pull request #3113 from phantom10111/fix-static-class-properties
Fix static class properties - fixes T2983
2015-12-01 22:21:37 -05:00
Amjad Masad
88ab37ecb4 v6.3.1 2015-12-01 10:52:40 -08:00
Amjad Masad
27252b2039 Merge pull request #3121 from amasad/fix-T6736
Fix spacing in binary expression when right is a binary expression and has a unary on the left
2015-12-01 10:50:06 -08:00
Amjad Masad
2efb677822 Add test cases with spaces 2015-12-01 10:47:25 -08:00
Amjad Masad
54a2a47030 Fix spacing in binary expression when right is a binary expression and has a unary on the left 2015-12-01 10:37:58 -08:00
phantom10111
36ebe0c939 Fix static class properties in class expressions and anonymous default exported classes - fixes T2983 2015-12-01 17:59:53 +01:00
Logan Smyth
a675234526 Ensure that generator functions always have an identifier - fixes T6733 2015-11-30 23:14:10 -08:00
Amjad Masad
2f5b953066 v6.3.0 2015-11-30 14:58:30 -08:00
Henry Zhu
1d4526cd69 Merge pull request #3109 from phantom10111/additional-validators
Additional validators for CallExpression, NewExpresion,TemplateLiteral, ArrayExpression, SequenceExpression
2015-11-29 21:35:18 -05:00
Henry Zhu
b4f44e7637 Merge pull request #3102 from roadhump/issue/T2422
Make arrow functions to work with multiple args and flow type (fixes T2422)
2015-11-29 20:51:20 -05:00
James Kyle
7f0eed0c66 Merge pull request #3117 from nooks/patch-1
Optimizations for asyncToGenerator
2015-11-29 16:43:35 -08:00
James Kyle
211a241050 Merge pull request #3115 from justinfagnani/class-properties
Check for empty decorators array on property nodes
2015-11-29 16:40:55 -08:00
Nook Scheel
a81e11c4ae Use arguments with #apply 2015-11-29 21:47:04 +03:00
Nook Scheel
b2ff128e94 Unnecessary #call 2015-11-29 21:28:14 +03:00
Nook Scheel
8c7a81d317 Optimizations for asyncToGenerator
Never use a bind!
Never use arguments as an array!
2015-11-29 21:25:09 +03:00
Logan Smyth
2bb01c6373 Disable babelrc processing on the already-processed configuration - fixes T6690 2015-11-28 23:54:01 -08:00
Henry Zhu
c7c80bc0a3 Merge pull request #3097 from laskos/fix-async-module-export
Fix async exports undefined - fixes T3085
2015-11-28 20:45:00 -05:00
Sławomir Laskowski
d34cb69912 Don't mark async functions as hoist
`babel-template` no longer crashes in IE attempting to access unpopulated error stack
2015-11-29 01:47:24 +01:00
Justin Fagnani
6f0fcc8e7b Check for empty decorators array on property nodes 2015-11-28 13:06:50 -08:00
phantom10111
9a270a3d0a Fix return super(); in class constructor - fixes T2997 2015-11-25 23:53:53 +01:00
phantom10111
11a8086432 Make ArrayExpression validator accept nulls as holes in the array 2015-11-25 23:39:35 +01:00
Henry Zhu
d0f63c1a7b add validators for TemplateLiteral and ArrayExpression 2015-11-25 23:10:27 +01:00
phantom10111
615160ba66 Fix babel-helper-remap-async-to-generator to not fail with the new validation rules 2015-11-25 23:09:21 +01:00
phantom10111
8186510b5d Add validators to CallExpression and SequenceExpression 2015-11-25 23:09:13 +01:00
James Kyle
afd68f47dd Merge pull request #3106 from hon2a/hon2a/ie-error-stack
`babel-template` no longer crashes in IE attempting to access unpopulated error stack
2015-11-25 13:01:54 -08:00
hon2a
8df5a9d49e Merge branch 'master' into hon2a/ie-error-stack 2015-11-25 11:50:09 +01:00
Amjad Masad
c78c27a8d6 It's only valid if the node is the callee 2015-11-24 19:24:05 -08:00
Amjad Masad
486d781be3 Handle member expressions 2015-11-24 19:20:06 -08:00
Amjad Masad
f1f6c820fe Handle new X()() 2015-11-24 19:12:24 -08:00
Amjad Masad
d32fae6fcd No need for parens for new expressions without args 2015-11-24 19:07:03 -08:00
Sebastian McKenzie
58f512f7c4 Merge pull request #3103 from amasad/spacing
Respect spacing in compact mode
2015-11-25 14:02:05 +11:00
Amjad Masad
e481c5b570 use + instead of template string 2015-11-24 19:01:12 -08:00
Amjad Masad
e4c5d9dcb3 Respect compact mode in spacing 2015-11-24 19:01:12 -08:00
Sebastian McKenzie
8457885599 Merge pull request #3104 from amasad/semi
Fix up semicolon omission in compact mode
2015-11-25 13:55:09 +11:00
Sebastian McKenzie
71e53a5d4d Merge pull request #3110 from thejameskyle/tjk/ObjectMember
Add ObjectMember abstract type
2015-11-25 13:54:52 +11:00
James Kyle
86287a7a8c Add ObjectMember abstract type 2015-11-24 15:00:04 -08:00
Andrew Bradley
9c27f1e86a Fixes the wrong source path being passed to SourceMapConsumer#generatedPositionFor
`generatedPositionFor` accepts a position in one of the sourcemap's *input* source files. Therefore the `source` path
should be one of the sourcemap's input `sources`, not the output `file`.
2015-11-24 16:10:10 -05:00
Andrew Bradley
bbec2114ce Fixes T2864
- Drops input mappings that cannot be mapped through Babel's sourcemap
- For example, Babel's sourcemap does not have mappings for leading comments, so any mapping from an input sourcemap for those leading comments must be dropped from the merged sourcemap
2015-11-24 16:07:37 -05:00
TSUYUSATO Kitsune
922c621ffb Fixed T6675
https://phabricator.babeljs.io/T6675.
2015-11-24 22:39:50 +09:00
hon2a
af4271a262 babel-template no longer crashes in IE attempting to access unpopulated error stack. 2015-11-24 13:54:49 +01:00
Sebastian McKenzie
5c1d2ab92f Merge pull request #3099 from hzoo/validate-jsx
add more validation for jsx nodes
2015-11-24 20:42:42 +11:00
Amjad Masad
44d5552840 Fix up semicolon omission in compact mode 2015-11-23 21:32:44 -08:00
Aliaksei Shytkin
47871f80dd Make arrow functions to work with multiple args and flow return type (fixes T2422) 2015-11-23 15:20:16 +03:00
Henry Zhu
f56af90c20 add numericliteral 2015-11-21 22:50:21 -05:00
Henry Zhu
3a05513e31 literal to stringLiteral - fixes T6667 2015-11-21 22:25:21 -05:00
Henry Zhu
efa9a1abf2 add more validation for jsx nodes 2015-11-21 21:13:09 -05:00
Sebastian McKenzie
4c311ec2ab add 6.2.2 changelog 2015-11-19 14:48:44 -08:00
Sebastian McKenzie
3c5bced67d v6.2.2 2015-11-19 14:45:57 -08:00
Sebastian McKenzie
ba0388eba5 Merge pull request #3096 from loganfsmyth/double-class-traverse
Avoid duplicating traversal of class declarations - fixes T2694
2015-11-19 14:37:21 -08:00
Sebastian McKenzie
8df82c4f3c add 6.2.1 changelog 2015-11-19 14:04:15 -08:00
Sebastian McKenzie
a4e3af1c63 v6.2.1 2015-11-19 14:03:33 -08:00
Sebastian McKenzie
45d4e50b39 add resolution dirname to unknown plugin/preset error message 2015-11-19 14:01:38 -08:00
Victor Felder
9a97d92217 T2965: Patterns as rest parameter operands are not valid, therefore this relic should go 2015-11-19 13:50:12 +01:00
Victor Felder
a510e7325b Factor out optimiseCandidate to reduce nesting & complexity 2015-11-19 13:47:07 +01:00
Victor Felder
306b5db1ef Have es2015 rest transform safely use arguments 2015-11-19 12:47:55 +01:00
Logan Smyth
b3f2ea0aa1 Avoid duplicating traversal of class declarations - fixes T2694 2015-11-19 00:30:56 -08:00
Sebastian McKenzie
82ddbc0ecd add missing changelogs - fixes T6655 2015-11-18 21:03:02 -08:00
Sebastian McKenzie
7ce5c4307a remove travis git scripts - Fixes T6661 2015-11-18 20:41:41 -08:00
Sebastian McKenzie
ac90ea20ea v6.2.0 2015-11-18 20:33:47 -08:00
Sebastian McKenzie
94887d35e1 add babel-plugin-syntax-function-sent plugin 2015-11-18 20:32:11 -08:00
Sebastian McKenzie
8fd543edae make base option plugin/preset resolving happen relative to the input filename 2015-11-18 20:31:59 -08:00
Sebastian McKenzie
89d9db8648 bump invariant dependency version 2015-11-17 23:02:29 -08:00
Sebastian McKenzie
983ca5c71f add function.sent 2015-11-17 23:02:21 -08:00
Sebastian McKenzie
f8c2beb9d8 Merge pull request #3088 from kpdecker/terminal-after-comment
Output auxiliaryCommentAfter before trail comment
2015-11-17 23:01:32 -08:00
Sebastian McKenzie
02c155e32a Merge pull request #3087 from nordluf/master
Make babel-cli watching only given files and extensions.
2015-11-17 23:00:35 -08:00
Sebastian McKenzie
eb4841932f Merge branch 'master' of github.com:babel/babel 2015-11-17 22:59:23 -08:00
Sebastian McKenzie
ba68bd255e add package.json dirname to mergeOptions - closes #3093 2015-11-17 22:58:24 -08:00
Sebastian McKenzie
9249f7715c Merge pull request #3091 from claudiopro/master
Fixes @jsx pragma detection + tests
2015-11-17 22:55:14 -08:00
Sebastian McKenzie
f8501bdee3 Merge pull request #3092 from amasad/nested-if
Print a block when the consequent is an if statement
2015-11-17 22:54:21 -08:00
Amjad Masad
1612c70c10 Take the alternate existence into account 2015-11-17 19:16:19 -08:00
Amjad Masad
35e575cf93 Print a block when encountering consequents that are if statements 2015-11-17 19:07:20 -08:00
Amjad Masad
507557c48e Add failing test 2015-11-17 18:45:35 -08:00
claudiopro
6d1a6dfc94 Fixes @jsx pragma detection + tests 2015-11-17 22:32:44 +01:00
kpdecker
1286200712 Output auxiliaryCommentAfter before trail comment
Quick fix for the case where generated comment is the terminal leaf in a subtree that is followed by a trailing comment.

Partial for #3034
2015-11-16 20:59:24 -06:00
Sebastian McKenzie
d2e07cffb9 add note about where to request features and report bugs 2015-11-16 14:41:10 -08:00
Evgeny Kruglov
a43a60e5b8 Make babel-cli watching only given files and extensions. Use --only, --ignore and --extensions while process filenames with --out-file option. 2015-11-16 23:43:14 +03:00
Sebastian McKenzie
8cd68ddc74 Merge pull request #3074 from Daniel15/flow-clowntown
Fix Flow.
2015-11-15 23:43:16 -08:00
Daniel Lo Nigro
828ce54637 Run Flow after building so that it actually runs properly in a CI run. It seems like there's a bunch of "module not found" if you run a Flow check before building, even after running "npm install". 2015-11-15 21:44:03 -08:00
Daniel Lo Nigro
0076204f80 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
1d34d19ce9 Merge pull request #3050 from kpdecker/aux-chain
auxiliaryComment chaining
2015-11-15 20:13:47 -08:00
Sebastian McKenzie
f6dea87102 Merge pull request #3066 from zertosh/cleanup-deps
Remove (a few) unused deps
2015-11-15 20:12:52 -08:00
Sebastian McKenzie
aec97a1b12 Merge pull request #3069 from jrsearles/add-modulus-op
Add modulus operator
2015-11-15 20:12:31 -08:00
Joshua Searles
750fca9a88 Add module operator 2015-11-15 02:44:43 -05:00
Andres Suarez
c8f3fd8a34 Remove unused deps 2015-11-14 16:04:48 -08:00
James Kyle
c4c9c6f123 Fix transform-es2015-block-scoping link 2015-11-13 20:15:52 -08:00
Sebastian McKenzie
11e50695d3 v6.1.21 2015-11-13 16:57:03 -08:00
Sebastian McKenzie
31f3eac566 Merge branch 'master' of github.com:babel/babel 2015-11-13 16:56:04 -08:00
Sebastian McKenzie
01356191d4 avoid revisiting classes - #2694 2015-11-13 16:55:54 -08:00
Sebastian McKenzie
5cb326a7f6 add aliases to plugins that are where they were first specified for performance 2015-11-13 16:54:47 -08:00
kpdecker
488f5a067e Avoid duplicate auxiliary start if in aux section
Fixes #3032
2015-11-13 13:43:23 -06:00
kpdecker
1563e74cc0 Add a few auxiliary comment tests 2015-11-13 12:56:30 -06:00
Jesse McCarthy
90327aee47 Merge pull request #3043 from jmm/babylon-readme-features-to-plugins
Correct option name: features => plugins.

Fix #3042.
2015-11-13 10:42:59 -05:00
Jesse McCarthy
f660dd3430 Correct option name: features => plugins. 2015-11-13 10:25:40 -05:00
Sebastian McKenzie
5b6a39f227 v6.1.20 2015-11-13 03:38:54 -08:00
Sebastian McKenzie
9f6dcdbc29 add regression test - fixes #3028 2015-11-13 03:37:43 -08:00
Sebastian McKenzie
9d8db74517 only infer whitespace when we've been passed tokens 2015-11-13 03:37:27 -08:00
Sebastian McKenzie
688dcec6a3 fix queueing of nested paths being pushed onto the priority queue 2015-11-13 03:37:15 -08:00
Sebastian McKenzie
02e4dcdbe2 Merge pull request #3029 from spicyj/inline2
React inlining: Refactor to reduce parsing cost
2015-11-12 22:53:09 -08:00
Sebastian McKenzie
00d3f8f7d3 Merge pull request #3022 from tadeuzagallo/patch-1
Fix the source maps merging
2015-11-12 22:53:05 -08:00
Sebastian McKenzie
0fc160ce42 Merge pull request #3031 from forivall/remove-unused-param
Remove unused second parameter of isIdentifierStart
2015-11-12 22:52:48 -08:00
Jordan Klassen
3b68a58e0c Remove unused second parameter of isIdentifierStart 2015-11-12 22:45:35 -08:00
Ben Alpert
d1b8db1532 React inlining: Refactor to reduce parsing cost
- Have the `jsx` helper do the `defaultProps` work instead of calling `defaultProps` inline.
- Put `key` after `props` and make it optional.
- Inline `children` as rest args instead of in the object.
- Rename `createRawReactElement` to `jsx`. I wish I was kidding.

Most of these are silly microoptimizations. In my test file (based off an internal RN app), this reduces the parsing overhead of inlining from around 1% to 0.1% in JSC and from 0.6% to 0.0% in V8 (compared to element inlining before this commit).

Once parsed, the initial render with inlining is the same speed as not inlining in JSC and ~1% slower in V8. A second initial render in the same context (reusing the function objects, JIT, etc) is 2.0% faster in JSC and 5.5% faster in V8.
2015-11-12 18:05:57 -08:00
Sebastian McKenzie
4b5a284efb fix unknown helper message - fixes #3025 2015-11-12 14:24:26 -08:00
Sebastian McKenzie
c0afdfd1a8 remove babel-browser 2015-11-12 14:20:09 -08:00
Sebastian McKenzie
16366d887c v6.1.19 2015-11-12 14:18:24 -08:00
Sebastian McKenzie
d4a351fc87 add config check to package.json babel reading 2015-11-12 14:16:40 -08:00
Sebastian McKenzie
6530d565d9 fix ship method 2015-11-12 14:10:36 -08:00
Sebastian McKenzie
e89699f07c remove checked in polyfill... 2015-11-12 14:10:30 -08:00
Sebastian McKenzie
4a1e5c17b4 v6.1.18 2015-11-12 13:46:30 -08:00
Sebastian McKenzie
23fd185590 v6.1.17 2015-11-12 13:40:25 -08:00
Sebastian McKenzie
18e419db50 ignore duplicate publish errors 2015-11-12 13:40:10 -08:00
Sebastian McKenzie
c4c66687ea v6.1.16 2015-11-12 13:33:20 -08:00
Sebastian McKenzie
9be985c712 add retries 2015-11-12 13:33:02 -08:00
Sebastian McKenzie
9c91b555f9 v6.1.15 2015-11-12 12:15:47 -08:00
Sebastian McKenzie
f127f81cb7 v6.1.14 2015-11-12 12:01:18 -08:00
Sebastian McKenzie
5c22a23754 perform package publish in series rather than parallel 2015-11-12 12:00:59 -08:00
Sebastian McKenzie
548d973d12 v6.1.13 2015-11-12 11:57:45 -08:00
Tadeu Zagallo
5412c4d6be Fix the source maps merging
In the current state, when the inputSourceMap has multiple sources, all the generated source map will point to the first file. Use the mapping's source instead.
2015-11-12 18:18:41 +00:00
Sebastian McKenzie
f91cfa68b9 ignore callee supers when doing spread compilation - fixes #2775 2015-11-12 01:59:07 -08:00
Sebastian McKenzie
69fb1854d7 add error for decorators not being implemented yet 2015-11-12 01:49:01 -08:00
Sebastian McKenzie
2d3760c1f7 add internal note to test modules 2015-11-12 01:09:31 -08:00
Sebastian McKenzie
af208e8acb v6.1.12 2015-11-12 00:47:51 -08:00
Sebastian McKenzie
8fb4d55687 v6.1.11 2015-11-11 23:58:22 -08:00
Sebastian McKenzie
aff324a4ca npm might be rate limiting me? 2015-11-11 23:58:10 -08:00
Sebastian McKenzie
98b3dda500 v6.1.10 2015-11-11 23:52:57 -08:00
Sebastian McKenzie
15baf2afb5 v6.1.9 2015-11-11 23:46:00 -08:00
Sebastian McKenzie
e018723c7e v6.1.8 2015-11-11 23:40:20 -08:00
Sebastian McKenzie
445e914c4e remove VERSION rollback 2015-11-11 23:37:37 -08:00
Sebastian McKenzie
8dcf4aedc0 v6.1.7 2015-11-11 23:37:19 -08:00
Sebastian McKenzie
b6515634c7 clean up tag creation and removal 2015-11-11 23:37:02 -08:00
Sebastian McKenzie
97443eada6 v6.1.6 2015-11-11 23:32:43 -08:00
Sebastian McKenzie
b354d46be1 add browser scripts to make clean 2015-11-11 23:32:27 -08:00
Sebastian McKenzie
7791de81c1 fix async parallelLimit in publish script 2015-11-11 23:32:21 -08:00
Sebastian McKenzie
803f58f7ad v6.1.5 2015-11-11 23:30:14 -08:00
Sebastian McKenzie
caff1e72a5 v6.1.10 2015-11-11 23:28:53 -08:00
Sebastian McKenzie
cfdc2b7268 add missing async declaration 2015-11-11 23:28:33 -08:00
Sebastian McKenzie
541e547848 v6.1.9 2015-11-11 23:27:56 -08:00
Sebastian McKenzie
562023726f move up changedPackages declaration 2015-11-11 23:27:44 -08:00
Sebastian McKenzie
82a931c289 Merge branch 'development' 2015-11-11 23:24:58 -08:00
Sebastian McKenzie
67b8f10eba Merge branch 'master' of github.com:babel/babel 2015-11-11 23:24:53 -08:00
Sebastian McKenzie
afe12412a8 add npm owners 2015-11-11 23:24:39 -08:00
Sebastian McKenzie
a203596e0c make publish script parallel 2015-11-11 23:24:35 -08:00
Sebastian McKenzie
4cbe6b380a Merge pull request #2998 from spicyj/inline2
React inlining: Two bug fixes
2015-11-11 23:16:33 -08:00
Sebastian McKenzie
26e56bc966 v6.1.5 2015-11-11 22:48:30 -08:00
Sebastian McKenzie
fe5aff09a4 fix remaining babel helper issues 2015-11-11 22:45:50 -08:00
Sebastian McKenzie
ca1ca2055d Merge branch 'development' 2015-11-11 22:11:55 -08:00
Sebastian McKenzie
139a61e50d account for integers with decimal 0 - fixes #3002 2015-11-11 22:11:47 -08:00
Sebastian McKenzie
74a1b7fce6 make helper names more predictable - fixes #2986 2015-11-11 20:57:56 -08:00
Sebastian McKenzie
8d7a3894ea comment out react env block - fixes #2994 2015-11-11 17:54:24 -08:00
Sebastian McKenzie
78f06be9b9 move dependency from devDependencies to normal dependencies in babel-register - fixes #2989 2015-11-11 17:53:31 -08:00
Henry Zhu
52dd3e8006 Merge pull request #2999 from hzoo/inline-env
Fix transform-inline-environment-variables - fixes #2991
2015-11-11 20:20:36 -05:00
Henry Zhu
837022c2ad Fix transform-inline-environment-variables - fixes #2991 2015-11-11 19:49:19 -05:00
Ben Alpert
e8ebc7074e React inlining: Make sure some props object always exists 2015-11-11 15:33:43 -08:00
Ben Alpert
07a5bcc04a React inlining: Fix transform for computed key
(This was broken before my last change too.)
2015-11-11 15:27:02 -08:00
Sebastian McKenzie
0b7b2e4a3a Merge pull request #2995 from jimfb/master
In JSX-source plugin, handle case where filename or line are null
2015-11-11 14:12:38 -08:00
Sebastian McKenzie
a05330b2e5 Merge pull request #2993 from amasad/2772
Fix #2772
2015-11-11 14:11:58 -08:00
jim
2198f46f53 In JSX-source plugin, handle case where filename or line are null 2015-11-11 14:06:04 -08:00
Amjad Masad
46d8241caf Use node for parent check 2015-11-11 13:30:45 -08:00
Sebastian McKenzie
e63ac82d80 Merge pull request #2970 from amasad/no-const
Convert the constants transform plugin to a validation plugin
2015-11-11 12:55:39 -08:00
Sebastian McKenzie
26abba9880 Merge pull request #2972 from spicyj/inline2
Use a helper function for React "inlining"
2015-11-11 12:39:54 -08:00
Sebastian McKenzie
e75f2ef5bb Merge pull request #2923 from thejameskyle/tjk/doctor-on-win32
Add link to npm upgrade guide on windows
2015-11-11 12:25:21 -08:00
Amjad Masad
352a604fe2 Make sure the test fails 2015-11-11 12:07:23 -08:00
Amjad Masad
6825846c82 Use Symbol.for 2015-11-11 11:06:47 -08:00
Amjad Masad
a17d62ca2b Convert the constants transform plugin to a validation plugin
A follow up from https://github.com/babel/babel/pull/2969 were we added support for consts in the block-scoping plugin.
2015-11-11 10:45:31 -08:00
Amjad Masad
0711fa67b4 ensure block 2015-11-11 10:42:55 -08:00
Amjad Masad
8891ed38b8 cleanup 2015-11-11 10:42:55 -08:00
Amjad Masad
ed4a5fb811 get rid of _let 2015-11-11 10:42:55 -08:00
Amjad Masad
aa8b96bf38 Support consts in block-scoping transform 2015-11-11 10:42:55 -08:00
Amjad Masad
4cca0abd2f move them to the correct place 2015-11-11 10:42:54 -08:00
Amjad Masad
cd6a972342 move test files 2015-11-11 10:42:54 -08:00
Amjad Masad
ea0e55c5af Add failing test 2015-11-11 10:42:54 -08:00
Sebastian McKenzie
65dc981ce9 remove longest name detection and just use 50 2015-11-11 02:52:42 -08:00
Sebastian McKenzie
6f7a81c30d add tagging to npm publish to prevent publish racing 2015-11-11 02:52:14 -08:00
Sebastian McKenzie
538d778064 add 6.1.4 changelog 2015-11-11 02:51:56 -08:00
Sebastian McKenzie
03383bdf31 v6.1.4 2015-11-11 02:04:26 -08:00
Sebastian McKenzie
e09d442be6 remove redundant test 2015-11-11 02:02:39 -08:00
Sebastian McKenzie
ea59e23633 Merge branch 'development' 2015-11-11 02:01:19 -08:00
Sebastian McKenzie
2658adf7e4 Merge branch 'master' of github.com:babel/babel 2015-11-11 02:00:50 -08:00
Ben Alpert
3cad287233 Use a helper function for React "inlining"
Either due to lower parsing costs or better type inference, this seems
to perform better than direct object inlining. (All along, the main win
was skipping a loop through props, not avoiding a function call.)
2015-11-10 21:10:06 -08:00
Amjad Masad
3f41023e02 Merge pull request #2966 from hzoo/npmig
babel-plugin-transform-x: add test to .npmignore
2015-11-10 17:35:55 -08:00
Sebastian McKenzie
f601e62678 add regression test - fixes #2941 2015-11-10 16:02:45 -08:00
Sebastian McKenzie
54c13eef5c fix exported classes with static class properties - fixes #2868 2015-11-10 15:56:22 -08:00
Henry Zhu
4751caab3b babel-plugin-transform-x: add test to .npmignore 2015-11-10 17:53:30 -05:00
Sebastian McKenzie
29f756fd6f add regression tests - closes #2663 2015-11-10 14:40:30 -08:00
Sebastian McKenzie
482e4229db Merge branch 'development' 2015-11-10 14:26:48 -08:00
Sebastian McKenzie
884252b90f increase test coverage 2015-11-10 14:26:40 -08:00
Sebastian McKenzie
e65e6bb19d Merge pull request #2963 from jimfb/master
Added jsx-source plugin
2015-11-10 13:58:24 -08:00
jim
f4049db99d Added jsx-source plugin 2015-11-10 13:49:46 -08:00
Sebastian McKenzie
985e71f288 Merge pull request #2953 from zloirock/update-runtime-definition
Update definition entry points for runtime
2015-11-10 03:43:18 -08:00
Sebastian McKenzie
a55f210c7f fix buildExternalHelpers whitelist not including underscored helpers - fixes #2940 2015-11-10 03:40:35 -08:00
Sebastian McKenzie
28a13bd400 add missing babel-types constants file 2015-11-10 02:54:38 -08:00
ForbesLindesay
5f1329ef5a Fix lint error 2015-11-10 10:38:46 +00:00
ForbesLindesay
650cb22fd8 s/aliases/Aliases:/ 2015-11-10 10:34:36 +00:00
ForbesLindesay
4f9bff0c6b Generate documentation for babel-types 2015-11-10 10:34:36 +00:00
Denis Pushkarev
4b9dc79aa4 update definition entry points for runtime 2015-11-10 15:52:37 +06:00
Sebastian McKenzie
a59e5eecc8 fix cyclic dependency issue in babel-types 2015-11-10 00:16:52 -08:00
Sebastian McKenzie
d96ccd9763 Merge branch 'master' into development 2015-11-10 00:06:41 -08:00
Sebastian McKenzie
06bc0ef50c remove appveyor 2015-11-09 22:58:17 -08:00
Sebastian McKenzie
6044d559ec Merge pull request #2936 from babel/hzoo-patch-1
babel-types: update validators
2015-11-09 20:56:45 -08:00
Sebastian McKenzie
965690ac80 switch appveyor command to install mingw instead of make 2015-11-09 20:55:25 -08:00
Sebastian McKenzie
17d47267ca add choco install make to appveyor 2015-11-09 19:27:10 -08:00
Sebastian McKenzie
4479aed11c add os: unstable to appveyor config 2015-11-09 19:12:31 -08:00
Sebastian McKenzie
70790c2d36 add appveyor badge 2015-11-09 19:04:10 -08:00
James Kyle
3c3ee42850 Merge pull request #2950 from babel/hzoo-patch-2
fix circleci link
2015-11-09 19:03:27 -08:00
Sebastian McKenzie
306be9eb94 add appveyor.yml 2015-11-09 19:02:30 -08:00
Henry Zhu
2f27ca7cb7 fix circleci link 2015-11-09 21:37:42 -05:00
Sebastian McKenzie
5e02ba9b48 remove wanky badges 2015-11-09 18:21:24 -08:00
Sebastian McKenzie
f47be98cf2 Merge branch 'development'
Conflicts:
	package.json
2015-11-09 18:20:23 -08:00
Sebastian McKenzie
8b424452a2 remove open command from test-cov 2015-11-09 18:11:13 -08:00
Sebastian McKenzie
837091e3e9 clean up test-ci task 2015-11-09 17:58:48 -08:00
Sebastian McKenzie
5a8fa4ccf1 add 10s timeout to mocha tests 2015-11-09 17:58:36 -08:00
Sebastian McKenzie
5eeaf6597f add babel-runtime to babel-plugin-transform-regenerator package 2015-11-09 17:42:12 -08:00
Sebastian McKenzie
f53ac0a09c remove assertion 2015-11-09 17:37:23 -08:00
Sebastian McKenzie
10158b5ae7 minor nits 2015-11-09 17:35:51 -08:00
James Kyle
cd11f1e4f5 double quotes 2015-11-09 15:59:43 -08:00
Henry Zhu
ce5b27fed8 babel-types: add validators for core 2015-11-09 17:56:21 -05:00
Henry Zhu
d4a1127012 babel-types: add validators for es2015 exports 2015-11-09 13:54:36 -05:00
Henry Zhu
a2efb41748 Merge pull request #2927 from chalbert/fix-es2015-assertion-type
Fix wrong assertion type on es2015 type definitions
2015-11-09 13:48:17 -05:00
Nicolas Gilbert
68e1e3c90c Merge remote-tracking branch 'babel/master' into fix-es2015-assertion-type
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2015-11-10 06:40:43 +13:00
Henry Zhu
00b082a3de Merge pull request #2938 from hzoo/eslint
pin eslint to 1.8.0
2015-11-09 11:55:58 -05:00
Henry Zhu
d60be61ced pin eslint to 1.8.0 2015-11-09 10:55:50 -05:00
Sebastian McKenzie
8ecca614ba remove regenerator plugin lib folder 2015-11-09 04:16:53 -08:00
Sebastian McKenzie
6fa85e6f5b clean up babel-plugin-transform-regenerator 2015-11-09 04:15:51 -08:00
Sebastian McKenzie
f047a593df add test coverage to ci 2015-11-09 04:03:59 -08:00
Sebastian McKenzie
63b28ecc89 fix eslint version 2015-11-09 03:38:55 -08:00
Sebastian McKenzie
36493121c1 add circleci 2015-11-09 03:38:50 -08:00
Sebastian McKenzie
f8b22aeee4 use test-only task instead of test in test-travis 2015-11-09 02:58:35 -08:00
Sebastian McKenzie
3bb88bde77 remove some travis cache directories 2015-11-09 02:58:20 -08:00
Sebastian McKenzie
a218f29cc8 add package directories to travis cache 2015-11-09 02:50:46 -08:00
Sebastian McKenzie
bd39ea2611 add polyfill and regenerator options to babel-plugin-transform-runtime 2015-11-09 02:50:39 -08:00
Nicolas Gilbert
3eec81763f Fix wrong assertion type on es2015 type definitions 2015-11-09 21:12:05 +13:00
Sebastian McKenzie
0df276272a add progress bar to bootstrap script and clean up the output 2015-11-08 23:04:29 -08:00
Sebastian McKenzie
15969a0904 move all plugin tests out of babel-core and into their appropriate folders 2015-11-08 23:04:10 -08:00
Sebastian McKenzie
5f40b53dee 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
f13ba90f17 Merge branch 'master' into development 2015-11-08 19:42:43 -08:00
Sebastian McKenzie
87be7d0e33 add babel-helper-fixtures usage 2015-11-08 18:53:53 -08:00
Sebastian McKenzie
da20aa90c1 omit defaultProps helper when there are no props 2015-11-08 17:10:33 -08:00
Sebastian McKenzie
e6313dec2c make compiler environment support document more clear 2015-11-08 17:10:21 -08:00
Sebastian McKenzie
65c4fd8fb8 add enter/exit catch-all note to changelog 2015-11-08 17:09:46 -08:00
James Kyle
0f90b6eaf2 Add link to npm upgrade guide on windows. Re: 1c3b4aa410 (commitcomment-14211658) 2015-11-08 15:35:14 -08:00
Sebastian McKenzie
785b01b8cd Merge branch 'development' 2015-11-08 07:22:22 -08:00
Sebastian McKenzie
99b9d20d35 switch travis build badge in readme to only be of the master branch 2015-11-08 06:58:43 -08:00
Sebastian McKenzie
826538790e switch travis build badge in readme to only be of the master branch 2015-11-08 06:58:30 -08:00
Sebastian McKenzie
9b48167a00 switch back to stable flag 2015-11-08 06:56:50 -08:00
Sebastian McKenzie
52363ab8d8 remove err.stack hack 2015-11-08 06:56:18 -08:00
Sebastian McKenzie
81ba799ba4 add compiler support document - closes #2839 2015-11-08 06:51:20 -08:00
Sebastian McKenzie
5f732d1c02 ignore babel-runtime version mismatch in babel-doctor - fixes #2915 2015-11-08 06:43:32 -08:00
Sebastian McKenzie
a2da61a497 switch from stable flag in travis config to 5.0 2015-11-08 06:41:55 -08:00
Sebastian McKenzie
b07f8c8eab fix react inline elements tests 2015-11-08 06:38:45 -08:00
Sebastian McKenzie
1a996cdcc7 move babel-register import down 2015-11-08 06:26:31 -08:00
Sebastian McKenzie
2a1a038031 move children prop pushing to after props to ensure correct order - fixes #2395 2015-11-08 06:24:10 -08:00
Sebastian McKenzie
8f00700b9f fix order of babel-register in test transformation helper script 2015-11-08 06:23:51 -08:00
Sebastian McKenzie
defa9e1b09 change template literal to normal string 2015-11-08 06:23:30 -08:00
Sebastian McKenzie
fc1653694f add custom errorHandler to gulp-plumber 2015-11-08 06:23:21 -08:00
Sebastian McKenzie
6c2cc17d1d fix GLOBAL_VISITOR_PROPS usage 2015-11-08 06:14:23 -08:00
Sebastian McKenzie
c8901cf98d cherry-pick and fix merge conflicts in #2695 - closes #2695 2015-11-08 06:08:18 -08:00
Sebastian McKenzie
d1c4945a13 clean up visitor verification 2015-11-08 06:03:11 -08:00
Sebastian McKenzie
e40c93791c disallow plugins creating catch-all enter/exit handlers - closes #2906 2015-11-08 06:02:57 -08:00
Sebastian McKenzie
064fdb41fc remove use of gulp-rename and add gulp-plumber to prevent crashing on build errors 2015-11-08 06:02:36 -08:00
Sebastian McKenzie
5f8aa92ea3 add Symbol/GetOwnPropertySymbols to traceur ignore tests 2015-11-08 05:42:05 -08:00
Sebastian McKenzie
59759f28bb add Expression alias to TypeCastExpression - fixes #2889 2015-11-08 05:40:05 -08:00
Sebastian McKenzie
bab696c365 fix __proto__ clashes in parser in old v8 2015-11-08 05:34:11 -08:00
Sebastian McKenzie
0869d321b4 clean up _verifyNodeList error messages 2015-11-08 05:33:51 -08:00
Sebastian McKenzie
bcd639672d add defineEnumerableProperties helper 2015-11-08 05:33:42 -08:00
Sebastian McKenzie
ab6ec75905 add support for computed mutators in babel-plugin-transform-es2015-computed-properties 2015-11-08 05:33:35 -08:00
Sebastian McKenzie
9616e4b06c remove use of template literals in plugin regression exec test for unsupported environments 2015-11-08 05:33:13 -08:00
Sebastian McKenzie
9d8ee901d1 abstract out run exec test logic and add mutiline function 2015-11-08 05:32:59 -08:00
Sebastian McKenzie
288b470e73 reenable node 0.10 2015-11-08 05:32:45 -08:00
Sebastian McKenzie
3076063d47 move babel/register into a separate package 2015-11-08 04:05:13 -08:00
Sebastian McKenzie
b5b9794b3f switch to symbols and add matches parent helper function to abstract out matching 2015-11-08 03:41:15 -08:00
Sebastian McKenzie
f1f42164fc add toString to allow reflection of original traversal methods when wrapping for state 2015-11-08 03:41:00 -08:00
Sebastian McKenzie
8280e18ed4 remove force inheriting of symbols from t.inherits 2015-11-08 03:40:41 -08:00
Sebastian McKenzie
b6807021a8 perform esModule plugin normalisation in the normalisePlugin method rather than only doing it for string plugins 2015-11-08 02:47:22 -08:00
Sebastian McKenzie
5589a583c8 don't use absolute paths when importing the runtime definitions, instead just export it - fixes #2909 2015-11-08 02:44:05 -08:00
Sebastian McKenzie
7b552aee4d Merge pull request #2911 from hzoo/i-2821
babel-generator: ignore if TemplateLiteral - fixes #2821
2015-11-08 02:36:16 -08:00
Sebastian McKenzie
4b5b814872 Merge pull request #2907 from phantom10111/some-fixes
Some fixes in babel-traverse
2015-11-08 02:34:51 -08:00
Henry Zhu
5c33038117 fix ast/spec toc 2015-11-07 20:07:20 -05:00
Henry Zhu
99284822f3 babel-generator: ignore if TemplateLiteral - fixes #2821 2015-11-07 19:55:36 -05:00
Henry Zhu
264c207cb9 Merge pull request #2910 from babel/revert-2858-i-2835
Revert 5508f4de56
2015-11-07 18:15:07 -05:00
Henry Zhu
fa78aba67b Revert 5508f4de56 2015-11-07 18:13:12 -05:00
Henry Zhu
dd13a585a1 Merge pull request #2908 from phantom10111/fix-async-to-generator
Set the correct node type in helper-remap-async-to-generator - fixes #2744
2015-11-07 18:11:44 -05:00
Amjad Masad
4e32e2732f Add test-only to .PHONY 2015-11-07 14:29:23 -08:00
phantom10111
22dc8f8323 Fix scope cache returning an item that was just inserted 2015-11-07 23:09:54 +01:00
phantom10111
e0f1bd76cb Fix clearNode clearing all properties instead of just symbols 2015-11-07 23:09:50 +01:00
phantom10111
1f38dcdf8a Set the correct node type in helper-remap-async-to-generator 2015-11-07 23:06:02 +01:00
Sebastian McKenzie
9d43776fbe add dummy package.json output to bootstrap script 2015-11-06 21:03:22 -05:00
Sebastian McKenzie
0370402a0d fix lint errors 2015-11-06 20:55:05 -05:00
Sebastian McKenzie
bb1703e1a1 add header comment for scope cache function 2015-11-06 20:53:12 -05:00
Sebastian McKenzie
e80c206591 clear and inherit all symbols and underscore propertes in t.inherits and traverse.removeProperties 2015-11-06 20:52:59 -05:00
Sebastian McKenzie
63cd3008d2 clean up parameter names in Scope constructor 2015-11-06 20:42:16 -05:00
Sebastian McKenzie
8dd292075a clean up scope cache 2015-11-06 20:39:16 -05:00
Sebastian McKenzie
acbeda8182 Merge branch 'master' of github.com:babel/babel 2015-11-06 19:56:52 -05:00
Sebastian McKenzie
9a1cf40296 Merge pull request #2861 from hzoo/i-2838
helper-remap-async-to-generator: account for ObjectMethod - fixes #2838
2015-11-06 19:40:30 -05:00
Sebastian McKenzie
a2202802e4 Merge pull request #2866 from hzoo/i-2865
transform-es2015-typeof-symbol: check for undefined - fixes #2865
2015-11-06 19:40:21 -05:00
Sebastian McKenzie
d7adedad3c Merge pull request #2873 from ForbesLindesay/patch-1
Use `i - 1` instead of `--i`
2015-11-06 19:40:07 -05:00
Sebastian McKenzie
b9ac356914 Merge pull request #2887 from amasad/test-only
test-only (minus the lint) make task for faster iteration
2015-11-06 19:38:20 -05:00
Sebastian McKenzie
64688dfe9c Merge pull request #2888 from amasad/plugin-regression
Introduce exec tests for plugin regressions
2015-11-06 19:38:04 -05:00
Amjad Masad
8e2aae7e05 Introduce new tests for plugins 2015-11-06 15:14:20 -08:00
Amjad Masad
4a92be5e2a test-only (minus the lint) make task for faster iteration 2015-11-06 15:10:24 -08:00
Henry Zhu
99af9c60a5 Merge pull request #2882 from lookfirst/patch-1
docs: fixed external helpers plugin name
2015-11-06 16:29:33 -05:00
Jon Stevens
12b1b0b5d9 docs: fixed external helpers plugin name 2015-11-06 13:18:23 -08:00
Forbes Lindesay
1a4f5d80f0 Use i - 1 instead of --i 2015-11-06 14:52:25 +00:00
Henry Zhu
bb5a7804bc transform-es2015-typeof-symbol: check for undefined - fixes #2865 2015-11-06 06:54:51 -05:00
Henry Zhu
042af348bc helper-remap-async-to-generator: account for ObjectMethod - fixes #2838 2015-11-05 23:57:53 -05:00
Sebastian McKenzie
5508f4de56 Merge pull request #2858 from hzoo/i-2835
transform-regenerator: set node.id to an identifier if null - fixes #…
2015-11-06 01:28:37 +00:00
Sebastian McKenzie
6291c46596 Merge pull request #2851 from zertosh/fix-browser-build
Use source-map ^0.5.0
2015-11-06 01:28:33 +00:00
Sebastian McKenzie
0d5f2401f7 Merge pull request #2853 from wesbos/react-display-name
Added react-dispaly-name to the default react package
2015-11-06 01:28:01 +00:00
Henry Zhu
940b86dadb transform-regenerator: set node.id to an identifier if null - fixes #2835 2015-11-05 20:13:05 -05:00
wesbos
c167e6dcc3 Added react-dispaly-name to the default react package 2015-11-05 15:39:36 -05:00
Andres Suarez
af9da3b7e9 Use source-map ^0.5.0 2015-11-05 11:44:35 -08:00
Sebastian McKenzie
fc0baf1e2c Merge pull request #2841 from hzoo/i-2694
transform-es2015-classes: check if node.id is null
2015-11-05 17:09:50 +00:00
Sebastian McKenzie
ff62a33825 Merge pull request #2829 from zloirock/master
Change polyfill compression options
2015-11-05 17:07:30 +00:00
Henry Zhu
f1a62ef078 transform-es2015-classes: check if node.id is null 2015-11-05 10:25:56 -05:00
Sebastian McKenzie
72c5ecf250 add babel-browser sanity check test 2015-11-05 12:58:28 +00:00
Sebastian McKenzie
4d1145f872 add make build to bootstrap script again 2015-11-05 12:45:04 +00:00
Sebastian McKenzie
f16f88d6bb add concurrency to bootstrap script 2015-11-05 12:28:00 +00:00
Sebastian McKenzie
09479378d3 don't compile files if they haven't changed 2015-11-05 11:46:48 +00:00
Sebastian McKenzie
5d61840c10 v6.1.3 2015-11-05 11:31:14 +00:00
Sebastian McKenzie
a6246a5c69 add 6.1.3 changelog 2015-11-05 11:30:20 +00:00
Sebastian McKenzie
51143beab2 add allowTopLevelThis option to babel-plugin-transform-es2015-modules-commonjs 2015-11-05 11:29:39 +00:00
Sebastian McKenzie
3b56b295b2 add 6.1.2 changelog 2015-11-05 11:23:57 +00:00
Sebastian McKenzie
f2215915ff v6.1.2 2015-11-05 11:10:22 +00:00
Sebastian McKenzie
5802e2e334 add strict option to bable-plugin-transform-strict-mode 2015-11-05 11:04:14 +00:00
Sebastian McKenzie
35b5ff103c fix mocha.opts reference 2015-11-05 10:00:57 +00:00
Sebastian McKenzie
592193321d fix defaults on type annotated arrow function params - fixes #2493 2015-11-05 09:49:03 +00:00
Denis Pushkarev
f82f8b444a change polyfill compression options 2015-11-05 10:42:04 +06:00
Sebastian McKenzie
f4fe578a6c add node existence check to NodePath#has - fixes #2800 2015-11-04 23:38:14 +00:00
Sebastian McKenzie
1bfb7039e9 protect against replacing a class expression with itself when attempting to infer a new function name - fixes #2803 2015-11-04 23:34:33 +00:00
Sebastian McKenzie
1796b1926c Merge pull request #2798 from amasad/fix-2782
Fix recursion in async-to-generator transforms
2015-11-04 19:19:15 +00:00
Sebastian McKenzie
5aa1b29ef8 Merge pull request #2793 from amasad/fix-2789
Convert arrow functions when remaping to generator. Fixes #2789
2015-11-04 19:18:50 +00:00
Sebastian McKenzie
1cfeb391f7 Merge pull request #2784 from tschaub/instanceof-without-symbol
Allow use of instanceof without Symbol
2015-11-04 19:18:14 +00:00
Sebastian McKenzie
2d3c1cc5df Merge pull request #2810 from hzoo/i-2806
Docs: change preset to presets
2015-11-04 19:16:43 +00:00
Sebastian McKenzie
9680bf6a68 Merge pull request #2811 from hzoo/i-2808
transformation-react-inline-elements: ensure invalid identifier JSX attribute keys are quoted - fixes #2808
2015-11-04 19:16:32 +00:00
Sebastian McKenzie
cc7e5ef1b3 Merge pull request #2818 from lijunle/typo-presets
Fix the typo in example: preset -> presets.
2015-11-04 19:16:07 +00:00
Sebastian McKenzie
999158fd31 Merge pull request #2813 from jmm/log-gulp-compilation
Log each file as compiled by build task
2015-11-04 19:15:57 +00:00
Sebastian McKenzie
f0ec155207 Merge pull request #2812 from jmm/make-path-node-bins
Add node_modules/.bin to makefile PATH
2015-11-04 19:15:45 +00:00
Junle
763d1d1f51 Fix the typo: preset -> presets. 2015-11-05 02:10:59 +08:00
Jesse McCarthy
0cd585126a Log each file as compiled. 2015-11-04 10:51:51 -05:00
Jesse McCarthy
25fb2b8410 Add node_modules/.bin to PATH.
Allows local bins, like gulp, to work.
2015-11-04 09:17:18 -05:00
Henry Zhu
f01d2054d4 transformation-react-inline-elements: ensure invalid identifier JSX attribute keys are quoted - fixes #2808 2015-11-04 08:47:09 -05:00
Henry Zhu
0007e4ba72 Docs: change preset to presets 2015-11-04 08:25:08 -05:00
Amjad Masad
2220167903 Fix recursion in async-to-generator transforms
We're naming the inner generator function in the name of the
original async function. This means when people have recursive
await calls it refers to the generator version. Which is fine
if we had a `yield *` (delegate). However, if not it leads to
returning an unresolved generator object.

We can either capture all recursive calls and add a delegate, which
becomes really hard with expressions. I choose to have the name
reserved to the exposed function `retFunction`.

Fixes #2782
2015-11-03 17:05:41 -08:00
Sebastian McKenzie
232439460f switch to gulp for build process 2015-11-04 00:00:18 +00:00
Sebastian McKenzie
bcfe582fef remove json files in favor of just plain js files 2015-11-04 00:00:08 +00:00
Amjad Masad
e33ad7d2fb Convert arrow functions when remaping to generator. Fixes #2789 2015-11-03 14:58:31 -08:00
Sebastian McKenzie
9eee677321 Merge pull request #2790 from moretti/issue-2613
Preserve indentation in template literals, fixes #2613
2015-11-03 20:13:09 +00:00
Sebastian McKenzie
0e76a5ace1 fix existential type param parsing 2015-11-03 20:04:55 +00:00
Sebastian McKenzie
4ad8a1dc83 fix es2015-instanceof and es2015-typeof-symbol packages and add README 2015-11-03 19:36:51 +00:00
Sebastian McKenzie
a9ac3b0c94 move instanceof functionality to separate plugin - fixes #2745 2015-11-03 19:22:51 +00:00
Sebastian McKenzie
1c3b4aa410 add npm check to babel-doctor 2015-11-03 19:13:46 +00:00
Paolo Moretti
232bf76b4d preserve original indentation in template literals, fixes #2613 2015-11-03 18:05:26 +00:00
Paolo Moretti
f5bbd09b49 add fixtures for #2613 2015-11-03 18:05:22 +00:00
Tim Schaub
8edb208992 Allow use of instanceof without Symbol 2015-11-03 08:34:35 -08:00
Sebastian McKenzie
30311d121e Merge branch 'master' of github.com:babel/babel
Conflicts:
	packages/babel-core/src/transformation/file/index.js
2015-11-03 14:25:30 +00:00
Sebastian McKenzie
dd76272fb1 fix source map merging - closes #2522, fixes #2336 2015-11-03 14:24:36 +00:00
Sebastian McKenzie
0ef6072445 fix source map merging - closes #2522, fixes #2336 2015-11-03 13:50:06 +00:00
Sebastian McKenzie
7dc1b4e7e9 add ExistentialTypeParam - fixes #2587 2015-11-03 13:48:03 +00:00
Sebastian McKenzie
49cbd27441 simplify Parser::semicolon method 2015-11-03 11:46:11 +00:00
Sebastian McKenzie
b486dfb675 add lineBreak test to tt.name.updateContext - fixes #2591 2015-11-03 11:46:01 +00:00
Sebastian McKenzie
d8b17a9eaa add support for async generator concise methods - fixes #2603 2015-11-03 11:19:04 +00:00
Sebastian McKenzie
72b6e42b34 fix object rest/spread in arrow function params - fixes #2631 2015-11-03 11:14:12 +00:00
Sebastian McKenzie
8ffc7012cc autoclear cache when it gets too big - fixes #2678 2015-11-03 10:57:32 +00:00
Sebastian McKenzie
cdeff2fbb1 simplify parentheses logic and properly parenthesise unaries - fixes #2711 2015-11-03 10:49:24 +00:00
Sebastian McKenzie
1e725f4806 add babel-browser package - fixes #2635, closes #2721 2015-11-03 10:43:43 +00:00
Sebastian McKenzie
a7f35e39f8 v6.1.1 2015-11-03 10:21:51 +00:00
Sebastian McKenzie
9110cbfbc8 stop looking for configs in babel-doctor when we get to the root 2015-11-03 10:20:57 +00:00
Sebastian McKenzie
c004777efa v6.1.0 2015-11-03 10:06:50 +00:00
Sebastian McKenzie
a31d211e2e remove unused imports 2015-11-03 10:05:39 +00:00
Sebastian McKenzie
a4c3111e55 add 6.1.0 changelog 2015-11-03 10:05:04 +00:00
Sebastian McKenzie
5ee8f7568b add babel-doctor 2015-11-03 10:04:20 +00:00
Sebastian McKenzie
751c53b728 v6.0.20 2015-11-03 04:21:25 +00:00
Sebastian McKenzie
1c08fe3c16 add 6.0.20 changelog 2015-11-03 04:20:26 +00:00
Sebastian McKenzie
59ecfecb9e fix indentation and skip check for references that are inside the function we're checking execution status against 2015-11-03 04:17:38 +00:00
Sebastian McKenzie
91c463c0f7 fix react inline elements plugin when creating properties out of jsx expression containers - fixes #2766 2015-11-03 03:34:46 +00:00
Sebastian McKenzie
c1cceef128 make class constructor call transform ignore derived classes and fix transforming of classes in export default position - fixes #2700 2015-11-03 03:31:05 +00:00
Sebastian McKenzie
f160565004 add 6.0.19 changelog 2015-11-03 03:22:57 +00:00
Sebastian McKenzie
072fffcbdf v6.0.19 2015-11-03 03:14:31 +00:00
Sebastian McKenzie
8ec3e16794 fix remaining outer binding identifier issues 2015-11-03 03:13:39 +00:00
Sebastian McKenzie
64a9a6027e refactor t.getOuterBindingIdentifiers to only return the id if it's a function declaration 2015-11-03 03:05:57 +00:00
Sebastian McKenzie
e72d4508de only use outer bindings when registering a binding to prevent retreiving function params - fixes #2615 2015-11-03 03:00:27 +00:00
Sebastian McKenzie
a639bffcd6 clean up auxiliaryComment 2015-11-03 02:46:00 +00:00
Sebastian McKenzie
56e9805657 v6.0.18 2015-11-03 01:23:11 +00:00
Sebastian McKenzie
7955548ad1 update docs and add 6.0.18 changelog 2015-11-03 01:21:51 +00:00
Sebastian McKenzie
85dd7ec40e add error for too many builder method args 2015-11-03 01:20:17 +00:00
Sebastian McKenzie
06afafa8ff remove comprehension support from t.getBindingIdentifiers 2015-11-03 01:20:04 +00:00
Sebastian McKenzie
336be752f8 remove state arg from pre and post plugin hooks 2015-11-03 01:19:52 +00:00
Sebastian McKenzie
e62a00df50 rename NumberLiteral to NumericLiteral and RegexLiteral to RegExpLiteral 2015-11-03 01:19:35 +00:00
Sebastian McKenzie
9bc95258e6 v6.0.17 2015-11-02 19:53:45 +00:00
Sebastian McKenzie
aeaa4e1d32 fix op declaration in simplify comparison operator plugin 2015-11-02 19:47:18 +00:00
Sebastian McKenzie
83dca691d2 remove use strict directive 2015-11-02 19:47:09 +00:00
Sebastian McKenzie
f8c15c7a78 add 6.0.17 changelog 2015-11-02 19:41:19 +00:00
Sebastian McKenzie
ad7b1c6578 add flow types definition 2015-11-02 19:40:59 +00:00
Sebastian McKenzie
d2b67d5048 remove buggy traceur test 2015-11-02 19:40:27 +00:00
Sebastian McKenzie
ff8bafaece Merge pull request #2754 from hzoo/fix-simp-comp-op
WIP: Fix transform-simplify-comparison-operators plugin
2015-11-02 19:37:28 +00:00
Sebastian McKenzie
cbefcdc7a1 Merge pull request #2723 from devongovett/master
Remove assert from regenerator plugin
2015-11-02 19:32:57 +00:00
Henry Zhu
44e64c41f8 Fix transform-simplify-comparison-operators plugin 2015-11-02 14:31:48 -05:00
Sebastian McKenzie
d91fab7337 Merge pull request #2528 from STRML/react-inline-children-fix
optimisations.react.inline: don't pass empty array.
2015-11-02 19:31:26 +00:00
Sebastian McKenzie
82dbbc95e1 Merge pull request #2737 from babel/thejameskyle-patch-1
Fix minify-booleans transform
2015-11-02 19:27:53 +00:00
Sebastian McKenzie
0767616934 Merge pull request #2749 from douglasduteil/chore-travis-run-tests-on-latest-stable-version
chore(travis): run tests on latest stable version
2015-11-02 19:27:34 +00:00
Sebastian McKenzie
cbafed0f50 Merge pull request #2748 from douglasduteil/chore-travis-faster-travis-with-git-depth-1
chore(travis): faster travis with git --depth 1
2015-11-02 19:27:29 +00:00
Sebastian McKenzie
31a6cb9c57 add Symbol existence check to typeof helper - closes #2745 2015-11-02 19:26:49 +00:00
Sebastian McKenzie
d1d0ed901e fix export of parameters when renaming the binding of exported functions - fixes #2753 2015-11-02 19:24:23 +00:00
Sebastian McKenzie
2bdc222c0b wWhen merging options, take precedence over the current array - fixes #2648 2015-11-02 19:21:24 +00:00
Douglas Duteil
c4cbdc22e7 chore(travis): run tests on latest stable version 2015-11-02 14:18:12 +01:00
Douglas Duteil
a7951ae29c chore(travis): faster travis with git --depth 1 2015-11-02 14:12:52 +01:00
James Kyle
45d8ac7c12 Add minify-booleans test 2015-11-02 00:38:56 -08:00
James Kyle
b32e0f540c Fix minify-booleans transform. Fixes #2736 2015-11-02 00:24:45 -08:00
Sebastian McKenzie
72f384bb29 disallow invalid async function forms inside object literals - fixes #2629 2015-11-02 08:00:01 +00:00
Sebastian McKenzie
9e5a9b77b4 add AST spec 2015-11-02 07:31:41 +00:00
Sebastian McKenzie
d730f349e6 v6.0.16 2015-11-02 07:13:43 +00:00
Sebastian McKenzie
7a3fef26fa update tests 2015-11-02 07:11:12 +00:00
Sebastian McKenzie
80dfe05ffc add 6.0.16 changelog 2015-11-02 07:08:28 +00:00
Sebastian McKenzie
d2d48e9f7f fix bug where async class methods weren't having their awaits converted to yields in the async to generator helper - fixes #2661 2015-11-02 07:05:00 +00:00
Sebastian McKenzie
41ccee89c9 fix runtime plugin helper generation - fixes #2726 2015-11-02 06:56:36 +00:00
Sebastian McKenzie
6ccee750e3 check for path existence before checking that it's the correct instance 2015-11-02 06:42:48 +00:00
Sebastian McKenzie
24f5ef50b0 when we encounter a different NodePath instance, ignore it and create a new one. this is going to thrash the tree and memory but npm and node module resolution is atrociously bad 2015-11-02 06:36:07 +00:00
Sebastian McKenzie
740c76e53a ignore non-origin template nodes when replacing placeholders in babel-template - fixes #2664 2015-11-02 06:31:17 +00:00
Sebastian McKenzie
bfc58917ad Merge branch 'master' of github.com:babel/babel 2015-11-02 05:25:23 +00:00
Sebastian McKenzie
9fe9a1e76e ensure there's a newline after prepended original shebang - fixes #2719 2015-11-02 05:25:12 +00:00
James Kyle
f892938a8f Merge pull request #2733 from ariporad/patch-1
Fix typo related to name change.
2015-11-01 20:05:18 -08:00
Ari Porad
d631f38209 Fix typo related to name change. 2015-11-01 20:02:23 -08:00
Sebastian McKenzie
c865cb4bf9 v6.0.15 2015-11-01 22:07:03 +00:00
Devon Govett
fde11131a9 Remove assert from regenerator plugin 2015-11-01 09:58:04 -08:00
Sebastian McKenzie
9702ceb074 remove property mutators transfrom from esnext computed properties test 2015-11-01 06:01:48 +00:00
Sebastian McKenzie
f7073383e3 fix some tests to run on node 0.10 2015-11-01 05:01:34 +00:00
Sebastian McKenzie
bbb1db7e6d add arrow functions transform to jscript test plugins 2015-11-01 04:39:43 +00:00
Sebastian McKenzie
39bdecb119 fix async function remap helper from outputing incorrect calls causing wrong scoping - fixes #2708 - fixes #2715 2015-11-01 04:39:31 +00:00
Sebastian McKenzie
f89724929e remove parse test helper 2015-11-01 03:38:22 +00:00
Sebastian McKenzie
c846c94771 Merge branch 'master' of github.com:babel/babel
t push
2015-11-01 00:23:25 +00:00
James Kyle
25cb82c611 Fix link 2015-10-31 15:06:11 -07:00
James Kyle
2957bd7f2b Add note about transform-es2015-block-scoping 2015-10-31 14:08:14 -07:00
Sebastian McKenzie
a1dd25104a add preset name to couldn't find preset message 2015-10-31 20:52:46 +00:00
Sebastian McKenzie
bfef4fa46a fix transform locations in tests 2015-10-31 20:52:36 +00:00
Sebastian McKenzie
f1a92bbb59 Merge pull request #2701 from goto-bus-stop/stages-readme
add readme files to stage-N presets
2015-10-31 16:27:45 +00:00
René Kooi
f4d8083530 add readme files to stage-N presets
Copied from the es2015/react presets.
2015-10-31 11:59:36 +01:00
Sebastian McKenzie
0dd64f3ce9 Merge branch 'master' of github.com:babel/babel
t push
2015-10-31 06:32:14 +00:00
Sebastian McKenzie
d83d8f8e5d babel-generator -> babylon 2015-10-31 06:21:05 +00:00
Sebastian McKenzie
b5b7e346a0 Merge pull request #2697 from shuhei/enable-plugins-built-with-babel-6
Enable plugins built with Babel 6.0
2015-10-31 06:14:29 +00:00
Sebastian McKenzie
231017d3ae return -> path.replaceWith - fixes #2699 2015-10-31 06:13:42 +00:00
Shuhei Kagawa
81b7af2808 enable plugins built with babel 6.0 2015-10-31 12:17:42 +09:00
Sebastian McKenzie
22fb054a7a Merge pull request #2696 from shuhei/fix-external-helpers-2-readme
Fix plugin names in the README of babel-plugin-external-helpers-2
2015-10-31 02:55:34 +00:00
Shuhei Kagawa
e5454343b1 fix plugin names in the readme of babel-plugin-external-helpers-2 2015-10-31 10:24:43 +09:00
Sebastian McKenzie
950f4b2aea ensure package.json files have a newline 2015-10-31 01:02:44 +00:00
Sebastian McKenzie
66440a92ae add babylon to devDependencies of babel-generator 2015-10-31 01:02:12 +00:00
Sebastian McKenzie
8c6ab3aa26 add missing npmignores 2015-10-30 23:45:42 +00:00
Sebastian McKenzie
8e35c0b615 fix babel-runtime version in some packages 2015-10-30 23:45:34 +00:00
Sebastian McKenzie
34665bdfda v6.0.14 2015-10-30 23:30:40 +00:00
Sebastian McKenzie
2a7c16b045 add missing chalk dependency 2015-10-30 23:29:43 +00:00
Sebastian McKenzie
bfd333b602 change version of babel-runtime that babel-template uses 2015-10-30 23:28:14 +00:00
Sebastian McKenzie
fbbb42e79e bump mocha-fixtures to 2 2015-10-30 23:26:35 +00:00
Sebastian McKenzie
1ba7ff873c remove excess newline 2015-10-30 23:26:28 +00:00
Sebastian McKenzie
8748ff0802 update exponentiation operator precedence - fixes #2431 2015-10-30 23:14:10 +00:00
Sebastian McKenzie
3c2208cdf6 Merge branch 'master' of github.com:babel/babel 2015-10-30 22:51:09 +00:00
Sebastian McKenzie
370b7913b4 add ArrowFunctionExpression parentheses logic 2015-10-30 22:51:02 +00:00
Sebastian McKenzie
7012116f4e 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
d7dbd1ec4a Merge pull request #2690 from hzoo/patch-1
update 6.0.0 changelog
2015-10-30 19:47:51 +00:00
Henry Zhu
cea7e1a20d Update CHANGELOG.md 2015-10-30 15:28:39 -04:00
Henry Zhu
c87bc3d3fd update 6.0.0 changelog 2015-10-30 15:25:17 -04:00
Sebastian McKenzie
37159fbc7d Merge branch 'master' of github.com:babel/babel 2015-10-30 19:17:19 +00:00
Sebastian McKenzie
822a5903c9 add plugin traversal/visitor method changes to changelog 2015-10-30 19:17:13 +00:00
Sebastian McKenzie
255288cda5 fix babel-runtime dependencies - fixes #2655 2015-10-30 19:16:42 +00:00
James Kyle
753d0f7995 Update package.json 2015-10-30 11:38:02 -07:00
James Kyle
e9deab1dfc Update package.json 2015-10-30 11:38:01 -07:00
James Kyle
20e002a313 Update package.json 2015-10-30 11:38:00 -07:00
James Kyle
6e3f61747b Update package.json 2015-10-30 11:37:59 -07:00
James Kyle
6666698b97 Update package.json 2015-10-30 11:37:58 -07:00
James Kyle
24d3216a73 Update package.json 2015-10-30 11:37:57 -07:00
James Kyle
ba30fbb759 Update package.json 2015-10-30 11:37:56 -07:00
James Kyle
0468dad22f Update package.json 2015-10-30 11:37:54 -07:00
James Kyle
8e726889e2 Update package.json 2015-10-30 11:37:53 -07:00
James Kyle
70e9892f1e Update package.json 2015-10-30 11:37:52 -07:00
James Kyle
76837351b8 Update package.json 2015-10-30 11:37:51 -07:00
James Kyle
c8b6c00719 Update package.json 2015-10-30 11:37:50 -07:00
James Kyle
8a1592132b Update package.json 2015-10-30 11:37:49 -07:00
James Kyle
f7003c2393 Update package.json 2015-10-30 11:37:48 -07:00
James Kyle
fca45816c5 Update package.json 2015-10-30 11:37:47 -07:00
James Kyle
6a2e0ff163 Update package.json 2015-10-30 11:37:46 -07:00
James Kyle
8c2f50a4c6 Update package.json 2015-10-30 11:37:44 -07:00
James Kyle
a0cf4ecf4a Update package.json 2015-10-30 11:37:43 -07:00
James Kyle
5cc5335255 Update package.json 2015-10-30 11:37:42 -07:00
James Kyle
36b363d097 Update package.json 2015-10-30 11:37:40 -07:00
James Kyle
dbf90e1525 Update package.json 2015-10-30 11:37:39 -07:00
James Kyle
a3b6eceea9 Update package.json 2015-10-30 11:37:38 -07:00
James Kyle
ea5ae3845a Update package.json 2015-10-30 11:37:37 -07:00
James Kyle
5e3fee2258 Update package.json 2015-10-30 11:37:35 -07:00
James Kyle
975fafddc5 Update package.json 2015-10-30 11:37:34 -07:00
James Kyle
e206a94f5f Update package.json 2015-10-30 11:37:33 -07:00
James Kyle
97aea37e7d Update package.json 2015-10-30 11:37:32 -07:00
James Kyle
0ee654d2cf Update package.json 2015-10-30 11:37:31 -07:00
James Kyle
f1ccc86603 Update package.json 2015-10-30 11:37:30 -07:00
James Kyle
b45231e04b Update package.json 2015-10-30 11:37:28 -07:00
James Kyle
46f34fbc2f Update package.json 2015-10-30 11:37:27 -07:00
James Kyle
cd8c9369b0 Update package.json 2015-10-30 11:37:26 -07:00
James Kyle
735efad255 Update package.json 2015-10-30 11:37:25 -07:00
James Kyle
b46271bb12 Update package.json 2015-10-30 11:37:24 -07:00
James Kyle
01e09c06c0 Update package.json 2015-10-30 11:37:23 -07:00
James Kyle
5f249b3928 Update package.json 2015-10-30 11:37:21 -07:00
James Kyle
8192a095d4 Update package.json 2015-10-30 11:37:20 -07:00
James Kyle
c1f5536154 Update package.json 2015-10-30 11:37:19 -07:00
James Kyle
dd3d2d4b44 Update package.json 2015-10-30 11:37:18 -07:00
James Kyle
b0c31153a4 Update package.json 2015-10-30 11:37:17 -07:00
James Kyle
317f14b146 Update package.json 2015-10-30 11:37:16 -07:00
James Kyle
38700bc784 Update package.json 2015-10-30 11:37:14 -07:00
James Kyle
38ad512d50 Update package.json 2015-10-30 11:37:13 -07:00
James Kyle
f8ae60d143 Update package.json 2015-10-30 11:37:11 -07:00
James Kyle
aa230e69de Update package.json 2015-10-30 11:37:10 -07:00
James Kyle
c5c0609f92 Update package.json 2015-10-30 11:37:09 -07:00
James Kyle
4e21e72b7f Update package.json 2015-10-30 11:37:08 -07:00
James Kyle
afbabaa4f8 Update package.json 2015-10-30 11:37:07 -07:00
James Kyle
9c69800806 Update package.json 2015-10-30 11:37:05 -07:00
James Kyle
c954658786 Update package.json 2015-10-30 11:37:04 -07:00
James Kyle
7725e768aa Update package.json 2015-10-30 11:37:03 -07:00
James Kyle
5c5d53dca1 Update package.json 2015-10-30 11:37:02 -07:00
James Kyle
8d67c17a69 Update package.json 2015-10-30 11:37:01 -07:00
James Kyle
af80279a84 Update package.json 2015-10-30 11:37:00 -07:00
James Kyle
0441b7d688 Update package.json 2015-10-30 11:36:59 -07:00
James Kyle
f3d09cd6d0 Update package.json 2015-10-30 11:36:58 -07:00
James Kyle
3d959d7567 Update package.json 2015-10-30 11:36:57 -07:00
James Kyle
7ae7b6e607 Update package.json 2015-10-30 11:36:56 -07:00
James Kyle
b41ffd2b48 Update package.json 2015-10-30 11:36:55 -07:00
James Kyle
04022eb5be Update package.json 2015-10-30 11:36:54 -07:00
James Kyle
bc5204fe70 Update package.json 2015-10-30 11:36:53 -07:00
James Kyle
f8d991abf4 Update package.json 2015-10-30 11:36:52 -07:00
James Kyle
c8f951d141 Update package.json 2015-10-30 11:36:51 -07:00
James Kyle
8aa1b740b7 Update package.json 2015-10-30 11:36:50 -07:00
James Kyle
c63796f201 Update package.json 2015-10-30 11:36:49 -07:00
James Kyle
ec9781330c Update package.json 2015-10-30 11:36:48 -07:00
James Kyle
302a694907 Update package.json 2015-10-30 11:36:47 -07:00
James Kyle
af780ed52c Update package.json 2015-10-30 11:36:46 -07:00
James Kyle
765ed24470 Update package.json 2015-10-30 11:36:45 -07:00
James Kyle
9af5e78405 Update package.json 2015-10-30 11:36:44 -07:00
James Kyle
d4aa50b83c Update package.json 2015-10-30 11:36:44 -07:00
James Kyle
11fedeefb1 Update package.json 2015-10-30 11:36:43 -07:00
James Kyle
939082c37d Update package.json 2015-10-30 11:36:42 -07:00
James Kyle
176cbb8a7d Update package.json 2015-10-30 11:36:41 -07:00
James Kyle
525ab6ca05 Update package.json 2015-10-30 11:20:55 -07:00
James Kyle
5c11db5eda Update package.json 2015-10-30 11:20:54 -07:00
James Kyle
32f40d58da Update package.json 2015-10-30 11:20:54 -07:00
James Kyle
95e024dc19 Update package.json 2015-10-30 11:20:53 -07:00
James Kyle
91ccea4c95 Update package.json 2015-10-30 11:20:52 -07:00
James Kyle
0aac550f14 Update package.json 2015-10-30 11:20:51 -07:00
James Kyle
4cc7aaa798 Update package.json 2015-10-30 11:20:50 -07:00
James Kyle
febb791ffd Update package.json 2015-10-30 11:20:50 -07:00
James Kyle
83d8fa71f4 Update package.json 2015-10-30 11:20:49 -07:00
James Kyle
1882a2a4c8 Update package.json 2015-10-30 11:20:48 -07:00
James Kyle
6097188029 Update package.json 2015-10-30 11:18:10 -07:00
James Kyle
820abf41f7 Update package.json 2015-10-30 11:18:08 -07:00
James Kyle
a70b853006 Update package.json 2015-10-30 11:18:06 -07:00
James Kyle
c062288677 Update package.json 2015-10-30 11:18:03 -07:00
James Kyle
f3495fb133 Update package.json 2015-10-30 11:17:58 -07:00
James Kyle
bf10ba70e3 Update package.json 2015-10-30 11:17:55 -07:00
James Kyle
4d0b3ff823 Update package.json 2015-10-30 11:17:53 -07:00
James Kyle
ff21d392cc Update package.json 2015-10-30 11:17:51 -07:00
James Kyle
aeb8bb4861 Update package.json 2015-10-30 11:17:47 -07:00
James Kyle
810a64b201 Update package.json 2015-10-30 11:17:45 -07:00
James Kyle
8eef26c2ff Update package.json 2015-10-30 11:15:19 -07:00
James Kyle
c582d41ea5 Update package.json 2015-10-30 11:15:00 -07:00
James Kyle
d178c40991 Update package.json 2015-10-30 11:14:44 -07:00
James Kyle
6adf5428d8 Update package.json 2015-10-30 11:14:28 -07:00
James Kyle
30e651b21c Update package.json 2015-10-30 11:13:41 -07:00
Sebastian McKenzie
9aefb03625 when publishing, don't override 5.x dependencies 2015-10-30 18:13:29 +00:00
James Kyle
8c5f1a6a07 Update package.json 2015-10-30 11:13:23 -07:00
Sebastian McKenzie
bf514620e2 start on 6.0.0 changelog 2015-10-30 18:13:16 +00:00
Sebastian McKenzie
9926cd998b add 6.0.14 changelog 2015-10-30 18:13:10 +00:00
James Kyle
6665198287 Update package.json 2015-10-30 11:13:03 -07:00
James Kyle
5135d4a35a Update package.json 2015-10-30 11:12:47 -07:00
James Kyle
a7966e283c Update package.json 2015-10-30 11:12:27 -07:00
James Kyle
6b0c4a8349 Update package.json 2015-10-30 11:11:59 -07:00
James Kyle
013afd8dbb Update package.json 2015-10-30 11:11:30 -07:00
James Kyle
92b1f5046b Update babel-helper-bindify-decorators repository field 2015-10-30 11:11:05 -07:00
James Kyle
b8d5d2fc78 Update babel-generator repository field 2015-10-30 11:10:27 -07:00
James Kyle
b0f4f6b55f Update babel-core repository field 2015-10-30 11:10:04 -07:00
James Kyle
a4b9d89d22 Update babel-code-frame repository field 2015-10-30 11:09:40 -07:00
James Kyle
51046391c0 Update babel-cli repository field 2015-10-30 11:08:56 -07:00
Sebastian McKenzie
a025432c31 Merge pull request #2649 from hzoo/stage-x-presets
add stage-x presets
2015-10-30 18:02:25 +00:00
Sebastian McKenzie
d3268a5cda when using regenerator in the es2015 preset, don't transform async and asyncGenerators 2015-10-30 17:59:54 +00:00
Sebastian McKenzie
f72802bec9 hoist requires required for core-js build-dist 2015-10-30 17:58:49 +00:00
Sebastian McKenzie
c91509b87a Merge pull request #2651 from babel/thejameskyle-patch-1
Remove unused Lodash import
2015-10-30 17:57:22 +00:00
Sebastian McKenzie
e92b0cad69 move up core-js in babel-runtime build-dist 2015-10-30 17:54:10 +00:00
Sebastian McKenzie
5c7f88a5fb fix parameters after defaults in arrow functions refering to the wrong arguments - fixes #2682 2015-10-30 17:39:57 +00:00
Sebastian McKenzie
e440fef815 Merge pull request #2657 from zertosh/fix-tr-es3-prop-literals
fix transform-es3-property-literals
2015-10-30 17:31:09 +00:00
Sebastian McKenzie
60748578fd fix bin cli shebang 2015-10-30 17:18:31 +00:00
Sebastian McKenzie
309a7556ff ensure that invalid identifier JSX attribute keys are quoted when transforming to calls - fixes #2675 2015-10-30 17:16:47 +00:00
Sebastian McKenzie
5bda4d9744 Merge branch 'master' of github.com:babel/babel 2015-10-30 17:05:37 +00:00
Sebastian McKenzie
26cb025151 fix SystemJS module formatter exporting function parameters - fixes #2681 2015-10-30 17:05:26 +00:00
James Kyle
814c4acacf Merge pull request #2659 from sindresorhus/patch-1
only include the `lib` folder in the `babel-generator` package
2015-10-29 23:08:25 -07:00
Sindre Sorhus
b8c5032830 only include the lib folder in the package
currently, over a megabyte is wasted on including the `test` folder
2015-10-30 13:04:00 +07:00
Andres Suarez
eb5507d644 fix transform-es3-property-literals 2015-10-29 22:57:23 -07:00
Sebastian McKenzie
3a7d258c5c v6.0.13 2015-10-30 05:07:39 +00:00
Sebastian McKenzie
b81039e3e5 don't consider uncomputed object method property identifier to be a reference - fixes #2650 2015-10-30 05:06:45 +00:00
Sebastian McKenzie
b5e0ab97d1 add 6.0.12 changelog 2015-10-30 04:57:22 +00:00
Sebastian McKenzie
69f17f7df1 v6.0.12 2015-10-30 04:53:38 +00:00
Sebastian McKenzie
fb1da98c47 bump babel-plugin-transform-runtime version in babel-runtime 2015-10-30 04:52:30 +00:00
Sebastian McKenzie
24df725f48 add use strict directive to modules tests 2015-10-30 04:52:30 +00:00
Sebastian McKenzie
08aac0bf06 add runtime build to bootstrap script 2015-10-30 04:52:29 +00:00
Sebastian McKenzie
79f39c3be1 add strict mode plugin to module transforms 2015-10-30 04:52:29 +00:00
Sebastian McKenzie
268a1f80a0 only ignore cloning of plugins 2015-10-30 04:52:29 +00:00
Sebastian McKenzie
a365fd74a5 add 6.0.0 changelog placeholder 2015-10-30 04:52:29 +00:00
James Kyle
1a772d5cbf Remove unused Lodash import 2015-10-29 21:26:44 -07:00
James Kyle
5e2c0b3859 Update package.json 2015-10-29 21:20:05 -07:00
James Kyle
ecb4ae405f Add babel-template README 2015-10-29 21:19:55 -07:00
Henry Zhu
8a4fa3725f add stage-x presets 2015-10-30 00:04:01 -04:00
James Kyle
448b3948bd Update README.md 2015-10-29 20:55:08 -07:00
James Kyle
1d5ad67764 Update package.json 2015-10-29 20:54:59 -07:00
James Kyle
2d499734fd Add babel-preset-react README 2015-10-29 20:54:46 -07:00
James Kyle
c7573c43ee Update package.json 2015-10-29 20:53:51 -07:00
James Kyle
b698c31ddc Add babel-preset-es2015 README 2015-10-29 20:53:40 -07:00
James Kyle
820a2fc5fb Delete README.md 2015-10-29 20:45:33 -07:00
James Kyle
01d3197792 Update package.json 2015-10-29 20:38:27 -07:00
James Kyle
c10c3f4ce4 Add babel-messages README 2015-10-29 20:38:12 -07:00
James Kyle
98ddc81676 Update package.json 2015-10-29 20:34:17 -07:00
James Kyle
2d2259890d Add babel-helpers README 2015-10-29 20:33:49 -07:00
James Kyle
cbbeb26a08 Update package.json 2015-10-29 20:15:19 -07:00
James Kyle
1d377986c4 Add babel-core README 2015-10-29 20:15:06 -07:00
James Kyle
818cec5b83 Update README.md 2015-10-29 19:57:48 -07:00
James Kyle
b58bad532b Fix install for babel-code-frame 2015-10-29 19:57:25 -07:00
James Kyle
585612a41f Add babel-code-frame package.json description 2015-10-29 19:56:49 -07:00
James Kyle
3274a40bbf Add babel-code-frame README 2015-10-29 19:56:25 -07:00
James Kyle
a4bdfb1bbe Update package.json 2015-10-29 19:39:01 -07:00
James Kyle
0d561cf60c Add babel-cli README 2015-10-29 19:37:00 -07:00
Sebastian McKenzie
292af5f5a2 t push
Merge branch 'master' of github.com:babel/babel
2015-10-30 02:30:20 +00:00
James Kyle
58ef0bba08 Add babel-generator package.json description 2015-10-29 19:29:09 -07:00
James Kyle
2c8b0e420a Add babel-generator README 2015-10-29 19:28:05 -07:00
Samuel Reed
b98d24594a optimisations.react.inline: don't pass empty array.
This fixes incompatibilities with code that check for the existence
of children.
2015-10-29 21:18:07 -05:00
Sebastian McKenzie
d8ee84edd1 remove asserts from babel-transform-regenerator 2015-10-30 01:39:32 +00:00
Sebastian McKenzie
1ac63f11f1 add shebang to babel/cli complain scirpt 2015-10-30 01:39:32 +00:00
Sebastian McKenzie
f058b07375 add babel-plugin-transform-regenerator/lib 2015-10-30 01:39:32 +00:00
James Kyle
b9160b3a6c Merge pull request #2639 from existentialism/typo-2
Fix typo
2015-10-29 18:07:09 -07:00
Brian Ng
d9b89200e3 Fix typo 2015-10-29 20:04:16 -05:00
Sebastian McKenzie
0b88a89b87 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
25f78c356e v6.0.11 2015-10-30 00:13:15 +00:00
Sebastian McKenzie
198025aea9 add babel-plugin-transform-es2015-modules-commonjs to babel-preset-es2015 2015-10-29 23:49:03 +00:00
James Kyle
4905f59456 Merge pull request #2630 from mquandalle/patch-2
Add Meteor as a Monorepo example
2015-10-29 14:55:00 -07:00
Maxime Quandalle
b23ffca1cb Add Meteor as a Monorepo example 2015-10-29 22:52:04 +01:00
Sebastian McKenzie
90b125bc1d v6.0.10 2015-10-29 18:54:16 +00:00
Sebastian McKenzie
ac70f690e9 fix babel-plugin-transform-regenerator dependencies 2015-10-29 18:53:40 +00:00
Sebastian McKenzie
08c87ddcfd v6.0.9 2015-10-29 18:50:17 +00:00
Sebastian McKenzie
a4cedf62a2 v6.0.8 2015-10-29 18:47:35 +00:00
Sebastian McKenzie
ec45294111 v6.0.7 2015-10-29 18:45:13 +00:00
Sebastian McKenzie
7501582d56 v6.0.6 2015-10-29 18:44:09 +00:00
Sebastian McKenzie
a9b1c3ee52 fix plugin reference 2015-10-29 18:43:02 +00:00
Sebastian McKenzie
ff99383b5b v6.0.5 2015-10-29 18:41:24 +00:00
Sebastian McKenzie
2889e01e1e fix plugin name 2015-10-29 18:40:34 +00:00
Sebastian McKenzie
6e3f794cd4 add empty src directory 2015-10-29 18:33:52 +00:00
Sebastian McKenzie
3185741bcd newline 2015-10-29 18:32:26 +00:00
Sebastian McKenzie
40ec120b32 temporarily hide regenerator tests 2015-10-29 18:29:32 +00:00
Sebastian McKenzie
aea351636f add babel-plugin-transform-regenerator 2015-10-29 18:28:30 +00:00
Sebastian McKenzie
301912d9c6 add babel-types package to babel-plugin-transform-es2015-classes 2015-10-29 18:25:05 +00:00
Sebastian McKenzie
182bea64a8 remove babel-plugin-transform-regenerator 2015-10-29 18:24:52 +00:00
Sebastian McKenzie
a8cf46d8f4 v6.0.2 2015-10-29 18:06:55 +00:00
Sebastian McKenzie
7ff965a6f8 v6.0.1 2015-10-29 18:04:29 +00:00
Sebastian McKenzie
b2af8af7c8 v6.0.0 2015-10-29 18:02:15 +00:00
Sebastian McKenzie
ae7d5367f1 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
bb8b6ab718 v5.8.33 2015-10-29 08:40:32 +00:00
Sebastian McKenzie
de12747a3c comment out semicolon removal for right braces in code generator - fixes #2621 2015-10-29 08:39:48 +00:00
Sebastian McKenzie
08fafb748c v5.8.32 2015-10-28 23:15:16 +00:00
Sebastian McKenzie
794f696a59 don't register function as binding path for params 2015-10-28 23:09:56 +00:00
Sebastian McKenzie
953a121aad make the binding path for a function declaration the function itself 2015-10-28 23:06:47 +00:00
Sebastian McKenzie
25daed751d making the binding path for ids and params the function itself 2015-10-28 23:04:58 +00:00
Sebastian McKenzie
c6d7e704ff v5.8.31 2015-10-28 22:57:35 +00:00
Sebastian McKenzie
37d40a03c1 only explicitly add id when scope tracking function expressions - fixes #2617 2015-10-28 22:54:37 +00:00
Sebastian McKenzie
9146a4cc81 v5.8.30 2015-10-28 01:14:19 +00:00
Amjad Masad
382c0d9c1a Parens are needed unless it's a logical expression 2015-10-27 18:10:13 -07:00
Sebastian McKenzie
f9c923b87f Merge pull request #2609 from amasad/extra-parens
If binary expression precedence is equal no need for parens. Fixes #2602
2015-10-28 00:26:31 +00:00
Amjad Masad
2d36d8b616 If binary expression precedence is equal no need for parens. Fixes #2602 2015-10-27 17:25:36 -07:00
Sebastian McKenzie
5c514bfa75 Merge pull request #2608 from amasad/compact-remove-semi
No need for semicolons at the end of the block in compact mode
2015-10-28 00:14:28 +00:00
Amjad Masad
9011dcbfeb No need for semicolons at the end of the block in compact mode 2015-10-27 17:01:09 -07:00
Sebastian McKenzie
86b4f0dbe8 Merge pull request #2606 from amasad/for-in-edge-case
Special case paren printing in for-loop init node
2015-10-27 23:32:55 +00:00
Sebastian McKenzie
7d60bcbcb6 Merge pull request #2607 from amasad/extra-paren-return
It's safe not to parenthesize SequenceExpressions in ReturnStatements
2015-10-27 23:32:35 +00:00
Amjad Masad
84d80df181 It's safe not to parenthesize SequenceExpressions in ReturnStatements 2015-10-27 16:28:19 -07:00
Amjad Masad
50289bd2b0 whitespace 2015-10-27 16:11:37 -07:00
Amjad Masad
6caaf68024 Special case paren printing in for-loop init node
The printer doesn't have ancestry information so we have to set a flag before printing for's `node.init`.
We also need to make sure we're not printing extra parens so we check `node.needsParens` before adding them.
2015-10-27 16:04:46 -07:00
Sebastian McKenzie
3974dd762d add node 4.0 to travis matrix 2015-10-25 21:04:02 +00:00
Sebastian McKenzie
332bde6a0d v5.8.29 2015-10-24 17:26:54 +01:00
Sebastian McKenzie
355905a3bb v5.8.28 2015-10-23 18:00:12 +01:00
Sebastian McKenzie
37604bd572 v5.8.27 2015-10-23 17:54:03 +01:00
Sebastian McKenzie
35169762ef add 5.8.27 changelog 2015-10-23 17:53:21 +01:00
Sebastian McKenzie
7c3f0f98f5 remove faulty tests 2015-10-23 17:52:21 +01:00
Sebastian McKenzie
0b71625440 sync babel 5.x with 6.0 scope/traversal fixes - fixes #2570, fixes #2574 2015-10-23 17:51:18 +01:00
Sebastian McKenzie
745f9fb5bd clean up babel-code-frame, var -> let etc - closes #2505 2015-10-08 01:19:27 +01:00
Sebastian McKenzie
9c2b4e30b6 use basename of relative filename when using source map defaults - fixes #1567 2015-10-05 17:46:59 +01:00
Sebastian McKenzie
71031be044 Merge pull request #2405 from jhen0409/patch-1
[es6.tailCall] Move '<arg> = undefined' to the place in front of Continue statement.
2015-10-05 17:26:45 +01:00
Sebastian McKenzie
9320d661f9 flesh out async-to-generator and bluebird-coroutines transformers, add babel-helper-async-to-generator module 2015-10-05 17:25:43 +01:00
Sebastian McKenzie
de45daaef8 don't execute the callback inside of a try-catch as if the callback errors then it'll emit the error back to the callback 2015-10-05 16:46:45 +01:00
Sebastian McKenzie
52202543ff better error messages for unknown extends clause and unknown options 2015-10-05 16:46:20 +01:00
Sebastian McKenzie
51c9d59050 allow plugins to be instances 2015-10-05 16:45:47 +01:00
Sebastian McKenzie
210910513d remove babel.register 2015-10-05 16:44:59 +01:00
Sebastian McKenzie
5006403cd7 remove polyfill from babel/register 2015-10-05 16:44:39 +01:00
Sebastian McKenzie
d108d799bf remove babel.parse and encourage use of babylon directly 2015-10-05 16:44:14 +01:00
Sebastian McKenzie
64d5ec090b extend Store from Map 2015-10-05 16:43:37 +01:00
Sebastian McKenzie
72b74de833 add 5.8.23-5.8.26 changelog 2015-10-05 16:43:24 +01:00
Sebastian McKenzie
6467bf6809 add script to generate a flow lib file for babel types 2015-10-05 16:42:08 +01:00
Sebastian McKenzie
3e6b76aa41 add support for devDependencies to publish script 2015-10-05 16:41:54 +01:00
Sebastian McKenzie
c4dbb38f8a remove bjs 2015-10-05 16:41:36 +01:00
Sebastian McKenzie
91f9cfb902 remove browser tests 2015-10-05 16:41:32 +01:00
Sebastian McKenzie
65e059e69b allow local packages to be specified as devDependencies in bootstrap script 2015-10-05 16:41:11 +01:00
Sebastian McKenzie
95c9b2c8e0 add filename to babylon test errors 2015-10-05 16:40:55 +01:00
Sebastian McKenzie
3a89ee84ef update babylon tests 2015-10-05 16:40:43 +01:00
Sebastian McKenzie
55976b6392 remove redundant generator tests 2015-10-05 16:40:18 +01:00
Sebastian McKenzie
6568aaa175 add babel-polyfill to CLI 2015-10-05 16:39:16 +01:00
Sebastian McKenzie
31e4d2e515 remove CLI aliases 2015-10-05 16:38:53 +01:00
Sebastian McKenzie
9113542b12 add syntax plugins 2015-10-05 16:37:49 +01:00
Sebastian McKenzie
f88cc9d509 clean up babel-generator - closes #2210 2015-10-05 16:37:37 +01:00
Sebastian McKenzie
63cfb82ca7 clean up mergeSourceMap method - closes #2479 2015-10-05 16:34:40 +01:00
Sebastian McKenzie
92553a91f0 Merge pull request #2469 from jridgewell/replace-implicit-arrow-with-block
Replace arrow expression body with block statement
2015-10-05 16:29:23 +01:00
Sebastian McKenzie
6740561f91 remove comments from old node after inheriting from new one when replacing nodes - closes #2490, closes #2489 2015-10-05 16:27:17 +01:00
Justin Ridgewell
24d766fc57 Replace arrow expression body with block statement
Without this, the only way to replace the arrow function is to either
manually override its `node.body`, or duplicate the arrow:

```js
// Old
ArrowFunctionExpression: function (node) {
  node.body = t.blockStatement(...);
  // Or
  return t.ArrowFunctionExpression(
    node.params,
    t.blockStatement(...),
    node.async
  );
}

// New
ArrowFunctionExpression: function() {
  this.get("body").replaceWith(t.blockStatement(...));
}
```
2015-09-30 15:01:35 -04:00
Sebastian McKenzie
369b9fdc4b Merge pull request #2465 from jfsiii/patch-2
Move to exponentiation operator to stage 3
2015-09-30 15:58:19 +01:00
Sebastian McKenzie
95fb1e2251 Merge pull request #2464 from jfsiii/patch-1
Move to async functions to stage 3
2015-09-30 15:58:11 +01:00
John Schulz
afc687dc5d Bump to exponentiation operator to stage 3
https://github.com/tc39/ecma262#current-proposals
2015-09-30 07:53:16 -07:00
John Schulz
959f607a5a Bump to async functions to stage 3
https://github.com/tc39/ecma262#current-proposals
2015-09-30 07:51:26 -07:00
Sebastian McKenzie
fa88b1c00d abstract out scope binding rename and handle function/class cases where we can retain the name with some ~magic~ - fixes #2435 2015-09-28 02:45:00 +01:00
Sebastian McKenzie
8ab4a5df43 Merge pull request #2403 from alawatthe/double-decimal-point
BinaryIntegerLiterals, OctalIntegerLiterals, HexIntegerLiterals shoul…
2015-09-27 21:24:05 +01:00
Sebastian McKenzie
32d2794bf8 Merge branch 'mathiasbynens-patch-5' 2015-09-27 21:23:33 +01:00
Sebastian McKenzie
0230368d23 Merge branch 'patch-5' of https://github.com/mathiasbynens/6to5 into mathiasbynens-patch-5
Conflicts:
	packages/babel/package.json
2015-09-27 21:23:27 +01:00
Jhen
67efa9ee4a [es6.tailCall] Add default-parameters-black-es6-block-scoping test case
refer: https://github.com/babel/babel/issues/2401
2015-09-26 13:24:44 +08:00
Sebastian McKenzie
d1588990d5 add flow-comments plugin to babelrc and format json 2015-09-24 18:43:10 +01:00
Sebastian McKenzie
464d2b7ef3 enable no-var rule in eslint config 2015-09-24 18:42:50 +01:00
Sebastian McKenzie
112c24a3d3 Merge pull request #2427 from michaelficarra/patch-2
advance es7.trailingFunctionCommas to stage 2
2015-09-24 18:27:14 +01:00
Sebastian McKenzie
55989d1c34 Merge pull request #2425 from zertosh/browserify-shrink
Use source-map@^0.5.0 and optimize bundle builds
2015-09-24 15:34:30 +01:00
Sebastian McKenzie
0421224ad0 Merge pull request #2424 from benjamn/patch-5
Upgrade Regenerator to 0.8.40
2015-09-24 15:34:09 +01:00
Mathias Bynens
88f0f8995f Update regexpu to v1.3.0 2015-09-24 13:03:29 +02:00
Andres Suarez
2f13cfa85b optimize bundle builds 2015-09-23 21:58:23 -07:00
Andres Suarez
a5fc32e598 bump source-map to ^0.5.0 2015-09-23 21:05:57 -07:00
Michael Ficarra
7e9a9296ef advance es7.trailingFunctionCommas to stage 2 2015-09-23 16:41:40 -07:00
Sebastian McKenzie
b522fccbd1 Merge pull request #2423 from michaelficarra/patch-1
move class properties proposal to stage 1
2015-09-23 23:22:10 +01:00
Ben Newman
e50476b8a4 Upgrade Regenerator to 0.8.40
Most notably, this pegs regenerator to a version of recast (0.10.33) which pegs ast-types to a version (0.8.12) that contains https://github.com/benjamn/ast-types/pull/128, so the Babel client bundle size will be a bit smaller.
2015-09-23 15:01:42 -04:00
Michael Ficarra
46e2a86183 move class properties proposal to stage 1 2015-09-23 11:13:38 -07:00
Sebastian McKenzie
227ed5638a add flow type annotations 2015-09-23 16:10:44 +01:00
Sebastian McKenzie
119520ed87 add lib folder 2015-09-23 16:00:41 +01:00
Sebastian McKenzie
20f643b419 type annotate babylon 2015-09-23 15:59:41 +01:00
Sebastian McKenzie
31a01cc4d2 Merge pull request #2414 from benjamn/patch-4
Upgrade Regenerator to v0.8.39
2015-09-22 16:23:51 +01:00
Ben Newman
5553fddd84 Upgrade Regenerator to v0.8.39
Most notably, this release fixes a bug that made it difficult for Promise implementations to track unhandled rejections when using async functions: 3d8ee21f3a
2015-09-22 11:16:22 -04:00
Jhen
441f5a14f6 [es6.tailCall] Update tests 2015-09-20 04:01:24 +08:00
Jhen
3e0b9b6b4e [es6.tailCall] Move '<arg> = undefined' to the place in front of Continue statement 2015-09-20 04:01:10 +08:00
Alexander Zeilmann
4f57a7b092 BinaryIntegerLiterals, OctalIntegerLiterals, HexIntegerLiterals should not have a decimal point afer them - fixes #2402 2015-09-19 16:20:32 +02:00
Sebastian McKenzie
75cd1a5531 v5.8.26 2015-09-19 02:17:50 +01:00
Sebastian McKenzie
7eb45351bd add FORCE_VERSION check when validating whether or not any packages have changed 2015-09-19 02:17:05 +01:00
Sebastian McKenzie
0f8eb6691b add 5.8.26 changelog 2015-09-19 02:12:55 +01:00
Sebastian McKenzie
1d17f85a87 add 5.8.25 changelog 2015-09-19 02:12:17 +01:00
Sebastian McKenzie
273b7c5e07 v5.8.25 2015-09-19 01:52:08 +01:00
Sebastian McKenzie
bfd8f41e5e Merge pull request #2372 from hzoo/evaluation-tests
evaluation: tests for UnaryExpression and BinaryExpression
2015-09-19 01:40:43 +01:00
Sebastian McKenzie
c99a179401 var -> let 2015-09-18 18:45:55 +01:00
Sebastian McKenzie
0708edb927 it's now safe to use path.remove() 2015-09-18 18:41:44 +01:00
Sebastian McKenzie
c695248d89 remove dead deprecated/aliases for transformers 2015-09-18 18:41:19 +01:00
Sebastian McKenzie
901c578e01 remove unused templates 2015-09-18 18:40:59 +01:00
Sebastian McKenzie
b1648fb339 switch babel-node binary to use v8 flags 2015-09-18 18:40:46 +01:00
Sebastian McKenzie
e4bd19ea7d Merge pull request #2394 from steveluscher/rename-type-definer
Rename the define method to defineType to disambiguate from AMD's “define”
2015-09-18 00:15:30 +01:00
Steven Luscher
c28007c044 Rename the define method to defineType to disambiguate from AMD's “define” 2015-09-16 17:17:11 -07:00
Sebastian McKenzie
5dadb67a1a remove transformers and module formatters from $ babel --help 2015-09-15 06:33:50 +01:00
Sebastian McKenzie
8a32666052 remove dead options 2015-09-15 06:32:49 +01:00
Sebastian McKenzie
c10af9236e remove transformerList option parser and remove redundant comments 2015-09-15 06:32:37 +01:00
Sebastian McKenzie
69f67c9ec3 merge plugin manager into option manager 2015-09-15 06:32:24 +01:00
Sebastian McKenzie
4924a9adea add store class 2015-09-15 06:32:04 +01:00
Sebastian McKenzie
dff098e77b rename errorWithNode to buildCodeFrameError and when erroring on dynamic nodes try and estimate a location 2015-09-15 06:31:51 +01:00
Sebastian McKenzie
c00bf262a7 update to new visitor method signature 2015-09-15 06:30:39 +01:00
Sebastian McKenzie
945c2587e1 remove metadata from plugins, simplify intialisation of a plugin 2015-09-15 06:29:51 +01:00
Sebastian McKenzie
6c656e30bc make PluginPass the state each plugin visitor gets 2015-09-15 06:29:30 +01:00
Sebastian McKenzie
b865b8862e remove filters, aliases, deprecations and more from plugin pipeline 2015-09-15 06:29:07 +01:00
Sebastian McKenzie
8d5a93d4da move block-hoist and shadow-functions to internal plugins 2015-09-15 06:28:27 +01:00
Sebastian McKenzie
6d72b02591 add babel-preset-2015 package 2015-09-15 06:27:56 +01:00
Sebastian McKenzie
dc0329eb7c add babel-preset-react package 2015-09-15 06:27:51 +01:00
Sebastian McKenzie
3277f3272d add babel-template package 2015-09-15 06:27:44 +01:00
Sebastian McKenzie
6898cf83d0 don't allow visitor methods to return a new node to replace 2015-09-15 06:27:37 +01:00
Sebastian McKenzie
13773e3c02 change traversal visitor method signature from (node, parent, scope, state) to (path, state) 2015-09-15 06:27:19 +01:00
Sebastian McKenzie
8eeda9f75f add traverse.cheap and upgrade to new traverse API 2015-09-15 06:26:57 +01:00
Sebastian McKenzie
b91e8699e1 whitespace! 2015-09-15 06:26:30 +01:00
Sebastian McKenzie
cfec910a17 add validation to node builders 2015-09-15 06:26:17 +01:00
Sebastian McKenzie
c44fd54621 flesh out babylon readme 2015-09-15 06:25:52 +01:00
Sebastian McKenzie
c9aff26824 Merge branch 'development' of github.com:babel/babel into development 2015-09-15 06:21:39 +01:00
Sebastian McKenzie
75609f21d7 add optional runtime transformer to base compiler options 2015-09-15 06:20:54 +01:00
Sebastian McKenzie
11b1e39973 add no-constant-condition lint rule 2015-09-15 06:20:45 +01:00
Sebastian McKenzie
a4d6ea0d07 put monorepo intro on same line 2015-09-15 06:20:34 +01:00
Sebastian McKenzie
78fafdf18b add babel-runtime to babylon dependencies 2015-09-15 06:20:21 +01:00
Sebastian McKenzie
800b039d02 add babylon description 2015-09-15 06:20:03 +01:00
Sebastian McKenzie
c751771889 add dead simple babylon bin 2015-09-15 06:19:49 +01:00
Sebastian McKenzie
4996e6bc7f add parser util addExtra method 2015-09-15 06:19:35 +01:00
Sebastian McKenzie
fbda587964 use extra.parenthesized rather than parenthesizedExpression 2015-09-15 06:19:26 +01:00
Sebastian McKenzie
25aa6da989 add hasFeature util method 2015-09-15 06:18:23 +01:00
Sebastian McKenzie
c31d2afc7f remove weird acorn conditional formatting 2015-09-15 06:18:15 +01:00
Sebastian McKenzie
76eb259ea8 only allow identifiers as rest expressions 2015-09-15 06:18:04 +01:00
Sebastian McKenzie
bcab30e606 add RestProperty node 2015-09-15 06:17:45 +01:00
Sebastian McKenzie
eae82799e6 loop over all directives to check for use strict 2015-09-15 06:16:57 +01:00
Sebastian McKenzie
8a13465f80 use hasFeature rather than directly looking up options 2015-09-15 06:16:46 +01:00
Sebastian McKenzie
dae16fa192 add directives property to Program and BlockStatement 2015-09-15 06:16:07 +01:00
Sebastian McKenzie
5ea5d47d7f add babylon hasFeature util method 2015-09-15 06:15:19 +01:00
Sebastian McKenzie
e1575c468c rename features in babylon tests 2015-09-15 06:13:11 +01:00
Sebastian McKenzie
9969224a93 add more plugins, rename some 2015-09-15 06:12:46 +01:00
Sebastian McKenzie
3e8cbc60eb export babel-template from babel-core 2015-09-15 06:11:38 +01:00
Sebastian McKenzie
daa95ad400 simplify parse helper options 2015-09-15 06:11:25 +01:00
Sebastian McKenzie
248d457d87 remove parse API from referring to transformers 2015-09-15 06:11:14 +01:00
Sebastian McKenzie
6e38c037d5 removal redundant comments 2015-09-15 06:10:52 +01:00
Sebastian McKenzie
c7130181f7 clean up browser API 2015-09-15 06:10:38 +01:00
Sebastian McKenzie
95e36e10be update babel-node with plugins and presets option 2015-09-15 06:10:17 +01:00
Sebastian McKenzie
5a5e72f0bd Merge pull request #2382 from jucrouzet/patch-1
Test build on Node4.0
2015-09-14 17:36:33 +01:00
Sebastian McKenzie
37172857b4 Merge pull request #2379 from bradencanderson/defaults_correct_remap
RHS of AssignmentPattern can be a reference to a bound variable
2015-09-14 17:36:22 +01:00
Julien CROUZET
b2021277b3 Test build on Node4.0 2015-09-14 16:08:49 +02:00
Braden Anderson
9780858722 RHS of AssignmentPattern can be a reference to a bound variable 2015-09-14 17:25:23 +07:00
Sebastian McKenzie
bd9b86d6d5 Merge pull request #2316 from andrewimm/development
Let dead code elimination run over exported functions
2015-09-14 03:38:55 +01:00
Henry Zhu
f742806978 evaluation: tests for UnaryExpression and BinaryExpression 2015-09-12 20:11:33 -04:00
Sebastian McKenzie
f18f79cc6d Merge pull request #2293 from andrewimm/master
Allow more certainty when evaluating Logical Expressions
2015-09-12 18:59:48 +01:00
Sebastian McKenzie
58723068d3 Merge pull request #2357 from hzoo/i-2355
evaluation: don't evaluate `in` and `instanceof` binary exp - fixes #…
2015-09-11 20:21:30 +01:00
Henry Zhu
95e63fd9c9 evaluation: don't evaluate in and instanceof binary exp - fixes #2355 2015-09-11 00:41:03 -04:00
Sebastian McKenzie
554fda00c1 add 5.8.23-24 changelog 2015-09-10 20:18:02 +01:00
Sebastian McKenzie
8d422bb69c v5.8.24 2015-09-10 20:13:20 +01:00
Sebastian McKenzie
ade747eb9c Merge pull request #2352 from spicyj/jsx-xss
Include $$typeof on inlined React elements
2015-09-10 20:03:42 +01:00
Ben Alpert
52fb99a341 Reorder React element properties for consistent hidden class 2015-09-10 01:22:06 -07:00
Ben Alpert
1d0e68f5a1 Include $$typeof on inlined React elements
See https://github.com/facebook/react/pull/4832.
2015-09-10 00:02:09 -07:00
Sebastian McKenzie
e29d089d2b Merge pull request #2353 from spicyj/tmpl-hidden
Fix template loading when hidden files exist
2015-09-10 07:59:26 +01:00
Ben Alpert
150720f431 Fix template loading when hidden files exist
This made debugging https://github.com/babel/babel/pull/2352 confusing
because I had some vim swap files so it didn't load any of the
templates. (I assume this was the original intention.)
2015-09-09 23:57:10 -07:00
Sebastian McKenzie
3720174a32 update tests to reflect new whitelist by default model 2015-09-05 20:02:36 +01:00
Sebastian McKenzie
3b301c88da add missing FunctionExpression conversion when wrapping a function expression in a call for async to generator helper - fixes #2325 2015-09-05 08:41:13 +01:00
Sebastian McKenzie
392b7b0333 ignore ExportDefaultSpecifiers and ExportNamespaceSpecifiers in t.isReferenced - fixes #2324 2015-09-05 03:05:29 +01:00
Andrew Imm
a6e0ec8371 Allow more certainty when evaluating Logical Expressions 2015-09-03 08:55:26 -07:00
Sebastian McKenzie
436ba9b653 Merge pull request #2306 from hzoo/eval-typeof
evaluation: evaluate typeof
2015-09-03 15:49:31 +01:00
Sebastian McKenzie
213a9923b9 add builder keys for JSXElement and add starter validation 2015-09-03 15:45:43 +01:00
Sebastian McKenzie
b6b553f27f update JSXElement visitor keys - fixes #2318 2015-09-03 15:45:26 +01:00
Henry Zhu
5c58b52d40 evaluation: evaluate typeof UnaryExpression 2015-09-03 09:32:01 -04:00
Andrew Imm
79c25ecf13 Let dead code elimination run over exported functions 2015-09-03 00:52:05 -07:00
Sebastian McKenzie
64be6530fe add packages README 2015-09-03 06:33:51 +01:00
Sebastian McKenzie
3831b1b37a add support for bind expression to t.isReferenced 2015-09-02 18:06:51 +01:00
Sebastian McKenzie
3f69534ae5 add JSXText 2015-09-02 18:06:42 +01:00
Sebastian McKenzie
f770f337a4 add Scope#buildUndefinedNode method 2015-09-02 18:06:23 +01:00
Sebastian McKenzie
6ff53e35f3 cap uids based on nodes at 20 characters - fixes #2225 2015-09-02 18:05:33 +01:00
Sebastian McKenzie
a26186cf21 finish metaphor in monorepo doc since @jdalton linked to it and i don't want to look stupid 2015-09-01 17:21:32 +01:00
Sebastian McKenzie
acc801897a Merge pull request #2300 from hzoo/add-more-binary-ops
evaluation: add more binary operators
2015-09-01 15:34:32 +01:00
Sebastian McKenzie
edae7970b1 Merge pull request #2301 from danez/patch-1
Fix typo in code
2015-09-01 15:31:51 +01:00
Daniel Tschinder
ab1dd2c090 Fix typo in code 2015-09-01 16:28:29 +02:00
Henry Zhu
5bb42ed10d evaluation: add more binary operators 2015-09-01 10:14:38 -04:00
Sebastian McKenzie
1ea835f42f start moving more transformers to packages and finish import of plugins from babel-plugins 2015-09-01 08:37:37 +01:00
Sebastian McKenzie
9f9d9cd84b move some babel-plugins into the main repo 2015-09-01 06:58:53 +01:00
Sebastian McKenzie
f33c96c276 make export default anoynmous class/function statements - fixes #2205 2015-09-01 05:34:11 +01:00
Sebastian McKenzie
5161c4839c remove separator in README 2015-09-01 05:09:42 +01:00
Sebastian McKenzie
2dc9ebf830 more readme styling nits 2015-09-01 05:09:16 +01:00
Sebastian McKenzie
08ce312ff2 update styling in docs 2015-09-01 05:08:03 +01:00
Sebastian McKenzie
a86119a5ec update test script mocha.opts location 2015-09-01 05:06:08 +01:00
Sebastian McKenzie
4f2da607b0 add catch to npm uninstall babel in bootstrap 2015-09-01 05:05:59 +01:00
Sebastian McKenzie
5d695482f0 remove build-plugins 2015-09-01 05:05:45 +01:00
Sebastian McKenzie
610b432ba3 add docs 2015-09-01 05:05:32 +01:00
Sebastian McKenzie
5c5191b317 add headings to README 2015-09-01 05:01:25 +01:00
Sebastian McKenzie
125fe8cc56 update CONTRIBUTING.md header message 2015-09-01 05:01:11 +01:00
Sebastian McKenzie
268d575e12 remove noisy comments 2015-09-01 05:00:50 +01:00
Sebastian McKenzie
ac5dcf2884 add support for eslint colons in visitors 2015-09-01 05:00:38 +01:00
Sebastian McKenzie
b7c91178a9 fix babel-runtime build-dist requires 2015-09-01 05:00:24 +01:00
Sebastian McKenzie
68e1a442c5 don't deopt _guessExecutionStatusRelativeTo on specific function cases 2015-09-01 05:00:14 +01:00
Sebastian McKenzie
1895ee02b5 add Path#isStatic 2015-09-01 04:59:52 +01:00
Sebastian McKenzie
1d31db29a5 identify function parameters as binding parameters 2015-09-01 04:59:40 +01:00
Sebastian McKenzie
0bf747c214 convert stragellers to unoverloaded Literal nodes 2015-09-01 04:58:44 +01:00
Sebastian McKenzie
59f71a3a09 add validation to babel-types - fixes #1858 2015-09-01 04:58:11 +01:00
Sebastian McKenzie
ab78685124 remove deprecated features 2015-09-01 04:57:10 +01:00
Sebastian McKenzie
23e0aa8b60 move polyfill dist to babel-polyfill package 2015-09-01 04:56:35 +01:00
Sebastian McKenzie
15f73b4fc3 remove noisy comments/documentation 2015-09-01 04:56:03 +01:00
Sebastian McKenzie
582061a9e8 move mocha.opts into test directory 2015-09-01 04:49:42 +01:00
Sebastian McKenzie
20bcdc0206 add rollback support to publish script 2015-09-01 04:49:29 +01:00
Sebastian McKenzie
8d7b3c462f unoverload Literal AST node 2015-09-01 04:49:16 +01:00
Sebastian McKenzie
95f061b76e move some dotfiles into package.json 2015-09-01 04:34:10 +01:00
Sebastian McKenzie
947ded1563 Merge pull request #2238 from prathamesh-sonpatki/doc-path-context
Document some methods from path/context.js
2015-09-01 04:31:17 +01:00
Sebastian McKenzie
19da69e7b4 Merge pull request #2235 from prathamesh-sonpatki/doc-ensure-callbacks-are-arrays
Document ensureCallbackArrays method from visitors.js
2015-09-01 04:30:36 +01:00
Sebastian McKenzie
310f38f3e7 remove polyfill from main package 2015-08-29 20:16:56 -07:00
Sebastian McKenzie
9908f2420d bump babel-plugin-react-display-name 2015-08-29 20:16:49 -07:00
Sebastian McKenzie
faa5cbbd08 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
442f1173d2 v5.8.23 2015-08-27 16:38:34 -07:00
Sebastian McKenzie
dea4c0dd5a update boostrap script to ignore packages with no package.json 2015-08-27 16:37:53 -07:00
Sebastian McKenzie
badf357e4d properly register a binding when pushing it to the scope 2015-08-27 16:29:13 -07:00
Sebastian McKenzie
8067aa65ab properly register a binding when pushing it to the scope 2015-08-27 16:28:59 -07:00
Sebastian McKenzie
061ba7b2a2 Merge remote-tracking branch 'origin/master' into development
Conflicts:
	packages/babel/scripts/build-dist.sh
2015-08-27 11:12:00 -07:00
Sebastian McKenzie
69232e525d Merge pull request #2268 from sethcall/master
* use node instead of printf to print BOM
2015-08-27 11:10:59 -07:00
Sebastian McKenzie
b8d53c1811 fix predence of destructuring parameters - fixes #2269 2015-08-27 11:10:22 -07:00
Seth Call
92a4259d08 * use node instead of printf to print BOM to avoid issues with OS/bash differences (issue #2255) 2015-08-27 06:25:42 -05:00
Sebastian McKenzie
ddb6461294 Merge pull request #2264 from cesarandreu/fix-flow-optional-object-key
Fix flow optional object keys
2015-08-26 21:32:00 -07:00
Cesar Andreu
c44858207e Start ObjectTypeProperty's optional property as false in each loop 2015-08-27 00:07:26 -04:00
Cesar Andreu
fe86c0a4e9 Add failing flow ObjectTypeProperty test 2015-08-26 06:51:12 -04:00
Sebastian McKenzie
310de83b63 update function arity to be the number of params to the left of a default/rest - fixes #2262 2015-08-25 17:33:05 -07:00
Sebastian McKenzie
8408244d93 add WIP build plugins 2015-08-24 15:34:31 -04:00
Sebastian McKenzie
56c2903811 fix duplicate declarations 2015-08-24 15:33:36 -04:00
Sebastian McKenzie
217a05ef9d add the ability to mark node paths 2015-08-24 15:33:27 -04:00
Sebastian McKenzie
171ba75140 split up block scoping transformer and embed TDZ into the main one rather than having a separate transformer 2015-08-24 15:32:48 -04:00
Sebastian McKenzie
f66090d383 add plugin modes 2015-08-24 15:32:20 -04:00
Sebastian McKenzie
112e0890fb remove babel 5 backwards compat cli shim 2015-08-24 15:31:53 -04:00
Sebastian McKenzie
559272bb02 fix weird legacy acorn formatting 2015-08-24 15:31:41 -04:00
Sebastian McKenzie
1de8a57102 never attempt to represent regexes natively 2015-08-24 15:31:30 -04:00
Prathamesh Sonpatki
05be0678a7 Document some methods from path/context.js 2015-08-22 10:06:30 +05:30
Prathamesh Sonpatki
7745698b94 Document ensureCallbackArrays method from visitors.js 2015-08-21 22:17:50 +05:30
Sebastian McKenzie
daf171770a add support for evaluating template literals 2015-08-17 15:09:30 -07:00
Sebastian McKenzie
6f4f3b784a update babel 2015-08-17 14:34:39 -07:00
Sebastian McKenzie
a4a347b4f0 Merge branch 'master' into development
Conflicts:
	packages/babel/src/generation/generators/flow.js
	packages/babel/src/generation/generators/types.js
	packages/babel/src/transformation/transformers/es6/for-of.js
	packages/babel/src/traversal/path/inference/inferers.js
	packages/babel/src/types/index.js
	packages/babel/src/util.js
	packages/babel/test/util.js
2015-08-15 19:50:34 -04:00
Sebastian McKenzie
e2b39084a4 Merge pull request #2216 from hzoo/update-eslint
update eslint, babel-eslint, fix unused vars
2015-08-15 19:39:51 -04:00
Henry Zhu
8c98386434 update eslint, babel-eslint, fix unused vars 2015-08-15 19:36:54 -04:00
Sebastian McKenzie
e382d34ed2 parser: don't mutate or clone state arrays when doing a lookahead - fixes #2211 2015-08-15 19:07:42 -04:00
Sebastian McKenzie
def1f8823e don't statically evaluate Math.random - fixes babel-plugins/babel-plugin-constant-folding#1 2015-08-13 15:32:50 +01:00
Sebastian McKenzie
2cca81d4a3 remove dead packages 2015-08-12 02:57:55 +01:00
Sebastian McKenzie
ebc80fe804 add missing npmignore files to packages 2015-08-12 02:57:46 +01:00
Sebastian McKenzie
39fbd550c4 also transforming of File asts 2015-08-12 02:57:36 +01:00
Sebastian McKenzie
f923b2f5a4 remove object helper 2015-08-12 02:57:30 +01:00
Sebastian McKenzie
8c44aa4874 add more jsx tests 2015-08-12 02:57:18 +01:00
Sebastian McKenzie
67c96b6ed5 move babel polyfill into a separate package 2015-08-12 02:57:12 +01:00
Sebastian McKenzie
ef29444571 Merge pull request #2190 from prathamesh-sonpatki/doc-_shouldIgnore
Added documentation for _shouldIgnore method
2015-08-11 18:11:31 +01:00
Sebastian McKenzie
e46c5b2398 Merge pull request #2197 from prathamesh-sonpatki/tests-for-should-ignore-with-only
Added missing tests for shouldIgnore with the :only option
2015-08-11 18:11:27 +01:00
Sebastian McKenzie
3ef9bffcc2 split up babel core into multiple modules 2015-08-11 17:40:59 +01:00
Sebastian McKenzie
a179f9a48b fix various bugs surfaced by the esprima test suite, remove some incorrect tests 2015-08-11 16:58:20 +01:00
Sebastian McKenzie
1a4f18aab7 inline traceur tests, removing git submodules 2015-08-11 16:57:51 +01:00
Prathamesh Sonpatki
bd17eed96f Added missing tests for shouldIgnore with the :only option 2015-08-11 12:24:13 +05:30
Sebastian McKenzie
57fd619c76 Merge branch 'master' into development 2015-08-11 01:05:04 +01:00
Sebastian McKenzie
f8a2efb76f add 5.8.22 changelog 2015-08-11 01:04:37 +01:00
Sebastian McKenzie
6429cc69b5 v5.8.22 2015-08-11 01:00:54 +01:00
Sebastian McKenzie
e273d9bfe1 expose File 2015-08-11 00:59:58 +01:00
Sebastian McKenzie
d0729fc731 add t.directive 2015-08-11 00:59:22 +01:00
Sebastian McKenzie
415d1271b9 add esprima tests and fix bugs picked up by it 2015-08-11 00:59:15 +01:00
Sebastian McKenzie
f43e6d4ca8 Merge pull request #2195 from hzoo/i-fix-test
fix broken test from regex-after-block
2015-08-11 00:36:08 +01:00
Henry Zhu
f60df12449 fix broken test from regex-after-block 2015-08-10 19:31:26 -04:00
Sebastian McKenzie
55e1c0a4f9 Merge pull request #2194 from hzoo/i-babel-eslint-161
fix unexpected token issue for regex after block case
2015-08-11 00:07:03 +01:00
Henry Zhu
04aedf37b4 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
Prathamesh Sonpatki
6c59ffb371 Added documentation for _shouldIgnore method 2015-08-10 22:37:08 +05:30
Sebastian McKenzie
2afad4b7e9 forward all arguments to parseClassId in flow parser plugin 2015-08-10 13:10:32 +01:00
Sebastian McKenzie
e165e09467 make Directive virtual type check more reliable 2015-08-10 13:04:22 +01:00
Sebastian McKenzie
4c71038bce fix export default function expression disambiguation - fixes #2189 2015-08-10 13:04:08 +01:00
Sebastian McKenzie
34bc8b0aea disallow let and modules in babel-node REPL 2015-08-09 20:37:18 +01:00
Sebastian McKenzie
50add6753f Merge pull request #2142 from loganfsmyth/import-sourcemap
Map commonjs named imports back to the correct location - fixes #1987
2015-08-08 17:47:52 +01:00
Sebastian McKenzie
d3a73b87e9 add code frame onto err.message when in a browser - fixes #2175 2015-08-07 19:21:11 +01:00
Sebastian McKenzie
20fa6cd8f4 check for ending dot before pushing on another when trying to fix integer member expressions - fixes #2177 2015-08-07 19:11:54 +01:00
Sebastian McKenzie
3961b720be check if a node is static before using it as the reference for an object spread 2015-08-07 17:47:09 +01:00
Sebastian McKenzie
8128b35e25 properly distinguish shorthand async keys that are the last property - fixes #2176 2015-08-06 19:33:48 +01:00
Sebastian McKenzie
aba44e38b7 switch block scoping for in/of var hoisting statements - fixes #2174 2015-08-06 17:36:42 +01:00
Sebastian McKenzie
68d750120a fix patterns with async keys - fixes #2171 2015-08-05 23:22:31 +01:00
Sebastian McKenzie
5c2b22144c Merge branch 'master' of github.com:babel/babel 2015-08-05 22:45:00 +01:00
Sebastian McKenzie
71a72ced0a clean up publish script to push tags 2015-08-05 22:44:33 +01:00
Sebastian McKenzie
637b708777 add 5.8.13-5.8.21 changelog 2015-08-05 22:44:15 +01:00
Sebastian McKenzie
314a851adb v5.8.21 2015-08-05 22:22:57 +01:00
Sebastian McKenzie
ef6ecbefaf style nits 2015-08-05 21:45:22 +01:00
Sebastian McKenzie
7e80cac728 remove operator property from AssignmentPattern 2015-08-05 21:45:11 +01:00
Sebastian McKenzie
a1ca4822dc fix handling of flow method shorthand - fixes #2169 2015-08-05 21:42:15 +01:00
Sebastian McKenzie
00262e4646 Merge pull request #2156 from nmn/patch-1
fix typos
2015-08-04 23:28:43 +01:00
Naman Goel
df9b0b818f fix typos
Found some typos while reading the code.
2015-08-05 00:26:52 +02:00
Sebastian McKenzie
6fe1909e54 simplify NodePath#inShadow 2015-08-04 13:03:49 +01:00
Sebastian McKenzie
4a17c07668 check if shadow is defined before looking it up - fixes #2152 2015-08-04 13:03:14 +01:00
Sebastian McKenzie
ee2e8d10ce update some es7 transformers to stage 2 2015-08-04 01:31:09 +01:00
Sebastian McKenzie
8596db3bac fix git exec commands in babel-plugin 2015-08-04 01:30:53 +01:00
Sebastian McKenzie
3b3ac1f290 Merge branch 'development' 2015-08-03 02:53:24 +01:00
Sebastian McKenzie
04c2c54700 add exception to non-existent bindings when checking if we need to wrap in a closure 2015-08-03 02:40:43 +01:00
Sebastian McKenzie
cff2fc80e6 Merge pull request #2147 from dariocravero/patch-1
Fix typo on babel-plugin publish: verison x version
2015-08-02 22:38:10 +01:00
Darío Javier Cravero
79d70d85db Fix typo on babel-plugin publish: verison x version 2015-08-02 22:37:47 +01:00
Sebastian McKenzie
89983cead9 make comment retainment for multiple nodes more predictable - fixes #2146 2015-08-02 21:37:12 +01:00
Sebastian McKenzie
dea349c4d4 check valid function/class token when parsing export default before converting to a declaration - fixes #2145 2015-08-02 21:36:52 +01:00
Logan Smyth
c738d8d388 Map commonjs named imports back to the correct location - fixes #1987 2015-08-01 11:38:14 -07:00
Sebastian McKenzie
b5bd7b1c92 always parse package.json with default json parser, use json5 otherwise 2015-07-31 23:36:50 +01:00
Sebastian McKenzie
855ee71d59 add support for export types 2015-07-31 23:34:45 +01:00
Sebastian McKenzie
8352730ff5 v5.8.20 2015-07-31 21:24:00 +01:00
Sebastian McKenzie
f0dd7f5d64 fix syntax error in scripts/publish 2015-07-31 21:23:21 +01:00
Sebastian McKenzie
3d8c0fe0f8 remove strip-json-comments and switch to json5 2015-07-31 21:21:13 +01:00
Sebastian McKenzie
2a2c67ad26 var -> let 2015-07-31 12:56:10 +01:00
Sebastian McKenzie
e96b635ac0 only register export declarations if they're of a valid type 2015-07-31 12:54:00 +01:00
Sebastian McKenzie
e2d673dafa don't register export declarations as a module binding 2015-07-31 12:49:14 +01:00
Sebastian McKenzie
c4e43bdeea add error name to babel-cli syntax errors 2015-07-31 12:48:52 +01:00
Sebastian McKenzie
2d73acdd54 Merge branch 'master' into development 2015-07-31 12:45:13 +01:00
Sebastian McKenzie
aee240c73e put containsEsc on state rather than as a local variable 2015-07-31 12:44:54 +01:00
Sebastian McKenzie
a8572c7088 Merge pull request #2126 from mmun/fix-2122
Register import bindings to the specifier instead of the declaration - fixes #2122
2015-07-31 12:43:45 +01:00
Sebastian McKenzie
72a5e7429b Merge pull request #2136 from jmm/optimize-block-hoist2
Tighten up block-hoist transformer
2015-07-31 12:04:12 +01:00
Jesse McCarthy
2ab41ec1f7 Break loop as soon as change detected. 2015-07-30 23:49:58 -04:00
Martin Muñoz
75d78623f7 Register import bindings to the specifier instead of the declaration - fixes #2122 2015-07-30 22:28:30 -04:00
Sebastian McKenzie
f5d9427153 only output code frame and message on syntax errors in CLI - fixes #1971 2015-07-31 02:19:06 +01:00
Sebastian McKenzie
547aaac0c0 set decorated initialisers that have no initialiser to undefined 2015-07-31 01:39:18 +01:00
Sebastian McKenzie
23cf77746d optimise common typeof cases in es6.spec.symbols transformer 2015-07-31 01:37:50 +01:00
Sebastian McKenzie
e95e836d5a export * should not export default 2015-07-31 01:29:46 +01:00
Sebastian McKenzie
f0aa8fb6eb add es6.spec.modules transformer - fixes #1716, fixes #1714 2015-07-31 01:18:45 +01:00
Sebastian McKenzie
ea31229d95 Merge remote-tracking branch 'origin/no-new-arrow' into development
Conflicts:
	src/babel/transformation/file/index.js
	src/babel/transformation/transformers/es6/arrow-functions.js
	src/babel/transformation/transformers/index.js
	src/babel/transformation/transformers/internal/shadow-functions.js
	src/babel/traversal/path/ancestry.js
2015-07-31 01:08:30 +01:00
Sebastian McKenzie
36b3d5b3b1 Merge pull request #2065 from iamolivinius/master
update to core-js 1.0.0
2015-07-31 00:02:24 +01:00
Sebastian McKenzie
2845913d58 Merge pull request #2089 from dfabulich/master
Add Unicode BOM to browser.js, fixes issue #340 running from file URL.
2015-07-31 00:01:51 +01:00
Sebastian McKenzie
27f622cb30 add babel-plugin templates to babelignore - fixes #2073 2015-07-30 23:56:34 +01:00
Sebastian McKenzie
f97e201b56 fix linting error and add missing tests 2015-07-30 23:47:59 +01:00
Sebastian McKenzie
c480f6d5ba Merge pull request #2132 from benjamn/patch-3
Update Regenerator dependency to 0.8.35.
2015-07-30 23:44:49 +01:00
Sebastian McKenzie
76111143bb remove dead tests 2015-07-30 23:44:41 +01:00
Sebastian McKenzie
436874dac8 add support for boolean flow literals - fixes #2127 2015-07-30 23:44:36 +01:00
Ben Newman
04857656d6 Update Regenerator dependency to 0.8.35.
I fully expect the CI tests to pass, but it's nice to have that safety layer.
2015-07-30 18:41:01 -04:00
Sebastian McKenzie
ba2d18f025 add acorn license - cc @RReverser 2015-07-30 12:57:23 +01:00
Sebastian McKenzie
723d51e6f5 add rollback support to publish script 2015-07-29 23:27:50 +01:00
Sebastian McKenzie
e4a1e491f6 flip around conditional - i hate this style 2015-07-29 23:25:45 +01:00
Sebastian McKenzie
42459fe894 revert ensureTransformerNames changes - fixes #2119 2015-07-29 23:25:32 +01:00
Sebastian McKenzie
7d53f0be1a switch to class prop initialiser 2015-07-29 23:22:38 +01:00
Sebastian McKenzie
3df5d31cee add comments and remove dead code 2015-07-29 23:22:30 +01:00
Sebastian McKenzie
ed156a8ca5 move default module formatter visitors into separate files 2015-07-29 23:22:21 +01:00
Sebastian McKenzie
be8ee7d2c5 remove start property from beginning of node builders 2015-07-29 23:19:51 +01:00
Sebastian McKenzie
aa3f9a16ee switch some classes to class propertie initialisers 2015-07-29 23:19:36 +01:00
Sebastian McKenzie
a1bea6d073 removed unused i variable 2015-07-29 23:19:21 +01:00
Sebastian McKenzie
c2a4276ce9 fix deprecated alias key regression - fixes #2119 2015-07-29 23:16:47 +01:00
Sebastian McKenzie
b91b4a4dc0 fix syntax error 2015-07-29 16:43:52 +01:00
Sebastian McKenzie
99d8dec04d 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
c43daa83df v5.8.19 2015-07-29 13:32:27 +01:00
Sebastian McKenzie
091d188a67 v5.8.18 2015-07-29 13:30:00 +01:00
Sebastian McKenzie
dbe1d53e75 v5.8.17 2015-07-29 13:28:24 +01:00
Sebastian McKenzie
00d916507a v5.8.16 2015-07-29 04:24:37 +01:00
Sebastian McKenzie
52e87d576d v5.8.15 2015-07-29 04:22:52 +01:00
Sebastian McKenzie
2c197a508d fix esModule error for realsies now 2015-07-29 04:21:34 +01:00
Sebastian McKenzie
f1d42e7beb Revert "don't throw error on locationless illegal export name"
This reverts commit db13cbfa06.
2015-07-29 04:17:50 +01:00
Sebastian McKenzie
db13cbfa06 don't throw error on locationless illegal export name 2015-07-29 04:16:57 +01:00
Sebastian McKenzie
484eb4dee8 Merge branch 'master' into development 2015-07-29 03:22:05 +01:00
Sebastian McKenzie
7ff0146e48 Merge pull request #2107 from samccone/sjs/update-browserify
Update dev browserify.
2015-07-29 03:09:34 +01:00
Sam Saccone
3c07b519f5 Update dev browserify.
This allows us to browserify the contents of test/browser.js without
erroring

The previous version of browserify was choking on the file.

xref #1838
2015-07-28 22:07:38 -04:00
Sebastian McKenzie
5990785ab1 fix bug where files that babel can compile weren't being written when ignored with the --copy-files flag 2015-07-28 20:04:32 +01:00
Sebastian McKenzie
bda0d5cc68 create new export named declaration when we're splitting it up - fixes #2092 2015-07-28 19:58:51 +01:00
Sebastian McKenzie
90fb36d3ea create new raw identifiers instead of cloning the original user one when exploding export specifiers - fixes #2092 2015-07-28 19:42:05 +01:00
Sebastian McKenzie
2c3566de03 remove flow types from being scope tracked - these aren't used anywhere and if they're going to be added back they need to be abstracted from bindings to create any real value - fixes #2105 2015-07-28 19:26:52 +01:00
Sebastian McKenzie
73d6257377 remove trailing whitespace 2015-07-28 18:59:28 +01:00
Sebastian McKenzie
ecf54eeae1 code generator: add terminator parentheses test 2015-07-28 18:57:00 +01:00
Sebastian McKenzie
e5cb0cf32c break on hitting a terminator paren triggering character to avoid pushing multiple starting parens - fixes #2102 2015-07-28 18:55:35 +01:00
Sebastian McKenzie
4d846e3686 consider comment starting character to be a terminatorless separator #2106 2015-07-28 18:54:47 +01:00
Sebastian McKenzie
2b009e8c47 v5.8.14 2015-07-28 18:40:08 +01:00
Sebastian McKenzie
fc8c38ac0d clear scope uids when removing a binding - fixes #2101 2015-07-28 16:14:58 +01:00
Sebastian McKenzie
f9a657dd36 fix chalk API to reset highlighting on codeframe 2015-07-28 16:09:21 +01:00
Sebastian McKenzie
0719a99e4d add 5.8.11-5.8.12 changelog 2015-07-28 13:45:47 +01:00
Sebastian McKenzie
5712e3c7f2 v5.8.13 2015-07-28 13:41:00 +01:00
Sebastian McKenzie
1c37c3a8c4 Merge branch 'development'
cially if it merges an updated upstream into a topic branch.
2015-07-28 09:10:49 +01:00
Sebastian McKenzie
770e89d537 v5.8.12 2015-07-28 01:38:31 +01:00
Sebastian McKenzie
1d023d98f7 v5.8.11 2015-07-28 01:37:05 +01:00
Sebastian McKenzie
65c5c0acfd v5.8.10 2015-07-28 01:28:44 +01:00
Sebastian McKenzie
a66470d821 fix es6 parameter tests 2015-07-28 01:25:00 +01:00
Sebastian McKenzie
27c0688742 check if options are nully instead of falsy - fixes #2079 2015-07-28 01:21:23 +01:00
Sebastian McKenzie
57d2323ae9 deopt on binding identifiers with same rest name - fixes #2091 2015-07-28 01:19:59 +01:00
Dan Fabulich
beaff831d2 Add Unicode BOM to browser.js, fixes issue #340 running from file URL. 2015-07-26 23:26:00 -07:00
Sebastian McKenzie
64e7164b55 Merge pull request #2087 from loganfsmyth/lookahead-state-fix
Ensure that the original state is restored on lookahead - fixes #2086
2015-07-27 04:59:58 +01:00
Logan Smyth
0bfc5a90dc Ensure that the original state is restored on lookahead - fixes #2086 2015-07-26 20:56:07 -07:00
Sebastian McKenzie
507303456f prepend ansi reset to code frame when highlighted - fixes #2058 2015-07-27 00:19:36 +01:00
Sebastian McKenzie
bcfe88fc06 v5.8.9 2015-07-27 00:14:29 +01:00
Sebastian McKenzie
caecebf95b 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
a971e9e67f update changelog 2015-07-26 22:11:09 +01:00
Sebastian McKenzie
16179e21c8 v5.8.8 2015-07-26 22:07:32 +01:00
Sebastian McKenzie
c722aadc8d v5.8.7 2015-07-26 21:59:55 +01:00
Sebastian McKenzie
c5a407f457 really fix comment attachment 2015-07-26 21:58:22 +01:00
Sebastian McKenzie
d7f59180ce add back missing comment fix - fixes #2072 2015-07-26 21:56:28 +01:00
Sebastian McKenzie
3de3678fae v5.8.6 2015-07-26 21:50:46 +01:00
Sebastian McKenzie
8e63ef162c switch function variables to declarations 2015-07-26 21:48:09 +01:00
Sebastian McKenzie
d2dc5e7149 add LICENSE file to babel-plugin 2015-07-26 21:48:01 +01:00
Sebastian McKenzie
502eab6f1c enforce double quotes in .eslintrc 2015-07-26 05:50:00 +01:00
Sebastian McKenzie
9af5e0526f update jsx tests 2015-07-26 05:34:03 +01:00
Sebastian McKenzie
6f607ef053 remove rawValue property from JSX inner text Literal nodes 2015-07-26 05:30:27 +01:00
Sebastian McKenzie
9c2621519a add string check to literal raw retainment 2015-07-26 05:26:46 +01:00
Sebastian McKenzie
d65c29b60a remove gross acorn conditional statement styling 2015-07-26 05:22:33 +01:00
Sebastian McKenzie
18e610820f verify that the raw property we've got stored is actually a string - fixes #2078 2015-07-26 05:22:12 +01:00
Sebastian McKenzie
aa8017ba45 Merge branch 'development' 2015-07-26 05:01:58 +01:00
Sebastian McKenzie
69721b930a add token match method and remove more dead code 2015-07-26 04:48:42 +01:00
Sebastian McKenzie
ac742d9a0d Merge pull request #2077 from jadnco/master
Better wording for contribution note
2015-07-26 02:14:42 +01:00
Jaden Dessureault
5e2f12aa8c Better wording for contribution note 2015-07-25 20:12:02 -05:00
Sebastian McKenzie
676766533c improve babylon test coverage and remove dead code 2015-07-25 19:54:19 +01:00
Sebastian McKenzie
2598299e64 finish reorganisation of babylon 2015-07-25 08:03:39 +01:00
Sebastian McKenzie
7e7ad89724 remove range property from nodes, clean up babylon codebase 2015-07-25 07:07:22 +01:00
Sebastian McKenzie
e14a3e509c temporarily disable node 0.10 from travis 2015-07-25 06:23:26 +01:00
Sebastian McKenzie
4e00575ed5 fix broken tests take 2 2015-07-25 06:16:50 +01:00
Sebastian McKenzie
7964e3bf11 fix broken tests 2015-07-25 06:14:09 +01:00
Sebastian McKenzie
55f3fb3015 add espree comment attachment tests and remove ranges test property from babylon tests 2015-07-25 06:07:51 +01:00
Sebastian McKenzie
350e901794 update babylon fixtures to use File as the root node rather than Program 2015-07-25 05:24:58 +01:00
Sebastian McKenzie
14d2625753 switch babylon tests to fixtures 2015-07-25 05:19:32 +01:00
Sebastian McKenzie
008f3d6ada fix broken tests 2015-07-25 04:01:30 +01:00
Sebastian McKenzie
00d6b0364d remove unused import 2015-07-25 03:56:42 +01:00
Sebastian McKenzie
b12866db86 extract out mocha fixtures and resolve utils 2015-07-25 03:54:48 +01:00
Sebastian McKenzie
2ed9416e19 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
e15a28cc1c inherit class constructor function from parent class - fixes babel-plugins/babel-plugin-flow-comments#15 2015-07-25 00:40:52 +01:00
Sebastian McKenzie
e51949e402 better inheritance for t.inherits 2015-07-25 00:40:39 +01:00
Sebastian McKenzie
9cc0442db9 make class container shadowed 2015-07-24 22:34:14 +01:00
Sebastian McKenzie
0531b61d59 v5.8.5 2015-07-24 21:59:14 +01:00
Sebastian McKenzie
bd17e06a2c update changelog 2015-07-24 21:45:03 +01:00
Sebastian McKenzie
41753c1a85 move down prepublish script execution 2015-07-24 21:44:21 +01:00
Sebastian McKenzie
a8f242f4fe add 5.8.4 changelog 2015-07-24 21:35:37 +01:00
Sebastian McKenzie
ca9ea6826f v5.8.4 2015-07-24 21:30:26 +01:00
Sebastian McKenzie
9cb5006136 fix broken imports and test newlines 2015-07-24 21:15:27 +01:00
Sebastian McKenzie
07e1ce8bf4 convert CLI imports to ES6 2015-07-24 21:10:11 +01:00
Sebastian McKenzie
3d416a6fbe move up regex Literal generation 2015-07-24 21:09:39 +01:00
Sebastian McKenzie
2d7a2b5e6d add sourceType option 2015-07-24 21:09:27 +01:00
Sebastian McKenzie
b20b6adf06 fix babel-plugin build hanging 2015-07-24 21:09:16 +01:00
Sebastian McKenzie
bac0b80953 don't console.log ignore config 2015-07-24 21:07:53 +01:00
Sebastian McKenzie
2a54d1385d update jscript plugin 2015-07-24 21:07:33 +01:00
Oliver Hoffmann
4fc2b5cec5 update to core-js 1.0.0 2015-07-24 11:39:19 +02:00
Sebastian McKenzie
35ac8bbe9b update babel-plugin-jscript 2015-07-24 03:10:12 +01:00
Sebastian McKenzie
54f852e466 generator: rewrite automatic parentheses insertion to be smarter, includes some buffer state that automatically triggers a parentheses to be pushed also has the positive side effect of cleaning up a lot of redundant code - fixes #2064 2015-07-24 03:10:06 +01:00
Sebastian McKenzie
c731d2d6dc update jscript tests 2015-07-23 18:48:38 +01:00
Sebastian McKenzie
c4c801ffcb Merge pull request #1907 from samccone/sjs/pipeline-opt
️ switch to reduce for pipeline
2015-07-23 18:42:59 +01:00
Sam Saccone
23527544fa 🎨 switch to reduce for pipeline 2015-07-23 13:41:55 -04:00
Sebastian McKenzie
b9dde49ab6 use Object.setPrototypeOf and fallback to __proto__ in inherits helper - fixes #2053 2015-07-22 17:28:58 +01:00
Sebastian McKenzie
236a9a6285 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
Sebastian McKenzie
b277f2c986 revert changes to use strict literal newline generation 2015-07-21 22:44:35 +01:00
Sebastian McKenzie
3f0ac54032 simplify CodeGenerator#print 2015-07-21 22:40:58 +01:00
Sebastian McKenzie
fd72abf450 Merge pull request #2046 from atonparker/master
fix tryCreateRegexp function scope
2015-07-21 22:38:30 +01:00
Chris Parker
51cdae25cf fix tryCreateRegexp function scope 2015-07-21 17:23:31 -04:00
Sebastian McKenzie
1ff63329a3 fix directive newline insertion 2015-07-21 18:50:08 +01:00
Sebastian McKenzie
beb8061d3f better identification of strict directives - cc @jmm 2015-07-21 18:43:10 +01:00
Sebastian McKenzie
0fbc714315 add scripts folder to npmignore 2015-07-21 18:41:50 +01:00
Sebastian McKenzie
b0c90acff0 add 5.8.0-5.8.3 changelog 2015-07-21 18:41:43 +01:00
Sebastian McKenzie
68d58af8b1 v5.8.3 2015-07-21 18:22:42 +01:00
Sebastian McKenzie
8e798cbc9c v5.8.2 2015-07-21 18:11:11 +01:00
Sebastian McKenzie
2eba8376d2 add force version environment variable 2015-07-21 18:08:58 +01:00
Sebastian McKenzie
0d2356ed8c v5.8.1 2015-07-21 18:00:22 +01:00
Sebastian McKenzie
78707e212c update test to reflect UIDs 2015-07-21 17:55:35 +01:00
Sebastian McKenzie
dd225b5b74 add handling for loops when doing rest parameter allocation optimisation 2015-07-21 17:51:20 +01:00
Sebastian McKenzie
f6e7b7716b add onComment shim to babel.parse API 2015-07-21 17:50:49 +01:00
Sebastian McKenzie
7fa684b120 don't reset raw of \x escape literals - cc @jmm 2015-07-21 14:53:05 +01:00
Sebastian McKenzie
437a201315 v5.8.0 2015-07-21 02:52:14 +01:00
Sebastian McKenzie
da60230801 add missing dependencies for older non-flat npm versions 2015-07-21 02:50:03 +01:00
Sebastian McKenzie
4545ade6ba v5.7.6 2015-07-21 02:44:54 +01:00
Sebastian McKenzie
412208745b v5.7.5 2015-07-21 02:39:55 +01:00
Sebastian McKenzie
30be1317e6 update flow literal annotations to have a rawValue 2015-07-21 02:37:43 +01:00
Sebastian McKenzie
73f0f26ae2 add missing semicolon 2015-07-21 02:31:33 +01:00
Sebastian McKenzie
ef5d8bb786 add a shitty onToken acorn option shim 2015-07-21 02:30:01 +01:00
Sebastian McKenzie
956fd8d770 Merge branch 'master' into development 2015-07-21 02:28:00 +01:00
Sebastian McKenzie
5507590dc2 fix unicode literal conversion check 2015-07-21 02:20:49 +01:00
Sebastian McKenzie
b6007ce4ea remove comments form test 2015-07-21 02:16:03 +01:00
Sebastian McKenzie
0a5a00d6f8 properly disallow type casts in reference lists 2015-07-21 02:01:48 +01:00
Sebastian McKenzie
495b880372 only register an Identifier node as static if it's a constant 2015-07-21 01:14:38 +01:00
Sebastian McKenzie
b97dc4778b add Flow virtual type 2015-07-21 01:14:19 +01:00
Sebastian McKenzie
512707c7de update API test to use an async promise shim 2015-07-21 01:14:00 +01:00
Sebastian McKenzie
00fa5f2286 switch es6 parameters rest nested iife test to use external helpers 2015-07-21 01:13:48 +01:00
Sebastian McKenzie
40f19586af reimplement async function type parameters backfix - fixes #2028 2015-07-21 01:13:35 +01:00
Sebastian McKenzie
f0994f106e add comment attachment to the parser and remove dead acorn options 2015-07-21 01:13:07 +01:00
Sebastian McKenzie
538d24b2a3 Merge pull request #2040 from jmm/basic-pretransform-doc-test
Add basic description & existence test for `pretransform()`.
2015-07-20 19:03:10 +01:00
Jesse McCarthy
029146719e Add basic desc. & existence test for pretransform. 2015-07-20 13:38:21 -04:00
Sebastian McKenzie
47f790502e Merge pull request #1878 from kpdecker/tagged-template-object
Convert template objects to singletons
2015-07-20 12:18:07 +01:00
Sebastian McKenzie
d4917d74f0 Merge pull request #2035 from frankychung/flow-number-literal-type-annotations
Number literal type annotations for Flow
2015-07-20 11:41:07 +01:00
kpdecker
4eb1a45f02 Handle _blockHoist value of zero safely 2015-07-20 11:06:09 +03:00
Franky Chung
0876209847 Add number literal type annotations for flow 2015-07-20 11:35:46 +09:00
Sebastian McKenzie
a523f60209 output type annotations of type instantiation parameters - fixes #2036 2015-07-20 00:20:40 +01:00
kpdecker
b2e3a73e2f Use generic name for templateObject
Rather than using variable names that could be quite long, just use indexed generic names that use runtime lookup for the string parameter mapping.
2015-07-19 10:39:38 +03:00
kpdecker
eed750206c Convert template objects to singletons
Create file-scoped template objects that are instantiated once and reused between different tagged template evaluations. This is a closer match to the spec behavior which demands reuse, but does not match the spec exactly with respect to scoping as it’s possible to have similar template objects defined in different file scopes within the same program. For now we are not able to cleanly handle this case as it would require a registry or similar lookup mechanism that is consistent across different combinations of builds and optimizers.

This has a 40x increase in six-speed throughput.

Partial fix for #971
2015-07-19 09:49:40 +03:00
Sebastian McKenzie
faa6ce1a08 Merge pull request #2030 from arthurvr/patch-2
Add `make test-cov` to `contributing.md`
2015-07-18 04:46:23 -07:00
Arthur Verschaeve
98a4d54212 Add make test-cov to contributing.md
Ref #1851
2015-07-18 10:59:20 +02:00
Sebastian McKenzie
3a74f6d4cc 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
a7ad765438 remove weird promise compat method - fixes #2024 2015-07-17 11:09:20 +01:00
Sebastian McKenzie
6e539eb7e3 fix order of build-dist to include the latest version number 2015-07-17 01:04:13 +01:00
Sebastian McKenzie
44c82abf3a v5.7.4 2015-07-17 01:02:33 +01:00
Sebastian McKenzie
13e0c6b917 remove useless call from flow strip directives test 2015-07-17 01:01:22 +01:00
Sebastian McKenzie
4833dad4e2 fix comments containg @flow being completely removed from output rather than just the specific directive - fixes #2022 2015-07-17 00:58:08 +01:00
Sebastian McKenzie
641ee9d883 add 5.7.3 changelog 2015-07-17 00:57:03 +01:00
Sebastian McKenzie
32ad452b78 v5.7.3 2015-07-16 22:45:06 +01:00
Sebastian McKenzie
185fc3b10e add in dummy src file because i'm dumb and decided to do access private apis - closes #2020, fixes #2011 2015-07-16 22:43:43 +01:00
Sebastian McKenzie
c76536be90 fix test coverage 2015-07-16 15:46:31 +01:00
Sebastian McKenzie
e1c981a9de fix tags not being pushed for new babel versions - fixes #2019 2015-07-16 15:46:13 +01:00
Sebastian McKenzie
fd9373d9ee add 5.7.2 changelog 2015-07-15 20:38:19 +01:00
Sebastian McKenzie
676d602a8b v5.7.2 2015-07-15 20:35:57 +01:00
Sebastian McKenzie
d2ce03e82d flow parser plugin: move up startPos and startLoc default assignments 2015-07-15 20:33:56 +01:00
Sebastian McKenzie
d661e15ce2 force push newline for line comments when in compact mode - fixes #2006 2015-07-15 20:23:24 +01:00
Sebastian McKenzie
1abaf66ac2 generator: set adjustMultilineComment to false when compact is true - fixes #2008 2015-07-15 20:18:27 +01:00
Sebastian McKenzie
afacd62738 rewrite async function parsing, properly parse flow return types of arrow functions - fixes #1991 2015-07-15 20:08:10 +01:00
Sebastian McKenzie
4b276b938b add feature flag for es7.exponentiationOperator 2015-07-15 18:07:25 +01:00
Sebastian McKenzie
b520a33195 remove dead babylon code 2015-07-15 18:07:13 +01:00
Sebastian McKenzie
dbf320f6f0 Merge branch 'master' into development 2015-07-15 17:10:58 +01:00
Sebastian McKenzie
1f851153fd add 5.7.1 changelog 2015-07-15 17:10:47 +01:00
Sebastian McKenzie
805a44d55d v5.7.1 2015-07-15 17:09:26 +01:00
Sebastian McKenzie
a051146ae2 add back NodePath#replaceWithSourceString method - fixes pangratz/ember-cli-htmlbars-inline-precompile/issues/18 2015-07-15 17:08:21 +01:00
Sebastian McKenzie
3acae3d625 finish removal of ecmaVersion option 2015-07-15 16:41:32 +01:00
Sebastian McKenzie
848fab910c Merge pull request #2004 from jmm/contrib
Update CONTRIBUTING.
2015-07-15 16:18:23 +01:00
Jesse McCarthy
0a4a0d8cd2 Update CONTRIBUTING.
* Add note about unbuildable versions.
* Remove links to removed sections.
2015-07-15 11:08:34 -04:00
Sebastian McKenzie
472b079862 remove ecmaVersion <= 6 2015-07-15 15:34:47 +01:00
Sebastian McKenzie
21a11e5d2b hard code eslint path 2015-07-15 14:13:36 +01:00
Sebastian McKenzie
124e30face complete builder definitions - fixes #1982 2015-07-15 14:07:16 +01:00
Sebastian McKenzie
91e59cf2bb add TEST_GREP to scripts/test 2015-07-15 13:52:12 +01:00
Sebastian McKenzie
8d70ab5853 switch node definitions to a DSL 2015-07-15 13:51:47 +01:00
Sebastian McKenzie
a36496ee2d update CONTRIBUTING.md 2015-07-15 13:51:24 +01:00
Sebastian McKenzie
4656801673 add check for options existence before trying to look for deprecation supression property - fixes #1992 2015-07-15 12:15:15 +01:00
Sebastian McKenzie
e1eb79d570 add 5.7.0 changelog 2015-07-15 12:10:27 +01:00
Sebastian McKenzie
aef2be54dc v5.7.0 2015-07-15 11:53:46 +01:00
Sebastian McKenzie
9e81dd299d add postpublish script 2015-07-15 11:45:11 +01:00
Sebastian McKenzie
5b776b60e4 require shelljs from bootstrap file 2015-07-15 11:45:05 +01:00
Sebastian McKenzie
644daaed55 add git pull to build-website script 2015-07-15 11:44:57 +01:00
Sebastian McKenzie
9d514a3aa2 add postpublish support to scripts/publish 2015-07-15 11:44:43 +01:00
Sebastian McKenzie
afbd9a0870 fix babel-runtime dist require locations 2015-07-15 11:44:27 +01:00
Sebastian McKenzie
61d246cb9a v5.6.23 2015-07-15 11:23:07 +01:00
Sebastian McKenzie
e677e49638 really fix spread inside the RHS of a destructuring assignment causing invalid unpack optimisation 2015-07-14 22:18:30 +01:00
Sebastian McKenzie
7fb3158be7 deopt on spread elements when performing array destructuring unpack optimisation 2015-07-14 22:08:26 +01:00
Sebastian McKenzie
45e1eb343b fix locations in build-dist babel-runtime script 2015-07-14 21:35:59 +01:00
Sebastian McKenzie
64875f3502 move down build-dist task in publish task 2015-07-14 21:34:18 +01:00
Sebastian McKenzie
0a9f43aac8 fix templates location 2015-07-14 21:33:29 +01:00
Sebastian McKenzie
91fb64eaf5 Merge pull request #1978 from babel/top-secret
5.7.0
2015-07-14 21:21:01 +01:00
Sebastian McKenzie
6e518d40bf fix babel-core dependency in babel-cli 2015-07-14 21:15:06 +01:00
Sebastian McKenzie
5e47530226 add linking debug to bootstrap script 2015-07-14 21:11:43 +01:00
Sebastian McKenzie
bfe92a4eea add comments: false to generation test 2015-07-14 21:10:35 +01:00
Sebastian McKenzie
66c29acb78 complete publish script 2015-07-14 21:09:27 +01:00
Sebastian McKenzie
e50babe916 add shouldPrintComment option and output comments when compact option is set to true - fixes #1810 2015-07-14 20:55:56 +01:00
Sebastian McKenzie
eb8d7e679e fix use strict parsing 2015-07-14 17:14:32 +01:00
Sebastian McKenzie
e294b76a06 add extensions to babel-cli bin files 2015-07-14 17:14:10 +01:00
Sebastian McKenzie
0cbcadc2da add shelljs to root package.json 2015-07-14 16:56:20 +01:00
Sebastian McKenzie
8360001b96 add npmignore to babylon 2015-07-14 16:48:43 +01:00
Sebastian McKenzie
7c8f3ed696 rewrite bootstrap script to use shelljs as the bootstraping process is kinda weird now with multiple packages 2015-07-14 16:48:20 +01:00
Sebastian McKenzie
0c7c73435c add NODE_PATH export 2015-07-14 15:22:18 +01:00
Sebastian McKenzie
be09f12e42 sync tests with upstream acorn 2015-07-14 15:15:36 +01:00
Sebastian McKenzie
d73938ee89 elaborate on babylon readme 2015-07-14 15:14:57 +01:00
Sebastian McKenzie
5dcd54f4bc add VERSION file to publish script add 2015-07-13 23:43:57 +01:00
Sebastian McKenzie
c13f722964 add back package.json 2015-07-13 23:43:35 +01:00
Sebastian McKenzie
2f212cea0a v5.6.21 2015-07-13 23:37:01 +01:00
Sebastian McKenzie
dfbb6604e7 2.6.20 2015-07-13 21:09:45 +01:00
Sebastian McKenzie
e733235bea +x 2015-07-13 21:00:59 +01:00
Sebastian McKenzie
5f6350bada fix setup-git script name 2015-07-13 21:00:54 +01:00
Sebastian McKenzie
d28716cf93 v5.6.20 2015-07-13 20:50:20 +01:00
Sebastian McKenzie
a286a86b6d Revert "remove do expressions"
This reverts commit 420492388b.
2015-07-13 20:45:49 +01:00
Sebastian McKenzie
2b32a2781e Revert "remove DoExpression generator"
This reverts commit 5cd8822888.
2015-07-13 20:45:43 +01:00
Sebastian McKenzie
86a49e2b1d v5.6.19 2015-07-13 16:41:15 +01:00
Sebastian McKenzie
5cd8822888 remove DoExpression generator 2015-07-13 16:39:30 +01:00
Sebastian McKenzie
420492388b remove do expressions 2015-07-13 16:37:08 +01:00
Sebastian McKenzie
2d5d1ceb5c t 2015-07-13 16:34:43 +01:00
Sebastian McKenzie
1948946a4d add scripts 2015-07-12 12:51:20 +01:00
Sebastian McKenzie
0a7a01391c remove travis deploy 2015-07-12 12:36:01 +01:00
Sebastian McKenzie
7a268c95a5 remove dead files 2015-07-12 12:35:53 +01:00
Sebastian McKenzie
3d21b85d87 add +x bin files that reference the compiled ones 2015-07-12 12:35:49 +01:00
Sebastian McKenzie
d5be4bb5b9 v5.6.18 2015-07-12 00:39:50 +01:00
Sebastian McKenzie
d6dc29ec6a remove templates doc 2015-07-12 00:37:55 +01:00
Sebastian McKenzie
ada45d5800 add missing semicolons 2015-07-12 00:36:21 +01:00
James Kyle
f3e77c7a0d Merge pull request #1983 from chicoxyzzy/code-docs-additions-by-chicoxyzzy
add some useful links
2015-07-11 15:09:29 -07:00
chico
b08012cf12 add some useful links 2015-07-12 01:05:50 +03:00
Sebastian McKenzie
16502488b9 Merge branch 'master' into top-secret
# Conflicts:
#	packages/babel/src/util.js
#	src/babel/tools/protect.js
#	src/babel/transformation/transformers/internal/explode.js
2015-07-11 23:00:28 +01:00
Sebastian McKenzie
ef275da1c2 Merge pull request #1897 from babel/code-docs
Code docs
2015-07-11 22:56:24 +01:00
James Kyle
cc6eb50f28 parenthesis -> parentheses 2015-07-11 14:48:40 -07:00
James Kyle
a260b6859f Clarify what the arrow function transformer does 2015-07-11 14:27:14 -07:00
James Kyle
eb182ccbe0 fix typo 2015-07-11 13:09:11 -07:00
Sebastian McKenzie
f9498d7a2d 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
a226641631 more architectural changes 2015-07-11 20:56:26 +01:00
Sebastian McKenzie
afe5eb118c add .babelignore support to be more inline with other tools 2015-07-11 20:56:07 +01:00
James Kyle
fe1e99c799 Create generation/generators README 2015-07-11 12:53:46 -07:00
James Kyle
deeb75a5d1 Add descriptions to transformation/transformers/es6/destructuring 2015-07-11 12:53:46 -07:00
James Kyle
961d482269 Add content to tools README 2015-07-11 12:53:46 -07:00
James Kyle
1c8f0dcab4 Add content to helpers README 2015-07-11 12:53:46 -07:00
James Kyle
5dc39439ed Add content to generation README 2015-07-11 12:53:46 -07:00
James Kyle
58e029a064 Add content to api README 2015-07-11 12:53:46 -07:00
James Kyle
01ea72790d Add descriptions to types/flow 2015-07-11 12:53:45 -07:00
James Kyle
118ac2e62d Add descriptions to traversal/scope/index 2015-07-11 12:53:45 -07:00
James Kyle
3207a387a7 Add descriptions to transformation/transformers/es6/constants 2015-07-11 12:53:45 -07:00
James Kyle
90a5b96480 Add descriptions to transformation/transformers/es6/arrow-functions 2015-07-11 12:53:45 -07:00
James Kyle
74cf5ac552 Add descriptions to transformation/transformers/es5/properties.mutators 2015-07-11 12:53:45 -07:00
James Kyle
dce1a3548c Add descriptions to transformation/transformers/es3/property-literals 2015-07-11 12:53:45 -07:00
James Kyle
d67ba39d1c Add descriptions to transformation/transformers/es3/member-expression-literals 2015-07-11 12:53:45 -07:00
James Kyle
894c3fe481 Add descriptions to transformation/file/options/parsers 2015-07-11 12:53:29 -07:00
James Kyle
27cce1446c Add descriptions to transformation/file/options/index 2015-07-11 12:53:28 -07:00
James Kyle
7e64bcd85a Add descriptions to tools/protect 2015-07-11 12:53:28 -07:00
James Kyle
4a851130ee Add descriptions to helpers/parse 2015-07-11 12:53:28 -07:00
James Kyle
6a9b14563e Add descriptions to helpers/object 2015-07-11 12:53:28 -07:00
James Kyle
4f11c6a4be Add descriptions to helpers/normalize-ast 2015-07-11 12:53:28 -07:00
James Kyle
d7a669e96b Add descriptions to helpers/merge 2015-07-11 12:53:28 -07:00
James Kyle
4b6a5f4ea9 Add descriptions to helpers/code-frame 2015-07-11 12:53:28 -07:00
James Kyle
9c60c633d2 Add descriptions to generation/whitespace 2015-07-11 12:53:27 -07:00
James Kyle
3b428e45a3 Add descriptions to generation/source-map 2015-07-11 12:53:27 -07:00
James Kyle
d961e2d291 Add descriptions to generation/position 2015-07-11 12:53:27 -07:00
James Kyle
2d884c282a Add descriptions to generation/index 2015-07-11 12:53:27 -07:00
James Kyle
350a3b664f Add descriptions to generation/buffer 2015-07-11 12:53:27 -07:00
James Kyle
9e4ec19487 Add descriptions to generation/node/whitespace 2015-07-11 12:53:27 -07:00
James Kyle
d613975feb Add descriptions to generation/node/printer 2015-07-11 12:53:27 -07:00
James Kyle
77e9387c5f Add descriptions to generation/node/parenthesis 2015-07-11 12:53:26 -07:00
James Kyle
ac00de44a7 Add descriptions to generation/node/index 2015-07-11 12:53:26 -07:00
James Kyle
8e03a2b720 Add descriptions to generation/generators/types 2015-07-11 12:53:26 -07:00
James Kyle
4e660f7b3e Add descriptions to generation/generators/template-literals 2015-07-11 12:53:26 -07:00
James Kyle
63618f876c Add descriptions to generation/generators/statements 2015-07-11 12:53:26 -07:00
James Kyle
155f3407bc Add descriptions to generation/generators/modules 2015-07-11 12:53:26 -07:00
James Kyle
bf62042fe6 Add descriptions to generation/generators/methods 2015-07-11 12:53:26 -07:00
James Kyle
2a226b3a2b Add descriptions to generation/generators/jsx 2015-07-11 12:53:26 -07:00
James Kyle
f996d6bfa6 Add descriptions to generation/generators/flow 2015-07-11 12:53:25 -07:00
James Kyle
89b1c387a0 Add descriptions to generation/generators/expressions 2015-07-11 12:53:25 -07:00
James Kyle
dfea7368e1 Add descriptions to generation/generators/comprehensions 2015-07-11 12:53:25 -07:00
James Kyle
06867dd52b Add descriptions to generation/generators/classes 2015-07-11 12:53:25 -07:00
James Kyle
3f72a4b200 Add descriptions to generation/generators/base 2015-07-11 12:53:25 -07:00
James Kyle
ee286ed482 Add descriptions to api/node 2015-07-11 12:53:25 -07:00
James Kyle
8604c0c2cd Add descriptions to api/browser 2015-07-11 12:53:25 -07:00
James Kyle
b2476b3603 Add descriptions to api/register/node 2015-07-11 12:53:24 -07:00
James Kyle
c2ebe7f26d Add descriptions to api/register/cache 2015-07-11 12:53:24 -07:00
James Kyle
4809747304 Add placeholders 2015-07-11 12:53:23 -07:00
James Kyle
e572d25640 Add README files to be filled out 2015-07-11 12:43:56 -07:00
James Kyle
07e3d9a8df Add intro inside of src/ directory 2015-07-11 12:43:56 -07:00
Sebastian McKenzie
be44e608e7 allowing specifying of babelrc config via package.json - closes #1818 2015-07-11 16:21:08 +01:00
Sebastian McKenzie
fedf894904 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
Sebastian McKenzie
7763c74563 Merge branch 'master' of github.com:babel/babel 2015-07-11 10:35:57 +01:00
Sebastian McKenzie
e45dc0fbaf Merge pull request #1974 from loganfsmyth/hoist-class-inherits
Hoist class inheritance call so it runs before prototype use.
2015-07-11 09:59:47 +01:00
Sebastian McKenzie
8539182452 Merge pull request #1976 from cpojer/import-typeof
Add support for `import typeof`, fixes #1975
2015-07-11 09:58:49 +01:00
cpojer
18380d2aee Add support for import typeof, fixes #1975 2015-07-11 01:54:25 -07:00
Logan Smyth
19b1032474 Hoist class inheritance call so it runs before prototype use - fixes #1972 2015-07-10 19:51:53 -07:00
Sebastian McKenzie
f7761982cd fix logo url 2015-07-10 16:21:38 +01:00
Sebastian McKenzie
4b3b6970b4 add .js extensions 2015-07-10 16:16:41 +01:00
Sebastian McKenzie
6141c66a63 remove internal protection 2015-07-10 16:16:36 +01:00
Sebastian McKenzie
950d3d2280 Merge pull request #1969 from christophehurpeau/patch-1
option help add "separated by comma" for options whitelist, blacklist…
2015-07-10 15:29:36 +01:00
Christophe Hurpeau
12d7b33f62 option help add "separated by comma" for options whitelist, blacklist and optional 2015-07-10 16:29:07 +02:00
Sebastian McKenzie
f9c7d0d095 add validation to plugins 2015-07-10 02:59:50 +01:00
Sebastian McKenzie
efaa0608af removed unused variable 2015-07-09 21:28:53 +01:00
Sebastian McKenzie
b522bfe822 update babel/register to work with new option manager and add filename option type 2015-07-09 21:25:06 +01:00
Sebastian McKenzie
9efb02f60f rewrite options handling to be MUCH more maintainable and less like spaghetti 2015-07-09 21:11:51 +01:00
Sebastian McKenzie
9805c0387f reenable travis node 0.10 testing 2015-07-09 19:17:12 +01:00
Sebastian McKenzie
81019ec76d v5.6.17 2015-07-09 19:04:26 +01:00
Sebastian McKenzie
b0d0adda9b add 5.6.17 changelog 2015-07-09 19:03:32 +01:00
Sebastian McKenzie
d335535f04 Revert "Move into for block"
This reverts commit 1945f849c3.

# Conflicts:
#	src/babel/generation/index.js
2015-07-09 19:01:37 +01:00
Sebastian McKenzie
f738c95c8d Merge branch 'master' into development 2015-07-09 18:22:22 +01:00
Sebastian McKenzie
7fec1c98e5 Merge pull request #1962 from benjamn/development
Update regenerator to v0.8.34, and remove recast and ast-types from package.json.
2015-07-09 18:21:17 +01:00
Sebastian McKenzie
33ae022e4d add ClassProperty handling to t.isReferenced - fixes #1961 2015-07-09 18:19:20 +01:00
Ben Newman
eac9e9b372 Update regenerator to v0.8.34, and remove recast and ast-types.
This version of Regenerator pegs recast to v0.10.18, which pegs ast-types
to v0.8.2, which contains special support for all Babel AST types:
https://github.com/benjamn/ast-types/blob/master/def/babel.js

This version of Regenerator also exports the ast-types module object that
it uses (as regenerator.types), so that consumers like Babel can refer to
the exact same copy of ast-types when necessary, rather than requiring
ast-types themselves. Why that was risky: #1958.
2015-07-09 13:12:58 -04:00
Sebastian McKenzie
eb6b38d3a8 add 5.6.13-5.6.16 changelogs 2015-07-09 16:30:45 +01:00
Sebastian McKenzie
8111ab28d7 v5.6.16 2015-07-09 16:13:06 +01:00
Sebastian McKenzie
ed25845152 remove accidental stackTraceLimit assignment 2015-07-09 16:12:06 +01:00
Sebastian McKenzie
457638e904 add type comments to t.valueToNode 2015-07-09 16:11:57 +01:00
Sebastian McKenzie
2e5255dbf5 peg recast version - fixes #1958 2015-07-09 16:11:46 +01:00
Brian Donovan
86095d9dac Merge pull request #1951 from zbraniecki/traverse-in-plugins-typo
Fix a typo in plugin-manager import of traverse
2015-07-08 13:13:19 -07:00
Zibi Braniecki
02dd785d02 Fix a typo in plugin-manager import of traverse 2015-07-08 13:06:59 -07:00
Sebastian McKenzie
205fab2ed8 split up badges 2015-07-08 14:58:31 +01:00
Sebastian McKenzie
d01b26951b channel -> community 2015-07-08 14:45:56 +01:00
Sebastian McKenzie
fc15c91b2a replace descriptor.writable assignment in createDecoraredObject helper - fixes #1949 2015-07-08 14:45:50 +01:00
Sebastian McKenzie
421b01865f add Generated/User/Directive virtual node types 2015-07-08 11:35:56 +01:00
Sebastian McKenzie
af7510adec fix some bugs in PathHoister - fixes babel-plugins/babel-plugin-react-constant-elements#1
- Don't hoist constant elements to the same function as their original paths function parent.
 - Push each violation paths ancestry to the breakOnScopePaths collection to avoid constant hoisting to nested paths.
2015-07-08 11:35:34 +01:00
Sebastian McKenzie
ec7c40fbf6 add quiet option to CLI - fixes #1931 2015-07-07 11:26:45 +01:00
Sebastian McKenzie
4a36a9fb31 check for functions in util.shouldIgnore - closes #1865, closes #1859 2015-07-07 11:23:31 +01:00
Sebastian McKenzie
4d25b0d96a Merge branch 'master' of github.com:babel/babel 2015-07-07 11:12:42 +01:00
Sebastian McKenzie
babc9c90b4 fix tail call recursion on functions with less arguments than parameters - fixes #1938 2015-07-07 11:11:58 +01:00
Sebastian McKenzie
288293ca11 Merge pull request #1936 from loganfsmyth/system-module-hoisting
Only special-case for..on declaration hoisting - fixes #1929
2015-07-07 10:54:26 +01:00
Sebastian McKenzie
a262e99abd strip flow directives in flow transformer - fixes #1934 2015-07-07 10:52:43 +01:00
Logan Smyth
b518394a3f Only special-case for..on/of declaration hoisting - fixes #1929 2015-07-06 21:06:11 -07:00
Sebastian McKenzie
337c51df5c fixes out of bounds check to default parameter template - #1845 - cc @RReverser 2015-07-06 21:25:33 +01:00
Sebastian McKenzie
0509fb148f add out of bounds check to default parameter template - addresses #1845 - cc @RReverser 2015-07-06 20:12:10 +01:00
Sebastian McKenzie
bb5f1120b7 Merge branch 'master' of github.com:babel/babel 2015-07-05 21:41:58 +01:00
Sebastian McKenzie
38d46012a7 Merge pull request #1926 from loganfsmyth/systemjs-modules-export
Optimize export-from in System.register - fixes #1722
2015-07-05 21:39:30 +01:00
Logan Smyth
cdb8e3aefa Optimize export-from in System.register - fixes #1722 2015-07-05 11:40:33 -07:00
Sebastian McKenzie
4a84cd785a Merge pull request #1915 from loganfsmyth/destructuring-default-hoisting
Ensure _blockHoist is set on function destructuring defaults
2015-07-05 19:24:01 +01:00
Logan Smyth
f47d17345c Ensure _blockHoist is set on function destructuring defaults - fixes #1908 2015-07-05 09:10:09 -07:00
Sebastian McKenzie
8746ca8d31 add Statement virtual type 2015-07-05 01:23:37 +02:00
Sebastian McKenzie
76e954bc36 add reference to issue #1920 2015-07-05 01:23:32 +02:00
Sebastian McKenzie
64903d0dcf Merge branch 'master' of github.com:babel/babel 2015-07-04 23:33:33 +02:00
Sebastian McKenzie
1fd0b1f741 delay this assignment when referencing this inside an arrow function pre-bare super in derived class constructors - fixes #1920 2015-07-04 23:32:11 +02:00
Sebastian McKenzie
cda2bfce38 enable do expression tests 2015-07-04 21:51:57 +02:00
Sebastian McKenzie
0e4bb5ee3f clean up verifyConstructor classes visitor and disallow super.* before super() in derived class constructors - fixes #1921 2015-07-04 21:38:22 +02:00
Sebastian McKenzie
e9793b1f16 Merge pull request #1916 from conradz/inline-single-child
Handle single child when using React inlining
2015-07-04 11:23:15 +02:00
Conrad Zimmerman
224db29c05 Handle single child when using React inlining
Changes optimisation.react.inlineElements to handle a single child as the
value of the `children` property instead of wrapping it with an array.
This matches the behavior of `React.createElement`.
2015-07-03 18:55:38 -04:00
Sebastian McKenzie
bd1bd38556 add undeclared type variable 2015-07-03 00:14:40 +02:00
Sebastian McKenzie
1f39114126 Merge branch 'master' into development 2015-07-03 00:07:53 +02:00
Sebastian McKenzie
4c0b8599f1 add optional context parameter to NodePath#get 2015-07-03 00:07:37 +02:00
Sebastian McKenzie
848909620c add more comments to path methods 2015-07-03 00:07:23 +02:00
Sebastian McKenzie
c40215497d Merge pull request #1900 from samccone/sjs/opt2
rework findCommonStringDelimiter
2015-07-02 23:54:52 +02:00
Sebastian McKenzie
6450f5263e Merge pull request #1901 from loganfsmyth/constructor-scope-fix
Properly regenerate scope for replaced nodes - fixes #1773
2015-07-02 23:54:28 +02:00
Sam Saccone
74c59c94ce 2015-07-02 16:57:12 -04:00
Logan Smyth
3f38a83600 Properly regenerate scope for replaced nodes - fixes #1773 2015-07-01 22:06:05 -07:00
Sam Saccone
1945f849c3 Move into for block
https://www.youtube.com/watch?v=FHDwRECFL8M
2015-07-01 20:36:24 -07:00
Sam Saccone
5b0b7ba226 🍴 Switch to ternary for return
https://www.youtube.com/watch?v=XAbY2cmEsS0
2015-07-01 20:36:17 -07:00
James Kyle
42de6bc716 Merge pull request #1894 from samccone/patch-4
🐳
2015-07-02 01:06:50 +01:00
James Kyle
fb66f347b9 Merge pull request #1895 from samccone/patch-5
remove 💀 comment lines
2015-07-02 01:05:51 +01:00
Brian Donovan
5e28bd4e68 Merge pull request #1893 from samccone/patch-1
🍕 Fix grammatical issue
2015-07-01 16:16:20 -07:00
Sam Saccone
9869566963 remove 💀 comment lines
Added in 
3561efdb86

if this is a style thing you want to keep around then my all means close away.
2015-07-01 15:59:05 -07:00
Sam Saccone
4a27b10e8a 👶 2015-07-01 15:56:11 -07:00
Sam Saccone
c3b5ed5b3d 💄 Fix grammatical issue 2015-07-01 15:51:56 -07:00
Sebastian McKenzie
afa4871a08 Merge pull request #1892 from samccone/patch-1
📝 better english
2015-07-02 00:48:57 +02:00
Sam Saccone
70c739250b 📝 better english 2015-07-01 15:48:00 -07:00
Sebastian McKenzie
722e706a8c Merge pull request #1891 from samccone/patch-1
️  this that this
2015-07-02 00:42:05 +02:00
Sam Saccone
f3973c8397 📝 clarify how it inherits this 2015-07-01 15:41:15 -07:00
Sebastian McKenzie
47c3792d34 Merge pull request #1890 from samccone/patch-1
️  Add link to ESTree
2015-07-02 00:39:23 +02:00
Sam Saccone
456accb4b3 📝 Add link to ESTree 2015-07-01 15:37:20 -07:00
Sebastian McKenzie
72771ed439 update escape regex test to use new lodash result 2015-06-30 23:56:47 +01:00
Sebastian McKenzie
7cb7ea4248 Merge pull request #1884 from arthurvr/resolve
Add `resolve` to `CONTRIBUTING.md`
2015-06-30 23:39:33 +01:00
Arthur Verschaeve
301df15921 Add resolve to CONTRIBUTING.md
Introduced in aaf4cbf06f
2015-06-30 23:56:30 +02:00
Sebastian McKenzie
15535406bd Merge pull request #1883 from arthurvr/patch-1
Remove `user-home` from `CONTRIBUTING.md`
2015-06-30 22:43:42 +01:00
Arthur Verschaeve
63f53e3773 Remove user-home from CONTRIBUTING.md
In favor of `user-or-tmp`

Ref 90b8826e73
2015-06-30 23:40:24 +02:00
Brian Donovan
03a979a6bd Merge pull request #1867 from arthurvr/deps
Add `path-exists` to `CONTRIBUTING.md`
2015-06-30 14:31:24 -07:00
Sebastian McKenzie
910622e66e fix linting errors 2015-06-30 15:17:26 +01:00
Sebastian McKenzie
c5a8702021 clean up derived classes, fixes super path referencing user constructor instead of our new function - #1877 2015-06-30 14:55:11 +01:00
Sebastian McKenzie
336c65fe2c restructure classes transformer, fix class name inference - #1877 2015-06-30 14:49:04 +01:00
Sebastian McKenzie
092d98fb27 add constructor to body in order that it was supplied in - fixes #1877 2015-06-30 10:10:52 +01:00
Sebastian McKenzie
e55ce575cd move up template literal simplification logic - fixes #1874 2015-06-29 23:36:06 +01:00
Sebastian McKenzie
d63ae5fce8 remove loose console.log 2015-06-29 22:59:23 +01:00
Sebastian McKenzie
541309c4bb fix collisions for getBindingIdentifiers 2015-06-29 22:04:17 +01:00
Sebastian McKenzie
2d289150d1 Merge pull request #1868 from benjamn/patch-2
Upgrade Regenerator to 0.8.32.
2015-06-29 20:47:05 +01:00
Ben Newman
b9f6169ed4 Upgrade Regenerator to 0.8.32.
This includes some major runtime performance improvements:
https://github.com/facebook/regenerator/pull/207
https://github.com/facebook/regenerator/pull/208

And also some bug fixes relating to async generator functions:
https://github.com/facebook/regenerator/commit/29d81b6929
https://github.com/facebook/regenerator/commit/7d2a052ddb
https://github.com/facebook/regenerator/commit/5b9dd1086d
2015-06-29 10:43:54 -04:00
Arthur Verschaeve
ce372281cd Add path-exists to CONTRIBUTING.md 2015-06-29 12:35:37 +02:00
Sebastian McKenzie
0044100e3d perform function name inference on functions in properties before they're properly visited - fixes #1860 2015-06-29 00:20:47 +01:00
Sebastian McKenzie
81edc4c6ab add make comment-issues skeleton 2015-06-28 00:59:24 +01:00
Sebastian McKenzie
3b1a9a0adb trim eval code in babel-node 2015-06-28 00:59:12 +01:00
Sebastian McKenzie
8ab90aacd3 add babel-core version to babel-cli version - closes #1861 2015-06-28 00:59:05 +01:00
Sebastian McKenzie
a1a46882fd v5.6.15 2015-06-27 00:07:24 +01:00
Sebastian McKenzie
12b4e6db40 v5.6.13 2015-06-27 00:06:40 +01:00
Sebastian McKenzie
7f06bb79c0 attempt to fix master fetching for automatic travis merge 2015-06-26 23:58:57 +01:00
Sebastian McKenzie
34218afdae clean up build website script 2015-06-26 23:41:19 +01:00
Sebastian McKenzie
b94118db5e output debug current branch/commit info 2015-06-26 23:32:45 +01:00
Sebastian McKenzie
54819b94e9 skip flow types when finding rest parameter references 2015-06-26 23:29:09 +01:00
Sebastian McKenzie
50ca6b1018 clean up inType tracking in flow parser plugin 2015-06-26 23:26:32 +01:00
Sebastian McKenzie
2d195c4843 add logging for publish cli 2015-06-26 20:30:24 +01:00
Sebastian McKenzie
2f0d0c94ef try alternate merge parameter 2015-06-26 20:30:16 +01:00
Sebastian McKenzie
5e3ea5b6e7 add update-ref master to merge-development-with-master script 2015-06-26 19:48:48 +01:00
Sebastian McKenzie
95128f98bc Merge branch 'master' into development 2015-06-26 16:59:49 +01:00
Sebastian McKenzie
c4d1d58167 +x 2015-06-26 16:59:43 +01:00
Sebastian McKenzie
7da1d9fadd wrap TRAVIS_COMMIT variable in curlies for consistency 2015-06-26 16:48:52 +01:00
Sebastian McKenzie
6ab57fd367 rebuild website on new version, automatically merge development branch with master - closes #1854, closes #1849 2015-06-26 16:46:52 +01:00
Sebastian McKenzie
d4edce6559 only publish babel-cli when the directory has had changes since the last version - fixes #1848 2015-06-26 16:21:37 +01:00
Sebastian McKenzie
9c8cb33a09 remove babel-core from babel-cli packag.ejson 2015-06-26 16:19:22 +01:00
Sebastian McKenzie
a2fb70bae3 fix deprecated return from visitor method api 2015-06-26 15:16:31 +01:00
Sebastian McKenzie
273a81fe1f fix up babel-eslint dependency 2015-06-26 15:15:19 +01:00
Sebastian McKenzie
72a0ac5e02 v5.6.14 2015-06-26 15:09:03 +01:00
Sebastian McKenzie
c5ace10536 update babel-eslint 2015-06-26 15:07:56 +01:00
Sebastian McKenzie
b833614b87 update travis with new npm api key 2015-06-26 14:10:05 +01:00
Sebastian McKenzie
ae067a08b7 switch to mocha dot reporter 2015-06-26 13:23:15 +01:00
Sebastian McKenzie
f56337541f change readme tagline 2015-06-26 13:23:08 +01:00
Sebastian McKenzie
1fe8447a1a add test release explanation to changelog 2015-06-26 12:25:40 +01:00
Sebastian McKenzie
13bbfa041d v5.6.13 2015-06-26 12:25:00 +01:00
Sebastian McKenzie
c43bbb9bf6 use npm to publis new version - fixes #1847 2015-06-26 12:24:01 +01:00
Sebastian McKenzie
1bca59a921 clean up readme - add back badges 2015-06-26 11:54:51 +01:00
Sebastian McKenzie
f80fdf7359 5.6.12 2015-06-26 11:41:34 +01:00
Sebastian McKenzie
aefd69d31e v5.6.12 2015-06-26 11:40:40 +01:00
Sebastian McKenzie
e328031b19 add 5.6.12 changelog 2015-06-26 11:39:47 +01:00
Sebastian McKenzie
571b6a4cd7 check parent node alongside path in shadow functions 2015-06-26 11:39:10 +01:00
Sebastian McKenzie
41cf942391 clean up shadow functions findParent logic - fixes #1846 2015-06-26 11:34:13 +01:00
Sebastian McKenzie
98f28b8e89 5.6.11 2015-06-26 02:40:00 +01:00
Sebastian McKenzie
8f88afc037 v5.6.11 2015-06-26 02:39:04 +01:00
Sebastian McKenzie
6359675a4f make shadowed function findParent target finder more reliable 2015-06-26 02:38:14 +01:00
Sebastian McKenzie
a265c3f25c add missing semi 2015-06-26 02:25:46 +01:00
Sebastian McKenzie
29eb99ee93 rejigger shadowd function findParent logic 2015-06-26 02:24:42 +01:00
Sebastian McKenzie
0c5c1ff989 remove unused variable 2015-06-26 02:22:10 +01:00
Sebastian McKenzie
499951123a add 5.6.11 changelog 2015-06-26 02:21:34 +01:00
Sebastian McKenzie
c0fd4c1f9e merge es6.parameters.rest and es6.parameters.default transformers
This is necessary in order to retain correct function arity and to have
completely correct semantics. Sometimes features are tied together so much
that they would require so much desugaring to retain the correct semantics
that they'd be equivalent to... the normal transpiled output.
2015-06-26 02:20:16 +01:00
Sebastian McKenzie
579e6fecee upgrade internal dev babel dependency to 5.6.10 2015-06-26 02:05:43 +01:00
Sebastian McKenzie
bb3665a3b6 5.6.10 2015-06-26 01:12:50 +01:00
Sebastian McKenzie
e6de688234 v5.6.10 2015-06-26 01:11:32 +01:00
Sebastian McKenzie
4c233e88ff add use strict 2015-06-26 01:09:47 +01:00
Sebastian McKenzie
ae2ba0b5a3 add 5.6.10 changelog 2015-06-26 01:08:36 +01:00
Sebastian McKenzie
e34d950793 require babel-core at the top of the file 2015-06-26 01:07:54 +01:00
Sebastian McKenzie
e4083fbbd7 add support for trailing commas in arrow function parameter lists - fixes #1841 2015-06-26 00:37:33 +01:00
Sebastian McKenzie
59ed7977ef 5.6.9 2015-06-25 23:59:12 +01:00
Sebastian McKenzie
dc441e9a8f v5.6.9 2015-06-25 23:58:07 +01:00
Sebastian McKenzie
2e21795f57 add index.js to fix internal api error 2015-06-25 23:57:16 +01:00
Sebastian McKenzie
5c988f7fc8 5.6.8 2015-06-25 23:35:34 +01:00
Sebastian McKenzie
493826973e v5.6.8 2015-06-25 23:34:30 +01:00
Sebastian McKenzie
1acc71aa4e fix api module id relative tests 2015-06-25 23:32:43 +01:00
Sebastian McKenzie
bbab5f72ec add 5.6.8 changelog 2015-06-25 23:31:07 +01:00
Sebastian McKenzie
58ff9e387a remove root internals protect 2015-06-25 23:30:43 +01:00
Sebastian McKenzie
5a0d099984 don't add protect to register either 2015-06-25 23:28:27 +01:00
Sebastian McKenzie
05c95e04f7 don't add protect to polyfill 2015-06-25 23:26:24 +01:00
Sebastian McKenzie
88430b4be2 forgive hotlinking to polyfill 2015-06-25 23:24:45 +01:00
Sebastian McKenzie
19adcfae4d add type import 2015-06-25 23:22:42 +01:00
Sebastian McKenzie
7c4fe984ce start linting babel-cli/bin - fixes #1836 2015-06-25 23:22:38 +01:00
Sebastian McKenzie
4476e8311c use relative tools/protect.js filenames 2015-06-25 23:20:18 +01:00
Sebastian McKenzie
2a3142273d add path-exists dependency to babel-cli 2015-06-25 23:20:08 +01:00
Sebastian McKenzie
bbcb889a49 Merge branch 'master' of github.com:babel/babel 2015-06-25 23:04:24 +01:00
Sebastian McKenzie
c87f85815b used filter rather than setting init properties to null in properties.computed transformer - fixes #1831 2015-06-25 23:04:17 +01:00
Sebastian McKenzie
48d0df17d0 Merge pull request #1832 from Mark-Simulacrum/path-exists
Use path-exists module instead of fs.exists.
2015-06-25 22:57:27 +01:00
Sebastian McKenzie
01b243347f add NodePath#baseTypeStrictlyMatches method 2015-06-25 22:55:46 +01:00
Sebastian McKenzie
45a5cbf72f use capitalised builder method 2015-06-25 22:55:35 +01:00
Sebastian McKenzie
05efae1c58 complete t.createTypeAnnotationBasedOnTypeof 2015-06-25 22:55:25 +01:00
Sebastian McKenzie
c08fff4b44 add node builder for normal AST node type 2015-06-25 22:55:12 +01:00
Sebastian McKenzie
13e910ea83 force spaces for binary expressions - fixes #1835 2015-06-25 22:55:00 +01:00
Mark-Simulacrum
b308602098 Use path-exists instead of fs.exists.
fs.exists is being deprecated, see: https://github.com/nodejs/io.js/issues/103.
2015-06-25 12:39:39 -06:00
Sebastian McKenzie
560a044d8f Merge pull request #1821 from kpdecker/destructure-performance
Avoid deopt in iterable destructure template
2015-06-25 15:23:53 +01:00
Sebastian McKenzie
619fbe4c3b Merge pull request #1830 from kpdecker/avoid-define-property
Avoid defineProperty when not needed
2015-06-25 15:23:39 +01:00
kpdecker
1d83ad6cce Avoid defineProperty when not needed
This lets us use the fast path for most object literal assignments and then utilizes the defineProperty path when there is a chance that we could hit the setter issue described in #357.

10x performance boosts seen for the six-speed test case, going from 200k operations/sec to 2M ops/sec.
2015-06-25 09:22:03 -05:00
kpdecker
5353ccd773 Move slice iterator helper out of primary call
Avoids overhead of instantiating the helper on each call to the slice to array helper.
2015-06-25 09:18:12 -05:00
Sebastian McKenzie
a8e23d2eb9 ignore templates folder in protect plugin 2015-06-25 14:33:38 +01:00
Sebastian McKenzie
95d830fde0 don't output comma separator for decorator list and output Property decorators - fixes #1811 2015-06-25 12:23:45 +01:00
Sebastian McKenzie
c8a5d7d970 Merge branch 'arthurvr-dep' 2015-06-25 12:12:21 +01:00
Sebastian McKenzie
43481eb2cc Merge branch 'dep' of https://github.com/arthurvr/babel into arthurvr-dep 2015-06-25 12:12:19 +01:00
Sebastian McKenzie
b8bb665691 Merge branch 'arthurvr-tests' 2015-06-25 12:12:05 +01:00
Sebastian McKenzie
e6846b2730 Merge branch 'tests' of https://github.com/arthurvr/babel into arthurvr-tests 2015-06-25 12:12:05 +01:00
Sebastian McKenzie
31c1286a3c protect internal files from hotlinking 2015-06-25 12:10:22 +01:00
Arthur Verschaeve
489f9e92b5 Add tests for util.resolve 2015-06-25 10:10:56 +02:00
Arthur Verschaeve
073809efac Remove leven dependency 2015-06-25 09:37:27 +02:00
Brian Donovan
c9b8e2f3ce Merge pull request #1822 from azu/patch-1
Add missing asterisk in CHANGELOG
2015-06-24 21:23:51 -07:00
azu
c6cb871355 Add missing asterisk in CHANGELOG 2015-06-25 13:17:23 +09:00
kpdecker
1b0e5b3ed1 Avoid deopt in iterable destructure template
The try/catch was forcing deoptimization under most engines. This roughly doubles throughput under V8 and 7x increases were seen under Firefox.

Performance numbers based on https://github.com/kpdecker/six-speed/tree/master/tests/destructuring
2015-06-24 22:42:13 -05:00
Sebastian McKenzie
0f70c76312 5.6.7 2015-06-25 04:18:49 +01:00
Sebastian McKenzie
e8c672bf4f v5.6.7 2015-06-25 04:17:52 +01:00
Sebastian McKenzie
7083ac61ff remove test.js 2015-06-25 04:16:06 +01:00
Sebastian McKenzie
d256809120 Merge branch 'master' of github.com:babel/babel
# Conflicts:
#	src/babel/traversal/path/replacement.js
2015-06-25 04:12:13 +01:00
Sebastian McKenzie
26a19f82d2 add 5.6.7 changelog 2015-06-25 04:11:40 +01:00
Sebastian McKenzie
128d3b5c91 add missing computed loose test - ref #1820 2015-06-25 04:11:32 +01:00
Sebastian McKenzie
c1a080d0ca supress duplicate deprecation messages 2015-06-25 04:11:13 +01:00
Sebastian McKenzie
0b1ce6c9a4 always coerce leading computed property initialisers into the init object - fixes #1820 2015-06-25 04:10:56 +01:00
Sebastian McKenzie
a6f04055c0 fix block scoping transformer 2015-06-25 04:10:32 +01:00
Sebastian McKenzie
c3219e8b88 deprecate returning source strings from visitor methods 2015-06-25 03:51:25 +01:00
Sebastian McKenzie
a35c863341 deprecate returning source strings from visitor methods 2015-06-25 03:50:10 +01:00
Sebastian McKenzie
6f862a4c45 actually push for left declaration to the returned block scoping body - fixes #1819 2015-06-25 03:48:29 +01:00
Sebastian McKenzie
cf38210fd2 5.6.6 2015-06-24 23:28:44 +01:00
Sebastian McKenzie
5c9d564339 v5.6.6 2015-06-24 23:27:44 +01:00
Sebastian McKenzie
031a61515b add labels, and inX properties to lookahead getState 2015-06-24 23:26:59 +01:00
Sebastian McKenzie
d3884fd53b add inType assignment in flow parse declare method 2015-06-24 23:26:48 +01:00
Sebastian McKenzie
c6eef3080e add 5.6.6 changelog 2015-06-24 23:26:35 +01:00
Sebastian McKenzie
25be0a974d fixing linting errors 2015-06-24 23:20:03 +01:00
Sebastian McKenzie
7ccd135e83 fix isKeyword flow overload 2015-06-24 23:18:21 +01:00
Sebastian McKenzie
4fc1bbeb60 acorn resync 2015-06-24 23:15:27 +01:00
Sebastian McKenzie
32a4d7172b optimise generator for compact mode 2015-06-24 23:15:22 +01:00
Sebastian McKenzie
aa25903c05 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
23ec1a455e upgrade babel-plugin-dead-code-elimination 2015-06-24 23:14:08 +01:00
Sebastian McKenzie
e6ac2d049b add 5.6.5 changelog 2015-06-24 13:50:53 +01:00
Sebastian McKenzie
084ae31816 5.6.5 2015-06-24 13:48:43 +01:00
Sebastian McKenzie
8e530afd78 v5.6.5 2015-06-24 13:47:54 +01:00
Sebastian McKenzie
6c66a82b37 Merge branch 'master' of github.com:babel/babel 2015-06-24 13:46:05 +01:00
Sebastian McKenzie
737abca3a9 use this.space() instead of manually pushing 2015-06-24 13:45:56 +01:00
Sebastian McKenzie
9db43ca7a9 clean up t.isReferenced 2015-06-24 13:45:48 +01:00
Sebastian McKenzie
25b0683316 add Path#couldBeBaseType 2015-06-24 13:45:32 +01:00
Sebastian McKenzie
a096f6b1c5 fix noOptimise state being incorrect when recursing into multiple nested functions - fixes #1815 2015-06-24 13:45:14 +01:00
Sebastian McKenzie
e41ab2ab0c Merge pull request #1807 from benjamn/patch-1
Update Regenerator dependency to 0.8.31.
2015-06-23 17:07:25 +01:00
Ben Newman
6a6764fa7b Update Regenerator dependency to 0.8.31.
Fixes #1805.
2015-06-23 12:06:48 -04:00
Sebastian McKenzie
a2358d6863 5.6.4 2015-06-22 20:39:14 +01:00
Sebastian McKenzie
612ef79d35 v5.6.4 2015-06-22 20:38:12 +01:00
Sebastian McKenzie
2dfa6ddf36 add 5.6.4 changelog 2015-06-22 20:37:00 +01:00
Sebastian McKenzie
2910d4f82c fix Program can only be replaced with another Program error 2015-06-22 20:36:34 +01:00
Sebastian McKenzie
4b6c954f5e add ParenthesizedExpression node type for plugins to generate 2015-06-22 20:36:12 +01:00
Sebastian McKenzie
b7e23e3410 5.6.3 2015-06-22 11:57:53 +01:00
Sebastian McKenzie
a19f10e124 v5.6.3 2015-06-22 11:56:46 +01:00
Sebastian McKenzie
8e1f134635 fix rest parameter array allocation loop being incorrectly aliased - fixes #1800 2015-06-22 11:54:57 +01:00
Sebastian McKenzie
aa151016f5 5.6.2 2015-06-22 00:10:56 +01:00
Sebastian McKenzie
ce3c6289a2 v5.6.2 2015-06-22 00:08:52 +01:00
Sebastian McKenzie
0364519869 remove unused import 2015-06-22 00:06:43 +01:00
Sebastian McKenzie
58cda35831 log spread element rest parameter as a candidate instead of replacing it in place - fixes #1796 2015-06-22 00:06:03 +01:00
Sebastian McKenzie
ebaa06f4a2 add ensureBlock path method 2015-06-21 23:59:14 +01:00
Sebastian McKenzie
4b0f624fb3 turn method literal keys into assignments in loose mode - fixes #1797 2015-06-21 23:59:06 +01:00
Sebastian McKenzie
aa0f3ac5d0 5.6.1 2015-06-21 00:07:07 +01:00
Sebastian McKenzie
725906a7dc v5.6.1 2015-06-21 00:05:13 +01:00
Sebastian McKenzie
13d5c94b8b update transformation tests 2015-06-21 00:03:29 +01:00
Sebastian McKenzie
85308a1e8c fix super spread in loose mode 2015-06-21 00:01:19 +01:00
Sebastian McKenzie
83bcaba1a5 downgrade to babel 5.5.7 2015-06-21 00:01:11 +01:00
Sebastian McKenzie
185648cb2c 5.6.0 2015-06-20 23:44:46 +01:00
Sebastian McKenzie
be355fc1c6 fix build-runtime script 2015-06-20 23:37:46 +01:00
Sebastian McKenzie
7795e11d58 v5.6.0 2015-06-20 23:35:51 +01:00
Sebastian McKenzie
8f74e8068c fix generation tests to reflect acorn update 2015-06-20 23:35:02 +01:00
Sebastian McKenzie
4f08a77230 resync with upstream acorn 2015-06-20 23:28:49 +01:00
Sebastian McKenzie
4ac33d62af move spec.functionName transformer to builtin-basic - fixes #1743 2015-06-20 22:51:20 +01:00
Sebastian McKenzie
2710a914e8 add noop transform method to IgnoreFormatter 2015-06-20 22:48:45 +01:00
Sebastian McKenzie
8934e7f9da Merge branch 'master' of github.com:babel/babel 2015-06-20 22:48:00 +01:00
Sebastian McKenzie
b4f18e05fa Merge pull request #1776 from zertosh/matches-pattern-this
matchPattern fixes and "this" handling
2015-06-20 22:47:52 +01:00
Sebastian McKenzie
c07540a2c4 extend module IgnoreFormatter from DefaultFormatter - fixes #1763, closes #1771 2015-06-20 22:47:32 +01:00
Sebastian McKenzie
c409f63bbe Merge pull request #1772 from arthurvr/booleanify-tests
Add tests for util.booleanify
2015-06-20 22:22:08 +01:00
Sebastian McKenzie
d3c30b669f update babel-plugin-runtime 2015-06-20 22:21:44 +01:00
Sebastian McKenzie
d10856d16c don't terminate CLI when watching files fail compilation on init - fixes #1678 2015-06-20 22:14:21 +01:00
Sebastian McKenzie
fb08a519c8 register labels as bindings - fixes #1747 2015-06-20 22:10:29 +01:00
Sebastian McKenzie
6a8ecf2507 add uniq to filenames in babel-cli - fixes #1731 2015-06-20 22:04:33 +01:00
Sebastian McKenzie
100317e0c8 split react displayName addition into a plugin - fixes #1761 2015-06-20 22:01:40 +01:00
Sebastian McKenzie
a32f744341 disable module import receiver when in loose mode - fixes #1788 2015-06-20 21:49:31 +01:00
Sebastian McKenzie
c4feff3cb7 add more whitespace 2015-06-20 21:49:01 +01:00
Sebastian McKenzie
498297ce6b check for invalid binding identifiers when generating inferred method names - fixes #1794 2015-06-20 21:48:42 +01:00
Sebastian McKenzie
2412c1d502 remove bluebird 2015-06-20 21:48:18 +01:00
Sebastian McKenzie
d92e1a4fb8 Merge pull request #1793 from lydell/patch-1
Update to js-tokens@1.0.1
2015-06-20 13:28:27 +01:00
Simon Lydell
1d0d050413 Update to js-tokens@1.0.1 2015-06-20 09:03:26 +02:00
Sebastian McKenzie
a607ac0077 Merge pull request #1786 from callumacrae/update-regenerator
Update regenerator
2015-06-18 17:57:43 +01:00
Callum Macrae
41f5e7c077 removed ^ from regenerator 2015-06-18 17:57:04 +01:00
Callum Macrae
99604362ed update regenerator 2015-06-18 17:52:16 +01:00
Sebastian McKenzie
2c8e374eaf add back non-es5 number guard in literal code gen 2015-06-17 22:56:08 +01:00
Sebastian McKenzie
238c68f829 fix member expression generation on object integers 2015-06-17 22:54:45 +01:00
Ingvar Stepanyan
09b334ad21 Add guard against non-ES5 integer literals. 2015-06-17 21:11:20 +03:00
Sebastian McKenzie
d647ede94b fix up raw number literal 2015-06-17 17:58:03 +01:00
Sebastian McKenzie
6386b60b9a add comments to types generator 2015-06-17 16:53:23 +01:00
Sebastian McKenzie
25749a9933 clear properties to undefined in traverse.removeProperties 2015-06-17 16:53:08 +01:00
Ingvar Stepanyan
fd4c0dae95 Generate original number representation when value was not changed. 2015-06-17 18:20:35 +03:00
Andres Suarez
80d362c534 fix matchesPattern with deep member expressions 2015-06-16 23:37:32 -04:00
Andres Suarez
59820b9a84 matchesPattern recognizes "this" 2015-06-16 22:48:50 -04:00
Sebastian McKenzie
f6ff366edf add getEarliestCommonAncestorFrom jsdoc description 2015-06-17 02:40:15 +01:00
Sebastian McKenzie
c7cac7aaba add deply nested smart insertion of rest parameter allocation 2015-06-17 02:34:42 +01:00
Sebastian McKenzie
0647d374a3 add more comments 2015-06-17 02:09:38 +01:00
Sebastian McKenzie
25c2816a85 fix ancestry index loopup in Path#getEarliestCommonAncestorFrom 2015-06-17 02:07:35 +01:00
Sebastian McKenzie
b57a80ecae optimise rest parameters in spread element position and allocate rest array at the earliest common ancestor of all references - fixes #1768 2015-06-17 01:57:14 +01:00
Sebastian McKenzie
574d47a571 finish removal of esquery 2015-06-17 01:56:01 +01:00
Sebastian McKenzie
7c5d2b19b7 remove esquery 2015-06-17 01:38:49 +01:00
Arthur Verschaeve
c7669f44c1 Add tests for util.booleanify 2015-06-16 20:18:33 +02:00
Sebastian McKenzie
0ed5c5f480 add check for JSXMemberExpression to t.isReferenced 2015-06-16 02:29:59 +01:00
Sebastian McKenzie
94c34e0132 throw error when attemping to replace a Program root node with another node not of type Program - closes #1762 2015-06-16 01:53:53 +01:00
Sebastian McKenzie
92c4bbd003 remove unused import 2015-06-16 00:43:41 +01:00
Sebastian McKenzie
ec8e840841 upgrade babel-plugin-undeclared-variables-check 2015-06-16 00:42:30 +01:00
Sebastian McKenzie
1c3c64c12c add modulesDuplicateDeclarations message 2015-06-16 00:42:21 +01:00
Sebastian McKenzie
cae80d6e9b add scope to addImport importSpecifier call 2015-06-16 00:42:13 +01:00
Sebastian McKenzie
aaf29ddd82 move validation.undeclaredVariableCheck up 2015-06-16 00:42:03 +01:00
Sebastian McKenzie
fb485567b9 support module live bindings in arbitary positions not in Program statement position - fixes #1760 2015-06-16 00:41:53 +01:00
Sebastian McKenzie
050bcec617 add messages property to plugin context and add --copy-files flag to babel-plugin build 2015-06-15 18:55:03 +01:00
Sebastian McKenzie
6231015557 fix spelling mistake in CONTRIBUTING 2015-06-15 18:54:23 +01:00
Sebastian McKenzie
822eb47ee7 move more transformers into plugins 2015-06-15 18:54:14 +01:00
Sebastian McKenzie
91161ae9a1 Merge pull request #1758 from pygy/master
Add tests for IIFEs as default exports.
2015-06-15 18:36:27 +01:00
Pierre-Yves Gerardy
4c1b4b6490 Add tests for IIFEs as default exports. 2015-06-15 19:28:17 +02:00
Sebastian McKenzie
e792256087 add parse and traverse to plugin babel context 2015-06-15 16:36:56 +01:00
Sebastian McKenzie
19ad22f6e8 update tests to reflect new plugin api 2015-06-15 16:36:45 +01:00
Sebastian McKenzie
01818a50fa fix up babel-plugin CLI 2015-06-15 16:36:34 +01:00
Sebastian McKenzie
3247851019 yank out more transformers and put them into plugins 2015-06-15 16:35:41 +01:00
Sebastian McKenzie
939c00d33c Merge branch 'master' of github.com:babel/babel 2015-06-15 15:18:35 +01:00
Sebastian McKenzie
8b096ac705 start movement of core into plugins 2015-06-15 15:17:04 +01:00
Sebastian McKenzie
30c4a0cf06 Merge pull request #1726 from tikotzky/fix-require-hook-under-istanbul
Fix require hook under istanbul
2015-06-15 11:09:41 +01:00
Sebastian McKenzie
e08d400b36 Merge pull request #1733 from hzoo/i-1732
remove empty strings from beginning of template - fixes #1732
2015-06-15 10:46:28 +01:00
Sebastian McKenzie
7e080aa9d2 Merge pull request #1753 from loganfsmyth/optimize-call
Optimize NodePath#call a bit
2015-06-15 10:46:10 +01:00
Sebastian McKenzie
c0e5059634 Merge pull request #1752 from loganfsmyth/hidden-class-change
Initialize properties to avoid hidden class thrashing.
2015-06-15 10:45:30 +01:00
Logan Smyth
f8f5684faa Avoid concatenating callbacks and ensure that callback lists are arrays ahead of time. 2015-06-14 23:00:38 -07:00
Logan Smyth
2c3e9fbc07 Initialize properties to avoid hidden class thrashing. 2015-06-14 22:26:44 -07:00
Sebastian McKenzie
b9d066d953 add special case for null in get helper 2015-06-15 00:15:22 +01:00
Sebastian McKenzie
94e15b0750 remove unused variable 2015-06-14 23:52:09 +01:00
Sebastian McKenzie
3256c1d120 Merge branch 'master' of github.com:babel/babel 2015-06-14 23:44:30 +01:00
Sebastian McKenzie
eba9f0ffbd clean up default constructor in derived classes - fixes #1748 2015-06-14 23:44:21 +01:00
Sebastian McKenzie
52c3c143f9 add BindingIdentifier virtual type 2015-06-14 20:21:02 +01:00
Brian Donovan
b0f797205b Merge pull request #1744 from silfverstrom/bugg/typo-in-messages
Fixed very minor typo in messages.js.
2015-06-14 07:57:25 -07:00
Niklas Silfverström
dd52c6a687 Fixed very minor typo in messages.js. 2015-06-14 08:06:55 +02:00
Mordy Tikotzky
3cf773b528 fix register hook when not registering for .js extension. 2015-06-14 00:31:14 -04:00
Henry Zhu
98424f80af template-literals: remove unnecessary strings, only add "" to beginning if second node isn't a string - fixes #1732 2015-06-13 14:34:33 -04:00
Sebastian McKenzie
708879ff1b fix auxiliary comment option in makefile 2015-06-13 19:01:50 +01:00
Sebastian McKenzie
70042bb0a8 update internal babel version to latest 2015-06-13 18:57:22 +01:00
Sebastian McKenzie
0f7711a202 5.5.8 2015-06-13 18:54:52 +01:00
Sebastian McKenzie
27f039488e v5.5.8 2015-06-13 18:53:41 +01:00
Sebastian McKenzie
e3ce82e12f remove console.log 2015-06-13 18:50:51 +01:00
Sebastian McKenzie
4934ea56a0 change NodePath#inType to use arguments instead of types 2015-06-13 18:50:19 +01:00
Sebastian McKenzie
ce03457b19 add getOpposite path method 2015-06-13 18:50:05 +01:00
Sebastian McKenzie
1298c67949 rename getOwnBindingInfo to getOwnBinding 2015-06-13 18:49:59 +01:00
Sebastian McKenzie
668274edcb remove resolve-rc file 2015-06-13 18:49:37 +01:00
Sebastian McKenzie
0694a7dd06 5.5.7 2015-06-13 02:23:28 +01:00
Sebastian McKenzie
20d19735fc v5.5.7 2015-06-13 02:22:20 +01:00
Sebastian McKenzie
b5b6bf4ad5 add isDirective method, 2015-06-13 02:21:22 +01:00
Sebastian McKenzie
844c10cac0 fix reference to inferers 2015-06-13 02:20:04 +01:00
Sebastian McKenzie
43583e4e9d pick only current constant violation if it's of the same scope 2015-06-13 02:19:57 +01:00
Sebastian McKenzie
f5b921cda9 better errorWithNode that's consolidated across paths and files 2015-06-13 02:19:44 +01:00
Sebastian McKenzie
763892aa79 remove unused variable 2015-06-13 02:19:30 +01:00
Sebastian McKenzie
3e6eae4d1a Merge branch 'master' of github.com:babel/babel 2015-06-13 02:00:22 +01:00
Sebastian McKenzie
7c090c8580 Merge pull request #1740 from zertosh/cli-fixes
Really fix "--help"
2015-06-13 01:56:58 +01:00
Andres Suarez
a5f6c1c389 Really fix "--help" 2015-06-12 20:54:53 -04:00
Sebastian McKenzie
c159f2d982 Merge branch 'master' of github.com:babel/babel 2015-06-13 01:54:33 +01:00
Sebastian McKenzie
9205f10244 Merge pull request #1719 from jmm/internals-docs2
Internals documentation
2015-06-13 01:53:04 +01:00
Sebastian McKenzie
4cd7bcad59 Merge pull request #1727 from zertosh/cli-fixes
Fix "--help" distinguish optional transforms
2015-06-13 01:52:46 +01:00
Andres Suarez
7e9660efd3 Fix "--help" distinguish optional transforms 2015-06-12 20:51:52 -04:00
Sebastian McKenzie
2d66ce5224 Merge pull request #1724 from arthurvr/bool
Update `util.booleanify()` return type
2015-06-13 01:48:30 +01:00
Sebastian McKenzie
1257b2cf40 Merge pull request #1736 from grncdr/patch-1
Remove duplicate keys from alias-keys.json
2015-06-12 20:33:54 +01:00
Stephen Sugden
f21d935de5 Add aliases from JSX* tags to Expression 2015-06-12 12:24:24 -07:00
Stephen Sugden
2e20364793 Remove duplicate keys from alias-keys.json
Fixes #1734
2015-06-12 20:58:41 +02:00
Sebastian McKenzie
e47e8a187a Merge branch 'master' of github.com:babel/babel 2015-06-11 19:06:41 +01:00
Ingvar Stepanyan
26924d5944 Fix dependency reference of Symbol.hasInstance 2015-06-10 22:07:40 +03:00
Arthur Verschaeve
5eb1850a55 Update util.booleanify() return type
Ref 62f37c1e62
2015-06-10 16:54:43 +02:00
Sebastian McKenzie
333e287226 remove special minification.removeConsole ExpressionStatement handling 2015-06-10 13:14:44 +01:00
Ingvar Stepanyan
deaf03dd28 Fixes & optimizations to es6.spec.arrowFunctions. 2015-06-10 12:28:10 +03:00
Sebastian McKenzie
80a77bd6a2 fix linting error 2015-06-10 03:16:07 +01:00
Sebastian McKenzie
c9286a1de1 rewrite option handling - fixes #1636 2015-06-10 03:07:06 +01:00
Sebastian McKenzie
52f614dcdf add better path execution status algo 2015-06-10 01:36:36 +01:00
Sebastian McKenzie
600367ae25 add t.COMPARISON_BINARY_OPERATORS 2015-06-10 01:34:51 +01:00
Sebastian McKenzie
b761cba135 split auxiliary comment option into before and after - fixes #1721 2015-06-10 01:34:44 +01:00
Sebastian McKenzie
947d3e262d push newline after decorator when doing code gen - fixes #1713 2015-06-10 01:19:58 +01:00
Sebastian McKenzie
4061bea528 change execution order of module metadata visitor to resolve module source before building up metadata tree - fixes #1720 2015-06-10 01:15:11 +01:00
Sebastian McKenzie
de195e5bfc Merge branch 'master' of github.com:babel/babel 2015-06-10 01:10:41 +01:00
Sebastian McKenzie
3bcef86973 Merge pull request #1720 from chadhietala/failing-metadata-test
Metadata object does not take in account resolveModuleSource()
2015-06-10 01:10:09 +01:00
Sebastian McKenzie
fa670ac71e visually split up inference inferer methods 2015-06-09 22:52:21 +01:00
Sebastian McKenzie
572261f9ce add support for typecasts in path static evaluation 2015-06-09 22:52:00 +01:00
Chad Hietala
8a320d53a5 Metadata object does not take in account resolveModuleSource()
This adds a failing test to illustrate the metadata object not reflecting what is returned from resolveModuleSource(). I might also not understand resolveModuleSource's purpose. However, this was the hook mentioned here https://github.com/babel/babel/issues/1602.
2015-06-09 14:26:33 -07:00
Jesse McCarthy
0650eedeb6 Add reference to doc dir to CONTRIBUTING. 2015-06-09 15:37:01 -04:00
Jesse McCarthy
2282d066a2 Start doc dir for internals documentation. 2015-06-09 15:37:01 -04:00
Ingvar Stepanyan
15ae0b669b Added spec arrow transformer.
Enforces:
* `new arrowFn(...)` is disallowed;
* `arrowFn.prototype` does not exist.
2015-06-09 18:18:44 +03:00
Sebastian McKenzie
f4d7cc55c1 split inference logic into separate folder 2015-06-09 14:02:57 +01:00
Sebastian McKenzie
eaaa279aa5 add let binding collision todo 2015-06-09 04:08:44 +01:00
Sebastian McKenzie
0595e06e29 5.5.6 2015-06-09 04:08:36 +01:00
Sebastian McKenzie
9b27a170ae v5.5.6 2015-06-09 04:07:15 +01:00
Sebastian McKenzie
1db232da9e add 5.5.6 changelog 2015-06-09 04:06:06 +01:00
Sebastian McKenzie
4cc844f410 take into consideration assignment expressions in loop heads when replacing let references - fixes #1707 2015-06-09 04:04:14 +01:00
Sebastian McKenzie
024ae670cb fix traceur test blacklist 2015-06-09 03:48:22 +01:00
Sebastian McKenzie
429edda9c0 ignore StringIterator traceur test 2015-06-09 03:40:08 +01:00
Sebastian McKenzie
05b13b9ea3 fix mistyped parameter name of t.createTypeAnnotationBasedOnTypeof 2015-06-09 03:26:40 +01:00
Sebastian McKenzie
b7320ce400 add t.createTypeAnnotationBasedOnTypeof method 2015-06-09 03:23:28 +01:00
Sebastian McKenzie
0c37b7b973 add typeof conditional inference 2015-06-09 03:20:32 +01:00
Sebastian McKenzie
bb36dbd8d9 update to latest traceur and enable now passing tests 2015-06-09 03:20:02 +01:00
Sebastian McKenzie
2dd8c40618 heavily simplify constants transformer 2015-06-09 00:31:18 +01:00
Sebastian McKenzie
33128b0ccf remove unused declaration 2015-06-08 23:59:53 +01:00
Sebastian McKenzie
cf25424295 fix duplicate declaration 2015-06-08 23:49:00 +01:00
Sebastian McKenzie
7492074794 infer types of bindings inside of conditionals based on usage 2015-06-08 23:43:46 +01:00
Sebastian McKenzie
c4a491123e disallow line terminator after async contextual keyword - fixes #1711 2015-06-08 21:25:16 +01:00
Sebastian McKenzie
55ad88fe4e don't override types parameter 2015-06-08 14:59:19 +01:00
Sebastian McKenzie
7170dbced8 Merge branch 'master' of github.com:babel/babel 2015-06-08 14:53:54 +01:00
Sebastian McKenzie
b0971412a2 add inference for null, remove any type parameter from inferred arrays, add todo comment 2015-06-08 14:52:35 +01:00
Sebastian McKenzie
a6b374a681 save union type in _getTypeAnnotationBindingConstantViolations to prevent infinite recursion 2015-06-08 14:52:13 +01:00
Sebastian McKenzie
2d0355b3b9 merge previous bindings constantViolations and path onto new bindings constantViolations 2015-06-08 14:49:09 +01:00
Sebastian McKenzie
7fade101be move down module TypeAlias check 2015-06-08 14:47:58 +01:00
Sebastian McKenzie
0918da8569 Merge pull request #1708 from hawkrives/patch-2
Update README.md for the Slack channel
2015-06-08 12:35:08 +01:00
Hawken Rives
917db622c4 Update README.md
Switch out the gitter link for slack.
2015-06-08 20:33:09 +09:00
Sebastian McKenzie
f7ee6fbd20 move travis notifications from gitter to slack 2015-06-08 12:20:38 +01:00
Sebastian McKenzie
5899e9a0be don't consider type aliases to be a default declaration - fixes #1705 2015-06-08 12:20:30 +01:00
Sebastian McKenzie
d41cb11545 fix registerDeclaration for FlowDeclarations 2015-06-08 01:46:05 +01:00
Sebastian McKenzie
3ad909a4ae add 5.5.5 changelog 2015-06-08 01:45:56 +01:00
Sebastian McKenzie
4bafdf733c 5.5.5 2015-06-08 01:29:54 +01:00
Sebastian McKenzie
b825998c63 v5.5.5 2015-06-08 01:27:46 +01:00
Sebastian McKenzie
6b02ca47c3 add missing semicolon 2015-06-08 01:27:02 +01:00
Sebastian McKenzie
ea1b85bffa fix bug where templates were getting polluted with old traversal paths 2015-06-08 01:25:51 +01:00
Sebastian McKenzie
3cffe47eea fix NodePath#isGenericType method name 2015-06-08 01:00:01 +01:00
Sebastian McKenzie
e5d5a9fb27 remove unused variable 2015-06-08 00:33:41 +01:00
Sebastian McKenzie
ca97fa63a9 Merge branch 'master' of github.com:babel/babel 2015-06-08 00:30:05 +01:00
Sebastian McKenzie
f4cc27bc0e remove unused variable 2015-06-08 00:29:52 +01:00
Sebastian McKenzie
8cea575e2e change NodePath#findParent to only call callback with path instead of node 2015-06-08 00:29:46 +01:00
Sebastian McKenzie
c91baee4d5 add support for flow declarations in scope tracking 2015-06-08 00:04:17 +01:00
Sebastian McKenzie
8055ce29f7 add support for flow declarations in scope tracking 2015-06-07 23:57:19 +01:00
Sebastian McKenzie
4596ae48b8 remove acorn jsx tests as the jsx parser is no longer embedded 2015-06-07 23:57:11 +01:00
Sebastian McKenzie
6c268cdf21 split out path comment methods into a separate file 2015-06-07 23:49:29 +01:00
Sebastian McKenzie
fce977f1d7 update TraversalContext#shouldVisit to check for existence of visitor keys 2015-06-07 23:38:39 +01:00
Sebastian McKenzie
a298075949 check for loc value on comments before attempting to adjust it 2015-06-07 23:37:47 +01:00
Sebastian McKenzie
66599c3779 use scope paths hub instead of manually passing the hub to the scope 2015-06-07 23:37:33 +01:00
Sebastian McKenzie
60340244b1 when constructing a NodePath, inherit parent paths hub if one wasn't passed to us 2015-06-07 23:36:32 +01:00
Sebastian McKenzie
eb72ea3e5a rename path verification methods to introspection and add NodePath#getSource method 2015-06-07 23:36:12 +01:00
Sebastian McKenzie
ede6237b6f add NodePath#addComment method 2015-06-07 23:35:46 +01:00
Sebastian McKenzie
e91e10aae6 add FlowStatement and FlowDeclaration alias keys 2015-06-07 23:35:35 +01:00
Sebastian McKenzie
9c3cca0d25 rename NodePath#isTypeAnnotationGeneric to isTypeAnnotation 2015-06-07 23:35:09 +01:00
Sebastian McKenzie
8eee5367f3 add Noop node 2015-06-07 23:34:35 +01:00
Sebastian McKenzie
40d55a3d44 update makefile browser build filename 2015-06-07 20:24:21 +01:00
Sebastian McKenzie
75330304dc fix linting errors 2015-06-07 20:04:30 +01:00
Sebastian McKenzie
776c508418 add node build to Makefile 2015-06-07 19:41:28 +01:00
Sebastian McKenzie
e804741632 add module metadata - closes #1601 2015-06-07 19:41:20 +01:00
Sebastian McKenzie
3d3cb4be4f completely rework type inferrence, support coercing to union types and be more reliable in the inferrence and always be cautious 2015-06-07 19:39:53 +01:00
Sebastian McKenzie
64f4209119 recurse into type casts when trying to get it's expression - fixes #facebook/react-native#1526 2015-06-07 02:45:06 +01:00
Sebastian McKenzie
2ede226ef9 remove unused variables 2015-06-06 16:35:28 +01:00
Sebastian McKenzie
f5cf641c0a add support for async generators to type inferrence 2015-06-06 16:17:55 +01:00
Sebastian McKenzie
1abd3419f6 simplify NodePath.getScope 2015-06-06 16:17:43 +01:00
Sebastian McKenzie
75699db716 clean up options normalisation and add more comments 2015-06-06 16:17:30 +01:00
Sebastian McKenzie
7c3572f08c fix linting errors 2015-06-06 03:38:12 +01:00
Sebastian McKenzie
9dacde6d07 further implement the concept of a "Hub" that all traversal paths get access to, also add in some assertions to confirm path state when performing manipulation 2015-06-06 03:34:08 +01:00
Sebastian McKenzie
8c3aab9a26 add support for async functions to type inferrence 2015-06-06 03:33:32 +01:00
Sebastian McKenzie
ba4550c953 switch some node-parent based stuff to path-based 2015-06-06 03:33:22 +01:00
Sebastian McKenzie
d0ac65a934 add _paths in t.inherits 2015-06-06 03:32:35 +01:00
Sebastian McKenzie
a4c70bb029 this commit makes the following changes to the way paths are handled:
- store paths on parents instead of containers
 - implement one central hub that all traversal paths and scopes get access to in order to abstract out access to common functions
2015-06-06 03:32:22 +01:00
Sebastian McKenzie
795cf0c0b1 add ignore/only tests to ensure #1693 never happens again 2015-06-05 23:11:10 +01:00
Sebastian McKenzie
e64b90e322 5.5.4 2015-06-05 23:07:27 +01:00
Sebastian McKenzie
d69b0973e1 v5.5.4 2015-06-05 23:03:55 +01:00
Sebastian McKenzie
6296f49653 update minification.constantFolding transformer to deopt bindings that are reassigned in a different function scope 2015-06-05 23:01:31 +01:00
Sebastian McKenzie
9f2b739046 improve Scope#dump to print binding info 2015-06-05 23:00:50 +01:00
Sebastian McKenzie
da1d5e5577 simplify unary resolution and move operators to types 2015-06-05 23:00:06 +01:00
Sebastian McKenzie
7333b4e392 move staticPropBody class concat to after className check in es6.classes transformer 2015-06-05 22:44:03 +01:00
Sebastian McKenzie
b0442d0784 add back shouldIgnore check that went missing around 32f19aff99 - closes #1696, fixes #1693 2015-06-05 22:43:32 +01:00
Sebastian McKenzie
295e69f8f8 fix auxiliaryComment option name for istanbul interop - fixes #1695 2015-06-05 22:40:28 +01:00
Sebastian McKenzie
cfe844fa39 add boolean type to experimental option 2015-06-05 22:36:16 +01:00
Sebastian McKenzie
0f4ea2d2a6 use file.log.deprecate instead of throwing an error - fixes #1694 2015-06-05 22:35:46 +01:00
Sebastian McKenzie
4b85b05839 use actual parameter reference for non-last default parameters - fixes #1690 2015-06-05 14:08:18 +01:00
Sebastian McKenzie
2539d08dce 5.5.3 2015-06-05 14:07:34 +01:00
Sebastian McKenzie
c26fd7a819 fix regenerator version 2015-06-05 14:07:27 +01:00
Sebastian McKenzie
2053610429 v5.5.3 2015-06-05 12:20:22 +01:00
Sebastian McKenzie
cd4f83b299 fix linting errors 2015-06-05 12:19:32 +01:00
Sebastian McKenzie
ec29ba19a9 add 5.5.3 changelog 2015-06-05 12:18:43 +01:00
Sebastian McKenzie
9dc03e0978 traverse over ClassProperty path rather than node 2015-06-05 12:17:55 +01:00
Sebastian McKenzie
bc4258eca9 add type inferrence for template literals 2015-06-05 12:17:45 +01:00
Sebastian McKenzie
b0e58f9770 add completion statement test and enable experimental option on deadCodeElimination tests 2015-06-05 12:17:36 +01:00
Sebastian McKenzie
a1e2641c91 5.5.2 2015-06-05 12:17:18 +01:00
Sebastian McKenzie
9108422f99 v5.5.2 2015-06-05 12:03:38 +01:00
Sebastian McKenzie
9e8f4b25ca add missing semicolon 2015-06-05 12:02:30 +01:00
Sebastian McKenzie
1cecd24823 make experimental warning more scary 2015-06-05 12:01:52 +01:00
Sebastian McKenzie
97f6e1469b add 5.5.2 changelog 2015-06-05 12:01:44 +01:00
Sebastian McKenzie
ec46eaf224 add scary experimental warning for people who use obscure transformers that are still WIP 2015-06-05 11:55:09 +01:00
Sebastian McKenzie
a102692103 when using babel/register always use the cwd - fixes #1689 2015-06-05 11:54:52 +01:00
Sebastian McKenzie
0376ec8ff0 t.isPure -> this.isPure - fixes #1688 2015-06-05 11:33:25 +01:00
Sebastian McKenzie
5932a07610 5.5.1 2015-06-05 09:57:21 +01:00
Sebastian McKenzie
6110b0c0b3 v5.5.1 2015-06-05 09:56:27 +01:00
Sebastian McKenzie
365e221d95 fix deoptValue binding boolean - fixes #1687 2015-06-05 09:55:47 +01:00
Sebastian McKenzie
acbc4859c0 only remove ClassProperty in flow transformer when it has no value 2015-06-05 09:53:59 +01:00
Sebastian McKenzie
55750e05e7 Revert "enable es6.spec.symbols by default"
This reverts commit f3acedbf08.
2015-06-05 09:44:22 +01:00
Sebastian McKenzie
ba9c4db673 finish 5.5.1 changelog - ref #1686 2015-06-05 09:43:34 +01:00
Sebastian McKenzie
ba8a63a69e remove trailing json comma 2015-06-05 09:42:53 +01:00
Sebastian McKenzie
25581981b5 always remove ClassProperty nodes in flow transformer - fixes #1686 2015-06-05 09:42:46 +01:00
Sebastian McKenzie
02a6feed73 update template literal parsing to properly handle newlines 2015-06-05 09:36:37 +01:00
Sebastian McKenzie
f3acedbf08 enable es6.spec.symbols by default 2015-06-05 08:43:41 +01:00
Sebastian McKenzie
35ab4ffaab 5.5.0 2015-06-05 08:12:17 +01:00
Sebastian McKenzie
ddfb7f2c11 v5.5.0 2015-06-05 08:11:10 +01:00
Sebastian McKenzie
e2ca03f92d fix linting errors 2015-06-05 08:10:22 +01:00
Sebastian McKenzie
c75a3c68e5 add 5.5.0 changelog 2015-06-05 08:08:20 +01:00
Sebastian McKenzie
5d617ea99b upgrade regenerator - fixes #1685 2015-06-05 07:56:33 +01:00
Sebastian McKenzie
58059a2c48 add deoptValue method to Binding that ignores all subsequent setValue calls 2015-06-05 07:52:57 +01:00
Sebastian McKenzie
4c2936773a update type inferrence to support unary operators 2015-06-05 07:47:22 +01:00
Sebastian McKenzie
c7c16ad9c1 add control flow support and deopt bindings on assignments that we can't understand 2015-06-05 07:46:32 +01:00
Sebastian McKenzie
7b676d608b allow NodePaths to be returned in node removal/replacement methods and coerce them to nodes 2015-06-05 07:46:10 +01:00
Sebastian McKenzie
48ecec1e2e move more transformers to builtin-pre group 2015-06-05 07:45:32 +01:00
Sebastian McKenzie
9dc72e71d4 add skipKey method to skip traversal of subsequent keys 2015-06-05 07:45:19 +01:00
Sebastian McKenzie
4a7a02b9af rename builtin-setup transformer group to builtin-pre 2015-06-05 07:44:45 +01:00
Sebastian McKenzie
7cb460d2f3 add eval optional transformer 2015-06-05 07:44:29 +01:00
Sebastian McKenzie
0a7dac8744 move flow to builtin-trailing group 2015-06-05 07:44:15 +01:00
Sebastian McKenzie
667d595a73 use type inferrence to work out whether to wrap template literals with the String constructor 2015-06-05 07:43:58 +01:00
Sebastian McKenzie
2d2d957be5 add back ComprehensionBlock binding identifier keys and remove body form ComprehensionBlock visitor keys 2015-06-04 22:50:17 +01:00
Sebastian McKenzie
5aef7afade fix remaining AssignmentExpression LHS ReferencedIdentifier bugs 2015-06-04 22:43:50 +01:00
Sebastian McKenzie
d5e7b5616c Merge branch 'master' of github.com:babel/babel 2015-06-04 22:23:42 +01:00
Sebastian McKenzie
9aa17a6cc2 don't consider JSXIdentifier HTML tags to be references - fixes #1683 2015-06-04 22:23:24 +01:00
Sebastian McKenzie
0f13097f59 add basic naive constant folding of assignment expressions 2015-06-04 22:08:38 +01:00
Sebastian McKenzie
355ffbdaf8 don't consider the LHS of an AssignmentExpression to be a reference 2015-06-04 22:07:44 +01:00
Sebastian McKenzie
45b0d63d72 copy parent class binding to class in the collection visitor 2015-06-04 22:07:19 +01:00
Sebastian McKenzie
c515271fbd Merge pull request #1677 from jmm/node_modules-robust3
Complete "Fix flawed require hook node_modules check" properly
2015-06-03 19:23:41 +01:00
Jesse McCarthy
6f3501876a Add test for require-hook node_modules check. 2015-06-03 09:04:59 -04:00
Jesse McCarthy
f8afc5fa17 Revert "Add test for require-hook node_modules check."
This reverts commit 1488d88c81.

Wrong branch was accidentally merged. There is a better test.
2015-06-03 09:04:59 -04:00
Sebastian McKenzie
4ecda93147 move deprecated minification.inlineExpressions to aliases 2015-06-03 10:05:56 +01:00
Sebastian McKenzie
41847162b1 check if es7.exportExtensions ie enabled in parser 2015-06-03 10:05:39 +01:00
Sebastian McKenzie
0f7e010e3e remove isSpecifierDefault check for ExportDefaultSpecifier - fixes #1673 2015-06-03 10:05:19 +01:00
Sebastian McKenzie
8201ea0aa2 Merge branch 'master' of github.com:babel/babel
# Conflicts:
#	src/babel/api/register/node.js
2015-06-03 07:26:46 +01:00
Sebastian McKenzie
a7848c1822 Merge branch 'jmm-node_modules-robust' 2015-06-03 07:26:19 +01:00
Sebastian McKenzie
d4abaeeecf Merge branch 'node_modules-robust' of https://github.com/jmm/babel into jmm-node_modules-robust 2015-06-03 07:26:12 +01:00
Sebastian McKenzie
871a82df0a Merge pull request #1665 from Jabher/master
Making babel able to run in node_modules directory
2015-06-03 07:25:22 +01:00
Sebastian McKenzie
ffbf5b0b47 convert property key to computed before checking if it's a displayName property in the react transformer builder - closes #1671 2015-06-02 23:08:46 +01:00
Sebastian McKenzie
9dcceaeb40 move minification.deadCodeElimination back to the builtin-setup transformer group 2015-06-02 17:08:49 +01:00
Sebastian McKenzie
556e58a4ab register function declarations anyway as we may not have hit them 2015-06-02 17:08:31 +01:00
Sebastian McKenzie
b6c35743e6 add import types 2015-06-02 16:24:32 +01:00
Sebastian McKenzie
0abd34f7e6 Merge branch 'master' of github.com:babel/babel 2015-06-02 16:18:13 +01:00
Sebastian McKenzie
cafd7f8e39 add Infinity/NaN, string/number member expressions/calls and Math calls static evaluation 2015-06-02 16:18:08 +01:00
Sebastian McKenzie
43c0a0e65f remove all non-function statements after completion statements in blocks 2015-06-02 16:16:36 +01:00
Sebastian McKenzie
7b359f46fd rename minification.inlineExpressions to minification.constantFolding 2015-06-02 16:16:10 +01:00
Sebastian McKenzie
880827f6ce Merge pull request #1669 from wincent/mixed-type
Add "mixed" Flow type
2015-06-02 16:15:23 +01:00
Greg Hurrell
0c300058a3 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
d35be22f7d add support for resolving array expression elements 2015-06-02 00:32:18 +01:00
Sebastian McKenzie
ff8d90061f add "istanbul ignore next" auxiliary comment when using istanbul compat mode for babel/register 2015-06-02 00:32:07 +01:00
Vsevolod Rodionov
e66109f9d0 Making babel able to run in node_modules directory (while still ignoring node_modules packages)
In case if app is installed by npm install <git tarball url> which is very comfortable thing (postinstall hooks, automatic package installation and so on) babel is unable to run over packages, e.g.
```
 ~/node_modules/some_app$ node-babel app.js
  ```
 is crashing as babel do not want in node_modules directory.

 relative path gives ability to check whether lib is in node_modules _relative_ to current app, so that if app is ran in node_modules by itself it will not be captured.
2015-06-01 14:55:51 -07:00
Sebastian McKenzie
1934c16f0f don't use initializer property for decorators on concise methods in object literals 2015-06-01 22:32:04 +01:00
Sebastian McKenzie
012ac7d9ec remove accidental console.log introduced in 80a7f13460 2015-06-01 22:01:27 +01:00
Jesse McCarthy
efb3b04225 Make node_modules path check robust. 2015-06-01 16:54:56 -04:00
Jesse McCarthy
1488d88c81 Add test for require-hook node_modules check.
(Failing.)
2015-06-01 16:54:52 -04:00
Sebastian McKenzie
80a7f13460 register named method id as a reference to avoid collisions - fixes #1664 2015-06-01 21:53:34 +01:00
Sebastian McKenzie
8919fc22b1 only infer single identifier new expression callees 2015-06-01 21:52:54 +01:00
Sebastian McKenzie
b1273cb774 Merge pull request #1663 from pangratz/fix_for_referencesImport
Minor fix for `referencesImport`
2015-06-01 18:13:49 +01:00
pangratz
0843b8355e Minor fix for referencesImport 2015-06-01 19:09:33 +02:00
Sebastian McKenzie
6457677fb4 add support for NewExpression and reference plain node 2015-06-01 17:29:02 +01:00
Sebastian McKenzie
f8a860bf21 remove unused import 2015-06-01 14:32:58 +01:00
Sebastian McKenzie
f2bed33db8 add type inference for ConditionalExpression, SequenceExpression, AssignmentExpression and add support for base type aliases in isTypeAnnotationGeneric method 2015-06-01 14:25:06 +01:00
Sebastian McKenzie
7d2c6525d8 flesh out type inferrence some more, rename some of the NodePath methods to be less ambiguous, remove dead Binding type methods 2015-06-01 14:01:14 +01:00
Sebastian McKenzie
de652dc747 change getBindingIdentifier keys to be just a string instead of an array 2015-06-01 12:06:36 +01:00
Sebastian McKenzie
9f1053212b add EmptyStatement to t.toSequenceExpression 2015-06-01 12:06:16 +01:00
Sebastian McKenzie
76690a3deb renamed Path#isPreviousType to isType 2015-06-01 12:05:42 +01:00
Sebastian McKenzie
50f2f2fc98 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
Sebastian McKenzie
5c27234d19 change TCO BlockStatement visitor back to enter 2015-06-01 00:17:44 +01:00
Sebastian McKenzie
6f5d16f397 remove TCOable check 2015-06-01 00:14:12 +01:00
Sebastian McKenzie
e42a43e3d1 remove unnecessary strict helper 2015-05-31 23:40:59 +01:00
Sebastian McKenzie
bfd307cd57 move some visitors out of deoptimising enter method 2015-05-31 23:40:42 +01:00
Sebastian McKenzie
beb5ee1333 remove useless generator test helpers 2015-05-31 21:26:22 +01:00
Sebastian McKenzie
cde871555d don't pass comments in tokens to estraverse 2015-05-31 21:26:12 +01:00
Sebastian McKenzie
51b0ffa7bf prepend Comment to comment node types 2015-05-31 20:25:26 +01:00
Sebastian McKenzie
255c819727 optimise ES6 tail call transformer to only try TOC on functions that include a call to themselves 2015-05-31 15:40:41 +01:00
Sebastian McKenzie
152ccb2ce8 check if ObjectExpression has any gets/sets before filtering 2015-05-31 15:40:07 +01:00
Sebastian McKenzie
bdb3adfeea revert parts of 07a992e 2015-05-31 09:47:27 +01:00
Sebastian McKenzie
236086bee5 ignore trailing commas when inferring newlines - fixes #1304 2015-05-31 09:46:05 +01:00
Sebastian McKenzie
1436753e6d fix linting errors 2015-05-31 09:24:12 +01:00
Sebastian McKenzie
eadf8ef799 fix syntax error in helpers/parse 2015-05-31 09:20:16 +01:00
Sebastian McKenzie
f1e20cf6ff remove useless comment 2015-05-31 09:16:34 +01:00
Sebastian McKenzie
82a0851526 push comments to token stream to avoid having to re-sort - #1486 2015-05-31 09:16:27 +01:00
Sebastian McKenzie
07a992e6d3 add support for tail calls when in completion record position - fixes #1572 2015-05-31 09:07:44 +01:00
Sebastian McKenzie
f642c2baa8 relax key aliases for plain methods - fixes #1649 2015-05-30 23:53:39 -04:00
Sebastian McKenzie
2f7743cafb optimise module metadata retrieval - #1486 2015-05-30 23:42:24 -04:00
Sebastian McKenzie
44112f2d87 remove unused variable 2015-05-30 23:18:50 -04:00
Sebastian McKenzie
99c4810770 add regeneratot transform to builtin-advanced group 2015-05-30 23:18:45 -04:00
Sebastian McKenzie
9f2ac15695 move jscript transformer to the builtin-trailing group and perform transform on exit - closes #1652, fixes #1651 2015-05-30 23:09:25 -04:00
Sebastian McKenzie
19c1ee157f simplify scope parent alias keys 2015-05-30 23:08:42 -04:00
Sebastian McKenzie
973270772b use ForX alias instead of manually listing all types 2015-05-30 23:08:28 -04:00
Sebastian McKenzie
7334326042 remove extra semicolon 2015-05-30 22:37:18 -04:00
Sebastian McKenzie
4043e8e8b9 fix destructuring transformer AssignmentExpression to properly handle completion records 2015-05-30 22:33:09 -04:00
Sebastian McKenzie
7fd403998c remove dead code 2015-05-30 22:32:48 -04:00
Sebastian McKenzie
1f7fcc2985 Merge branch 'master' of github.com:babel/babel 2015-05-30 22:13:59 -04:00
Sebastian McKenzie
ba19bd36a4 optimise scope tracking into a single pass - #1486 2015-05-30 22:07:03 -04:00
Sebastian McKenzie
e119681b1f return paths accordingly in insertBefore and insertAfter methods 2015-05-30 22:03:25 -04:00
Sebastian McKenzie
fbe22e53a9 add check for dynamic node and output error message accordingly 2015-05-30 22:02:56 -04:00
Sebastian McKenzie
79e826fcc8 attempt to optimise node printing by shifting it into a class 2015-05-30 22:02:29 -04:00
Sebastian McKenzie
cf940268b9 add noScope to template visitor 2015-05-30 22:02:15 -04:00
Sebastian McKenzie
96bb572307 use flow type shorthand for eaching over specifiers 2015-05-30 19:09:23 -04:00
Sebastian McKenzie
5dafe0b66a collapse t.getBindingIdentifiers comment 2015-05-30 19:08:14 -04:00
Sebastian McKenzie
29e24a4cbe don't evaluate non-referenced identifiers 2015-05-30 19:07:58 -04:00
Sebastian McKenzie
f979d55b71 remove special ExpressionStatement handling in destructuring transformer 2015-05-30 19:07:31 -04:00
Sebastian McKenzie
164b2116a3 switch expontentation evaluation to just use the operator 2015-05-30 19:05:31 -04:00
Dan Abramov
55e623a099 Merge pull request #1650 from jmm/contrib-build-version
Make note about buildable versions more prominent.
2015-05-30 11:29:59 +03:00
Jesse McCarthy
a60b4b1302 Make note about buildable versions more prominent. 2015-05-29 14:14:15 -04:00
Dan Abramov
bf23e59bbf Add a note about building older versions. Fixes #1643 2015-05-29 16:50:34 +03:00
Sebastian McKenzie
eb4cee89c5 add referencesImport path method - fixes #1423 2015-05-28 11:39:51 -04:00
Sebastian McKenzie
fb94a87a4d add support for cluster forking - fixes #1611 2015-05-28 10:36:29 -04:00
Sebastian McKenzie
9613c7fdb6 fix linting error 2015-05-28 10:30:09 -04:00
Sebastian McKenzie
d8c97fba15 check plugin.default and then just plugin to support ES6 modules - closes #1627 2015-05-28 10:25:50 -04:00
Sebastian McKenzie
0f663560d4 add --nolazy to babel-node - fixes #1639 2015-05-28 10:24:31 -04:00
Sebastian McKenzie
4901075960 deopt rest parameter member expression optimisation on child arrow functions - fixes #1631 2015-05-28 10:22:12 -04:00
Sebastian McKenzie
4aec242979 add some comments to some path methods and remove some dead code 2015-05-28 10:04:46 -04:00
Sebastian McKenzie
d1d95e0e49 check LHS of ForIn/ForOfStatement for constants - closes #1630 2015-05-28 10:04:32 -04:00
Sebastian McKenzie
d3c643b004 clean up path resolution and add in path resolution recursion detection - cc @RReverser 2015-05-25 19:08:08 +01:00
Sebastian McKenzie
98eb30c482 rename Path#remove to Path#dangerouslyRemove 2015-05-25 16:17:28 +01:00
Sebastian McKenzie
2d43ffb5b4 remove removal scope hooks 2015-05-25 15:57:22 +01:00
Sebastian McKenzie
a195701de2 remove dead code 2015-05-25 15:28:23 +01:00
Sebastian McKenzie
f639f4bea7 upgrade babel-eslint 2015-05-25 15:28:16 +01:00
Sebastian McKenzie
334cbb06c6 flesh out removal hooks more 2015-05-25 15:28:11 +01:00
Sebastian McKenzie
f4a3b2f01a add link to readme in contributing guide so people can't whinge and note in the README that issues without reproducible examples will be closed 2015-05-25 14:55:37 +01:00
Sebastian McKenzie
dbe6f1b9a9 merge remove parent context checks 2015-05-25 04:30:17 +01:00
Sebastian McKenzie
73ada57a17 don't inline classes and functions when they're in different scopes in the utility.deadCodeElimination transformer 2015-05-25 03:33:12 +01:00
Sebastian McKenzie
8e2b743f7e add support for resyncing container on changes 2015-05-25 03:32:25 +01:00
Sebastian McKenzie
a533042503 fix bad .gitignore paths resulting in some tests and path/lib files not being included... 2015-05-25 01:42:54 +01:00
Sebastian McKenzie
49953e3464 enable no-unused-vars in eslint 2015-05-25 01:32:06 +01:00
Sebastian McKenzie
0bf95d6aea even more split up of path methods 2015-05-25 01:01:21 +01:00
Sebastian McKenzie
7d88a1ca0b rename TraversalPath to NodePath and further split up methods into separate files 2015-05-25 00:43:46 +01:00
Sebastian McKenzie
ec74eb41cf reneable eslint and fix assorted linting errors 2015-05-25 00:42:59 +01:00
Sebastian McKenzie
3139482358 clean and fix up visitor merging 2015-05-24 18:15:46 +01:00
Sebastian McKenzie
32f19aff99 clean up file processing API 2015-05-24 18:15:34 +01:00
Sebastian McKenzie
23bead9226 Merge branch 'master' of github.com:babel/babel 2015-05-24 01:45:00 +01:00
Sebastian McKenzie
bd3812c255 handle SwitchStatements as a different type of path when pushing a declaration - fixes #1614 2015-05-24 01:43:04 +01:00
Sebastian McKenzie
e498185a76 Merge pull request #1610 from dekelcohen/master
Fixed Remove Debugger transformer to use DebuggerStatement
2015-05-22 23:36:47 +01:00
Dekel Cohen
167eda4750 Fixed Remove Debugger transformer to use DebuggerStatement 2015-05-23 01:13:23 +03:00
Sebastian McKenzie
3b52ddce6d 5.4.7 2015-05-21 19:00:16 +01:00
Sebastian McKenzie
0e771c5d38 v5.4.7 2015-05-21 18:59:30 +01:00
Sebastian McKenzie
2ec1544f2d add 5.4.7 changelog 2015-05-21 18:58:49 +01:00
Sebastian McKenzie
049ef430b2 5.4.6 2015-05-21 18:58:12 +01:00
Sebastian McKenzie
34eb2babdb don't consider JSXAttribute keys to be referenced identifiers - fixes #1596 2015-05-21 18:58:07 +01:00
Sebastian McKenzie
8706754550 v5.4.6 2015-05-21 18:46:22 +01:00
Sebastian McKenzie
c7b507e119 add 5.4.6 changelog 2015-05-21 18:45:31 +01:00
Sebastian McKenzie
221c632c05 deprecate custom module formatters 2015-05-21 18:44:02 +01:00
Sebastian McKenzie
7dbde208ef spec.functionName transformer: hasBinding(name) returns true for built-in globals, so we attempt to rename the binding but it doesn't exist so exits early, add a check that doesn't perform the renaming and instead uses the wrapper - fixes #1598 2015-05-21 18:43:55 +01:00
Sebastian McKenzie
52a2e3e17c return original input if glob returned nothing in babel-cli - fixes #1591 2015-05-21 10:57:37 +01:00
Sebastian McKenzie
fa22d7dca0 5.4.5 2015-05-21 01:52:03 +01:00
Sebastian McKenzie
9fcdebde08 v5.4.5 2015-05-21 01:44:29 +01:00
Sebastian McKenzie
92157161f0 fix prettyCall generation option 2015-05-21 01:43:02 +01:00
Sebastian McKenzie
82b5479436 add 5.4.5 changelog 2015-05-21 01:41:30 +01:00
Sebastian McKenzie
91a037af55 Merge pull request #1590 from Khan/fix_retainLines_with_jsx
tests for retainLines formatting
2015-05-21 01:39:33 +01:00
Kevin Barabash
067fccc2c9 tests for retainLines formatting 2015-05-20 18:36:47 -06:00
Sebastian McKenzie
348c0d2542 handle TCO for calls that exceed the functions parameter count - fixes #1589 2015-05-21 01:21:49 +01:00
Sebastian McKenzie
f2f6bbb02c clean up explosion of module declarations, remove and inherit comments when taking off the declaration - fixes #1583 2015-05-21 01:03:23 +01:00
Sebastian McKenzie
16f7b967b5 ignore CallExpression _prettyCall when retainLines is enabled - fixes #1585 2015-05-21 00:21:18 +01:00
Sebastian McKenzie
270a8be68d add JSXIdentifier as a valid ReferencedIdentifier - fixes #1584 2015-05-21 00:20:53 +01:00
Sebastian McKenzie
82254d9d9b force push space for await/async - fixes #1581 2015-05-20 12:45:04 +01:00
Sebastian McKenzie
759a265fb0 5.4.4 2015-05-20 10:52:28 +01:00
Sebastian McKenzie
ee46f45c90 v5.4.4 2015-05-20 10:50:35 +01:00
Sebastian McKenzie
c45ce61550 print assignment pattern shorthand with matching key nicely 2015-05-20 10:44:36 +01:00
Sebastian McKenzie
b36cf11ac8 add 5.4.4 changelog 2015-05-20 10:44:17 +01:00
Sebastian McKenzie
dca0f72e4d clarify default option descriptions - fixes #1577 2015-05-20 10:36:58 +01:00
Sebastian McKenzie
68a99ed1e9 fix es6.modules-system for head hoisting 2015-05-20 10:35:01 +01:00
Sebastian McKenzie
af4feb4d88 fix renaming of assignment expressions to fix pattern renaming in the es6.blockScoping transformer - fixes #1576 2015-05-20 10:34:50 +01:00
Sebastian McKenzie
de1e965fec fix placement of for loop in es6.modules-system hoisting test 2015-05-20 10:15:42 +01:00
Sebastian McKenzie
430c5df0e7 rename sourceMapName option to sourceMapTarget - closes #1568 2015-05-20 10:14:28 +01:00
Sebastian McKenzie
9b12f799f7 clean up system module formatter hoisting visitor and allow contextual replacement of variable declarations with expressions in for head positions - fixes #1570 2015-05-20 10:07:29 +01:00
Sebastian McKenzie
f3a9c6ee5d Merge pull request #1562 from clintwood/sourcemap-file
correct cli source map file: value, honor sourceRoot when using -o opion
2015-05-20 09:57:34 +01:00
Sebastian McKenzie
e0aceeafef Merge pull request #1570 from guybedford/system-hoist-bug
System format hoisting bug
2015-05-20 09:57:14 +01:00
Sebastian McKenzie
7643d86047 Merge branch 'master' of github.com:babel/babel 2015-05-20 09:57:03 +01:00
Sebastian McKenzie
98af01a73c update old 6to5 package.json description 2015-05-20 09:56:54 +01:00
Sebastian McKenzie
e280a810c3 add support for all completion record types when exploding an expression to statements 2015-05-20 09:56:45 +01:00
Sebastian McKenzie
7a59575d1e force space before class id when generating classes - fixes #1579 2015-05-20 09:56:19 +01:00
Sebastian McKenzie
b01d8448a0 Merge pull request #1558 from jquense/patch-2
Resolve "babel-plugin-" name before trying the plain name.
2015-05-19 01:28:02 +01:00
jquense
9b3c8569f7 Resolve 'babel-plugin-' name before the plain name
Otherwise you get situations like the following: `plugins: [
'object-assign']` resolves the module `object-assign` (an Object.assign
polyfill) instead of the intended babel plugin:
babel-plugin-object-assign.
2015-05-18 20:26:51 -04:00
Sebastian McKenzie
12104f822f add assignment pattern shorthand support to explode transformer - fixes #1566 2015-05-18 22:44:40 +01:00
Sebastian McKenzie
b4cd2df745 ignore this and arguments when performing TCO on shadowed functions - fixes #1564 2015-05-18 22:41:27 +01:00
guybedford
887ffed84c system hoist bug test case 2015-05-18 23:35:09 +02:00
Sebastian McKenzie
9be3d9c8e1 Merge branch 'master' of github.com:babel/babel 2015-05-18 10:33:12 +01:00
clintwood (Office)
9d3dff3b7a correct cli source map file: value, honor sourceRoot when using -o option 2015-05-18 10:11:20 +02:00
Sebastian McKenzie
55114ec631 update AMD module formatter to add import default remapping - #1150 2015-05-18 02:01:34 +01:00
Sebastian McKenzie
9c3d00d3c3 Merge pull request #1559 from sindresorhus/hometmp
use `home-or-tmp` module instead of `user-home`
2015-05-17 23:50:26 +01:00
Sindre Sorhus
90b8826e73 use home-or-tmp module instead of user-home
The main point about using this instead of just falling back in code is that it depends on an `os.tmpdir()` polyfill [0], which means the tmpdir handling is the same no matter node/iojs version. This is useful as the core `os.tmpdir()` function has changed a lot between node versions.

[0]: https://github.com/sindresorhus/os-tmpdir

---

`os.tmpdir()` diff between Node 0.10.38 and iojs 2.0.2

```diff
+const trailingSlashRe = isWindows ? /[^:]\\$/
+                                  : /.\/$/;
+
 exports.tmpdir = function() {
-  return process.env.TMPDIR ||
-         process.env.TMP ||
-         process.env.TEMP ||
-         (process.platform === 'win32' ? 'c:\\windows\\temp' : '/tmp');
+  var path;
+  if (isWindows) {
+    path = process.env.TEMP ||
+           process.env.TMP ||
+           (process.env.SystemRoot || process.env.windir) + '\\temp';
+  } else {
+    path = process.env.TMPDIR ||
+           process.env.TMP ||
+           process.env.TEMP ||
+           '/tmp';
+  }
+  if (trailingSlashRe.test(path))
+    path = path.slice(0, -1);
+  return path;
 };
```
2015-05-18 00:39:49 +02:00
Sebastian McKenzie
65f39bbf6f switch order of jsx/flow plugins to avoid precedence issues - fixes babel/babel-eslint#103 2015-05-17 22:00:38 +01:00
Sebastian McKenzie
e9eced846f 5.4.3 2015-05-16 02:00:20 +01:00
Sebastian McKenzie
a0befe349d v5.4.3 2015-05-16 01:58:52 +01:00
Sebastian McKenzie
04992effb3 improve lost node path tracking message 2015-05-16 01:54:35 +01:00
Sebastian McKenzie
9ae54d2a50 add 5.4.3 changelog 2015-05-16 01:54:25 +01:00
Sebastian McKenzie
fe72a40159 Revert "add back descriptor.initializer existence check"
This reverts commit 02dfd18023.
2015-05-16 01:50:31 +01:00
Sebastian McKenzie
ea510d09d0 fix module shadowing when using CommonJS-like module formatters - fixes #1544 2015-05-16 01:47:48 +01:00
Sebastian McKenzie
375689a1ff handle path contexts MUCH better, they're now only held during the traversal iteration and the previous context is released upon completion, also verify path keys and try and obtain a new one if invalid - fixes #1545 2015-05-16 01:37:55 +01:00
Sebastian McKenzie
9908e331b7 Merge pull request #1549 from Naddiseo/master
Added DCE tests for all the bugs I've reported so far.
2015-05-15 23:08:32 +01:00
Richard Eames
cd8655708d Added DCE tests for all the bugs I've reported so far. 2015-05-15 15:55:58 -06:00
Sebastian McKenzie
62b94f297a don't create a new binding for local class ids, just copy the parents - fixes #1547 2015-05-15 19:11:24 +01:00
Sebastian McKenzie
01d399ee3c check for existence of variable when checking if node is pure 2015-05-15 18:48:17 +01:00
Sebastian McKenzie
30e3908484 don't perform DCE on single references nested inside the binding initializer - fixes #1546 2015-05-15 18:48:05 +01:00
Sebastian McKenzie
ff12046009 move traverse replace test up 2015-05-15 18:35:15 +01:00
Sebastian McKenzie
1a058b4a6e Merge branch 'master' of github.com:babel/babel 2015-05-15 17:42:40 +01:00
Sebastian McKenzie
02dfd18023 add back descriptor.initializer existence check 2015-05-15 17:42:28 +01:00
Sebastian McKenzie
9ab7df5f47 remove wildcards from start of patterns 2015-05-15 17:42:10 +01:00
Sebastian McKenzie
7a5b140f92 minor generation style nits 2015-05-15 17:41:56 +01:00
Sebastian McKenzie
6f83111c55 Merge pull request #1542 from amasad/already-printed
Fix bug with paren printing in compact + line retained mode
2015-05-15 17:38:40 +01:00
Sebastian McKenzie
f3f60368da remove TraversalPath node getter/setter 2015-05-15 17:34:31 +01:00
Sebastian McKenzie
7a09640b20 add environment to register cache key 2015-05-15 17:34:06 +01:00
Amjad Masad
2916d1262b Don't print leftParen if already printed before the catchup 2015-05-14 23:57:35 -07:00
Amjad Masad
741abb73d2 Add failing test for printing with compact & retainLines 2015-05-14 23:57:05 -07:00
Sebastian McKenzie
2e46755260 5.4.2 2015-05-15 02:36:22 +01:00
Sebastian McKenzie
2cff9519e1 v5.4.2 2015-05-15 02:35:07 +01:00
Sebastian McKenzie
f9c2c6e988 Merge branch 'master' of github.com:babel/babel
# Conflicts:
#	CHANGELOG.md
2015-05-15 02:34:11 +01:00
Sebastian McKenzie
5ae3dc01f1 make path patterns used by only and ignore **very** liberal, this will ease a lot of pain in dealing with them 2015-05-15 02:33:40 +01:00
Sebastian McKenzie
af4fd69dd0 make path patterns used by only and ignore **very** liberal, this will ease a lot of pain in dealing with them 2015-05-15 02:33:22 +01:00
Sebastian McKenzie
4d4493f325 elaborate on shouldIgnore changes in 5.4.1 2015-05-15 02:03:02 +01:00
Sebastian McKenzie
e70d474b39 5.4.1 2015-05-15 02:01:42 +01:00
Sebastian McKenzie
1b45f64858 v5.4.1 2015-05-15 02:00:18 +01:00
Sebastian McKenzie
b89cf6768f fix shouldIgnore only matches switch 2015-05-15 01:57:10 +01:00
Sebastian McKenzie
36ad1108b4 fix loose mode loop being weirdly inserted 2015-05-15 01:56:34 +01:00
Sebastian McKenzie
4c04371ea4 remove loop label due to babel bug 2015-05-15 01:48:47 +01:00
Sebastian McKenzie
d3e385c554 one last try fixing the shouldIgnore only filter... 2015-05-15 01:46:36 +01:00
Sebastian McKenzie
6afcef9805 actually fix shouldIgnore algorithm this time, ugh 2015-05-15 01:44:57 +01:00
Sebastian McKenzie
ed861e230b fix shouldIgnore method for only 2015-05-15 01:41:49 +01:00
Sebastian McKenzie
e15ced2922 add 5.4.1 changelog 2015-05-15 01:37:48 +01:00
Sebastian McKenzie
93052e532f Merge branch 'master' of github.com:babel/babel 2015-05-15 01:35:43 +01:00
Sebastian McKenzie
198d51ddaa heavily improve shouldIgnore algorithm - fixes #1539 2015-05-15 01:34:58 +01:00
Sebastian McKenzie
8730b24def Merge pull request #1540 from browncolyn/master
Added slash as needed dependency
2015-05-15 01:30:50 +01:00
Colyn Brown
f09c0d5998 Added slash as needed dependency 2015-05-14 17:28:20 -07:00
Sebastian McKenzie
21e4481ab7 5.4.0 2015-05-15 00:32:36 +01:00
Sebastian McKenzie
2f61754a24 v5.4.0 2015-05-15 00:29:42 +01:00
Sebastian McKenzie
3910d18bc9 add 5.4.0 changelog 2015-05-15 00:28:47 +01:00
Sebastian McKenzie
583111ebfb expose file metadata object to transformers 2015-05-15 00:24:14 +01:00
Sebastian McKenzie
1b15481460 ignore "ignored files" when babel.transform has determined that it should be ignored, this is likely the result of an rc file resolution - fixes #1362 2015-05-15 00:24:03 +01:00
Sebastian McKenzie
fd9c98ff86 move strict transformer to builtin-setup group - fixes #1538 2015-05-15 00:18:42 +01:00
Sebastian McKenzie
41b5607ef3 fix env option tests 2015-05-15 00:11:28 +01:00
Sebastian McKenzie
ae77ea807f normalise source map file paths when using the CLI - fixes #1496 2015-05-15 00:05:11 +01:00
Sebastian McKenzie
ad44190c6b properly register for head variable declaration paths when performing scope tracking - fixes #1524 2015-05-14 23:53:04 +01:00
Sebastian McKenzie
024e4454a1 add env option - closes #1531 2015-05-14 23:47:56 +01:00
Sebastian McKenzie
14dddcda36 make PathHoister much more flexible, now ignores global references and will not deopt on reassignments and will instead hoist as high as it can, this also fixes #1529 since the order of operations has changed 2015-05-14 23:29:02 +01:00
Sebastian McKenzie
d4fb924b6a add tion comment to all function visitors 2015-05-14 22:37:15 +01:00
Sebastian McKenzie
b02c97af60 Merge pull request #1536 from benjamn/master
Invoke Regenerator on async/generator Function nodes, not whole AST.
2015-05-14 22:27:42 +01:00
Ben Newman
cc611cb71c Invoke Regenerator on async/generator Function nodes, not whole AST.
This should help (dramatically?) with
https://github.com/babel/babel/issues/1486#issuecomment-101491605,
although I'm not sure how to run the benchmarks myself.
2015-05-14 15:42:58 -05:00
Sebastian McKenzie
b8a01a9919 move traversal scope logic and binding into it's own folder, rename Scope#generateTemp to generateDeclaredUidIdentifier, rename Scope#generateUidBasedOnNode to Scope#generateUidIdentifierBasedOnNode 2015-05-14 19:12:26 +01:00
Sebastian McKenzie
55c99661be NFO 2015-05-14 18:07:36 +01:00
Sebastian McKenzie
1563b216df Merge branch 'master' of github.com:babel/babel 2015-05-14 17:56:33 +01:00
Sebastian McKenzie
a9d4b485d9 simplify getStaticContext in es7.functionBind transformer - thanks @RReverser! 2015-05-14 17:48:51 +01:00
Sebastian McKenzie
360daa6267 Merge pull request #1532 from dchambers/prefix-private-methods-with-underscore
Prefix private methods names with underscore.
2015-05-14 16:52:16 +01:00
Sebastian McKenzie
724bf52929 handle "static" contexts in es7.functionBind - #1518 2015-05-14 16:37:44 +01:00
Sebastian McKenzie
7407b37bd9 Merge pull request #1518 from babel/es7.functionBind
Add experimental support for ES7 function bind.
2015-05-14 16:22:21 +01:00
Ingvar Stepanyan
da765cc4c1 Flip the negation in if-else. 2015-05-14 18:05:55 +03:00
dchambers
4f862eee6e Prefix private methods names with underscore. 2015-05-14 13:19:41 +01:00
Ingvar Stepanyan
e05d7cf49a Fix some parsing edge cases for :: operator. 2015-05-14 12:47:51 +03:00
Ingvar Stepanyan
fd8e94a90f Preserve original execution order in :: operator. 2015-05-14 12:39:05 +03:00
Sebastian McKenzie
a6cf28c5b5 Merge pull request #1525 from nkt/exponentiation-operator-inline
Added missing exponential operator inlining
2015-05-13 23:09:57 +01:00
Nikita Gusakov
6b07b13a8e Added missing exponential operator inlining 2015-05-14 01:08:02 +03:00
Sebastian McKenzie
561c4dcc25 5.3.3 2015-05-13 22:09:37 +01:00
Sebastian McKenzie
b516ea596a v5.3.3 2015-05-13 22:08:32 +01:00
Sebastian McKenzie
248758eee3 fix version number 2015-05-13 22:07:33 +01:00
Sebastian McKenzie
a808602ae0 v3.5.3 2015-05-13 22:07:00 +01:00
Sebastian McKenzie
40e3436e95 add 3.5.3 changelog 2015-05-13 22:05:07 +01:00
Sebastian McKenzie
f704770b26 uncomment out return traversal path skipping - fixes #1523 2015-05-13 22:03:50 +01:00
Sebastian McKenzie
330665f150 ignore modules alongside param bindings in minification.deadCodeElimination transformer - fixes #1523 2015-05-13 21:49:28 +01:00
Sebastian McKenzie
af41899d74 5.3.2 2015-05-13 19:58:21 +01:00
Sebastian McKenzie
d12f4d0bc8 v5.3.2 2015-05-13 19:57:20 +01:00
Sebastian McKenzie
97680e9dfd properly hoist all var patterns when wrapping bodies in the es6.blockScoping transformer - fixes #1521 2015-05-13 19:55:40 +01:00
Sebastian McKenzie
51341ca6c3 fix and add missing module specifier reference detection - fixes #1520 2015-05-13 19:23:47 +01:00
Sebastian McKenzie
ab54bfa50e Merge pull request #1519 from zpao/package-licenses
Add license fields to packages
2015-05-13 18:36:25 +01:00
Paul O’Shannessy
60aa933fb6 Add license fields to packages 2015-05-13 10:21:42 -07:00
Ingvar Stepanyan
1a299b2bcc Small fixes to es7.functionBind and generation tests added. 2015-05-13 18:20:33 +03:00
Ingvar Stepanyan
37f662d790 Add experimental support for ES7 function bind. (issue #1287) 2015-05-13 17:58:21 +03:00
Sebastian McKenzie
b0317f9bab don't consider "globals" to cause incompatible scope hoist 2015-05-13 12:33:08 +01:00
Sebastian McKenzie
be2dfaf081 register variable declarator in scope when pushing 2015-05-13 09:11:09 +01:00
Sebastian McKenzie
2c8437ae92 ignore initializerless variable declaration when trying to inline single use variables - fixes #1516 2015-05-13 08:46:41 +01:00
Sebastian McKenzie
2a0bcfd086 add support for evaluating unary ~ 2015-05-13 08:45:16 +01:00
Sebastian McKenzie
2cf41afac3 move expression inlining to exit rather than enter in minification.inlineExpressions transformer 2015-05-13 08:45:06 +01:00
Sebastian McKenzie
e318f5f3be use ReferencedIdentifier virtual type in minification.deadCodeElimination transformer 2015-05-13 08:44:33 +01:00
Sebastian McKenzie
939decb86c stop entire unnecessary traversal for regenerator 2015-05-13 08:44:18 +01:00
Sebastian McKenzie
1baa0df948 clean up array inferrence for #1515 2015-05-13 08:44:03 +01:00
Sebastian McKenzie
e8956a8c44 upgrade dev dependency babel to 5.3.1 2015-05-13 08:43:25 +01:00
Sebastian McKenzie
2f0fdbbc26 5.3.1 2015-05-13 03:21:54 +01:00
Sebastian McKenzie
5f931525bc v5.3.1 2015-05-13 03:20:33 +01:00
Sebastian McKenzie
b86545a320 update 5.3.1 changelog 2015-05-13 03:19:39 +01:00
Sebastian McKenzie
06e75c42bf update module call remap tests 2015-05-13 03:18:55 +01:00
Sebastian McKenzie
05dd65244d add 5.3.1 changelog 2015-05-13 03:16:43 +01:00
Sebastian McKenzie
c4ebfeb0fa fix explosion of modules and colliding identifiers 2015-05-13 03:16:03 +01:00
Sebastian McKenzie
1aa0bbfac9 add TraversalPath#equals 2015-05-13 03:13:27 +01:00
Sebastian McKenzie
58f1e6cbc6 remove incorrect es6.tailCall visitor comment 2015-05-13 03:13:20 +01:00
Sebastian McKenzie
83e0be3038 make import calls sequence expressions - fixes #1514 2015-05-13 03:13:10 +01:00
Sebastian McKenzie
5fc242e4ec upgrade bable dev dependency to 5.3.0 2015-05-13 03:12:32 +01:00
Sebastian McKenzie
dc101adad3 more es6.tailCall transformer cleanup 2015-05-13 01:13:08 +01:00
Sebastian McKenzie
faade72787 optimise and clean up es6.tailCall transformer 2015-05-13 01:11:26 +01:00
Sebastian McKenzie
2a78ae9889 5.3.0 2015-05-13 01:07:11 +01:00
Sebastian McKenzie
9840639843 v5.3.0 2015-05-13 00:13:14 +01:00
Sebastian McKenzie
82c21a901e clean up es6.tailCall thirdPass visitor 2015-05-13 00:11:19 +01:00
Sebastian McKenzie
e1c83144c1 add 5.3.0 changelog 2015-05-13 00:11:08 +01:00
Sebastian McKenzie
ef2ac73215 fix export scope tracking reference counter - fixes #1513 2015-05-12 23:21:30 +01:00
Sebastian McKenzie
735d8955bf sync with upstream acorn 2015-05-12 23:21:30 +01:00
Sebastian McKenzie
3abee0a4fa fix switch case breaks not being correctly transformed when non top-level - fixes #1200 2015-05-12 23:21:30 +01:00
Sebastian McKenzie
b6f18b4f2b Merge pull request #1200 from lukasmlady/regenerator-let-fn-if-bug
Add failing tests that document ES 6 generators bug
2015-05-12 23:21:17 +01:00
Sebastian McKenzie
85cd0465fa Merge pull request #1511 from amasad/trailing-methods
Trailing commas in methods
2015-05-12 21:46:18 +01:00
Amjad Masad
0452e0fdd2 Allow trailing commas in methods 2015-05-12 13:20:36 -07:00
Amjad Masad
462ff572b3 Add failing test for trailing commas in methods 2015-05-12 13:19:21 -07:00
Sebastian McKenzie
d11099bb2b Merge branch 'master' of github.com:babel/babel 2015-05-12 19:13:53 +01:00
Sebastian McKenzie
f5c4684d3e force default parameter IIFE on reference to eval 2015-05-12 19:13:32 +01:00
Sebastian McKenzie
876a22578b Merge pull request #1506 from sverrejoh/patch-1
Added missing license field to package.json
2015-05-12 09:06:55 +01:00
Sverre Johansen
9f5e8b296b Added missing license field to package.json
Project says MIT, but license field missing in package.json
2015-05-12 08:54:56 +02:00
Sebastian McKenzie
d9deb02edc 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
a402d0cdeb ensure that uids don't collide with **any** bindings contained in the program - fixes #1328 2015-05-11 23:37:31 +01:00
Sebastian McKenzie
683fb62505 fix acorn hacky lookahead with token contexts - fixes #1349 2015-05-11 23:20:51 +01:00
Sebastian McKenzie
941474983d clean up es6.objectSuper transformer - fixes #1502 2015-05-11 22:34:08 +01:00
Sebastian McKenzie
2b42773e01 explode duplicate identifiers in export/import specifiers and property shorthand - fixes #1458 2015-05-11 22:08:38 +01:00
Sebastian McKenzie
8277a532f4 skip loose mode for class methods when using decorators, addresses #1501 2015-05-11 17:40:36 +01:00
Sebastian McKenzie
539784b640 add Scope#moveBindingTo method and change more for array loops to for...of 2015-05-11 17:25:09 +01:00
Sebastian McKenzie
f373f8f003 refactor _shadowFunctions transformer to not do an entire traverse per function 2015-05-11 11:38:22 +01:00
Sebastian McKenzie
8605e835eb add exit visitor existence to unvisitable node shortcircuiting 2015-05-11 01:52:19 +01:00
Sebastian McKenzie
b4ace2043a fix shortcircuting of unvisitable nodes 2015-05-11 01:43:18 +01:00
Sebastian McKenzie
444a64e934 remove incorrect no eval in strict mode 2015-05-10 20:01:13 +01:00
Sebastian McKenzie
8ea2ae924d add existence check for ast.comments 2015-05-10 20:00:38 +01:00
Sebastian McKenzie
4ceb1d6f5e short circuit unnecessary visits 2015-05-10 20:00:26 +01:00
Sebastian McKenzie
3c81899ca7 add --harmony_generators to list of node flags - closes #1474, closes #1473 2015-05-10 20:00:12 +01:00
Sebastian McKenzie
ab59fd08e5 fix array type inferrence for file#toArray from being so wonky - fixes #1355 2015-05-10 19:35:41 +01:00
Sebastian McKenzie
19b05b5e61 change some manual array for loops to for..of 2015-05-10 19:35:05 +01:00
Sebastian McKenzie
65a44a1e13 remove use of exports 2015-05-10 16:09:43 +01:00
Sebastian McKenzie
d38f18af40 create null object when clearing internalRemap instead of using an object inherited plain object - fixes #1489 2015-05-09 18:39:59 +01:00
Sebastian McKenzie
2744b9f31f only print misisng ast.comments when available 2015-05-09 17:32:47 +01:00
Sebastian McKenzie
4deed35212 fix syntax errors introduced with previous lodash each removal 2015-05-09 17:27:33 +01:00
Sebastian McKenzie
bc9ae5ea8b remove many instances of lodash each in favor of for of loops 2015-05-09 17:22:01 +01:00
Sebastian McKenzie
87d879e236 Merge branch 'master' of github.com:babel/babel 2015-05-09 16:53:05 +01:00
Sebastian McKenzie
f657598c72 remove noop traversal visitors methods 2015-05-09 16:52:57 +01:00
Sebastian McKenzie
2a5cb9d21b move some utility transformers to minification 2015-05-09 16:52:31 +01:00
Sebastian McKenzie
cf7d6b655e Merge pull request #1487 from amasad/trailing-commas
[es7.trailingFunctionCommas] Allow in new expressions
2015-05-09 03:16:18 +01:00
Amjad Masad
6d2723eec5 New expressions is allowed to have trailing commas in es7 proposal 2015-05-08 19:12:53 -07:00
Amjad Masad
6834cc5b46 Add failing tests for trailing commas in new expressions 2015-05-08 19:12:10 -07:00
Sebastian McKenzie
9b949e574f use block scoped variables in es6.blockScoping transformer 2015-05-09 01:25:36 +01:00
Sebastian McKenzie
a75af0a5d2 optimise es6.constants transformer to use the same traversal path instead of spawning another one 2015-05-09 01:25:21 +01:00
Sebastian McKenzie
080b26769c remove compat-table 2015-05-09 00:09:19 +01:00
Sebastian McKenzie
e037ae7bc9 automatically explode visitors 2015-05-09 00:07:08 +01:00
Sebastian McKenzie
c60ad89937 add verbose mode to logging 2015-05-09 00:06:55 +01:00
Sebastian McKenzie
4194857086 fix system modules test to reflect strict hoisting behaviour 2015-05-08 23:58:25 +01:00
Sebastian McKenzie
1179c44c5b share comments with siblings when nodes are removed - fixes #1484 2015-05-08 23:57:12 +01:00
Sebastian McKenzie
f6d9b270c9 update to tracuer master 2015-05-08 23:48:30 +01:00
Sebastian McKenzie
1be0159b01 Merge pull request #1484 from amasad/type-comment-print
[Flow] Add failing tests for printing comments w/ type alias
2015-05-08 23:46:18 +01:00
Sebastian McKenzie
61ba8ad997 Merge pull request #1472 from babel/single-pass
Merge internal transformers into single traversal pass
2015-05-08 23:36:29 +01:00
Sebastian McKenzie
89e31085d2 ensure dynamic imports are hoisted 2015-05-08 23:33:30 +01:00
Sebastian McKenzie
920c84a1f2 move shadow function visitors to entrance instead of exit 2015-05-08 23:33:20 +01:00
Amjad Masad
ed56fecd04 [Flow] Add failing tests for printing comments w/ type alias 2015-05-08 15:33:00 -07:00
Sebastian McKenzie
f0bfdfb699 skip traversing back into ReturnStatement replacement when rewriting loops in the es6.blockScoping transformer 2015-05-08 23:13:27 +01:00
Sebastian McKenzie
b02a1112bc change ClassExpression visitor to enter instead of exist in the es6.classes transformer 2015-05-08 23:10:02 +01:00
Sebastian McKenzie
590a165776 move hoistDirectives transformer to builtin-setup 2015-05-08 23:09:45 +01:00
Sebastian McKenzie
2fd1b2a484 rename category metadata option to group 2015-05-08 22:54:15 +01:00
Sebastian McKenzie
8f9d02d689 further work splitting up transformers into their own "category" in order of what they need and what they actually do 2015-05-08 22:53:31 +01:00
Sebastian McKenzie
b376b6b33b store uncollapsed transformer pass stack so we have access to it when calling pre and post methods 2015-05-08 22:53:03 +01:00
Sebastian McKenzie
8292d6d8ad fix replacement requeue exiting too early 2015-05-08 22:52:38 +01:00
Sebastian McKenzie
d6a5c39079 update classes to reflect new transformer precedence 2015-05-08 22:52:19 +01:00
Sebastian McKenzie
2a9a59f784 remove incomplete ludicrous transformer 2015-05-08 22:52:02 +01:00
Sebastian McKenzie
abf4a5495a don't pretty print variable declarators in concise mode 2015-05-08 22:51:47 +01:00
Sebastian McKenzie
f8b8723bef Merge pull request #1483 from jquense/patch-1
Fix plugin api typo when an object is passed in
2015-05-08 22:26:45 +01:00
Jason Quense
6b9686f2dd Fix plugin api typo when an object is passed in 2015-05-08 17:25:14 -04:00
Sebastian McKenzie
4a439d8c8e update flow strip type annotations test 2015-05-08 15:52:08 +01:00
Sebastian McKenzie
c526a3eb04 move shadow-functions internal transformer to builtin-cleanup category 2015-05-08 15:51:56 +01:00
Sebastian McKenzie
ba516901af restructure transformers into multiple categories 2015-05-08 15:26:00 +01:00
Sebastian McKenzie
8f52229a86 add get function name to source map classes test 2015-05-08 15:25:50 +01:00
Sebastian McKenzie
5b793f8882 fix TraversalPath#_getPattern incorrectly iterating over the parts 2015-05-08 15:25:34 +01:00
Sebastian McKenzie
b31c14c52a Merge branch 'master' into single-pass 2015-05-08 00:24:33 +01:00
Sebastian McKenzie
78b72512cb better verify the type of the new node before requeueing it and also stop current node traversal on skip 2015-05-08 00:24:04 +01:00
Sebastian McKenzie
2fbb3cad9f add isUser and isGenerated path methods 2015-05-08 00:23:28 +01:00
Sebastian McKenzie
2621081a13 merge in astVisitor in runtime transformer - unsure why this was separate in the first place 2015-05-08 00:23:00 +01:00
Sebastian McKenzie
8daf95bf59 name additional methods that are now covered since the naming is done in tandem 2015-05-08 00:22:43 +01:00
Sebastian McKenzie
6e8ab16b25 run es6.spec.blockScoping transformer on exit rather than enter 2015-05-08 00:22:23 +01:00
Sebastian McKenzie
a5cda5caa7 hoist param declaration when performing tco - fixes #1478 2015-05-07 23:14:03 +01:00
Sebastian McKenzie
13a6c69668 add node existence check to each visitor call 2015-05-07 23:02:40 +01:00
Sebastian McKenzie
380293d030 add transformer dependencies - fixes #1477 2015-05-07 21:35:12 +01:00
Sebastian McKenzie
0b15a97013 Merge branch 'master' into single-pass 2015-05-07 20:15:34 +01:00
Sebastian McKenzie
11af066956 5.2.17 2015-05-07 20:15:17 +01:00
Sebastian McKenzie
d7b4d342c3 v5.2.17 2015-05-07 20:12:47 +01:00
Sebastian McKenzie
77aeebe2a8 add Super node type to ast-types patch 2015-05-07 20:11:37 +01:00
Sebastian McKenzie
c3a08d413f attach auxiliary comment to function declaration helpers - fixes #1476 2015-05-07 20:11:31 +01:00
Sebastian McKenzie
23ac2319af add Super node type to ast-types patch 2015-05-07 20:11:14 +01:00
Sebastian McKenzie
a1bc0704ab attach auxiliary comment to function declaration helpers - fixes #1476 2015-05-07 20:11:02 +01:00
Sebastian McKenzie
0bbfd427af do module formatter on program exit rather than entrance 2015-05-07 16:23:47 +01:00
Sebastian McKenzie
f17b268a71 do member expression and property literal conversion to computed on exit rather than on entrance 2015-05-07 16:23:33 +01:00
Sebastian McKenzie
9ffc265bea don't requeue node unless the type has changed 2015-05-07 16:01:00 +01:00
Sebastian McKenzie
6f664ca64e merge internal transformers into single traversal pass 2015-05-07 15:53:22 +01:00
Sebastian McKenzie
8a4a76000d correctly arrayify commander extensions - closes #1470, fixes #1460 2015-05-07 13:55:12 +01:00
Sebastian McKenzie
e83daf87d4 add this.stop() to secondary strict transformer #1465 2015-05-07 08:38:46 +01:00
Sebastian McKenzie
8ed90d3af2 ignore parameter bindings in minification.deadCodeElimination transformer - fixes #1464 2015-05-07 01:58:54 +01:00
Sebastian McKenzie
0bb311f8ce 5.2.16 2015-05-06 16:45:32 +01:00
Sebastian McKenzie
53f0f0302b v5.2.16 2015-05-06 16:44:28 +01:00
Sebastian McKenzie
c25a5d2480 add 5.2.16 changelog 2015-05-06 16:43:21 +01:00
Sebastian McKenzie
fc8540d88a inherit destructuring param replacement ref from original param - fixes #1461 2015-05-06 16:29:54 +01:00
Sebastian McKenzie
31a4195c81 fix incorrect extensions variable reference - fixes #1460 2015-05-06 16:23:15 +01:00
Sebastian McKenzie
bf0e4ede00 pass correct function scope to nameMethod.property when naming class methods - fixes #1456 2015-05-06 16:03:15 +01:00
Sebastian McKenzie
3757bc6b9a reverse method decorators - fixes #1457 2015-05-06 15:57:21 +01:00
Sebastian McKenzie
2e01f220da Merge branch 'master' of github.com:babel/babel 2015-05-06 15:44:05 +01:00
Sebastian McKenzie
8ae4e1fdf2 add --harmony_rest_parameters flag to babel-node - fixes #1446 2015-05-06 15:43:51 +01:00
Sebastian McKenzie
f6219ec15a Merge pull request #1455 from monsanto/fix-async-constructor
Disallow async constructors
2015-05-06 15:12:12 +01:00
Christopher Monsanto
6a82eb5a5c disallow async constructors -- fixes #1454 2015-05-06 02:50:11 -04:00
Sebastian McKenzie
a241300ff1 force plugins to be ran at all times - fixes #1450 2015-05-06 01:14:17 +01:00
Sebastian McKenzie
d5548a6ff9 5.2.15 2015-05-05 15:41:57 +01:00
Sebastian McKenzie
ba6cb112c3 v5.2.15 2015-05-05 15:41:00 +01:00
Sebastian McKenzie
8f1bb84930 add 5.2.15 changelog 2015-05-05 15:39:05 +01:00
Sebastian McKenzie
235726eee6 remove unnecessary descriptor.initializer check 2015-05-05 15:38:17 +01:00
Sebastian McKenzie
08183ef490 don't add descriptor if we can't find it 2015-05-05 15:37:24 +01:00
Sebastian McKenzie
dc6fc3b30a fix browser-polyfill.js post-make publish purging 2015-05-05 15:37:11 +01:00
Sebastian McKenzie
76f2eb5684 5.2.14 2015-05-05 15:14:59 +01:00
Sebastian McKenzie
4f33687957 v5.2.14 2015-05-05 15:12:19 +01:00
Sebastian McKenzie
74f37fe0a3 expose unminified and minified builds of dist scripts - fixes #1444 2015-05-05 15:11:00 +01:00
Sebastian McKenzie
cc5e4bce52 fix object/property decorator interop 2015-05-05 14:42:41 +01:00
Sebastian McKenzie
f441a7cae8 don't do pretty variable declaration formatting if retainLines is enabled 2015-05-05 14:04:51 +01:00
Sebastian McKenzie
fc2be81c43 expose retainLines option to CLI 2015-05-05 14:04:36 +01:00
Sebastian McKenzie
1277a8f67f 5.2.13 2015-05-05 08:58:35 +01:00
Sebastian McKenzie
86c6d4e769 v5.2.13 2015-05-05 08:57:41 +01:00
Sebastian McKenzie
bf2d527cfe upgrade esquery 2015-05-05 08:56:58 +01:00
Sebastian McKenzie
6b59ea8eac add 5.2.13 changelog 2015-05-05 08:56:28 +01:00
Sebastian McKenzie
72e3cb9243 trigger a reference for export declarations 2015-05-05 08:54:51 +01:00
Sebastian McKenzie
5e5ede6058 move down _modules transformer 2015-05-05 08:54:38 +01:00
Sebastian McKenzie
d25944ea1f move utility transformers to top - fixes #1440 2015-05-05 08:39:46 +01:00
Sebastian McKenzie
fce2aa8fa3 add support for esquery 2015-05-05 03:21:31 +01:00
Sebastian McKenzie
0112c63779 consolidate the concept of "virtual types" 2015-05-05 02:33:49 +01:00
Sebastian McKenzie
6a4e93bf0f make visitor validation more anal, add node type wrappers, add mixin support to visitor explosion, allow visitor entrance/exit to provide an array of callbacks to use rather than limiting it to a single callback 2015-05-05 01:44:01 +01:00
Sebastian McKenzie
4328e920d2 5.2.12 2015-05-05 00:15:48 +01:00
Sebastian McKenzie
bbbf0a895d v5.2.12 2015-05-05 00:13:57 +01:00
Sebastian McKenzie
3289b33806 remove no self node replacement error 2015-05-05 00:13:07 +01:00
Sebastian McKenzie
f4b9faa6b3 clean up module declaration based UID generation - fixes #1437 2015-05-04 22:36:18 +01:00
Sebastian McKenzie
239b77816f 5.2.11 2015-05-04 22:33:26 +01:00
Sebastian McKenzie
8565e2b4e5 v5.2.11 2015-05-04 22:32:28 +01:00
Sebastian McKenzie
4317a46a3e add 5.2.11 changelog 2015-05-04 22:31:44 +01:00
Sebastian McKenzie
81ca29adc3 5.2.10 2015-05-04 22:31:38 +01:00
Sebastian McKenzie
c1a6ff7f44 rename getModuleName option to getModuleId 2015-05-04 22:31:34 +01:00
Sebastian McKenzie
7e6e5d4746 v5.2.10 2015-05-04 22:23:39 +01:00
Sebastian McKenzie
12d650e195 checkSelf() for destructuring catch clauses 2015-05-04 22:22:39 +01:00
Sebastian McKenzie
8fb58492df fix default specifiers not taking into consideration sourced imports 2015-05-04 22:20:52 +01:00
Sebastian McKenzie
2c0c2f12df avoid trying to replace a node with itself, antipattern! 2015-05-04 22:20:52 +01:00
Sebastian McKenzie
01e5354fd9 disallow replacing a node with itself 2015-05-04 22:20:52 +01:00
Sebastian McKenzie
0b100c4273 Merge pull request #1386 from jayphelps/module-id-overload
Added getModuleName() option as a function
2015-05-04 22:20:31 +01:00
Jay Phelps
340e75eb59 Added getModuleName() option as a function, allowing you to manipulate the name as needed 2015-05-04 13:30:57 -07:00
Sebastian McKenzie
53808a6d45 fix test/core/path imports 2015-05-04 15:25:35 +01:00
Sebastian McKenzie
e6326332b6 properly coerce input code to string - fixes #1432 2015-05-04 15:08:18 +01:00
Sebastian McKenzie
9e0cf84505 adds test for #1431 2015-05-04 15:06:27 +01:00
Sebastian McKenzie
b7eea7b08c Merge pull request #1431 from pangratz/fix_replaceWithSourceString
Fix bugs in `replaceWithSourceString`
2015-05-04 15:00:27 +01:00
pangratz
92dd67856e Fix bugs in replaceWithSourceString
This fixes 2 bugs within `replaceWithSourceString`:

- `code` is undefined as it should be `replacement`
- the expression of the parsed replacement hasn't been accessed correctly
2015-05-04 09:33:32 +02:00
Sebastian McKenzie
a2bb587e24 remove embedded jsx plugin and use acorn-jsx 2015-05-04 04:33:46 +01:00
Sebastian McKenzie
0c570cb599 5.2.9 2015-05-04 04:03:41 +01:00
Sebastian McKenzie
db6fab2c8f v5.2.9 2015-05-04 04:02:30 +01:00
Sebastian McKenzie
d92deb52b6 v5.2.8 2015-05-04 04:00:13 +01:00
Sebastian McKenzie
b8b70f2f4a rejigger around parse mechanics 2015-05-04 03:57:28 +01:00
Sebastian McKenzie
a8a3f6d34d Merge branch 'master' of github.com:babel/babel 2015-05-04 03:55:25 +01:00
Sebastian McKenzie
9847d226e1 add transform import - closes babel/babel-eslint#83 2015-05-04 03:54:58 +01:00
Sebastian McKenzie
3d48a16305 Merge pull request #1417 from loganfsmyth/fix-phantom-issue-1405
Explicitly sort instead of relying on key ordering.
2015-05-04 03:29:30 +01:00
Sebastian McKenzie
3d24cc9ae5 Merge pull request #1224 from jcoglan/fix-source-map-pathnames
Correct relative pathnames in source maps.
2015-05-04 00:03:27 +01:00
Sebastian McKenzie
5acc58dd68 5.2.7 2015-05-03 23:48:48 +01:00
Sebastian McKenzie
34f02f06a6 v5.2.7 2015-05-03 23:47:50 +01:00
Sebastian McKenzie
6d3fe5b85c add 5.2.7 changelog 2015-05-03 23:45:33 +01:00
Sebastian McKenzie
3878bd812c remove native super inheritance from classes - fixes #1424 2015-05-03 23:45:26 +01:00
Sebastian McKenzie
0717eaddce normalise Program replacement nodes 2015-05-03 23:35:39 +01:00
Sebastian McKenzie
102cbbe493 fix up crazy parse argument order 2015-05-03 23:31:37 +01:00
Sebastian McKenzie
d981b30194 clean up file transform pipeline 2015-05-03 23:26:37 +01:00
Sebastian McKenzie
0fc02f2cf0 add support for replacing nodes with expression source strings 2015-05-03 23:02:19 +01:00
Sebastian McKenzie
f24b5164d4 add extensions option to babel cli 2015-05-03 22:43:20 +01:00
Sebastian McKenzie
4be27ee72c update bin tests to reflect new helper format 2015-05-03 17:47:31 +01:00
Sebastian McKenzie
f0070e4828 ignore _generated FunctionDeclarations too in es6.spec.symbols transformer 2015-05-03 17:40:30 +01:00
Sebastian McKenzie
ce8beec22c update tests to reflect new helper format 2015-05-03 17:28:32 +01:00
Sebastian McKenzie
b30bdf2294 turn inserted helper declarations into function declarations if possible 2015-05-03 17:22:51 +01:00
Sebastian McKenzie
63b44a3e6e fix transformer and module formatter list in $ babel --help - fixes #1421 2015-05-02 23:16:37 +01:00
Logan Smyth
74aaf848ed Explicitly sort instead of relying on implementation-defined numeric key ordering - fixes #1405. 2015-05-01 20:00:22 -07:00
Sebastian McKenzie
95de5400e6 remove dead if statement explosion code - fixes #1413 2015-05-01 23:30:26 +01:00
Sebastian McKenzie
fe7079802b move deadCodeElimination transformer up - fixes #1409, fixes #1408 2015-05-01 23:24:16 +01:00
Sebastian McKenzie
61ddb14e25 Merge branch 'master' of github.com:babel/babel 2015-05-01 23:14:58 +01:00
Sebastian McKenzie
ca7a93cd64 move utility.deadCodeElimination transformer to minification 2015-05-01 23:13:48 +01:00
Sebastian McKenzie
90a1c81d30 split up es3.xLiterals transformers - fixes #1415 2015-05-01 23:13:30 +01:00
Sebastian McKenzie
5e9089d104 Merge pull request #1411 from hzoo/jshint-cleanup
remove old references to jshint
2015-05-01 22:45:15 +01:00
Henry Zhu
1a716943bc remove old references to jshint 2015-05-01 14:08:47 -04:00
Sebastian McKenzie
c28415c38a handle shorthand objects properly when renaming bindings, create new ones and refresh the stored binding identifier if necessary - fixes #1406 2015-05-01 15:23:46 +01:00
Sebastian McKenzie
e1491de6b8 5.2.6 2015-05-01 13:09:33 +01:00
James Coglan
1f2f4ce4f3 Correct relative pathnames in source maps.
Say you have a file called `src/thing.js` and you run

    $ babel src/thing.js --out-file lib/thing.js --source-maps true

This generates a source map at `lib/thing.js.map` that contains
"src/thing.js" in its `sources` array. This is incorrect; since browsers
resolve all relative URLs relative to the directory containing the file
that refers to the URL, this resolves to `lib/src/thing.js`.

To make the source map refer to the source files correctly, the
`sources` array should contain "../src/thing.js".
2015-04-13 21:17:11 +01:00
Lukáš Mladý
6491018c21 Add failing tests that document ES 6 generators bug 2015-04-08 14:14:45 +02:00
5960 changed files with 101635 additions and 94819 deletions

4
.babelignore Normal file
View File

@@ -0,0 +1,4 @@
# Ensure babel-register won't compile fixtures, or try to recompile compiled code.
packages/*/test/fixtures
packages/*/lib
packages/babel-standalone/babel.js

View File

@@ -1,6 +0,0 @@
{
"stage": 0,
"loose": ["all"],
"blacklist": ["es6.tailCall"],
"optional": ["optimisation.flow.forOf"]
}

45
.babelrc.js Normal file
View File

@@ -0,0 +1,45 @@
"use strict";
let envOpts = {
loose: true
};
module.exports = {
comments: false,
plugins: [
// temp until next release
function() {
return {
visitor: {
"Function": function(path) {
const node = path.node;
for (let i = 0; i < node.params.length; i++) {
const param = node.params[i];
if (param.type === "AssignmentPattern") {
param.left.optional = false;
}
}
}
}
};
}
],
presets: [
["env", envOpts],
"stage-0",
"flow"
],
env: {
cov: {
auxiliaryCommentBefore: "istanbul ignore next",
plugins: ["istanbul"]
}
}
};
if (process.env.BABEL_ENV === "development") {
envOpts.targets = {
node: "current"
};
envOpts.debug = true;
}

View File

@@ -1 +1,15 @@
src/babel/transformation/templates
/lib
packages/babel-runtime
!packages/babel-runtime/scripts
!packages/babel-runtime/core-js.js
packages/*/node_modules
packages/*/lib
packages/*/dist
packages/*/test/fixtures
packages/*/test/tmp
packages/babel-standalone/babel.js
packages/babel-standalone/babel.min.js
# 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.
packages/babel-standalone/src/gulpTasks.js

View File

@@ -1,22 +1,14 @@
{
"parser": "babel-eslint",
"extends": "babel",
"plugins": [
"prettier"
],
"rules": {
"strict": 0,
"no-underscore-dangle": 0,
"no-unused-vars": 0,
"curly": 0,
"no-multi-spaces": 0,
"key-spacing": 0,
"no-return-assign": 0,
"consistent-return": 0,
"no-shadow": 0,
"no-comma-dangle": 0,
"no-use-before-define": 0,
"no-empty": 0,
"new-parens": 0,
"no-cond-assign": 0
"curly": ["error", "multi-line"],
"prettier/prettier": ["error", { "trailingComma": "es5" }]
},
"env": {
"node": true
"node": true,
"mocha": true
}
}

17
.flowconfig Normal file
View File

@@ -0,0 +1,17 @@
[ignore]
.*/packages/.*/lib
.*/packages/.*/test
.*/node_modules/conventional-changelog-core/
[include]
packages/*/src
[libs]
lib/file.js
lib/parser.js
lib/types.js
lib/third-party-libs.js.flow
[options]
suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe
suppress_comment= \\(.\\|\n\\)*\\$FlowIssue

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text eol=lf

62
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,62 @@
<!---
Thanks for filing an issue 😄 ! Before you submit, please read the following:
Search open/closed issues before submitting since someone might have asked the same thing before!
If you have a support request or question please submit them to one of this resources:
* Slack Community: https://slack.babeljs.io/
* StackOverflow: http://stackoverflow.com/questions/tagged/babeljs using the tag `babeljs`
* Also have a look at the readme for more information on how to get support:
https://github.com/babel/babel/blob/master/README.md
Issues on GitHub are only related to problems of Babel itself and we cannot answer
support questions here.
-->
Choose one: is this a bug report or feature request?
<!--- Provide a general summary of the issue in the title above -->
### Input Code
<!--- If you're describing a bug, please let us know which sample code reproduces your problem -->
<!--- If you have link to our REPL or a standalone repo please link that! -->
```js
var your => (code) => here;
```
### Babel Configuration (.babelrc, package.json, cli command)
<!--- If describing a bug, tell us what your babel configuration looks like -->
```js
{
"your": { "config": "here" }
}
```
### Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->
### Current Behavior
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
### Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->
### Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
### Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
| software | version(s)
| ---------------- | -------
| Babel |
| node |
| npm |
| Operating System |

20
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,20 @@
<!--
Before making a PR please make sure to read our contributing guidelines
https://github.com/babel/babel/blob/master/CONTRIBUTING.md
For any 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.
-->
| Q                       | A <!--(can use an emoji 👍 ) -->
| ------------------------ | ---
| Fixed Issues | `Fixes #1, Fixes #2` <!-- rm the quotes to link the issues -->
| Patch: Bug Fix? |
| Major: Breaking Change? |
| Minor: New Feature? |
| Tests Added/Pass? |
| Spec Compliancy? |
| License | MIT
| Doc PR | <!-- if yes, can add `[skip ci]` to your commit message to skip CI builds -->
| Any Dependency Changes? |
<!-- Describe your changes below in as much detail as possible -->

34
.gitignore vendored
View File

@@ -1,17 +1,31 @@
.DS_Store
node_modules
test/core/tmp
/node_modules
/packages/*/node_modules
*.log
*.cache
/templates.json
/tests.json
/.eslintcache
/browser.js
/browser-polyfill.js
/runtime.js
coverage
/coverage
dist
.package.json
packages/babel-runtime/core-js
packages/babel-runtime/helpers/*.js
packages/babel-runtime/regenerator/*.js
lib
/.package.json
package-lock.json
/packages/babel-runtime/core-js/**/*.js
!/packages/babel-runtime/core-js/map.js
/packages/babel-runtime/helpers/*.js
!/packages/babel-runtime/helpers/toArray.js
/packages/babel-runtime/helpers/builtin/*.js
!/packages/babel-runtime/helpers/builtin/toArray.js
/packages/babel-runtime/helpers/builtin/es6/*.js
!/packages/babel-runtime/helpers/builtin/es6/toArray.js
/packages/babel-runtime/helpers/es6/*.js
!/packages/babel-runtime/helpers/es6/toArray.js
/packages/babel-register/test/.babel
/packages/babel-cli/test/tmp
/packages/babel-node/test/tmp
/packages/*/lib
.nyc_output
/babel.sublime-workspace
packages/babel-standalone/babel.js
packages/babel-standalone/babel.min.js

6
.gitmodules vendored
View File

@@ -1,6 +0,0 @@
[submodule "vendor/traceur"]
path = vendor/traceur
url = https://github.com/google/traceur-compiler
[submodule "vendor/compat-table"]
path = vendor/compat-table
url = https://github.com/kangax/compat-table

View File

@@ -1,2 +0,0 @@
instrumentation:
root: lib

12
.mention-bot Normal file
View File

@@ -0,0 +1,12 @@
{
"userBlacklist": [
"amasad",
"greenkeeperio-bot",
"jmm",
"kittens",
"thejameskyle"
],
"fileBlacklist": ["*.md"],
"skipAlreadyAssignedPR": true,
"createReviewRequest": true
}

View File

@@ -1,15 +0,0 @@
*.log
*.cache
.*
/lib/babel/transformation/templates
/test
/benchmark
/Makefile
/dist
/tests.json
/CHANGELOG.md
/.package.json
/coverage
/vendor
/packages
/src

View File

@@ -1,19 +1,43 @@
#sudo: false
git:
depth: 10
sudo: false
language: node_js
cache:
yarn: true
directories:
- node_modules
- node_modules
node_js:
- "0.12"
- "iojs"
- '8'
- '6'
- '4'
before_script: "npm install -g codeclimate-test-reporter"
script: "make test-travis"
env:
global:
- PATH=$HOME/.yarn/bin:$PATH
- JOB=test
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.28.1
script:
# Babel doesn't build correctly with npm v2 (which comes bundled with Node v4)
# so we manually upgrade to a known working npm version.
- npm install --global npm@4
- 'if [ "$JOB" = "test" ]; then make test-ci; fi'
- 'if [ "$JOB" = "lint" ]; then make lint && make flow; fi'
matrix:
fast_finish: true
include:
- node_js: "node"
env: JOB=lint
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/acf1870e9d223c65e8d5
on_success: always
slack:
on_success: change
on_failure: always
on_start: false
rooms:
# Generate with
# travis encrypt "babeljs:<token>#activity" --add notifications.slack.rooms
# where <token> is from the Slack integration settings.
secure: SrwPKRe2AiNAKRo/+2yW/x4zxbWf2FBXuBuuPkdTJVTpWe++Jin1lXYJWTKP1a1i/IbmhffBO9YZcUFbeuXJpRM083vO8VYpyuBMQRqWD+Z3o+ttPlHGOJgnj0nkIcGRk6k7PpyHNnIkixfEJDvbbg9lN1Jswb3xkL8iYIHpuFE=

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,74 @@
# Contributor Code of Conduct
# Contributor Covenant Code of Conduct
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
## Our Pledge
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
## Our Standards
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
Examples of behavior that contributes to creating a positive environment
include:
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting hzoo, thejameskyle, sebastian, or loganfsmyth on [Slack](https://slack.babeljs.io/). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@@ -1,27 +1,53 @@
<p align="center">
# NOTE: DO NOT OPEN ISSUES FOR QUESTIONS AND SUPPORT. SEE THE README FOR MORE INFO.
----
<p align="center" class="toc">
<strong><a href="#setup">Setup</a></strong>
|
<strong><a href="#running-tests">Running tests</a></strong>
<strong><a href="#running-lintingtests">Running linting/tests</a></strong>
|
<strong><a href="#workflow">Workflow</a></strong>
<strong><a href="#writing-tests">Writing tests</a></strong>
|
<strong><a href="#dependencies">Dependencies</a></strong>
<strong><a href="#debugging-code">Debugging code</a></strong>
|
<strong><a href="#code-standards">Code Standards</a></strong>
<strong><a href="#internals">Internals</a></strong>
</p>
----
# Contributing
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).
> 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.
## 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).
- 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
- When you feel ready to jump into the Babel source code, a good place to start is to look for issues tagged with [help-wanted](https://github.com/babel/babel/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) and/or [beginner-friendly](https://github.com/babel/babel/issues?q=is%3Aissue+is%3Aopen+label%3A%22beginner-friendly%22).
- Follow along with what we are working on by joining our Slack, following our annoucements on [Twitter](https://twitter.com/babeljs), and reading (or participating!) in our [meeting notes](https://github.com/babel/notes).
- Check out our [website](http://babeljs.io/) and the [repo](https://github.com/babel/website)
## Chat
Feel free to check out the `#discussion`/`#development` channels on our [Slack](https://slack.babeljs.io). Some of us are always online to chat!
## Developing
#### Setup
**Note:** Versions `< 5.1.10` can't be built.
Babel is built for Node 4 and up but we develop using Node 8 and yarn. You can check this with `node -v`.
Make sure that Yarn is installed with version >= `0.28.0`.
Installation instructions can be found here: https://yarnpkg.com/en/docs/install.
### Setup
```sh
$ git clone https://github.com/babel/babel
@@ -32,138 +58,226 @@ $ make bootstrap
Then you can either run:
```sh
$ make build-core
$ make build
```
to build Babel **once** or:
```sh
$ make watch-core
$ make watch
```
to have Babel build itself then incrementally build files on change.
to have Babel build itself and incrementally build files on change.
#### Running tests
You can access the built files for individual packages from `packages/<package-name>/lib`.
You can run tests via:
If you wish to build a copy of Babel for distribution, then run:
```sh
$ make build-dist
```
### Running linting/tests
You can run lint via:
```sh
# ~6 sec on a MacBook Pro (Mid 2015)
$ make lint
```
You can run eslint's autofix via:
```sh
$ make fix
```
You can run tests + lint for all packages (slow) via:
```sh
# ~46 sec on a MacBook Pro (Mid 2015)
$ make test
```
This is mostly overkill and you can limit the tests to a select few by directly
running them with `mocha`:
If you just want to run all tests:
```sh
$ mocha test/core/transformation.js
# ~40 sec on a MacBook Pro (Mid 2015)
$ make test-only
```
Use mocha's `--grep` option to run a subset of tests by name:
Most likely you'll want to focus in on a specific issue.
To run tests for a specific package in [packages](https://github.com/babel/babel/tree/master/packages), you can use the `TEST_ONLY` environment variable:
```sh
$ mocha test/core/transformation.js --grep es7
$ TEST_ONLY=babel-cli make test
```
If you don't have `mocha` installed globally, you can still use it from Babel's
dependencies in `node_modules`, but make sure `node_modules/.bin` is added to
your [`$PATH`](http://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path) environment variable.
`TEST_ONLY` will also match substrings of the package name:
```sh
# Run tests for the babel-plugin-transform-es2015-classes package.
$ TEST_ONLY=es2015-class make test
```
Use the `TEST_GREP` variable to run a subset of tests by name:
```sh
$ TEST_GREP=transformation make test
```
Substitute spaces for hyphens and forward slashes when targeting specific test names:
```sh
$ TEST_GREP="arrow functions destructuring parameters" make test
```
To enable the Node.js debugger added in v6.3.0, set the `TEST_DEBUG` environment variable:
```sh
$ TEST_DEBUG=true make test
```
You can combine `TEST_DEBUG` with `TEST_GREP` or `TEST_ONLY` to debug a subset of tests. If you plan to stay long in the debugger (which you'll likely do!), you may increase the test timeout by editing [test/mocha.opts](https://github.com/babel/babel/blob/master/test/mocha.opts).
To test the code coverage, use:
```sh
$ BABEL_ENV=cov make build
$ ./scripts/test-cov.sh
```
#### Workflow
#### Troubleshooting Tests
* Fork the repository
* Clone your fork and change directory to it (`git clone git@github.com:yourUserName/babel.git && cd babel`)
* Install the project dependencies (`make bootstrap`)
* Link your forked clone (`npm link`)
* Develop your changes ensuring you're fetching updates from upstream often
* Ensure the test are passing (`make test`)
* Create new pull request explaining your proposed change or reference an issue in your commit message
In case you're not able to reproduce an error on CI locally, it may be due to
- Node Version: Travis CI runs the tests against all major node versions. If your tests use JavaScript features unsupported by lower versions of node, then use [minNodeVersion option](#writing-tests) in options.json.
- Timeout: Check the CI log and if the only errors are timeout errors and you are sure that it's not related to the changes you made, ask someone in the slack channel to trigger rebuild on the CI build and it might be resolved
#### Dependencies
In case you're locally getting errors which are not on the CI, it may be due to
+ [ast-types](http://ghub.io/ast-types) This is required to monkeypatch regenerators AST definitions. Could be improved in the future.
- Updates in Dependencies: Make sure you run `make bootstrap` before you run `make build` or `make watch` before you run the tests.
+ [chalk](http://ghub.io/chalk) This is used for terminal color highlighting for syntax errors.
### Writing tests
+ [convert-source-map](http://ghub.io/convert-source-map) Turns a source map object into a comment etc.
Most packages in [`/packages`](https://github.com/babel/babel/tree/master/packages) have a `test` folder, however some tests might be in other packages or in [`/packages/babel-core`](https://github.com/babel/babel/tree/master/packages/babel-core/test/fixtures).
+ [core-js](http://ghub.io/core-js) Used for the polyfill.
#### `babel-plugin-x`
+ [debug](http://ghub.io/debug) Used to output debugging information when NODE_DEBUG is set to babel.
All the Babel plugins (and other packages) that have a `/test/fixtures` are written in a similar way.
+ [detect-indent](http://ghub.io/detect-indent) This is used in the code generator so it can infer indentation.
For example, in [`babel-plugin-transform-exponentiation-operator/test`](https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator/test):
+ [estraverse](http://ghub.io/estraverse) The only method on this is attachComments. I'd like to implement our own comment attachment algorithm eventually though.
- 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"] }`.
- If necessary, you can have an `options.json` with different options in each subfolder.
+ [esutils](http://ghub.io/esutils) Various ES related utilities. Check whether something is a keyword etc.
- 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)
- Generally, there are two kinds of tests for plugins
- The first is a simple test of the input and output produced by running Babel on some code. We do this by creating an [`actual.js`](https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-exponentiation-operator/test/fixtures/exponentian-operator/binary/actual.js) file and an [`expected.js`](https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-exponentiation-operator/test/fixtures/exponentian-operator/binary/expected.js) file.
- If you need to expect an error, you can ignore creating the `expected.js` file and pass a new `throws` key to the `options.json` that contains the error string that is created.
- The second and preferred type is a test that actually evaluates the produced code and asserts that certain properties are true or false. We do this by creating an [`exec.js`](https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-exponentiation-operator/test/fixtures/exponentian-operator/comprehensive/exec.js) file.
+ [fs-readdir-recursive](http://ghub.io/fs-readdir-recursive) Recursively search a directory for.
In an actual/expected test, you simply write out the code you want transformed in `actual.js`.
+ [globals](http://ghub.io/globals) A list of JavaScript global variables. This is used by the scope tracking to check for colliding variables.
```js
// actual.js
2 ** 2;
```
+ [is-integer](http://ghub.io/is-integer) Checks if something is an integer.
and the expected output after transforming it with your `options.json` in `expected.js`.
+ [js-tokens](http://ghub.io/js-tokens) This is used to get tokens for syntax error highlighting.
```js
// expected.js
Math.pow(2, 2);
```
In an `exec.js` test, we run or check that the code actually does what it's supposed to do rather than just check the static output.
+ [leven](http://ghub.io/leven) A levenstein algorithm to determine how close a word is to another. This is used to offer suggestions when using the utility.undeclaredVariableCheck transformer.
```js
// exec.js
assert.equal(8, 2 ** 3);
assert.equal(24, 3 * 2 ** 3);
```
+ [line-numbers](http://ghub.io/line-numbers) Used to produce the code frames in syntax errors.
If you need to check for an error that is thrown you can add to the `options.json`
+ [lodash](http://ghub.io/lodash) Used for various utilities.
```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)"
}
```
+ [minimatch](http://ghub.io/minimatch) This is used to match glob-style ignore/only filters.
If the test requires a minimum Node version, you can add `minNodeVersion` (must be in semver format).
+ [output-file-sync](http://ghub.io/output-file-sync) Synchronously writes a file and create its ancestor directories if needed.
```js
// options.json example
{
"minNodeVersion": "5.0.0"
}
```
+ [path-is-absolute](http://ghub.io/path-is-absolute) Checks if a path is absolute. C:\foo and \foo are considered absolute.
#### Bootstrapping expected output
+ [regenerator](http://ghub.io/regenerator) This is used to transform generators/async functions.
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.
+ [regexpu](http://ghub.io/regexpu) Used to transform unicode regex patterns.
```
// Example
- babylon
- test
- fixtures
- comments
- basic
- block-trailing-comment
- actual.js
- expected.json (will be generated if not created)
```
+ [repeating](http://ghub.io/repeating) Repeats a string.
### Debugging code
+ [shebang-regex](http://ghub.io/shebang-regex) Literally just a regex that matches shebangs.
A common approach to debugging JavaScript code is to walk through the code using the [Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools/) debugger.
For illustration purposes, we are going to assume that we need to get a better understanding of [`Generator.generate()`](https://github.com/babel/babel/blob/b5246994b57f06af871be6a63dcc4c6fd41d94d6/packages/babel-generator/src/index.js#L32), which is responsible for generating code for a given AST.
To get a better understanding of what is actually going on for this particular piece of code, we are going to make use of breakpoints.
+ [slash](http://ghub.io/slash) Normalises path separators.
```diff
generate() {
+ debugger; // breakpoint
return super.generate(this.ast);
}
```
+ [source-map](http://ghub.io/source-map) Generates sourcemaps.
To include the changes, we have to make sure to build Babel:
+ [source-map-support](http://ghub.io/source-map-support) Adds source map support to babel-node/babel/register.
```bash
$ make build
```
+ [strip-json-comments](http://ghub.io/strip-json-comments) Remove comments from a JSON string. This is used for .babelrc files.
Next, we need to execute `Generator.generate()`, which can be achieved by running a test case in the `babel-generator` package.
For example, we can run the test case that tests the generation of class declarations:
+ [to-fast-properties](http://ghub.io/to-fast-properties) A V8 trick to put an object into fast properties mode.
```bash
$ TEST_DEBUG=true TEST_GREP=ClassDeclaration make test-only
+ [trim-right](http://ghub.io/trim-right) Trims the rightside whitespace.
./scripts/test.sh
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/3cdaebd2-be88-4e7b-a94b-432950ab72d0
```
+ [user-home](http://ghub.io/user-home) Gets the users home directory. This is used to resolve the babel-node/babel/register cache.
To start the debugging in Chrome DevTools, open the given URL.
The debugger starts at the first executed line of code, which is Mocha's first line by default.
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.
#### Code Standards
* **General**
* Max of five arguments for functions
* Max depth of four nested blocks
* 2-spaced soft tabs
* **Naming**
* CamelCase all class names
* camelBack all variable names
* **Spacing**
* Spaces after all keywords
* Spaces before all left curly braces
* **Comments**
* Use JSDoc-style comments for methods
* Single-line comments for ambiguous code
* **Quotes**
* Always use double quotes
* Only use single quotes when the string contains a double quote
* **Declaration**
* No unused variables
* No pollution of global variables and prototypes
## Internals
- AST spec ([babylon/ast/spec.md](https://github.com/babel/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))
- Compiler assumptions ([doc/design/compiler-assumptions.md](https://github.com/babel/babel/blob/master/doc/design/compiler-assumptions.md))

61
Gulpfile.js Normal file
View File

@@ -0,0 +1,61 @@
"use strict";
const plumber = require("gulp-plumber");
const through = require("through2");
const chalk = require("chalk");
const newer = require("gulp-newer");
const babel = require("gulp-babel");
const watch = require("gulp-watch");
const gutil = require("gulp-util");
const gulp = require("gulp");
const path = require("path");
const base = path.join(__dirname, "packages");
const scripts = "./packages/*/src/**/*.js";
function swapSrcWithLib(srcPath) {
const parts = srcPath.split(path.sep);
parts[1] = "lib";
return parts.join(path.sep);
}
gulp.task("default", ["build"]);
gulp.task("build", function() {
return gulp
.src(scripts, { base: base })
.pipe(
plumber({
errorHandler: function(err) {
gutil.log(err.stack);
},
})
)
.pipe(
newer({
dest: base,
map: swapSrcWithLib,
})
)
.pipe(
through.obj(function(file, enc, callback) {
gutil.log("Compiling", "'" + chalk.cyan(file.relative) + "'...");
callback(null, file);
})
)
.pipe(babel())
.pipe(
through.obj(function(file, enc, callback) {
// Passing 'file.relative' because newer() above uses a relative path and this keeps it consistent.
file.path = path.resolve(file.base, swapSrcWithLib(file.relative));
callback(null, file);
})
)
.pipe(gulp.dest(base));
});
gulp.task("watch", ["build"], function() {
watch(scripts, { debounceDelay: 200 }, function() {
gulp.start("build");
});
});

View File

@@ -1,7 +1,7 @@
Copyright (c) 2014-2015 Sebastian McKenzie <sebmck@gmail.com>
MIT License
Copyright (c) 2014-2017 Sebastian McKenzie <sebmck@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including

159
Makefile
View File

@@ -1,121 +1,92 @@
MAKEFLAGS = -j1
BROWSERIFY_CMD = node_modules/browserify/bin/cmd.js
ISTANBUL_CMD = node_modules/istanbul/lib/cli.js cover
UGLIFY_CMD = node_modules/uglify-js/bin/uglifyjs
#UGLIFY_CMD = node_modules/uglify-js/bin/uglifyjs --mangle sort
JSHINT_CMD = node_modules/jshint/bin/jshint
MOCHA_CMD = node_modules/mocha/bin/_mocha
BABEL_CMD = node_modules/babel/bin/babel
export NODE_ENV = test
.PHONY: clean test test-cov test-clean test-travis test-simple test-all test-browser test-parser publish build bootstrap publish-core publish-runtime build-core watch-core build-core-test clean-core
# Fix color output until TravisCI fixes https://github.com/travis-ci/travis-ci/issues/7967
export FORCE_COLOR = true
build-core: clean-core
node $(BABEL_CMD) src --out-dir lib --copy-files
.PHONY: build build-dist watch lint fix clean test-clean test-only test test-ci publish bootstrap
build-core-test: clean-core
node $(BABEL_CMD) src --out-dir lib --copy-files --auxiliary-comment "istanbul ignore next"
build: clean
rm -rf packages/*/lib
./node_modules/.bin/gulp build
ifneq ($(BABEL_ENV), "cov")
make build-standalone
endif
watch-core: clean-core
node $(BABEL_CMD) src --out-dir lib --watch --copy-files
build-standalone:
./node_modules/.bin/gulp build-babel-standalone --cwd=packages/babel-standalone/
clean-core:
rm -rf lib
build-dist: build
cd packages/babel-polyfill; \
scripts/build-dist.sh
cd packages/babel-runtime; \
node scripts/build-dist.js
node scripts/generate-babel-types-docs.js
build:
mkdir -p dist
make build-core
watch: clean
rm -rf packages/*/lib
BABEL_ENV=development ./node_modules/.bin/gulp watch
node tools/cache-templates
lint:
./node_modules/.bin/eslint scripts packages *.js --format=codeframe --rulesdir="./eslint_rules"
node $(BROWSERIFY_CMD) -e lib/babel/polyfill.js >dist/polyfill.js
node $(UGLIFY_CMD) dist/polyfill.js >dist/polyfill.min.js
flow:
./node_modules/.bin/flow check --strip-root
node $(BROWSERIFY_CMD) lib/babel/api/browser.js -s babel >dist/babel.js
node $(UGLIFY_CMD) dist/babel.js >dist/babel.min.js
fix:
./node_modules/.bin/eslint scripts packages *.js --format=codeframe --fix --rulesdir="./eslint_rules"
node packages/babel-cli/bin/babel-external-helpers >dist/external-helpers.js
node $(UGLIFY_CMD) dist/external-helpers.js >dist/external-helpers.min.js
rm -rf templates.json
clean:
rm -rf coverage templates.json test/tmp dist lib
clean: test-clean
rm -rf packages/babel-polyfill/browser*
rm -rf packages/babel-polyfill/dist
# rm -rf packages/babel-runtime/helpers
# rm -rf packages/babel-runtime/core-js
rm -rf coverage
rm -rf packages/*/npm-debug*
test-clean:
rm -rf test/tmp
rm -rf packages/*/test/tmp
rm -rf packages/*/test-fixtures.json
test: test-parser
node $(MOCHA_CMD) test/core
clean-all:
rm -rf packages/*/lib
rm -rf node_modules
rm -rf packages/*/node_modules
rm -rf package-lock.json
rm -rf packages/*/package-lock.json
make clean
test-only:
./scripts/test.sh
make test-clean
test-all:
export ALL_BABEL_TESTS=1; \
make test
test: lint test-only
test-cov:
rm -rf coverage
make build-core-test
node $(ISTANBUL_CMD) $(MOCHA_CMD) -- test/core
test-ci:
make bootstrap
make test-only
test-parser:
node test/acorn/run.js
test-travis: bootstrap build test
test-browser:
mkdir -p dist
node tools/cache-templates
node tools/build-tests
node $(BROWSERIFY_CMD) -e test/core/_browser.js >dist/babel-test.js
rm -rf templates.json tests.json
test -n "`which open`" && open test/browser.html
test-ci-coverage: SHELL:=/bin/bash
test-ci-coverage:
BABEL_ENV=cov make bootstrap
./scripts/test-cov.sh
bash <(curl -s https://codecov.io/bash) -f coverage/coverage-final.json
publish:
git pull --rebase
rm -rf packages/*/lib
BABEL_ENV=production make build-dist
make test
read -p "Version: " version; \
npm version $$version --message "v%s"
make build
cp dist/babel.min.js browser.js
cp dist/polyfill.min.js browser-polyfill.js
cp dist/external-helpers.min.js external-helpers.js
node tools/cache-templates
test -f templates.json
npm publish
git push --follow-tags
make publish-cli
make publish-runtime
rm -rf templates.json browser.js browser-polyfill.js external-helpers.js
publish-runtime:
cd packages; \
node build-runtime.js; \
cd babel-runtime; \
npm publish
publish-cli:
cd packages; \
node build-cli.js; \
cd babel-cli; \
npm publish
# not using lerna independent mode atm, so only update packages that have changed since we use ^
# --only-explicit-updates
./node_modules/.bin/lerna publish --force-publish=* --npm-tag=next --exact --skip-temp-tag
make clean
bootstrap:
npm list --global --depth 1 babel >/dev/null 2>&1 && npm uninstall -g babel || true
npm install
npm link
cd packages/babel-cli && npm install && npm link && npm link babel-core
git submodule update --init
cd vendor/compat-table && npm install object-assign
make clean-all
yarn
./node_modules/.bin/lerna bootstrap
make build
cd packages/babel-runtime; \
node scripts/build-dist.js

6
NPM_OWNERS Normal file
View File

@@ -0,0 +1,6 @@
sebmck
thejameskyle
amasad
hzoo
loganfsmyth
jmm

274
README.md
View File

@@ -1,17 +1,283 @@
<p align="center">
<a href="https://babeljs.io/">
<img alt="babel" src="https://raw.githubusercontent.com/babel/logo/master/logo.png" width="546">
<img alt="babel" src="https://raw.githubusercontent.com/babel/logo/master/babel.png" width="546">
</a>
</p>
<p align="center">
<strong>Babel</strong> is a compiler for writing next generation JavaScript.
The compiler for writing next generation JavaScript.
</p>
<p align="center">
For questions and support please visit the <a href="https://gitter.im/babel/babel">gitter room</a> or <a href="http://stackoverflow.com/questions/tagged/babeljs">StackOverflow</a>. The Babel issue tracker is <strong>exclusively</strong> for bug reports and feature requests.
<a href="https://travis-ci.org/babel/babel"><img alt="Travis Status" src="https://img.shields.io/travis/babel/babel/master.svg?label=travis&maxAge=43200"></a>
<a href="https://circleci.com/gh/babel/babel"><img alt="CircleCI Status" src="https://img.shields.io/circleci/project/github/babel/babel/master.svg?label=circle&maxAge=43200"></a>
<a href="https://codecov.io/github/babel/babel"><img alt="Coverage Status" src="https://img.shields.io/codecov/c/github/babel/babel/master.svg?maxAge=43200"></a>
<a href="https://slack.babeljs.io/"><img alt="Slack Status" src="https://slack.babeljs.io/badge.svg"></a>
<a href="https://www.npmjs.com/package/babel-core"><img alt="npm Downloads" src="https://img.shields.io/npm/dm/babel-core.svg?maxAge=43200"></a>
</p>
<p align="center">
For documentation and website issues please visit the <a href="https://github.com/babel/babel.github.io">babel.github.io</a> repo.
<a href="#backers"><img alt="Backers on Open Collective" src="https://opencollective.com/babel/backers/badge.svg" /></a>
<a href="#sponsors"><img alt="Sponsors on Open Collective" src="https://opencollective.com/babel/sponsors/badge.svg" /></a>
<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 a community-driven tool that helps you write code in the latest version of JavaScript.
When your supported environments don't support certain features natively, Babel will help you compile those features down to a supported version.
**In**
```js
// ES2015 arrow function
[1, 2, 3].map((n) => n + 1);
```
**Out**
```js
[1, 2, 3].map(function(n) {
return n + 1;
});
```
Try it out at our [REPL](https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=latest&code=%5B1%2C2%2C3%5D.map(n%20%3D%3E%20n%20%2B%201)%3B&experimental=true&loose=true&spec=false&playground=false&stage=0) and follow us at [@babeljs](https://twitter.com/babeljs).
- [FAQ](#faq)
- [Packages](#packages)
- [Core Packages](#core-packages)
- [Other](#other)
- [Presets](#presets)
- [Plugins](#plugins)
- [Transform Plugins](#transform-plugins)
- [Syntax Plugins](#syntax-plugins)
- [Misc Packages](#misc-packages)
- [Team](#team)
- [License](#license)
# FAQ
## Docs?
Check out our website: [babeljs.io](http://babeljs.io/)
## Looking for support?
For questions and support please visit our [discussion forum](https://discuss.babeljs.io/), sign up for our [Slack community](https://slack.babeljs.io/), or [StackOverflow](http://stackoverflow.com/questions/tagged/babeljs).
## Want to report a bug or request a feature?
Bugs and feature requests can be posted at https://github.com/babel/babel/issues.
> We've moved our issues from phabricator back to github issues!
Former phabricator issue URLs now automatically redirect to their corresponding Github issue:
https://phabricator.babeljs.io/T2168 mostly corresponds to https://github.com/babel/babel/issues/2168.
## Want to report an issue with [babeljs.io](https://babeljs.io) (the website)?
For documentation and website issues please visit the [babel/website](https://github.com/babel/website) repo.
## Want to contribute to Babel?
Check out our [CONTRIBUTING.md](https://github.com/babel/babel/blob/master/CONTRIBUTING.md). If you have already joined Slack, join our [#development](https://babeljs.slack.com/messages/development) channel!
You can also start by checking out the issues with the [help-wanted](https://github.com/babel/babel/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) label.
Our discussions/notes/roadmap: [babel/notes](https://github.com/babel/notes)
Our progress on TC39 proposals: [babel/proposals](https://github.com/babel/proposals)
## Packages
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.
### Core Packages
| Package | Version | Dependencies |
|--------|-------|------------|
| [`babel-core`](/packages/babel-core) | [![npm](https://img.shields.io/npm/v/babel-core.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-core) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-core)](https://david-dm.org/babel/babel?path=packages/babel-core) |
| [`babylon`](https://github.com/babel/babylon) | [![npm](https://img.shields.io/npm/v/babylon.svg?maxAge=2592000)](https://www.npmjs.com/package/babylon) | [![Dependency Status](https://david-dm.org/babel/babylon.svg)](https://david-dm.org/babel/babylon) |
| [`babel-traverse`](/packages/babel-traverse) | [![npm](https://img.shields.io/npm/v/babel-traverse.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-traverse) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-traverse)](https://david-dm.org/babel/babel?path=packages/babel-traverse) |
| [`babel-generator`](/packages/babel-generator) | [![npm](https://img.shields.io/npm/v/babel-generator.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-generator) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-generator)](https://david-dm.org/babel/babel?path=packages/babel-generator) |
[`babel-core`](/packages/babel-core) is the Babel compiler itself; it exposes the `babel.transform` method, where `transformedCode = transform(src).code`.
The compiler can be broken down into 3 parts:
- The parser: [`babylon`](https://github.com/babel/babylon) (moved to a separate repo and versioned independently)
- The transformer[s]: All the plugins/presets
- These all use [`babel-traverse`](/packages/babel-traverse) to traverse through the AST
- The generator: [`babel-generator`](/packages/babel-generator)
The flow goes like this:
input string -> `babylon` parser -> `AST` -> transformer[s] -> `AST` -> `babel-generator` -> output string
Check out the [`babel-handbook`](https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#introduction) for more information on this.
#### Other
| Package | Version | Dependencies |
|--------|-------|------------|
| [`babel-cli`](/packages/babel-cli) | [![npm](https://img.shields.io/npm/v/babel-cli.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-cli) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-cli)](https://david-dm.org/babel/babel?path=packages/babel-cli) |
| [`babel-types`](/packages/babel-types) | [![npm](https://img.shields.io/npm/v/babel-types.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-types) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-types)](https://david-dm.org/babel/babel?path=packages/babel-types) |
| [`babel-polyfill`](/packages/babel-polyfill) | [![npm](https://img.shields.io/npm/v/babel-polyfill.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-polyfill) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-polyfill)](https://david-dm.org/babel/babel?path=packages/babel-polyfill) |
| [`babel-runtime`](/packages/babel-runtime) | [![npm](https://img.shields.io/npm/v/babel-runtime.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-runtime) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-runtime)](https://david-dm.org/babel/babel?path=packages/babel-runtime) |
| [`babel-register`](/packages/babel-register) | [![npm](https://img.shields.io/npm/v/babel-register.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-register) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-register)](https://david-dm.org/babel/babel?path=packages/babel-register) |
| [`babel-template`](/packages/babel-template) | [![npm](https://img.shields.io/npm/v/babel-template.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-template) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-template)](https://david-dm.org/babel/babel?path=packages/babel-template) |
| [`babel-helpers`](/packages/babel-helpers) | [![npm](https://img.shields.io/npm/v/babel-helpers.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-helpers) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-helpers)](https://david-dm.org/babel/babel?path=packages/babel-helpers) |
| [`babel-code-frame`](/packages/babel-code-frame) | [![npm](https://img.shields.io/npm/v/babel-code-frame.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-code-frame) | [![Dependency Status](https://david-dm.org/babel/babel.svg?path=packages/babel-code-frame)](https://david-dm.org/babel/babel?path=packages/babel-code-frame) |
- [`babel-cli`](/packages/babel-cli) is the CLI tool that runs `babel-core` and helps with outputting to a directory, a file, stdout and more (also includes `babel-node`). Check out the [docs](https://babeljs.io/docs/usage/cli/).
- [`babel-types`](/packages/babel-types) is used to validate, build and change AST nodes.
- [`babel-polyfill`](/packages/babel-polyfill) is [literally a wrapper](https://github.com/babel/babel/blob/master/packages/babel-polyfill/src/index.js) around [`core-js`](https://github.com/zloirock/core-js) and [regenerator-runtime](https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime). Check out the [docs](https://babeljs.io/docs/usage/polyfill/).
- [`babel-runtime`](/packages/babel-runtime) is similar to the polyfill except that it doesn't modify the global scope and is to be used with [`babel-plugin-transform-runtime`](/packages/babel-plugin-transform-runtime) (usually in library/plugin code). Check out the [docs](https://babeljs.io/docs/plugins/transform-runtime/).
- [`babel-register`](/packages/babel-register) is a way to automatically compile files with Babel on the fly by binding to Node.js `require`. Check out the [docs](http://babeljs.io/docs/usage/require/).
- [`babel-template`](/packages/babel-template) is a helper function that allows constructing AST nodes from a string presentation of the code; this eliminates the tedium of using `babel-types` for building AST nodes.
- [`babel-helpers`](/packages/babel-helpers) is a set of pre-made `babel-template` functions that are used in some Babel plugins.
- [`babel-code-frame`](/packages/babel-code-frame) is a standalone package used to generate errors that print the source code and point to error locations.
### [Presets](http://babeljs.io/docs/plugins/#presets)
After Babel 6, the default transforms were removed; if you don't specify any plugins/presets, Babel will just return the original source code.
The transformer[s] used in Babel are the independent pieces of code that transform specific things. For example: the [`es2015-arrow-functions`](/packages/babel-plugin-transform-es2015-arrow-functions) transform specifically changes arrow functions into regular functions. A preset is simply an array of plugins that make it easier to run a whole a set of transforms without specifying each one manually.
| Package | Version | Dependencies | Description |
|--------|-------|------------|---|
| [`babel-preset-env`](https://github.com/babel/babel-preset-env) | [![npm](https://img.shields.io/npm/v/babel-preset-env.svg?maxAge=2592000)](https://www.npmjs.com/package/babel-preset-env) | [![Dependency Status](https://david-dm.org/babel/babel-preset-env.svg)](https://david-dm.org/babel/babel-preset-env) | automatically determines plugins and polyfills you need based on your supported environments |
> You can find community maintained presets on [npm](https://www.npmjs.com/search?q=babel-preset)
### [Plugins](http://babeljs.io/docs/plugins)
Plugins are the heart of Babel and what make it work.
> You can find community plugins on [npm](https://www.npmjs.com/search?q=babel-plugin).
#### Transform Plugins
There are many kinds of plugins: ones that convert ES6/ES2015 to ES5, transform to ES3, minification, JSX, flow, experimental features, and more. Check out our [website for more](http://babeljs.io/docs/plugins/#transform-plugins).
#### Syntax Plugins
These just enable the transform plugins to be able to parse certain features (the transform plugins already include the syntax plugins so you don't need both): `babel-plugin-syntax-x`. Check out our [website for more](http://babeljs.io/docs/plugins/#syntax-plugins).
### Helpers
These are mostly for internal use in various plugins: `babel-helper-x`.
## 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)]
<a href="https://opencollective.com/babel/backer/0/website" target="_blank"><img src="https://opencollective.com/babel/backer/0/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/1/website" target="_blank"><img src="https://opencollective.com/babel/backer/1/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/2/website" target="_blank"><img src="https://opencollective.com/babel/backer/2/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/3/website" target="_blank"><img src="https://opencollective.com/babel/backer/3/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/4/website" target="_blank"><img src="https://opencollective.com/babel/backer/4/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/5/website" target="_blank"><img src="https://opencollective.com/babel/backer/5/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/6/website" target="_blank"><img src="https://opencollective.com/babel/backer/6/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/7/website" target="_blank"><img src="https://opencollective.com/babel/backer/7/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/8/website" target="_blank"><img src="https://opencollective.com/babel/backer/8/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/9/website" target="_blank"><img src="https://opencollective.com/babel/backer/9/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/10/website" target="_blank"><img src="https://opencollective.com/babel/backer/10/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/11/website" target="_blank"><img src="https://opencollective.com/babel/backer/11/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/12/website" target="_blank"><img src="https://opencollective.com/babel/backer/12/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/13/website" target="_blank"><img src="https://opencollective.com/babel/backer/13/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/14/website" target="_blank"><img src="https://opencollective.com/babel/backer/14/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/15/website" target="_blank"><img src="https://opencollective.com/babel/backer/15/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/16/website" target="_blank"><img src="https://opencollective.com/babel/backer/16/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/17/website" target="_blank"><img src="https://opencollective.com/babel/backer/17/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/18/website" target="_blank"><img src="https://opencollective.com/babel/backer/18/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/19/website" target="_blank"><img src="https://opencollective.com/babel/backer/19/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/20/website" target="_blank"><img src="https://opencollective.com/babel/backer/20/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/21/website" target="_blank"><img src="https://opencollective.com/babel/backer/21/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/22/website" target="_blank"><img src="https://opencollective.com/babel/backer/22/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/23/website" target="_blank"><img src="https://opencollective.com/babel/backer/23/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/24/website" target="_blank"><img src="https://opencollective.com/babel/backer/24/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/25/website" target="_blank"><img src="https://opencollective.com/babel/backer/25/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/26/website" target="_blank"><img src="https://opencollective.com/babel/backer/26/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/27/website" target="_blank"><img src="https://opencollective.com/babel/backer/27/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/28/website" target="_blank"><img src="https://opencollective.com/babel/backer/28/avatar.svg"></a>
<a href="https://opencollective.com/babel/backer/29/website" target="_blank"><img src="https://opencollective.com/babel/backer/29/avatar.svg"></a>
# Sponsors
Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/babel#sponsor)]
<a href="https://opencollective.com/babel/sponsor/0/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/1/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/2/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/3/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/4/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/5/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/6/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/7/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/8/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/9/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/9/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/10/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/10/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/11/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/11/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/12/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/12/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/13/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/13/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/14/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/14/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/15/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/15/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/16/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/16/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/17/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/17/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/18/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/18/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/19/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/19/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/20/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/20/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/21/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/21/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/22/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/22/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/23/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/23/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/24/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/24/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/25/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/25/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/26/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/26/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/27/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/27/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/28/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/28/avatar.svg"></a>
<a href="https://opencollective.com/babel/sponsor/29/website" target="_blank"><img src="https://opencollective.com/babel/sponsor/29/avatar.svg"></a>
## License
[MIT](https://github.com/babel/babel/blob/master/LICENSE)

25
babel.sublime-project Normal file
View File

@@ -0,0 +1,25 @@
{
"settings": {
"rulers": [
110
],
// Set to false to disable detection of tabs vs. spaces on load
"detect_indentation": false,
"translate_tabs_to_spaces": true,
"tab_size": 2
},
"folders": [{
"path": ".",
"folder_exclude_patterns": [
"packages/*/lib",
"node_modules"
],
"file_exclude_patterns": [
]
}]
}

28
circle.yml Normal file
View File

@@ -0,0 +1,28 @@
general:
artifacts:
- "packages/babel-standalone/babel.js"
- "packages/babel-standalone/babel.min.js"
machine:
node:
version:
8
dependencies:
pre:
# Version number can be removed once 0.28.x or higher is released as stable
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.28.4
cache_directories:
- ~/.yarn-cache
override:
- yarn
test:
override:
- make test-ci-coverage
# Builds babel-standalone with the regular Babel config
- make build
# test-ci-coverage doesn't test babel-standalone, as trying to gather coverage
# data for a JS file that's several megabytes large is bound to fail. Here,
# we just run the babel-standalone test separately.
- ./node_modules/mocha/bin/_mocha packages/babel-standalone/test/ --opts test/mocha.opts

10
codecov.yml Normal file
View File

@@ -0,0 +1,10 @@
coverage:
parsers:
javascript:
enable_partials: yes
status:
project:
default:
target: "80%"
patch:
enabled: false

1
doc/ast/spec.md Normal file
View File

@@ -0,0 +1 @@
The [AST specification](https://github.com/babel/babylon/blob/master/ast/spec.md) has been moved to the Babylon repo, `babel/babylon`.

View File

@@ -0,0 +1,9 @@
# Compiler assumptions
Babel and its associated official transforms make some assumptions about your code. These
assumptions are only made as they're either **impossible** to take into consideration or
are extremely exotic.
- `undefined`, `NaN` and `Infinity` have not been externally redefined.
- Built-in objects such as `Object`, `Array`, `String`, `Number`, `Boolean` etc have not been redefined.
- Standard methods on built-ins have not been redefined in a way that breaks the original contract.

View File

@@ -0,0 +1,22 @@
# Compiler environment support
**NOTE:** Compiler support does not dictate the runtime requirements of compiled code.
## Officially supported environments
The Babel compiler is **only** supported in these environments:
- Modern browsers such as Chrome, Firefox, Safari, Edge etc.
- Node.js 4 and upper versions
## Unsupported environments
This means that any other environment is not supported, this includes but is not limited
to:
- Rhino
- Nashorn
- Internet Explorer
**NOTE:** If Babel works in any of the unsupported environments, it is purely
coincidental and has no bearing on future compatibility. Use at your own risk.

44
doc/design/monorepo.md Normal file
View File

@@ -0,0 +1,44 @@
# Why is Babel a monorepo?
> The tool for managing the monorepo in Babel has been extracted out as [Lerna](https://github.com/lerna/lerna)
Juggling a multimodule project over multiple repos is like trying to teach a newborn baby how to
ride a bike.
Babel follows a monorepo approach, all officially maintained modules are in the same repo.
This is quite taboo but let's look at the pros and cons:
**Pros:**
* Single lint, build, test and release process.
* Easy to coordinate changes across modules.
* Single place to report issues.
* Easier to setup a development environment.
* Tests across modules are ran together which finds bugs that touch multiple modules easier.
**Cons:**
* Codebase looks more intimidating.
* Repo is bigger in size.
* ???
## This is dumb! Nobody in open source does this!
[React](https://github.com/facebook/react/tree/master/packages), [Meteor](https://github.com/meteor/meteor/tree/devel/packages), and [Ember](https://github.com/emberjs/ember.js/tree/master/packages), among others, do this.
## Previous discussion
- [Dan Luu](http://danluu.com/monorepo/)
- [Gregory](http://gregoryszorc.com/blog/2014/09/09/on-monolithic-repositories/)
- [Szorc](http://gregoryszorc.com/blog/2015/02/17/lost-productivity-due-to-non-unified-repositories/)
- [Face](https://www.youtube.com/watch?v=X0VH78ye4yY)[book](https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/)
- [Benjamin Pollack](http://bitquabit.com/post/unorthodocs-abandon-your-dvcs-and-return-to-sanity/)
- [Benjamin Eberlei](https://qafoo.com/resources/presentations/froscon_2015/monorepos.html)
- [Simon Stewart](http://blog.rocketpoweredjetpants.com/2015/04/monorepo-one-source-code-repository-to.html)
- [Digital Ocean](https://www.digitalocean.com/company/blog/taming-your-go-dependencies/)
- [Google](http://www.infoq.com/presentations/Development-at-Google), [another](https://www.youtube.com/watch?v=W71BTkUbdqE)
- [Twitter](https://www.youtube.com/watch?v=bjh4DHuOf4E)
- [thedufer](http://www.reddit.com/r/programming/comments/1unehr/scaling_mercurial_at_facebook/cek9nkq)
- [Paul Hammant](http://paulhammant.com/categories.html#Trunk_Based_Development)
- [Exponent](https://blog.getexponent.com/universe-exponents-code-base-f12fa236b8e#.9dj8a82be)

5
doc/design/versioning.md Normal file
View File

@@ -0,0 +1,5 @@
# How does Babel versioning work?
## Does Babel follow semver?
Yes.

View File

@@ -0,0 +1,46 @@
"use strict";
function argumentsIsUndefinedString(argumentsArray) {
return (
argumentsArray.length === 1 &&
argumentsArray[0].type === "Literal" &&
argumentsArray[0].value === "undefined"
);
}
module.exports = {
meta: {
schema: [],
},
create: function(context) {
if (context.getFilename().indexOf("packages/babel-plugin-") === -1) {
return {};
}
return {
CallExpression: function(node) {
const callee = node.callee;
if (
callee.type === "MemberExpression" &&
argumentsIsUndefinedString(node.arguments)
) {
const object = callee.object,
property = callee.property;
if (
object.type === "Identifier" &&
object.name === "t" &&
property.type === "Identifier" &&
property.name === "identifier"
) {
context.report(
node,
"Use path.scope.buildUndefinedNode() to create an undefined identifier directly."
);
}
}
},
};
},
};

25
lerna.json Normal file
View File

@@ -0,0 +1,25 @@
{
"lerna": "2.0.0-rc.4",
"version": "7.0.0-beta.0",
"changelog": {
"repo": "babel/babel",
"labels": {
"Tag: Spec Compliancy": ":eyeglasses: Spec Compliancy",
"Tag: Breaking Change": ":boom: Breaking Change",
"Tag: New Feature": ":rocket: New Feature",
"Tag: Bug Fix": ":bug: Bug Fix",
"Tag: Polish": ":nail_care: Polish",
"Tag: Docs": ":memo: Documentation",
"Tag: Internal": ":house: Internal"
}
},
"cacheDir": ".changelog",
"commands": {
"publish": {
"ignore": [
"*.md",
"test/**"
]
}
}
}

27
lib/file.js Normal file
View File

@@ -0,0 +1,27 @@
type BabelFileModulesMetadata = {
imports: Array<Object>,
exports: {
exported: Array<Object>,
specifiers: Array<Object>
}
};
type BabelFileMetadata = {
usedHelpers: Array<string>;
marked: Array<{
type: string;
message: string;
loc: Object;
}>;
modules: BabelFileModulesMetadata
};
type BabelFileResult = {
ast?: ?Object;
code?: ?string;
map?: ?Object;
ignored?: ?boolean;
metadata?: ?BabelFileMetadata;
};

5
lib/parser.js Normal file
View File

@@ -0,0 +1,5 @@
type BabelParserOptions = {
sourceFilename?: string;
sourceType?: "module" | "script";
plugins?: Array<Object>;
};

View File

@@ -0,0 +1,33 @@
/**
* Basic declarations for the npm modules we use.
*/
declare module "micromatch" {
declare function exports(Array<string>, Array<string>, ?{
nocase: boolean,
}): Array<string>;
}
declare module "resolve" {
declare export default {
sync: (string, {| basedir: string |}) => string;
};
}
declare module "json5" {
declare export default {
parse: (string) => mixed,
};
}
declare module "lodash/defaults" {
declare export default <T: Object>(T, Object) => T;
}
declare module "lodash/clone" {
declare export default <T>(obj: T) => T;
}
declare module "lodash/merge" {
declare export default <T: Object>(T, Object) => T;
}

1702
lib/types.js Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,76 +1,73 @@
{
"name": "babel-core",
"description": "Turn ES6 code into readable vanilla ES5 with source maps",
"version": "5.2.6",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
"repository": "babel/babel",
"main": "lib/babel/api/node.js",
"browser": {
"./lib/babel/api/register/node.js": "./lib/babel/api/register/browser.js"
},
"keywords": [
"harmony",
"classes",
"modules",
"let",
"const",
"var",
"es6",
"transpile",
"transpiler",
"6to5",
"babel"
],
"name": "babel",
"private": true,
"license": "MIT",
"scripts": {
"bench": "make bench",
"build": "make build",
"fix": "make fix",
"lint": "make lint",
"precommit": "lint-staged",
"test": "make test"
},
"dependencies": {
"ast-types": "~0.7.0",
"bluebird": "^2.9.25",
"chalk": "^1.0.0",
"convert-source-map": "^1.1.0",
"core-js": "^0.9.0",
"debug": "^2.1.1",
"detect-indent": "^3.0.0",
"estraverse": "^3.0.0",
"esutils": "^2.0.0",
"fs-readdir-recursive": "^0.1.0",
"globals": "^6.4.0",
"is-integer": "^1.0.4",
"js-tokens": "1.0.0",
"leven": "^1.0.1",
"line-numbers": "0.2.0",
"lodash": "^3.6.0",
"minimatch": "^2.0.3",
"output-file-sync": "^1.1.0",
"path-is-absolute": "^1.0.0",
"private": "^0.1.6",
"regenerator": "^0.8.20",
"regexpu": "^1.1.2",
"repeating": "^1.1.2",
"resolve": "^1.1.6",
"shebang-regex": "^1.0.0",
"slash": "^1.0.0",
"source-map": "^0.4.0",
"source-map-support": "^0.2.10",
"strip-json-comments": "^1.0.2",
"to-fast-properties": "^1.0.0",
"trim-right": "^1.0.0",
"user-home": "^1.1.1"
},
"devDependencies": {
"babel": "5.1.13",
"browserify": "^9.0.8",
"chai": "^2.2.0",
"eslint": "^0.18.0",
"babel-eslint": "^2.0.0",
"esvalid": "^1.1.0",
"istanbul": "^0.3.5",
"matcha": "^0.6.0",
"mocha": "2.2.0",
"rimraf": "^2.3.2",
"async": "^1.5.0",
"babel-cli": "7.0.0-alpha.18",
"babel-core": "7.0.0-alpha.18",
"babel-eslint": "8.0.0-alpha.15",
"babel-plugin-istanbul": "^4.1.4",
"babel-preset-env": "2.0.0-alpha.18",
"babel-preset-flow": "7.0.0-alpha.18",
"babel-preset-stage-0": "7.0.0-alpha.18",
"babel-register": "7.0.0-alpha.18",
"babylon": "7.0.0-beta.22",
"browserify": "^13.1.1",
"bundle-collapser": "^1.2.1",
"chai": "^4.1.0",
"chalk": "^2.0.0",
"derequire": "^2.0.2",
"eslint": "^4.5.0",
"eslint-config-babel": "^7.0.2",
"eslint-plugin-flowtype": "^2.20.0",
"eslint-plugin-prettier": "^2.2.0",
"flow-bin": "^0.53.1",
"gulp": "^3.9.0",
"gulp-babel": "^7.0.0",
"gulp-newer": "^1.0.0",
"gulp-plumber": "^1.0.1",
"gulp-util": "^3.0.7",
"gulp-watch": "^4.3.5",
"husky": "^0.14.3",
"lerna": "2.0.0",
"lerna-changelog": "^0.5.0",
"lint-staged": "^4.0.4",
"lodash": "^4.2.0",
"mocha": "^3.0.0",
"nyc": "^11.0.3",
"output-file-sync": "^2.0.0",
"prettier": "^1.6.1",
"rimraf": "^2.4.3",
"semver": "^5.0.0",
"through2": "^2.0.0",
"uglify-js": "^2.4.16"
},
"engines": {
"node": ">= 4.x <= 8.x",
"npm": ">= 2.x <= 5.x",
"yarn": ">=0.27.5 || >=1.0.0-20170811"
},
"nyc": {
"all": true,
"exclude": [
"scripts/*.js",
"packages/*/test/**",
"packages/babel-standalone/**"
],
"sourceMap": false,
"instrument": false
},
"lint-staged": {
"*.js": [
"eslint --format=codeframe --rulesdir='./eslint_rules'"
]
}
}

6
packages/.eslintrc Normal file
View File

@@ -0,0 +1,6 @@
{
"rules": {
"prettier/prettier": ["error", { "trailingComma": "all" }],
"no-undefined-identifier": 2
}
}

3
packages/README.md Normal file
View File

@@ -0,0 +1,3 @@
# Woah, what's going on here?
A monorepo, muhahahahahaha. See the [monorepo design doc](/doc/design/monorepo.md) for reasoning.

View File

@@ -0,0 +1,3 @@
src
test
*.log

View File

@@ -1,5 +1,21 @@
# babel-cli
Babel CLI
> Babel command line.
In addition, various entry point scripts live in the top-level package at `babel-cli/bin`.
For more information please look at [babel](https://github.com/babel/babel).
There are some shell-executable utility scripts, `babel-external-helpers.js` and `babel-node.js`, and the main Babel cli script, `babel.js`.
## Install
```sh
npm install --save-dev babel-cli
```
## Usage
```sh
babel script.js
```
For more in depth documentation see: http://babeljs.io/docs/usage/cli/

View File

@@ -1,142 +0,0 @@
#!/usr/bin/env node
var pathIsAbsolute = require("path-is-absolute");
var commander = require("commander");
var Module = require("module");
var babel = require("babel-core");
var inspect = require("util").inspect;
var path = require("path");
var repl = require("repl");
var util = require("babel-core").util;
var vm = require("vm");
var _ = require("lodash");
var program = new commander.Command("babel-node");
program.option("-e, --eval [script]", "Evaluate script");
program.option("-p, --print [code]", "Evaluate script and print result");
program.option("-i, --ignore [regex]", "Ignore all files that match this regex when using the require hook");
program.option("-x, --extensions [extensions]", "List of extensions to hook into [.es6,.js,.es,.jsx]");
program.option("-r, --stage [stage]", "Enable support for specific ECMAScript stages");
program.option("-w, --whitelist [whitelist]", "Whitelist of transformers to ONLY use", util.list);
program.option("-b, --blacklist [blacklist]", "Blacklist of transformers to NOT use", util.list);
program.option("-o, --optional [optional]", "List of optional transformers to enable", util.list);
var pkg = require("../package.json");
program.version(pkg.version);
program.usage("[options] [ -e script | script.js ] [arguments]");
program.parse(process.argv);
//
babel.register({
extensions: program.extensions,
blacklist: program.blacklist,
whitelist: program.whitelist,
optional: program.optional,
ignore: program.ignore,
stage: program.stage,
});
//
var _eval = function (code, filename) {
if (!code) return undefined;
code = babel.transform(code, {
filename: filename,
blacklist: program.blacklist,
whitelist: program.whitelist,
optional: program.optional,
stage: program.stage
}).code;
return vm.runInThisContext(code, {
filename: filename
});
};
if (program.eval || program.print) {
var code = program.eval;
if (!code || code === true) code = program.print;
global.__filename = "[eval]";
global.__dirname = process.cwd();
var module = new Module(global.__filename);
module.filename = global.__filename;
module.paths = Module._nodeModulePaths(global.__dirname);
global.exports = module.exports;
global.module = module;
global.require = module.require.bind(module);
var result = _eval(code, global.__filename);
if (program.print) {
var output = _.isString(result) ? result : inspect(result);
process.stdout.write(output + "\n");
}
} else {
if (program.args.length) {
// slice all arguments up to the first filename since they're babel args that we handle
var args = process.argv.slice(2);
var i = 0;
var ignoreNext = false;
_.each(args, function (arg, i2) {
if (ignoreNext) {
ignoreNext = false;
return;
}
if (arg[0] === "-") {
var parsedArg = program[arg.slice(2)];
if (parsedArg && parsedArg !== true) {
ignoreNext = true;
}
} else {
i = i2;
return false;
}
});
args = args.slice(i);
// make the filename absolute
var filename = args[0];
if (!pathIsAbsolute(filename)) args[0] = path.join(process.cwd(), filename);
// add back on node and concat the sliced args
process.argv = ["node"].concat(args);
Module.runMain();
} else {
replStart();
}
}
function replStart() {
repl.start({
prompt: "> ",
input: process.stdin,
output: process.stdout,
eval: replEval,
useGlobal: true
});
}
function replEval(code, context, filename, callback) {
var err;
var result;
try {
if (code[0] === "(" && code[code.length - 1] === ")") {
code = code.slice(1, -1); // remove "(" and ")"
}
result = _eval(code, filename);
} catch (e) {
err = e;
}
callback(err, result);
}

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env node
throw new Error("babel-doctor has been removed.");

View File

@@ -1,13 +0,0 @@
#!/usr/bin/env node
var commander = require("commander");
var util = require("babel-core").util;
var runtime = require("babel-core").buildExternalHelpers;
commander.option("-l, --whitelist [whitelist]", "Whitelist of helpers to ONLY include", util.list);
commander.option("-t, --output-type [type]", "Type of output (global|umd|var)", "global");
commander.usage("[options]");
commander.parse(process.argv);
console.log(runtime(commander.whitelist, commander.outputType));

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env node
require("../lib/babel-external-helpers");

View File

@@ -1,448 +0,0 @@
#!/usr/bin/env node
/**
* This tiny wrapper file checks for known node flags and appends them
* when found, before invoking the "real" _babel-node(1) executable.
*/
var args = [__dirname + "/_babel-node"];
var babelArgs = process.argv.slice(2);
var userArgs;
// separate node arguments from script arguments
var argSeparator = babelArgs.indexOf("--");
if (argSeparator > -1) {
userArgs = babelArgs.slice(argSeparator); // including the --
babelArgs = babelArgs.slice(0, argSeparator);
}
babelArgs.forEach(function(arg){
var flag = arg.split("=")[0];
switch (flag) {
case "-d":
args.unshift("--debug");
break;
case "debug":
case "--debug":
case "--debug-brk":
args.unshift(arg);
break;
case "-gc":
case "--expose-gc":
args.unshift("--expose-gc");
break;
case "--use_strict":
case "--es_staging":
case "--harmony":
case "--harmony_shipping":
case "--harmony_modules":
case "--harmony_arrays":
case "--harmony_array_includes":
case "--harmony_regexps":
case "--harmony_arrow_functions":
case "--harmony_proxies":
case "--harmony_sloppy":
case "--harmony_unicode":
case "--harmony_tostring":
case "--harmony_numeric_literals":
case "--harmony_strings":
case "--harmony_scoping":
case "--harmony_classes":
case "--harmony_object_literals":
case "--harmony_templates":
case "--compiled_keyed_generic_loads":
case "--pretenuring_call_new":
case "--allocation_site_pretenuring":
case "--trace_pretenuring":
case "--trace_pretenuring_statistics":
case "--track_fields":
case "--track_double_fields":
case "--track_heap_object_fields":
case "--track_computed_fields":
case "--track_field_types":
case "--smi_binop":
case "--vector_ics":
case "--optimize_for_size":
case "--unbox_double_arrays":
case "--string_slices":
case "--crankshaft":
case "--hydrogen_filter":
case "--use_gvn":
case "--gvn_iterations":
case "--use_canonicalizing":
case "--use_inlining":
case "--use_escape_analysis":
case "--use_allocation_folding":
case "--use_local_allocation_folding":
case "--use_write_barrier_elimination":
case "--max_inlining_levels":
case "--max_inlined_source_size":
case "--max_inlined_nodes":
case "--max_inlined_nodes_cumulative":
case "--loop_invariant_code_motion":
case "--fast_math":
case "--collect_megamorphic_maps_from_stub_cache":
case "--hydrogen_stats":
case "--trace_check_elimination":
case "--trace_hydrogen":
case "--trace_hydrogen_filter":
case "--trace_hydrogen_stubs":
case "--trace_hydrogen_file":
case "--trace_phase":
case "--trace_inlining":
case "--trace_load_elimination":
case "--trace_store_elimination":
case "--trace_alloc":
case "--trace_all_uses":
case "--trace_range":
case "--trace_gvn":
case "--trace_representation":
case "--trace_removable_simulates":
case "--trace_escape_analysis":
case "--trace_allocation_folding":
case "--trace_track_allocation_sites":
case "--trace_migration":
case "--trace_generalization":
case "--stress_pointer_maps":
case "--stress_environments":
case "--deopt_every_n_times":
case "--deopt_every_n_garbage_collections":
case "--print_deopt_stress":
case "--trap_on_deopt":
case "--trap_on_stub_deopt":
case "--deoptimize_uncommon_cases":
case "--polymorphic_inlining":
case "--use_osr":
case "--array_bounds_checks_elimination":
case "--trace_bce":
case "--array_bounds_checks_hoisting":
case "--array_index_dehoisting":
case "--analyze_environment_liveness":
case "--load_elimination":
case "--check_elimination":
case "--store_elimination":
case "--dead_code_elimination":
case "--fold_constants":
case "--trace_dead_code_elimination":
case "--unreachable_code_elimination":
case "--trace_osr":
case "--stress_runs":
case "--lookup_sample_by_shared":
case "--cache_optimized_code":
case "--flush_optimized_code_cache":
case "--inline_construct":
case "--inline_arguments":
case "--inline_accessors":
case "--escape_analysis_iterations":
case "--optimize_for_in":
case "--concurrent_recompilation":
case "--job_based_recompilation":
case "--trace_concurrent_recompilation":
case "--concurrent_recompilation_queue_length":
case "--concurrent_recompilation_delay":
case "--block_concurrent_recompilation":
case "--concurrent_osr":
case "--omit_map_checks_for_leaf_maps":
case "--turbo_filter":
case "--trace_turbo":
case "--trace_turbo_graph":
case "--trace_turbo_cfg_file":
case "--trace_turbo_types":
case "--trace_turbo_scheduler":
case "--trace_turbo_reduction":
case "--trace_turbo_jt":
case "--turbo_asm":
case "--turbo_verify":
case "--turbo_stats":
case "--turbo_types":
case "--turbo_source_positions":
case "--context_specialization":
case "--turbo_deoptimization":
case "--turbo_inlining":
case "--turbo_inlining_intrinsics":
case "--trace_turbo_inlining":
case "--loop_assignment_analysis":
case "--turbo_profiling":
case "--turbo_reuse_spill_slots":
case "--turbo_delay_ssa_decon":
case "--turbo_move_optimization":
case "--turbo_jt":
case "--typed_array_max_size_in_heap":
case "--frame_count":
case "--interrupt_budget":
case "--type_info_threshold":
case "--generic_ic_threshold":
case "--self_opt_count":
case "--trace_opt_verbose":
case "--debug_code":
case "--code_comments":
case "--enable_sse3":
case "--enable_sse4_1":
case "--enable_sahf":
case "--enable_avx":
case "--enable_fma3":
case "--enable_vfp3":
case "--enable_armv7":
case "--enable_armv8":
case "--enable_neon":
case "--enable_sudiv":
case "--enable_mls":
case "--enable_movw_movt":
case "--enable_unaligned_accesses":
case "--enable_32dregs":
case "--enable_vldr_imm":
case "--force_long_branches":
case "--expose_natives_as":
case "--expose_debug_as":
case "--expose_free_buffer":
case "--expose_gc":
case "--expose_gc_as":
case "--expose_externalize_string":
case "--expose_trigger_failure":
case "--stack_trace_limit":
case "--builtins_in_stack_traces":
case "--disable_native_files":
case "--inline_new":
case "--trace_codegen":
case "--trace":
case "--mask_constants_with_cookie":
case "--lazy":
case "--trace_opt":
case "--trace_opt_stats":
case "--opt":
case "--always_opt":
case "--always_osr":
case "--prepare_always_opt":
case "--trace_deopt":
case "--trace_stub_failures":
case "--serialize_toplevel":
case "--serialize_inner":
case "--trace_serializer":
case "--min_preparse_length":
case "--max_opt_count":
case "--compilation_cache":
case "--cache_prototype_transitions":
case "--cpu_profiler_sampling_interval":
case "--trace_debug_json":
case "--trace_js_array_abuse":
case "--trace_external_array_abuse":
case "--trace_array_abuse":
case "--enable_liveedit":
case "--hard_abort":
case "--stack_size":
case "--max_stack_trace_source_length":
case "--always_inline_smi_code":
case "--min_semi_space_size":
case "--target_semi_space_size":
case "--max_semi_space_size":
case "--semi_space_growth_factor":
case "--experimental_new_space_growth_heuristic":
case "--max_old_space_size":
case "--initial_old_space_size":
case "--max_executable_size":
case "--gc_global":
case "--gc_interval":
case "--trace_gc":
case "--trace_gc_nvp":
case "--trace_gc_ignore_scavenger":
case "--trace_idle_notification":
case "--trace_idle_notification_verbose":
case "--print_cumulative_gc_stat":
case "--print_max_heap_committed":
case "--trace_gc_verbose":
case "--trace_fragmentation":
case "--collect_maps":
case "--weak_embedded_maps_in_optimized_code":
case "--weak_embedded_objects_in_optimized_code":
case "--flush_code":
case "--flush_code_incrementally":
case "--trace_code_flushing":
case "--age_code":
case "--incremental_marking":
case "--incremental_marking_steps":
case "--concurrent_sweeping":
case "--trace_incremental_marking":
case "--track_gc_object_stats":
case "--heap_profiler_trace_objects":
case "--use_idle_notification":
case "--use_ic":
case "--trace_ic":
case "--native_code_counters":
case "--always_compact":
case "--never_compact":
case "--compact_code_space":
case "--incremental_code_compaction":
case "--cleanup_code_caches_at_gc":
case "--use_marking_progress_bar":
case "--zap_code_space":
case "--random_seed":
case "--trace_weak_arrays":
case "--track_prototype_users":
case "--use_verbose_printer":
case "--allow_natives_syntax":
case "--trace_parse":
case "--trace_sim":
case "--debug_sim":
case "--check_icache":
case "--stop_sim_at":
case "--sim_stack_alignment":
case "--sim_stack_size":
case "--log_regs_modified":
case "--log_colour":
case "--ignore_asm_unimplemented_break":
case "--trace_sim_messages":
case "--stack_trace_on_illegal":
case "--abort_on_uncaught_exception":
case "--randomize_hashes":
case "--hash_seed":
case "--profile_deserialization":
case "--regexp_optimization":
case "--testing_bool_flag":
case "--testing_maybe_bool_flag":
case "--testing_int_flag":
case "--testing_float_flag":
case "--testing_string_flag":
case "--testing_prng_seed":
case "--testing_serialization_file":
case "--startup_blob":
case "--profile_hydrogen_code_stub_compilation":
case "--predictable":
case "--help":
case "--dump_counters":
case "--debugger":
case "--map_counters":
case "--js_arguments":
case "--gdbjit":
case "--gdbjit_full":
case "--gdbjit_dump":
case "--gdbjit_dump_filter":
case "--force_marking_deque_overflows":
case "--stress_compaction":
case "--log":
case "--log_all":
case "--log_api":
case "--log_code":
case "--log_gc":
case "--log_handles":
case "--log_snapshot_positions":
case "--log_suspect":
case "--prof":
case "--prof_browser_mode":
case "--log_regexp":
case "--logfile":
case "--logfile_per_isolate":
case "--ll_prof":
case "--perf_basic_prof":
case "--perf_jit_prof":
case "--gc_fake_mmap":
case "--log_internal_timer_events":
case "--log_timer_events":
case "--log_instruction_stats":
case "--log_instruction_file":
case "--log_instruction_period":
case "--redirect_code_traces":
case "--redirect_code_traces_to":
case "--hydrogen_track_positions":
case "--trace_elements_transitions":
case "--trace_creation_allocation_sites":
case "--print_code_stubs":
case "--test_secondary_stub_cache":
case "--test_primary_stub_cache":
case "--print_code":
case "--print_opt_code":
case "--print_unopt_code":
case "--print_code_verbose":
case "--print_builtin_code":
case "--sodium":
case "--print_all_code":
case "--es5_readonly":
case "--es52_globals":
case "--harmony_typeof":
case "--harmony_collections":
case "--packed_arrays":
case "--smi_only_arrays":
case "--clever_optimizations":
case "--use_range":
case "--eliminate_dead_phis":
case "--optimize_closures":
case "--loop_weight":
case "--opt_safe_uint32_operations":
case "--parallel_recompilation":
case "--trace_parallel_recompilation":
case "--parallel_recompilation_queue_length":
case "--experimental_profiler":
case "--watch_ic_patching":
case "--self_optimization":
case "--direct_self_opt":
case "--retry_self_opt":
case "--count_based_interrupts":
case "--interrupt_at_exit":
case "--weighted_back_edges":
case "--debug_code (generate extra code":
case "--enable_sse2":
case "--enable_cmov":
case "--enable_rdtsc":
case "--enable_vfp2":
case "--enable_fpu":
case "--stack_trace_on_abort":
case "--always_full_compiler":
case "--debugger_auto_break":
case "--break_on_abort":
case "--max_new_space_size":
case "--trace_external_memory":
case "--lazy_sweeping":
case "--trace_exception":
case "--preallocate_message_memory":
case "--preemption":
case "--extra_code":
case "--remote_debugger":
case "--debugger_agent":
case "--debugger_port":
case "--debug_compile_events":
case "--debug_script_collected_events":
case "--gdbjit":
case "--log_runtime":
case "--prof_auto":
case "--prof_lazy":
case "--sliding_state_window":
args.unshift(arg);
break;
default:
if (arg.indexOf("--trace") === 0) {
args.unshift(arg);
} else {
args.push(arg);
}
break;
}
});
// append arguments passed after --
if (argSeparator > -1) {
args = args.concat(userArgs);
}
try {
var kexec = require("kexec");
kexec(process.argv[0], args);
} catch (err) {
if (err.code !== "MODULE_NOT_FOUND") throw err;
var child_process = require("child_process");
var proc = child_process.spawn(process.argv[0], args, { stdio: "inherit" });
proc.on("exit", function (code, signal) {
process.on("exit", function () {
if (signal) {
process.kill(process.pid, signal);
} else {
process.exit(code);
}
})
});
}

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env node
require("../lib/babel-node");

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env node
require("../lib/babel");

View File

@@ -1,78 +0,0 @@
var outputFileSync = require("output-file-sync");
var chokidar = require("chokidar");
var path = require("path");
var util = require("./util");
var fs = require("fs");
var _ = require("lodash");
module.exports = function (commander, filenames, opts) {
var write = function (src, relative) {
// remove extension and then append back on .js
relative = relative.replace(/\.(\w*?)$/, "") + ".js";
var dest = path.join(commander.outDir, relative);
var data = util.compile(src, {
sourceFileName: path.relative(dest + "/..", src)
});
if (commander.sourceMaps && commander.sourceMaps !== "inline") {
var mapLoc = dest + ".map";
data.code = util.addSourceMappingUrl(data.code, mapLoc);
outputFileSync(mapLoc, JSON.stringify(data.map));
}
outputFileSync(dest, data.code);
console.log(src + " -> " + dest);
};
var handleFile = function (src, filename) {
if (util.shouldIgnore(src)) return;
if (util.canCompile(filename)) {
write(src, filename);
} else if (commander.copyFiles) {
outputFileSync(path.join(commander.outDir, filename), fs.readFileSync(src));
}
};
var handle = function (filename) {
if (!fs.existsSync(filename)) return;
var stat = fs.statSync(filename);
if (stat.isDirectory(filename)) {
var dirname = filename;
_.each(util.readdir(dirname), function (filename) {
var src = path.join(dirname, filename);
handleFile(src, filename);
});
} else {
write(filename, filename);
}
};
_.each(filenames, handle);
if (commander.watch) {
_.each(filenames, function (dirname) {
var watcher = chokidar.watch(dirname, {
persistent: true,
ignoreInitial: true
});
_.each(["add", "change"], function (type) {
watcher.on(type, function (filename) {
var relative = path.relative(dirname, filename) || filename;
try {
handleFile(filename, relative);
} catch (err) {
console.error(err.stack);
}
});
});
});
}
};

View File

@@ -1,143 +0,0 @@
var convertSourceMap = require("convert-source-map");
var sourceMap = require("source-map");
var chokidar = require("chokidar");
var path = require("path");
var util = require("./util");
var fs = require("fs");
var _ = require("lodash");
module.exports = function (commander, filenames, opts) {
if (commander.sourceMaps === "inline") {
opts.sourceMaps = true;
}
var results = [];
var buildResult = function () {
var map = new sourceMap.SourceMapGenerator({
file: commander.outFile || "stdout"
});
var code = "";
var offset = 0;
_.each(results, function (result) {
var filename = result.filename;
code += result.code + "\n";
if (result.map) {
var consumer = new sourceMap.SourceMapConsumer(result.map);
map._sources.add(filename);
map.setSourceContent(filename, result.actual);
consumer.eachMapping(function (mapping) {
map._mappings.add({
generatedLine: mapping.generatedLine + offset,
generatedColumn: mapping.generatedColumn,
originalLine: mapping.originalLine,
originalColumn: mapping.originalColumn,
source: filename
});
});
offset = code.split("\n").length;
}
});
if (commander.sourceMaps === "inline" || (!commander.outFile && commander.sourceMaps)) {
code += "\n" + convertSourceMap.fromObject(map).toComment();
}
return {
map: map,
code: code
};
};
var output = function () {
var result = buildResult();
if (commander.outFile) {
if (commander.sourceMaps && commander.sourceMaps !== "inline") {
var mapLoc = commander.outFile + ".map";
result.code = util.addSourceMappingUrl(result.code, mapLoc);
fs.writeFileSync(mapLoc, JSON.stringify(result.map));
}
fs.writeFileSync(commander.outFile, result.code);
} else {
process.stdout.write(result.code + "\n");
}
};
var stdin = function () {
var code = "";
process.stdin.setEncoding("utf8");
process.stdin.on("readable", function () {
var chunk = process.stdin.read();
if (chunk !== null) code += chunk;
});
process.stdin.on("end", function () {
results.push(util.transform(commander.filename, code));
output();
});
};
var walk = function () {
var _filenames = [];
results = [];
_.each(filenames, function (filename) {
if (!fs.existsSync(filename)) return;
var stat = fs.statSync(filename);
if (stat.isDirectory()) {
var dirname = filename;
_.each(util.readdirFilter(filename), function (filename) {
_filenames.push(path.join(dirname, filename));
});
} else {
_filenames.push(filename);
}
});
_.each(_filenames, function (filename) {
if (util.shouldIgnore(filename)) return;
results.push(util.compile(filename));
});
output();
};
var files = function () {
walk();
if (commander.watch) {
chokidar.watch(filenames, {
persistent: true,
ignoreInitial: true
}).on("all", function (type, filename) {
if (type === "add" || type === "change") {
console.log(type, filename);
try {
walk();
} catch (err) {
console.error(err.stack);
}
}
});
}
};
if (filenames.length) {
files();
} else {
stdin();
}
};

View File

@@ -1,125 +0,0 @@
#!/usr/bin/env node
var commander = require("commander");
var transform = require("babel-core").transform;
var kebabCase = require("lodash/string/kebabCase");
var options = require("babel-core").options;
var util = require("babel-core").util;
var each = require("lodash/collection/each");
var keys = require("lodash/object/keys");
var fs = require("fs");
var glob = require("glob");
each(options, function (option, key) {
if (option.hidden) return;
var arg = kebabCase(key);
if (option.type !== "boolean") {
arg += " [" + (option.type || "string") + "]";
}
if (option.type === "boolean" && option.default === true) {
arg = "no-" + arg;
}
arg = "--" + arg;
if (option.shorthand) {
arg = "-" + option.shorthand + ", " + arg;
}
var desc = [];
if (option.deprecated) desc.push("[DEPRECATED] " + option.deprecated);
if (option.description) desc.push(option.description);
commander.option(arg, desc.join(" "));
})
commander.option("-w, --watch", "Recompile files on changes");
commander.option("-o, --out-file [out]", "Compile all input files into a single file");
commander.option("-d, --out-dir [out]", "Compile an input directory of modules into an output directory");
commander.option("-D, --copy-files", "When compiling a directory copy over non-compilable files");
commander.on("--help", function () {
var outKeys = function (title, obj) {
console.log(" " + title + ":");
console.log();
each(keys(obj).sort(), function (key) {
if (key[0] === "_") return;
if (obj[key].optional) key = "[" + key + "]";
console.log(" - " + key);
});
console.log();
};
outKeys("Transformers", transform.transformers);
outKeys("Module formatters", transform.moduleFormatters);
});
var pkg = require("../../package.json");
commander.version(pkg.version);
commander.usage("[options] <files ...>");
commander.parse(process.argv);
//
var errors = [];
var filenames = commander.args.reduce(function (globbed, input) {
return globbed.concat(glob.sync(input));
}, []);
each(filenames, function (filename) {
if (!fs.existsSync(filename)) {
errors.push(filename + " doesn't exist");
}
});
if (commander.outDir && !filenames.length) {
errors.push("filenames required for --out-dir");
}
if (commander.outFile && commander.outDir) {
errors.push("cannot have --out-file and --out-dir");
}
if (commander.watch) {
if (!commander.outFile && !commander.outDir) {
errors.push("--watch requires --out-file or --out-dir");
}
if (!filenames.length) {
errors.push("--watch requires filenames");
}
}
if (errors.length) {
console.error(errors.join(". "));
process.exit(2);
}
//
var opts = exports.opts = {};
each(options, function (opt, key) {
opts[key] = commander[key];
});
opts.ignore = util.arrayify(opts.ignore, util.regexify);
opts.only = util.arrayify(opts.only, util.regexify);
var fn;
if (commander.outDir) {
fn = require("./dir");
} else {
fn = require("./file");
}
fn(commander, filenames, exports.opts);

View File

@@ -1,42 +0,0 @@
var readdir = require("fs-readdir-recursive");
var index = require("./index");
var babel = require("babel-core");
var util = require("babel-core").util;
var path = require("path");
var fs = require("fs");
var _ = require("lodash");
exports.readdirFilter = function (filename) {
return readdir(filename).filter(function (filename) {
return util.canCompile(filename);
});
};
exports.readdir = readdir;
exports.canCompile = util.canCompile;
exports.shouldIgnore = function (loc) {
return util.shouldIgnore(loc, index.opts.ignore, index.opts.only);
};
exports.addSourceMappingUrl = function (code, loc) {
return code + "\n//# sourceMappingURL=" + path.basename(loc);
};
exports.transform = function (filename, code, opts) {
opts = _.defaults(opts || {}, index.opts);
opts.filename = filename;
opts.ignore = null;
opts.only = null;
var result = babel.transform(code, opts);
result.filename = filename;
result.actual = code;
return result;
};
exports.compile = function (filename, opts) {
var code = fs.readFileSync(filename, "utf8");
return exports.transform(filename, code, opts);
};

View File

@@ -1 +1 @@
module.exports = require("babel-core");
throw new Error("Use the `babel-core` package instead of `babel-cli`.");

View File

@@ -1,26 +1,44 @@
{
"name": "babel",
"description": "Turn ES6 code into readable vanilla ES5 with source maps",
"version": "5.2.5",
"name": "babel-cli",
"version": "7.0.0-beta.0",
"description": "Babel command line.",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
"repository": "babel/babel",
"preferGlobal": true,
"license": "MIT",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-cli",
"keywords": [
"6to5",
"babel",
"es6",
"transpile",
"transpiler",
"babel-cli",
"compiler"
],
"dependencies": {
"babel-core": "^5.2.5",
"chokidar": "^1.0.0",
"commander": "^2.6.0",
"babel-core": "7.0.0-beta.0",
"babel-polyfill": "7.0.0-beta.0",
"babel-register": "7.0.0-beta.0",
"commander": "^2.8.1",
"convert-source-map": "^1.1.0",
"fs-readdir-recursive": "^0.1.0",
"glob": "^5.0.5",
"lodash": "^3.2.0",
"output-file-sync": "^1.1.0",
"path-is-absolute": "^1.0.0",
"source-map": "^0.4.0"
"fs-readdir-recursive": "^1.0.0",
"glob": "^7.0.0",
"lodash": "^4.2.0",
"output-file-sync": "^2.0.0",
"slash": "^1.0.0",
"source-map": "^0.5.0",
"v8flags": "^3.0.0"
},
"optionalDependencies": {
"chokidar": "^1.6.1"
},
"devDependencies": {
"babel-helper-fixtures": "7.0.0-beta.0"
},
"bin": {
"babel": "./bin/babel/index.js",
"babel-node": "./bin/babel-node",
"babel-external-helpers": "./bin/babel-external-helpers"
"babel-doctor": "./bin/babel-doctor.js",
"babel": "./bin/babel.js",
"babel-node": "./bin/babel-node.js",
"babel-external-helpers": "./bin/babel-external-helpers.js"
}
}
}

View File

@@ -1 +0,0 @@
module.exports = require("babel-core/polyfill");

View File

@@ -1 +0,0 @@
module.exports = require("babel-core/register-without-polyfill");

View File

@@ -1 +0,0 @@
module.exports = require("babel-core/register");

View File

@@ -0,0 +1,192 @@
import commander from "commander";
import Module from "module";
import { inspect } from "util";
import path from "path";
import repl from "repl";
import * as babel from "babel-core";
import vm from "vm";
import "babel-polyfill";
import register from "babel-register";
import pkg from "../package.json";
const program = new commander.Command("babel-node");
function collect(value, previousValue): Array<string> {
// If the user passed the option with no value, like "babel-node file.js --presets", do nothing.
if (typeof value !== "string") return previousValue;
const values = value.split(",");
return previousValue ? previousValue.concat(values) : values;
}
/* eslint-disable max-len */
program.option("-e, --eval [script]", "Evaluate script");
program.option("-p, --print [code]", "Evaluate script and print result");
program.option(
"-o, --only [globs]",
"A comma-separated list of glob patterns to compile",
collect,
);
program.option(
"-i, --ignore [globs]",
"A comma-separated list of glob patterns to skip compiling",
collect,
);
program.option(
"-x, --extensions [extensions]",
"List of extensions to hook into [.es6,.js,.es,.jsx,.mjs]",
collect,
);
program.option("-w, --plugins [string]", "", collect);
program.option("-b, --presets [string]", "", collect);
/* eslint-enable max-len */
program.version(pkg.version);
program.usage("[options] [ -e script | script.js ] [arguments]");
program.parse(process.argv);
//
register({
extensions: program.extensions,
ignore: program.ignore,
only: program.only,
plugins: program.plugins,
presets: program.presets,
});
//
const replPlugin = ({ types: t }) => ({
visitor: {
ModuleDeclaration(path) {
throw path.buildCodeFrameError("Modules aren't supported in the REPL");
},
VariableDeclaration(path) {
if (path.node.kind !== "var") {
throw path.buildCodeFrameError(
"Only `var` variables are supported in the REPL",
);
}
},
Program(path) {
if (path.get("body").some(child => child.isExpressionStatement())) return;
// If the executed code doesn't evaluate to a value,
// prevent implicit strict mode from printing 'use strict'.
path.pushContainer(
"body",
t.expressionStatement(t.identifier("undefined")),
);
},
},
});
//
const _eval = function(code, filename) {
code = code.trim();
if (!code) return undefined;
code = babel.transform(code, {
filename: filename,
presets: program.presets,
plugins: (program.plugins || []).concat([replPlugin]),
}).code;
return vm.runInThisContext(code, {
filename: filename,
});
};
if (program.eval || program.print) {
let code = program.eval;
if (!code || code === true) code = program.print;
global.__filename = "[eval]";
global.__dirname = process.cwd();
const module = new Module(global.__filename);
module.filename = global.__filename;
module.paths = Module._nodeModulePaths(global.__dirname);
global.exports = module.exports;
global.module = module;
global.require = module.require.bind(module);
const result = _eval(code, global.__filename);
if (program.print) {
const output = typeof result === "string" ? result : inspect(result);
process.stdout.write(output + "\n");
}
} else {
if (program.args.length) {
// slice all arguments up to the first filename since they're babel args that we handle
let args = process.argv.slice(2);
let i = 0;
let ignoreNext = false;
args.some(function(arg, i2) {
if (ignoreNext) {
ignoreNext = false;
return;
}
if (arg[0] === "-") {
const parsedArg = program[arg.slice(2)];
if (parsedArg && parsedArg !== true) {
ignoreNext = true;
}
} else {
i = i2;
return true;
}
});
args = args.slice(i);
// make the filename absolute
const filename = args[0];
if (!path.isAbsolute(filename)) {
args[0] = path.join(process.cwd(), filename);
}
// add back on node and concat the sliced args
process.argv = ["node"].concat(args);
process.execArgv.unshift(__filename);
Module.runMain();
} else {
replStart();
}
}
function replStart() {
repl.start({
prompt: "> ",
input: process.stdin,
output: process.stdout,
eval: replEval,
useGlobal: true,
});
}
function replEval(code, context, filename, callback) {
let err;
let result;
try {
if (code[0] === "(" && code[code.length - 1] === ")") {
code = code.slice(1, -1); // remove "(" and ")"
}
result = _eval(code, filename);
} catch (e) {
err = e;
}
callback(err, result);
}

View File

@@ -0,0 +1,27 @@
import commander from "commander";
import { buildExternalHelpers } from "babel-core";
function collect(value, previousValue): Array<string> {
// If the user passed the option with no value, like "babel-external-helpers --whitelist", do nothing.
if (typeof value !== "string") return previousValue;
const values = value.split(",");
return previousValue ? previousValue.concat(values) : values;
}
commander.option(
"-l, --whitelist [whitelist]",
"Whitelist of helpers to ONLY include",
collect,
);
commander.option(
"-t, --output-type [type]",
"Type of output (global|umd|var)",
"global",
);
commander.usage("[options]");
commander.parse(process.argv);
console.log(buildExternalHelpers(commander.whitelist, commander.outputType));

View File

@@ -0,0 +1,108 @@
/**
* This tiny wrapper file checks for known node flags and appends them
* when found, before invoking the "real" _babel-node(1) executable.
*/
import getV8Flags from "v8flags";
import path from "path";
let args = [path.join(__dirname, "_babel-node")];
let babelArgs = process.argv.slice(2);
let userArgs;
// separate node arguments from script arguments
const argSeparator = babelArgs.indexOf("--");
if (argSeparator > -1) {
userArgs = babelArgs.slice(argSeparator); // including the --
babelArgs = babelArgs.slice(0, argSeparator);
}
/**
* Replace dashes with underscores in the v8Flag name
* Also ensure that if the arg contains a value (e.g. --arg=true)
* that only the flag is returned.
*/
function getNormalizedV8Flag(arg) {
const matches = arg.match(/--(.+)/);
if (matches) {
return `--${matches[1].replace(/-/g, "_")}`;
}
return arg;
}
getV8Flags(function(err, v8Flags) {
babelArgs.forEach(function(arg) {
const flag = arg.split("=")[0];
switch (flag) {
case "-d":
args.unshift("--debug");
break;
case "debug":
case "--debug":
case "--debug-brk":
case "--inspect":
case "--inspect-brk":
args.unshift(arg);
break;
case "-gc":
args.unshift("--expose-gc");
break;
case "--expose-http2":
args.unshift("--expose-http2");
break;
case "--nolazy":
args.unshift(flag);
break;
default:
if (
v8Flags.indexOf(getNormalizedV8Flag(flag)) >= 0 ||
arg.indexOf("--trace") === 0
) {
args.unshift(arg);
} else {
args.push(arg);
}
break;
}
});
// append arguments passed after --
if (argSeparator > -1) {
args = args.concat(userArgs);
}
try {
const kexec = require("kexec");
kexec(process.argv[0], args);
} catch (err) {
if (err.code !== "MODULE_NOT_FOUND") throw err;
const child_process = require("child_process");
const proc = child_process.spawn(process.argv[0], args, {
stdio: "inherit",
});
proc.on("exit", function(code, signal) {
process.on("exit", function() {
if (signal) {
process.kill(process.pid, signal);
} else {
process.exit(code);
}
});
});
process.on("SIGINT", () => {
proc.kill("SIGINT");
process.exit(1);
});
}
});

View File

@@ -0,0 +1,112 @@
import defaults from "lodash/defaults";
import outputFileSync from "output-file-sync";
import slash from "slash";
import path from "path";
import fs from "fs";
import * as util from "./util";
export default function(commander, filenames, opts) {
function write(src, relative, base) {
if (!util.isCompilableExtension(relative, commander.extensions)) {
return false;
}
// remove extension and then append back on .js
relative = util.adjustRelative(relative, commander.keepFileExtension);
const dest = getDest(commander, relative, base);
const data = util.compile(
src,
defaults(
{
sourceFileName: slash(path.relative(dest + "/..", src)),
sourceMapTarget: path.basename(relative),
},
opts,
),
);
if (!data) return false;
// we've requested explicit sourcemaps to be written to disk
if (data.map && commander.sourceMaps && commander.sourceMaps !== "inline") {
const mapLoc = dest + ".map";
data.code = util.addSourceMappingUrl(data.code, mapLoc);
outputFileSync(mapLoc, JSON.stringify(data.map));
}
outputFileSync(dest, data.code);
util.chmod(src, dest);
util.log(src + " -> " + dest);
return true;
}
function getDest(commander, filename, base) {
if (commander.relative) return path.join(base, commander.outDir, filename);
return path.join(commander.outDir, filename);
}
function handleFile(src, filename, base) {
const didWrite = write(src, filename, base);
if (!didWrite && commander.copyFiles) {
const dest = getDest(commander, filename, base);
outputFileSync(dest, fs.readFileSync(src));
util.chmod(src, dest);
}
}
function handle(filename) {
if (!fs.existsSync(filename)) return;
const stat = fs.statSync(filename);
if (stat.isDirectory(filename)) {
const dirname = filename;
if (commander.deleteDirOnStart) {
util.deleteDir(commander.outDir);
}
util.readdir(dirname).forEach(function(filename) {
const src = path.join(dirname, filename);
handleFile(src, filename, dirname);
});
} else {
write(filename, path.basename(filename), path.dirname(filename));
}
}
if (!commander.skipInitialBuild) {
filenames.forEach(handle);
}
if (commander.watch) {
const chokidar = util.requireChokidar();
filenames.forEach(function(dirname) {
const watcher = chokidar.watch(dirname, {
persistent: true,
ignoreInitial: true,
awaitWriteFinish: {
stabilityThreshold: 50,
pollInterval: 10,
},
});
["add", "change"].forEach(function(type) {
watcher.on(type, function(filename) {
const relative = path.relative(dirname, filename) || filename;
try {
handleFile(filename, relative);
} catch (err) {
console.error(err.stack);
}
});
});
});
}
}

View File

@@ -0,0 +1,207 @@
import convertSourceMap from "convert-source-map";
import defaults from "lodash/defaults";
import sourceMap from "source-map";
import slash from "slash";
import path from "path";
import fs from "fs";
import * as util from "./util";
export default function(commander, filenames, opts) {
if (commander.sourceMaps === "inline") {
opts.sourceMaps = true;
}
let results = [];
const buildResult = function() {
const map = new sourceMap.SourceMapGenerator({
file: path.basename(commander.outFile || "") || "stdout",
sourceRoot: opts.sourceRoot,
});
let code = "";
let offset = 0;
results.forEach(function(result) {
code += result.code + "\n";
if (result.map) {
const consumer = new sourceMap.SourceMapConsumer(result.map);
const sources = new Set();
consumer.eachMapping(function(mapping) {
if (mapping.source != null) sources.add(mapping.source);
map.addMapping({
generated: {
line: mapping.generatedLine + offset,
column: mapping.generatedColumn,
},
source: mapping.source,
original:
mapping.source == null
? null
: {
line: mapping.originalLine,
column: mapping.originalColumn,
},
});
});
sources.forEach(source => {
const content = consumer.sourceContentFor(source, true);
if (content !== null) {
map.setSourceContent(source, content);
}
});
offset = code.split("\n").length - 1;
}
});
// add the inline sourcemap comment if we've either explicitly asked for inline source
// maps, or we've requested them without any output file
if (
commander.sourceMaps === "inline" ||
(!commander.outFile && commander.sourceMaps)
) {
code += "\n" + convertSourceMap.fromObject(map).toComment();
}
return {
map: map,
code: code,
};
};
const output = function() {
const result = buildResult();
if (commander.outFile) {
// we've requested for a sourcemap to be written to disk
if (commander.sourceMaps && commander.sourceMaps !== "inline") {
const mapLoc = commander.outFile + ".map";
result.code = util.addSourceMappingUrl(result.code, mapLoc);
fs.writeFileSync(mapLoc, JSON.stringify(result.map));
}
fs.writeFileSync(commander.outFile, result.code);
} else {
process.stdout.write(result.code + "\n");
}
};
const stdin = function() {
let code = "";
process.stdin.setEncoding("utf8");
process.stdin.on("readable", function() {
const chunk = process.stdin.read();
if (chunk !== null) code += chunk;
});
process.stdin.on("end", function() {
results.push(
util.transform(
commander.filename,
code,
defaults(
{
sourceFileName: "stdin",
},
opts,
),
),
);
output();
});
};
const walk = function() {
const _filenames = [];
results = [];
filenames.forEach(function(filename) {
if (!fs.existsSync(filename)) return;
const stat = fs.statSync(filename);
if (stat.isDirectory()) {
const dirname = filename;
util.readdirFilter(filename).forEach(function(filename) {
_filenames.push(path.join(dirname, filename));
});
} else {
_filenames.push(filename);
}
});
_filenames.forEach(function(filename) {
let sourceFilename = filename;
if (commander.outFile) {
sourceFilename = path.relative(
path.dirname(commander.outFile),
sourceFilename,
);
}
sourceFilename = slash(sourceFilename);
const data = util.compile(
filename,
defaults(
{
sourceFileName: sourceFilename,
},
opts,
),
);
if (!data) return;
results.push(data);
});
output();
};
const files = function() {
if (!commander.skipInitialBuild) {
walk();
}
if (commander.watch) {
const chokidar = util.requireChokidar();
chokidar
.watch(filenames, {
persistent: true,
ignoreInitial: true,
awaitWriteFinish: {
stabilityThreshold: 50,
pollInterval: 10,
},
})
.on("all", function(type, filename) {
if (!util.isCompilableExtension(filename, commander.extensions)) {
return;
}
if (type === "add" || type === "change") {
util.log(type + " " + filename);
try {
walk();
} catch (err) {
console.error(err.stack);
}
}
});
}
};
if (filenames.length) {
files();
} else {
stdin();
}
}

View File

@@ -0,0 +1,248 @@
#!/usr/bin/env node
import fs from "fs";
import commander from "commander";
import { version } from "babel-core";
import uniq from "lodash/uniq";
import glob from "glob";
import dirCommand from "./dir";
import fileCommand from "./file";
import pkg from "../../package.json";
function booleanify(val: any): boolean | any {
if (val === "true" || val == 1) {
return true;
}
if (val === "false" || val == 0 || !val) {
return false;
}
return val;
}
function collect(value, previousValue): Array<string> {
// If the user passed the option with no value, like "babel file.js --presets", do nothing.
if (typeof value !== "string") return previousValue;
const values = value.split(",");
return previousValue ? previousValue.concat(values) : values;
}
/* eslint-disable max-len */
// Standard Babel input configs.
commander.option(
"-f, --filename [filename]",
"filename to use when reading from stdin - this will be used in source-maps, errors etc",
);
commander.option(
"--presets [list]",
"comma-separated list of preset names",
collect,
);
commander.option(
"--plugins [list]",
"comma-separated list of plugin names",
collect,
);
commander.option("--config-file [path]", "Path a to .babelrc file to use");
// Basic file input configuration.
commander.option("--source-type [script|module]", "");
commander.option(
"--no-babelrc",
"Whether or not to look up .babelrc and .babelignore files",
);
commander.option(
"--ignore [list]",
"list of glob paths to **not** compile",
collect,
);
commander.option(
"--only [list]",
"list of glob paths to **only** compile",
collect,
);
// Misc babel config.
commander.option(
"--no-highlight-code",
"enable/disable ANSI syntax highlighting of code frames (on by default)",
);
// General output formatting.
commander.option(
"--no-comments",
"write comments to generated output (true by default)",
);
commander.option(
"--retain-lines",
"retain line numbers - will result in really ugly code",
);
commander.option(
"--compact [true|false|auto]",
"do not include superfluous whitespace characters and line terminators",
booleanify,
);
commander.option("--minified", "save as much bytes when printing [true|false]");
commander.option(
"--auxiliary-comment-before [string]",
"print a comment before any injected non-user code",
);
commander.option(
"--auxiliary-comment-after [string]",
"print a comment after any injected non-user code",
);
// General soucemap formatting.
commander.option("-s, --source-maps [true|false|inline|both]", "", booleanify);
commander.option(
"--source-map-target [string]",
"set `file` on returned source map",
);
commander.option(
"--source-file-name [string]",
"set `sources[0]` on returned source map",
);
commander.option(
"--source-root [filename]",
"the root from which all sources are relative",
);
// Config params for certain module output formats.
commander.option(
"--module-root [filename]",
"optional prefix for the AMD module formatter that will be prepend to the filename on module definitions",
);
commander.option("-M, --module-ids", "insert an explicit id for modules");
commander.option(
"--module-id [string]",
"specify a custom name for module ids",
);
// "babel" command specific arguments that are not passed to babel-core.
commander.option(
"-x, --extensions [extensions]",
"List of extensions to compile when a directory has been input [.es6,.js,.es,.jsx,.mjs]",
collect,
);
commander.option(
"--keep-file-extension",
"Preserve the file extensions of the input files",
);
commander.option("-w, --watch", "Recompile files on changes");
commander.option(
"--skip-initial-build",
"Do not compile files before watching",
);
commander.option(
"-o, --out-file [out]",
"Compile all input files into a single file",
);
commander.option(
"-d, --out-dir [out]",
"Compile an input directory of modules into an output directory",
);
commander.option(
"--relative",
"Compile into an output directory relative to input directory or file. Requires --out-dir [out]",
);
commander.option(
"-D, --copy-files",
"When compiling a directory copy over non-compilable files",
);
commander.option("-q, --quiet", "Don't log anything");
commander.option(
"--delete-dir-on-start",
"Delete's the out directory before compilation",
);
/* eslint-enable max-len */
commander.version(pkg.version + " (babel-core " + version + ")");
commander.usage("[options] <files ...>");
commander.parse(process.argv);
//
const errors = [];
let filenames = commander.args.reduce(function(globbed, input) {
let files = glob.sync(input);
if (!files.length) files = [input];
return globbed.concat(files);
}, []);
filenames = uniq(filenames);
filenames.forEach(function(filename) {
if (!fs.existsSync(filename)) {
errors.push(filename + " doesn't exist");
}
});
if (commander.outDir && !filenames.length) {
errors.push("filenames required for --out-dir");
}
if (commander.outFile && commander.outDir) {
errors.push("cannot have --out-file and --out-dir");
}
if (commander.relative && !commander.outDir) {
errors.push("output directory required for --relative");
}
if (commander.watch) {
if (!commander.outFile && !commander.outDir) {
errors.push("--watch requires --out-file or --out-dir");
}
if (!filenames.length) {
errors.push("--watch requires filenames");
}
}
if (commander.skipInitialBuild && !commander.watch) {
errors.push("--skip-initial-build requires --watch");
}
if (commander.deleteDirOnStart && !commander.outDir) {
errors.push("--delete-dir-on-start requires --out-dir");
}
if (errors.length) {
console.error(errors.join(". "));
process.exit(2);
}
//
const opts = commander.opts();
//the configFile CLI option maps to the extends option in the node API
if (opts.configFile) {
opts.extends = opts.configFile;
}
// Delete options that are specific to babel-cli and shouldn't be passed to babel-core.
delete opts.version;
delete opts.extensions;
delete opts.watch;
delete opts.skipInitialBuild;
delete opts.outFile;
delete opts.outDir;
delete opts.copyFiles;
delete opts.quiet;
delete opts.configFile;
delete opts.deleteDirOnStart;
delete opts.keepFileExtension;
// Commander will default the "--no-" arguments to true, but we want to leave them undefined so that
// babel-core can handle the default-assignment logic on its own.
if (opts.babelrc === true) opts.babelrc = undefined;
if (opts.comments === true) opts.comments = undefined;
if (opts.highlightCode === true) opts.highlightCode = undefined;
const fn = commander.outDir ? dirCommand : fileCommand;
fn(commander, filenames, opts);

View File

@@ -0,0 +1,107 @@
import commander from "commander";
import readdir from "fs-readdir-recursive";
import * as babel from "babel-core";
import includes from "lodash/includes";
import path from "path";
import fs from "fs";
export function chmod(src, dest) {
fs.chmodSync(dest, fs.statSync(src).mode);
}
export function readdirFilter(filename) {
return readdir(filename).filter(function(filename) {
return isCompilableExtension(filename);
});
}
export { readdir };
/**
* Test if a filename ends with a compilable extension.
*/
export function isCompilableExtension(
filename: string,
altExts?: Array<string>,
): boolean {
const exts = altExts || babel.DEFAULT_EXTENSIONS;
const ext = path.extname(filename);
return includes(exts, ext);
}
export function addSourceMappingUrl(code, loc) {
return code + "\n//# sourceMappingURL=" + path.basename(loc);
}
export function log(msg) {
if (!commander.quiet) console.log(msg);
}
export function transform(filename, code, opts) {
opts = Object.assign({}, opts, {
filename,
});
return babel.transform(code, opts);
}
export function compile(filename, opts) {
try {
return babel.transformFileSync(filename, opts);
} catch (err) {
if (commander.watch) {
console.error(toErrorStack(err));
return { ignored: true };
} else {
throw err;
}
}
}
export function deleteDir(path) {
if (fs.existsSync(path)) {
fs.readdirSync(path).forEach(function(file) {
const curPath = path + "/" + file;
if (fs.lstatSync(curPath).isDirectory()) {
// recurse
deleteDir(curPath);
} else {
// delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
}
function toErrorStack(err) {
if (err._babel && err instanceof SyntaxError) {
return `${err.name}: ${err.message}\n${err.codeFrame}`;
} else {
return err.stack;
}
}
process.on("uncaughtException", function(err) {
console.error(toErrorStack(err));
process.exit(1);
});
export function requireChokidar() {
try {
return require("chokidar");
} catch (err) {
console.error(
"The optional dependency chokidar failed to install and is required for " +
"--watch. Chokidar is likely not supported on your platform.",
);
throw err;
}
}
export function adjustRelative(relative, keepFileExtension) {
if (keepFileExtension) {
return relative;
}
return relative.replace(/\.(\w*?)$/, "") + ".js";
}

View File

@@ -0,0 +1,3 @@
{
"comments": false
}

View File

@@ -0,0 +1,11 @@
(function (root, factory) {
if (typeof define === "function" && define.amd) {
define(["exports"], factory);
} else if (typeof exports === "object") {
factory(exports);
} else {
factory(root.babelHelpers = {});
}
})(this, function (global) {
var babelHelpers = global;
});

View File

@@ -0,0 +1,2 @@
var babelHelpers = {};
babelHelpers;

View File

@@ -0,0 +1,3 @@
{
"args": ["--whitelist", "createClass"]
}

View File

@@ -0,0 +1,21 @@
(function (global) {
var babelHelpers = global.babelHelpers = {};
babelHelpers.createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
})(typeof global === "undefined" ? self : global);

View File

@@ -0,0 +1 @@
console.log(process.argv[2]);

View File

@@ -0,0 +1,4 @@
{
"args": ["bar", "foo"],
"stdout": "foo"
}

View File

@@ -0,0 +1,4 @@
{
"args": ["--eval","--print", "var a = 1;"],
"stdout": "undefined"
}

View File

@@ -0,0 +1,5 @@
import "./bar2";
import "./not_node_modules";
var foo = () => console.log("foo");
foo();

View File

@@ -0,0 +1,10 @@
/*
The purpose of this file is to test that the node_modules check in the require
hook doesn't mistakenly exclude something like "not_node_modules". To pass, this
file merely needs to be transpiled. The transpiled code won't, and doesn't need
to, execute without error. It won't execute because React will be undefined.
*/
try {
<Some jsx="element" />;
}
catch (e) {}

View File

@@ -0,0 +1,4 @@
{
"args": ["--expose-gc-as=garbageCollector", "--eval", "console.log(typeof global.garbageCollector)"],
"stdout": "function"
}

View File

@@ -0,0 +1,4 @@
{
"args": ["--expose-gc", "--eval", "console.log(typeof global.gc)"],
"stdout": "function"
}

View File

@@ -0,0 +1,4 @@
{
"args": ["--expose_gc_as=garbageCollector", "--eval", "console.log(typeof global.garbageCollector)"],
"stdout": "function"
}

View File

@@ -0,0 +1,4 @@
{
"args": ["--expose_gc", "--eval", "console.log(typeof global.gc)"],
"stdout": "function"
}

View File

@@ -0,0 +1,3 @@
{
"args": ["--config-file", "../.othername_babelrc"]
}

View File

@@ -0,0 +1,7 @@
/*
Test comment
*/
arr.map(x => x * MULTIPLIER);
// END OF FILE

View File

@@ -0,0 +1,5 @@
"use strict";
arr.map(function (x) {
return x * MULTIPLIER;
});

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