Commit Graph

5340 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
Huáng Jùnliàng
bfd3f80bdb refactor: move @babel/helper-hoist-variables to ts (#12413)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-21 00:30:35 +01:00
Huáng Jùnliàng
62c1ccbf81 Convert @babel/helper-explode-assignable-expression to ts (#12417)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-21 00:11:11 +01:00
Federico Ciardi
8316cdaa8a typo: correct variable name (#12837) 2021-02-20 22:03:24 +01:00
Huáng Jùnliàng
72961e4564 fix: add regenerate-unicode-properties to dynamicRequireTargets (#12819)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-20 20:05:12 +01:00
Nicolò Ribaudo
7757a2850c Minor refactor to expect().toEqualFile assertion (#12830) 2021-02-19 17:39:31 +01:00
Huáng Jùnliàng
af2ed36535 chore: bump core-js-compat (#12821) 2021-02-19 13:27:38 +01:00
overlookmotel
792672ec60 Fix scope of computed method keys (#12812)
* Fix scope of computed method keys

* Test for nested computed keys

* Fix scope.rename with computed method keys

* Optional chaining tests
2021-02-19 02:36:34 +01:00
Anders Kaseorg
a940c0984f babel-register: Don’t rewrite the cache if it’s not dirty (#12813)
This saves time and avoids unnecessary SSD wear.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2021-02-18 23:36:46 +01:00
Nicolò Ribaudo
d0b6f0fe0f v7.12.18 2021-02-18 17:02: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
Huáng Jùnliàng
99130bcfdd Register binding when transforming TSParameterProperty (#12796) 2021-02-17 00:42:01 +01:00
Tim Seckinger
0bb57005c6 test: avoid deprecated jest.addMatchers (#12811) 2021-02-17 00:36:19 +01:00
Federico Ciardi
8e9143f06f fix(ts): parse multiline declarations correctly (#12776)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-02-16 23:51:24 +01:00
Huáng Jùnliàng
4462eeae6b Clean up traverse scope (#12797) 2021-02-16 23:23:34 +01:00
Ikko Ashimine
4819ce70e4 refactor: fix typo in error.js (#12808)
postion -> position
2021-02-16 12:35:58 -05:00
Sosuke Suzuki
c22e72eb24 Raise recoverable error for type members with invalid modifiers (#12785) 2021-02-12 17:20:06 +01:00
Nicolò Ribaudo
8063fde0d8 Reuse the readOnlyError helper for private methods (#12792) 2021-02-12 14:33:23 +01:00
Nicolò Ribaudo
7c9dd78b8d Fix import assertions type definitions (#12794)
* Fix import assertions type definitions

* Ensure that an array validator is followed by assertEach
2021-02-12 10:10:05 +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
Huáng Jùnliàng
4b8a6a8e80 Polish @babel/node REPL (#12786) 2021-02-11 00:34:29 +01:00
Nicolò Ribaudo
c07185207c [parser] Fix scope handling of Flow declared functions (#12735) 2021-02-10 21:07:14 +01:00
Sosuke Suzuki
f1a327506e ts: Throw recoverable for duplicates access modifier (#12775)
* Support parsing for duplicates access modifiers

Support parsing for duplicates access modifiers

* Fix lint problems

* Address reviews
2021-02-09 09:59:06 +01:00
Sosuke Suzuki
d242ea04c8 babel-parser(ts): Raise recoverable error for abstract interface (#12771)
* Support parsing abstract interface

* Address review

Address reviews

Address reviews

* Fix types

* Add hasFollowingLineBreak
2021-02-09 09:56:18 +01: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
Federico Ciardi
bf523da0b0 fix(ts): include asserts in TSTypePredicate location (#12763) 2021-02-05 20:02:41 +01:00
Federico Ciardi
eccbcca948 [TS] Create TSUnionType or TSIntersectionType when typealias has a leading operator (#12758)
* Create `TSUnionType` or `TSIntersectionType` when typealias has a leading operator

* Apply code review suggestions

* Test `TSIntersectionType`
2021-02-05 20:00:27 +01:00
Huáng Jùnliàng
74ed698c2e Support destructuring variable declarator within TS namespace (#12760)
* refactor: extract handleVariableDeclaration

* fix: support general variable declarator under namespace

* fix: support general declarator on export module id duplication check

* refactor: use for-in
2021-02-05 11:52:15 -05:00
Babel Bot
b1921d2d9b v7.12.15 2021-02-04 21:27:03 +00:00
Federico Ciardi
d1cf66e8c1 fix(ts): include leading operator in TSUnionType and TSIntersectionType locations (#12757) 2021-02-04 19:24:35 +01:00
Nicolò Ribaudo
0fdec6b7e7 Convert runtime helpers build script to ESM (#12756) 2021-02-04 18:15:30 +01:00
Nicolò Ribaudo
77d46bcb1a Respect the jsescOption.minimal generator option (#12755) 2021-02-04 16:45:02 +01:00
Nicolò Ribaudo
dd18d87152 v7.12.14 2021-02-03 15:58:57 +01:00
Federico Ciardi
94ba66c89b fix(ts): allow abstract methods with export default abstract class (#12748) 2021-02-03 09:48:41 -05: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
bab5c62f90 Fix class fields when super() is in a default param (#12729)
* Fix class fields when `super()` is in a default param

* Use assertion instead of type cast
2021-02-02 15:38:07 +01:00
Nicolò Ribaudo
60ef190d05 Define class elements in the correct order (#12723)
* Define class elements in the correct order

* Object.gOPDescriptors is not available on Node.js 6

* Handle numeric keys

* Update test

* Update fixtures
2021-02-02 02:22:16 +01:00
Stuart Cook
20664a430e Permit %%placeholder%% in left-hand-side of a let declaration (#12725)
* Permit %%placeholder%% in left-hand-side of a let declaration

* Test that "let" followed by modulo is still treated as an identifier

* More tests for edge-case handling of "let" with placeholders enabled
2021-02-01 20:00:21 -05:00
Huáng Jùnliàng
ecfe20395b spec: disable await binding identifier within static block (#12661) 2021-02-01 21:55:43 +01:00
Nicolò Ribaudo
d0a965b71f Throw when compiling spread in super() but not classes (#12722)
* Throw when compiling spread in `super()` but not classes

* Add comment
2021-02-01 20:16:10 +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
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
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
Karan Sapolia
b63be942ce Use native ESM for dev scripts (#12296)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-01-30 18:36:21 +01:00