234 Commits

Author SHA1 Message Date
Nicolò Ribaudo
b4c21c729f Enable class fields & private methods by default (#13091) 2021-04-28 18:25:17 +02:00
Nicolò Ribaudo
5a7a782da2 Add private brand checks to shippedProposals (#13176) 2021-04-28 18:25:17 +02:00
Nicolò Ribaudo
3c2b98ff06 Add class static blocks to preset-env's shippedProposals (#13114) 2021-04-28 18:25:17 +02:00
Sosuke Suzuki
2521c666f7 Add internal ESLint rule for consistent parser error messages (#13130) 2021-04-28 18:21:31 +02:00
Stuart Cook
3d4b801bb9
Simplify the special-case printing of single-param arrow functions (#13204)
* Simplify the special-case printing of single-param arrow functions

* Update test fixtures with single-param arrow functions

* Add some explicit snapshot tests for known edge-cases
2021-04-26 10:26:45 -04:00
Nicolò Ribaudo
f63d73c94e
Allow putting helpers in individual files (#13190)
* Allow putting helpers in individual files

* Lint

* Also move `objectSpread2` (to show an helper with deps)

* Update fixture and package.json

* fixture
2021-04-22 20:45:52 +02:00
Nicolò Ribaudo
bdbd07d170
Update browserslist and caniuse-lite (#13174) 2021-04-19 20:04:59 +02:00
Nicolò Ribaudo
808d437cf4
Support iterating generators in browsers without Symbol (#13129) 2021-04-15 23:47:53 +02:00
Nicolò Ribaudo
be1003b837
[preset-env - debug] Print targets that need each plugin (#13115) 2021-04-07 22:50:14 +02:00
Nicolò Ribaudo
8d4da69e9d
Update polyfill plugins (#13079)
* Update polyfill plugins

* Update fixtures

* Update Babel 8 fixtures
2021-03-31 13:46:15 -04:00
Nicolò Ribaudo
d563773723
Compile classes when spread is unsupported (#13075) 2021-03-31 16:42:52 +02:00
Nicolò Ribaudo
b0d83daceb
Resolve .browserslistrc as a project-wide file (#13028) 2021-03-25 21:37:42 +01:00
Nicolò Ribaudo
2ae19d01b1
Update fixtures (#13045)
* Update fixtures

* Update standalone tests
2021-03-24 14:18:02 +01:00
Huáng Jùnliàng
6ee87eea49
[babel 8] fallback targets to "defaults, not ie 11" (#12989) 2021-03-23 20:17:16 +01:00
Huáng Jùnliàng
c2a42492db
Implement @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining (#13009) 2021-03-19 13:26:28 -04:00
Huáng Jùnliàng
020c88e74b
Update compat data (#13008) 2021-03-19 08:33:59 -04:00
Nicolò Ribaudo
8ad6b75cde
Use function rather than var to compile private methods (#12990) 2021-03-11 02:08:31 +01:00
Nicolò Ribaudo
d04842a700
Avoid using CJS globals in internal source files (#12963)
* Lint against CJS globals in modules

* Use `import.meta.url` instead of `__filename` in `src` files

* Prepare fixtures runner for `import.meta.url`

* Use `import.meta.url` instead of `__filename` in `test/index` files

* Remove `__dirname` from remaining test files

dirname

* Avoid using `module` in `src` files

* Avoid using `require` in `src` files

* Avoid using `require` in `test` files

* Update `@types/node`

* Compile dynamic import in `@babel/node`

* Fix windows

* Use `@babel/plugin-proposal-dynamic-import` from npm
2021-03-05 19:55:36 +01:00
Nicolò Ribaudo
0d9ad433b4
Fix esmodules: true without specified browsers (#12908)
* Fix `esmodules: true` without specified browsers

* fix
2021-03-02 08:16:25 +01:00
Nicolò Ribaudo
c155caf1e8
Load .browserslistrc when using old @babel/core versions (#12934) 2021-03-01 20:46:02 +01:00
Nicolò Ribaudo
ea6a438315
Enable external-helpers by default in tests (#12911)
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Babel Bot <babel-bot@users.noreply.github.com>
2021-02-26 23:33:26 +01:00
Alan Lu - 川古
6a0394634f
Don't inject invalid core-js@2 polyfills (#12901) 2021-02-25 21:52:21 +01:00
Huáng Jùnliàng
4acb73449f
Update compat table (#12850)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-23 15:32:54 +01:00
Nicolò Ribaudo
771841f764
Fix _isNativeReflectConstruct helper (#8461) 2021-02-22 22:49:44 +01:00
Nicolò Ribaudo
143ee801e6
Use the babel-plugin-polyfill-* packages in preset-env (#12583) 2021-02-21 17:40:29 +01:00
Nicolò Ribaudo
cb404e4776 Add targets and browserslist* options to @babel/core (#12189) 2021-02-21 17:09:43 +01:00
Huáng Jùnliàng
af2ed36535
chore: bump core-js-compat (#12821) 2021-02-19 13:27:38 +01:00
Huáng Jùnliàng
108564fdad
refactor: raise AwaitNotInAsyncContext when an AwaitExpression will be parsed (#12716)
* refactor: raise AwaitNotInAsyncContext when an AwaitExpression will be parsed

* tweak logic

* early exit when errors are before thrown error position

* fix: always return true in assert.throws callback

See https://nodejs.org/api/assert.html#assert_assert_throws_fn_error_message

* update test fixtures

* fix flow error
2021-02-01 10:46:43 -05:00
Huáng Jùnliàng
6e9a174e7f
fix: print warning messages to stderr (#12626) 2021-01-14 08:45:48 -05:00
Huáng Jùnliàng
eda4130d5e
Tweak helper compilation targets (#12615)
* refactor: simply browserslists defaults overwriting

When `hasTargets` is `false`,  `targets` is always an empty object by definition, `objectToBrowserslist({})` always return `[]` therefore we can remove `objectToBrowserslist`.

* test: apply external-helpers on preset-env test fixtures

* test: add ie 6 to force all transforms in corejs 3, debug, corejs 2 fixtures

* Add ie 6 as targets for test fixtures
2021-01-12 13:09:45 -05:00
Nicolò Ribaudo
606c91cd33
[babel 8] Remove uglify target support in preset-env (#12594)
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2021-01-08 17:58:44 +01:00
Nicolò Ribaudo
fb12afc289
Declare template objects inline (#12588) 2021-01-05 23:25:15 +01:00
Huáng Jùnliàng
1382437ad6
Add js extension to preset-env generated polyfill imports (#10862) 2020-12-10 20:16:46 +01:00
Andrew Smith
71f87874ce
Clarify warning source about underspecified corejs option in preset-env. (#12402)
* Clarify these warnings are for babel-preset-env.

* Fix lint.

* Fix specs.

* Fix merge conflict.

* PR feedback.
2020-12-01 08:58:06 +00:00
Huáng Jùnliàng
9891c020b1
Bump core-js-compat to version 3.8.0 (#12399) 2020-11-25 22:46:07 +01:00
Huáng Jùnliàng
2db500451b
Bump caniuse-lite resolutions (#12368) 2020-11-17 16:38:02 +01:00
Brian Ng
08c7280167
Fix support for polyfilling Array.prototype.values in core-js@2 (#12340) 2020-11-10 16:43:11 +01:00
Nicolò Ribaudo
2984f0cb88
Use the correct context when re-using a cached NodePath (#12331) 2020-11-10 15:03:21 +01:00
Nicolò Ribaudo
32279147e6
Update core-js-compat (#12323)
* Update `core-js-compat`

* Update lockfile
2020-11-06 18:19:57 +01:00
Huáng Jùnliàng
5b48f40a08
Polish parser errors (#12258)
* polish: update AwaitNotInAsyncFunction message

* polish: update YieldInParameter error message

* Apply suggestions from code review

Co-authored-by: Brian Ng <bng412@gmail.com>

* update test fixtures

Co-authored-by: Brian Ng <bng412@gmail.com>
2020-10-26 20:55:04 -04:00
Nicolò Ribaudo
b4ae7b7893
Update to Browserslist 4.14.5 (#12241) 2020-10-23 21:15:49 -04:00
Huáng Jùnliàng
afc03581cc
chore: bump electron-to-chromium (#12118)
* chore: bump electron-to-chromium

* test: update test fixtures
2020-09-29 13:51:20 -04:00
Huáng Jùnliàng
f2da186714
refactor: add @babel/helper-validator-option (#12006)
* refactor: add @babel/helper-validator-option

* refactor: simplify validateTopLevelOptions

* perf: the recursive version is not practically fast

* Update packages/babel-helper-validator-option/README.md

Co-authored-by: Brian Ng <bng412@gmail.com>

* Update packages/babel-helper-validator-option/src/validator.js

* fix: incorrect type annotation

* refactor: use babel/helper-option-validator in babel/compat-data

* chore: fix flow types error

* Address review comments

* address review comments

Co-authored-by: Brian Ng <bng412@gmail.com>
2020-09-24 16:23:35 -04:00
Huáng Jùnliàng
3fad7eab9b
Use Yarn 2 (#11962)
* chore: use yarn 2

* chore: remove redundant yarn locks

* chore: remove publishEslintPkg

* chore: remove redundant make bootstrap

* Update .yarnrc.yml

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>

* chore: use workspace protocol for eslint packages in the root

Co-Authored-By: merceyz <merceyz@users.noreply.github.com>

* chore: pin caniuse-lite versions

Testcases in packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie
depends on specific caniuse-lite versions. We pinned the version here
so we don't have to deal with fixture different in e2e-tests
where all deps will be updated and tested.

* chore: resolve yarn install warnings

* chore: update yarn cache path on circle/travis

* chore: add yarn deduplicate plugin

* chore: deduplicate lock files

* chore: move devDependencies to leaf packages

* chore: remove @yarnpkg/plugin-constraints

* chore: remove unused dedupe options

* test: fix unwanted self reference

* chore: remove output-file-sync dependency

* chore: update browserify to 16.5.2

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>
2020-08-25 14:37:30 -04:00
morrme
2f89e72321 enable logical assignment in babel preset env (#11876)
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2020-07-29 18:32:12 -04:00
Huáng Jùnliàng
ccd98f042c Add numeric-separator to preset-env (#11865) 2020-07-29 18:32:12 -04:00
Huáng Jùnliàng
cdb81d7703 Add export-namespace-from to preset-env (#11849)
* feat: add compat-data of proposal-export-namespace-from

* feat: add export-namespace-from to preset-env

* chore: update test fixtures

* address review comments
2020-07-29 18:32:12 -04:00
Huáng Jùnliàng
48be93b46c
refactor: replace caniuse-db by mdn-browser-compat-data (#11838)
* refactor: replace caniuse-db by mdn-browser-compat-data

* fix broken test
2020-07-20 17:11:21 -04:00
Bogdan Savluk
4108524856
Update prettier to v2 (#11579)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-06-07 22:21:33 +02:00
Brian Ng
3a3457d808
Fix some test fixtures (#11655) 2020-05-31 09:57:00 -05:00