Commit Graph

225 Commits

Author SHA1 Message Date
Sneh Khatri
2c68d03bf2 Allow $schema property in json config files (#14067)
* Fix: Error on  property in json config files

* options[] delete moved down
2021-12-28 22:13:14 -05:00
renovate[bot]
ecae53a98e chore(deps): update dependency typescript to ~4.5.0 (#14018)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
2021-12-02 16:59:11 +01:00
Bogdan Savluk
0058b7fef4 Migrate Babel from Flow to TypeScript (except Babel parser) (#11578)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-11-25 23:09:13 +01:00
Emily Marigold Klassen
fca5c9a501 Don't transform declare class in proposal-class-properties (#13854)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-10-21 00:30:05 +02:00
Patrick Eriksson
7acc68a86b Improve debug logging for IgnoreList (#13814) 2021-10-06 14:53:28 +02:00
Federico Ciardi
7e50ee2d82 feat: add noIncompleteNsImportDetection assumption to plugin-transform-modules-commonjs (#13290) 2021-08-03 23:55:09 +02:00
Jaeseok Kang
6df0b7c25f Fix config validation message typo (#13515)
* Fix config validation message typo

* Fix `checkNoUnwrappedItemOptionPairs` type param
2021-06-29 08:54:47 +02:00
Sosuke Suzuki
ad693cc0a0 Update prettier to 2.3.1 (#13460) 2021-06-14 17:33:58 +02:00
Nicolò Ribaudo
f85c6437c5 Pass assumptions set in presets to plugins (#13321) 2021-05-17 22:00:01 +02:00
Sosuke Suzuki
b2d9156cc6 Update to Prettier 2.3 (#13288) 2021-05-10 15:34:13 +02:00
Chris West
d0fcbfccdd perf(core): check files before interacting with them (#13090)
* perf(core): check files before interacting with them

* refactor: inline fs.exists.sync -> nodeFs.existsSync
2021-04-28 00:41:18 +02:00
Bogdan Savluk
a647b9ea6b Convert @babel/core to TypeScript (#12929)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2021-03-30 19:51:35 +02:00
Bogdan Savluk
c8a91d9eef Rename @babel/core files to .ts (#12929) 2021-03-30 19:51:35 +02:00
Nicolò Ribaudo
06eb3b73cb Only resolve package.json when relative configs are enabled (#13063) 2021-03-28 12:04:42 +02:00
Nicolò Ribaudo
8e8954b470 [babel 8] Remove module-specific options from @babel/core (#12724) 2021-03-28 01:27:37 +01:00
Henry Zhu
6b39bafab6 Remove lodash deps (#13057)
* inline escapeRegExp instead of using any dep

* inline camelCase

* replace merge with object spread

* copy if array instead of using clone

* inline isRegExp

* review fixes!

* remove escape-string-regexp from package.json and in test

* add error for field defaults that are not primitives or empty arrays

* replace merge with object spread

* yarn
2021-03-27 17:59:34 +01:00
Nicolò Ribaudo
e68f2ce195 Correctly handle relative browserslistConfigFile paths (#13031)
* Correctly handle relative `browserslistConfigFile`

* Fix flow
2021-03-26 15:07:28 -04:00
Nicolò Ribaudo
b0d83daceb Resolve .browserslistrc as a project-wide file (#13028) 2021-03-25 21:37:42 +01:00
Nicolò Ribaudo
564ca6638f Set rootMode: "root" in loadPartialConfig (#13040) 2021-03-23 20:11:10 +01:00
Huáng Jùnliàng
b784c81aeb Do not bail on SHOW_CONFIG_FOR matches (#12954)
Co-authored-by: Babel Bot <babel-bot@users.noreply.github.com>
2021-03-23 20:02:07 +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
b17231e1af [internal] Keep the .cjs extension when compiling source files (#12820)
* [internal] Keep the .cjs extension when compiling

* yarn
2021-02-25 18:03:05 +01:00
Nicolò Ribaudo
5861704361 Export function versions of createConfigItem (#12852) 2021-02-23 02:01:39 +01:00
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
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
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
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
Nicolò Ribaudo
208acb1d6c Use require.resolve instead of the resolve package (#12439) 2020-12-04 08:57:09 +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
Nicolò Ribaudo
31396b286d Make loadPartialConfig's options optional (#12200) 2020-10-16 15:46:49 +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
Devon Govett
c29138fd72 Do not cache non-existent files forever (#11906) 2020-08-04 16:07:25 -04:00
Huáng Jùnliàng
164a93945d add showConfig support (#11588)
* draft: showConfig support

* feat: pass through showConfig command options

* update test file

* refactor: add createLogger to makeChainWalker

* serializing dynamic plugin instance

* fix flow errors

* chore: add tests on extended config

* fix: do not print empty presets

* add more test cases

* add windows testcases

* address review comments

* throw error when showConfigPath does not exist

* print reason when showConfig is targetting an ignored file

* remove showConfig: boolean

* refactor: simplify environment flag name

* rename test fixtures

* fix: throw when SHOW_CONFIG_FOR is not a regular file

* cleanup test fixtures

* add test on only

* Update packages/babel-core/src/config/files/configuration.js

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

* address review comments

* update test fixtures

* feat: sort config items in ascending priority

Co-authored-by: Brian Ng <bng412@gmail.com>
2020-07-30 09:24:19 -04:00
coderaiser
cf425a0bde feature: babel-core: add cloneInputAst (#10241)
Co-authored-by: coderaiser <coderaiser@cloudcmd.io>
2020-07-29 16:40:02 -04:00
Huáng Jùnliàng
8f191ead92 chore: fix typo in codebase (#11846) 2020-07-16 16:01:20 -05:00
Huáng Jùnliàng
601c824873 Refine babel core types (#11544)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-06-21 22:04:12 +02: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
Nicolò Ribaudo
31b361b736 Use ?. where it represents the intended semantics (#11512) 2020-05-09 23:31:50 +02:00
Nicolò Ribaudo
90a9103e55 Update Flow to 0.123.0 (#11500) 2020-04-30 15:26:03 +02:00
Jacob Dreesen
d05334bde2 Fix typo and remove outdated doc comment (#11472)
* Fix typo

* Fix outdated doc comment [skip ci]
2020-04-25 10:24:22 +02:00
Nicolò Ribaudo
114f6726a7 Pass URLs to import() rather than paths (#11193)
* Pass URLs to import() rather than paths

* Make tests pass

* (╯°□°)╯︵ ┻━┻

* (╯°□°)╯︵ ┻━┻           (╯°□°)╯︵ ┻━┻             (╯°□°)╯︵ ┻━┻
2020-03-03 19:54:01 +01:00
Huáng Jùnliàng
0b3dea8f54 Turn on no-fallthrough rule (#11093)
* chore: turn on no-fallthrough

* chore: fix no-fallthrough errors
2020-02-07 22:05:19 +01:00
Huáng Jùnliàng
fa975bf7cd polish: throw human-friendly error when item-option pair is in… (#10969)
* polish: throw human-friendly error when item-option pair is incorrectly unwrapped

* add testcase for plugin

* fix: exclude false positive

* fix: validate should support plugin optionsSourceKind

* Revert "fix: validate should support plugin optionsSourceKind"

* fix: validate plugin object in assertNoUnwrappedItemOptionPairs

* fix flow error

* update test fixtures

* refactor: move to loadDescriptor catch clause

* chore: throw Error instead of builtin ReferenceError

* fix flow errors

* chore: add more test cases
2020-01-20 21:05:07 +01:00
Yordis Prieto
4c28f54152 Add babelrc.json support (#10783)
* Add babelrc.json support

* Add tests

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
2020-01-10 23:41:42 +01:00
Nicolò Ribaudo
ae06baf22f Add support for babel.config.mjs and .babelrc.mjs (#10903)
* Add support for babel.config.mjs and .babelrc.mjs

* Use path.extname
2020-01-10 23:14:29 +01:00
Nicolò Ribaudo
282f81bd67 Prepare @babel/core for asynchronicity (#10507)
* Prepare @babel/core for asynchronicity

* Include regenerator-runtime in standalone build

* Fix rollup build
2020-01-10 22:44:13 +01:00