1016 Commits

Author SHA1 Message Date
Nicolò Ribaudo
6ef7b51a11 Implement assumptions defined in the babel/rfcs#5 RFC
- `mutableTemplateObject` and `ignoreToPrimitiveHint` (#12408)
- `setClassMethods` (#12407)
- `setComputedProperties` (#12490)
- `ignoreFunctionLength` (#12491)
- `noDocumentAll` (#12481)
- `iterableIsArray` and `arrayLikeIsIterable` (#12489)
- `pureGetters` (#12504)
- `skipForOfIteratorClosing` (#12496)
- `objectRestNoSymbols`, `setSpreadProperties` and `pureGetters` (#12505)
- `noNewArrows` (#12613, #12793)
- `setPublicClassFields` and `privateFieldsAsProperties` (#12497)
- `constantReexports` and `enumerableModuleMeta` (#12618)
- `constantSuper`, `superIsCallableConstructor` and `noClassCalls` (#12726)

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
Co-authored-by: Huáng Jùnliàng <JLHwung@users.noreply.github.com>
2021-02-21 17:09:45 +01:00
Nicolò Ribaudo
7965c15557 Add @babel/core support for the new assumptions option (#12219)
- Disallow setting assumptions to `false` in presets (#12498)
2021-02-21 17:09:45 +01:00
Nicolò Ribaudo
cb404e4776 Add targets and browserslist* options to @babel/core (#12189) 2021-02-21 17:09:43 +01:00
Nicolò Ribaudo
31ca15ef58 Support .mjs plugins/presets and async factories (#12266) 2021-02-21 17:08:30 +01:00
Nicolò Ribaudo
2f755ef052 v7.12.17 2021-02-18 15:58:43 +01:00
Devon Govett
35c41148dd
Do not cache non-existent JS config files forever (#12211)
Missed a spot in #11906. Currently if you don't have a JS config file and then add one to your project, it will not be picked up without restarting the process. Changing from caching forever to never caching when files don't exist fixes the issue.
2021-02-18 12:18:02 +01:00
Babel Bot
dd5c9f958c v7.12.16 2021-02-11 22:36:24 +00:00
Huáng Jùnliàng
4f92f8c11c
fix: use semver gte comparison on polyfill version tester (#12783) 2021-02-10 22:54:50 -05:00
Nicolò Ribaudo
e735266dee
Avoid importing .json files (#12759)
* Avoid importing `.json` files

* Use ESold in babel.config.json

* Use `import/extensions` eslint plugin
2021-02-05 23:34:36 +01:00
Huáng Jùnliàng
7fb6048e7c
test: add tests on {parser,generator}Override (#12740) 2021-02-02 23:18:41 -05:00
Nicolò Ribaudo
d291edbdf1 v7.12.13 2021-02-03 01:59:31 +01:00
Nicolò Ribaudo
4f2d47500f
Don't use require() in ESM files (#12728)
* Update `yarn-plugin-conditions`

* Don't use `require()` in ESM files
2021-02-01 17:09:02 +01:00
Nicolò Ribaudo
8cf0a757d5
Recover from "missing semicolon" errors (#12437)
* Recover from "missing semicolon" errors

* Update other tests

* Fix flow

* Fix windows test

* Add back deleted test
2021-02-01 10:08:43 +01:00
Henry Zhu
464a02ffe1
[babel 8] Replace lodash/escapeRegExp with escape-string-regexp (#12677)
Co-authored-by: James Addison <jay@jp-hosting.net>
2021-01-23 22:21:34 +01:00
Brian Ng
fec4a132ad
Bump prettier@2.2.1 (#12633) 2021-01-14 14:10:47 -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
Daniel Arthur Gallagher
e8b08523f4
docs: add package-specific documentation links (#12531)
[skip ci]
2021-01-06 14:11:53 +01:00
Nicolò Ribaudo
e901454096 v7.12.10 2020-12-09 23:44:59 +01:00
Nicolò Ribaudo
208acb1d6c
Use require.resolve instead of the resolve package (#12439) 2020-12-04 08:57:09 +01:00
Nicolò Ribaudo
e334a88884 v7.12.9 2020-11-24 21:59:33 +01:00
Nicolò Ribaudo
16184887ab v7.12.8 2020-11-23 23:26:07 +01:00
Nicolò Ribaudo
23226d93d4 v7.12.7 2020-11-20 22:02:43 +01:00
Nicolò Ribaudo
6a0e909c13
Don't compile import() in development (#12288) 2020-11-18 16:02:02 +01:00
Jason Miller
ddd868f838
Account for ConfigItem being generated by another copy of Babel (#11734)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2020-11-10 15:02:46 +01:00
Mateusz Burzyński
21f42544ca
Fixed incorrectly implemented tests for loadOptions (#12301) 2020-11-09 16:14:56 +01:00
Álvaro Mondéjar
b649f8d192
Fix packages documentation README links. (#12289) 2020-10-30 21:19:21 +01:00
Nicolò Ribaudo
ed498a772b
Use workspace:* for devDependencies (again) (#12217)
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2020-10-19 18:32:06 +02:00
Nicolò Ribaudo
2562c8d8fa v7.12.3 2020-10-16 23:11:14 +02:00
Nicolò Ribaudo
31396b286d
Make loadPartialConfig's options optional (#12200) 2020-10-16 15:46:49 +02:00
Nicolò Ribaudo
7f4b83833f v7.12.1 2020-10-16 00:36:30 +02:00
Huáng Jùnliàng
eec01fe078
chore: use workspace:* for dev deps (#12186) 2020-10-15 14:03:50 -04:00
Nicolò Ribaudo
726154c78e v7.12.0 2020-10-14 21:48:45 +02:00
Sven Sauleau
af8e0facc1
Parse import-assertions (#12139)
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-10-14 21:18:16 +02:00
Huáng Jùnliàng
f697e7995d Transform class static block (#12143)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
Co-authored-by: Brian Ng <bng412@gmail.com>
2020-10-14 21:16:24 +02:00
Huáng Jùnliàng
21d7ee2610 String import/export specifier (#12091)
* feat: parse moduleExportName
* feat: add validators
* Support string specifier name in commonjs transform
* Support string specifier name in export-ns-from
* test: add loose testcases
* test: add testcases for amd and umd
* feat: support systemjs
* test: update fixtures fixed in #12110
* add plugin name typings
* test: rename test layout
* feat: implement under moduleStringNames flag
* chore: add plugin syntax module string names
* feat: support ModuleExportName as ModuleExportName
* test: update test fixtures
* fix flow errors
* docs: update AST spec
* feat: support { "some imports" as "some exports" }
* feat: support { "some imports" as "some exports" } in systemjs
* test: add test on `import { "foo" }`
* Address review comments
* add moduleStringNames to missing plugin helpers
* Apply suggestions from code review
* update test fixtures
* Update packages/babel-parser/src/parser/error-message.js
* update test fixtures

Co-Authored-By: Kai Cataldo <kai@kaicataldo.com>
Co-authored-by: Brian Ng <bng412@gmail.com>
2020-10-14 20:01:37 +02:00
Nicolò Ribaudo
1b90d90fcc Instantiate presets before plugins (#11689) 2020-10-14 19:59:02 +02:00
Devon Govett
ce7b170ab7 Return a list of files that were read from loadPartialConfig (#11907) 2020-10-14 19:59:02 +02:00
Tim Gates
1334bc99e0
docs: Fix simple typo, preprelease -> pre-release (#12102)
There is a small typo in packages/babel-core/src/transformation/file/file.js, packages/babel-plugin-transform-runtime/src/helpers.js.

Should read `pre-release` rather than `preprelease`.
2020-09-23 16:06:21 -04:00
Huáng Jùnliàng
e51139d7fd v7.11.6 2020-09-03 11:11:11 -04:00
Huáng Jùnliàng
a91fdeb1f6
Revert #12014 (#12027)
* Revert "chore: bump source-map to 0.6.1 (#12014)"

This reverts commit d5bcc08bf7134db165af91a88a61c8c6bfe39144.

* test: add regression tests for #12025
2020-09-01 15:42:01 -04:00
Huáng Jùnliàng
af64ccb2b0 v7.11.5 2020-08-31 15:54:06 -04:00
Huáng Jùnliàng
d5bcc08bf7
chore: bump source-map to 0.6.1 (#12014) 2020-08-27 17:17:49 -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
Huáng Jùnliàng
90b1989569 v7.11.4 2020-08-20 14:51:38 -04:00
Huáng Jùnliàng
565cfff486 chore: test against workspace babel/core 2020-08-20 14:51:09 -04:00
Huáng Jùnliàng
4be67fb19a
Ensure import() is not transpiled in babel-core published source (#11974)
* fix: Ensure `import()` is not transpiled when published

* Update packages/babel-core/test/config-chain.js [skip ci]
2020-08-20 13:31:26 -04:00
Justin Ridgewell
a5bc48661b
Isolated exec tests (#11531)
* Run exec tests in fresh contexts

* Reevaluate modules in every context

* Cache module code when running tests

* Eliminate weakmap accesses as much as possible

* Remove old multiline usage

* Using bundled polyfill to significantly increase performance

The individual requires for each file were the part that was sooooo slow.

* Drop LRU cache size

* Fixes

* Fix test

Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2020-08-10 18:57:48 -04:00
Huáng Jùnliàng
953ae82159 v7.11.1 2020-08-04 17:58:35 -04:00
Devon Govett
c29138fd72
Do not cache non-existent files forever (#11906) 2020-08-04 16:07:25 -04:00
Huáng Jùnliàng
45fdb87747 v7.11.0 2020-07-30 17:12:07 -04:00