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
Jaroslav Kubíček
26c0a32c7c
refactor: Improve error message in @babel/core when root config is not found ( #10778 )
2019-12-01 00:07:05 +01:00
Nicolò Ribaudo
bea1b0d0af
Add support for .cjs config files ( #10599 )
...
* Remove duplicate config loading logic and errors
* Add support for .cjs config files
* Add tests
* [tests] Fallback for fs.promises on node 6
2019-11-04 00:24:44 +01:00
Devon Govett
3a5e8a8dd4
Add support for babel.config.json ( #10501 )
...
* Add support for babel.config.json root config
* Throw if multiple configuration files are found
* Add tests
2019-10-29 19:37:50 +01:00
David J. Hamilton
fa5a40c8d5
assertNoDuplicates throw with more context ( #10419 )
...
When users see errors like
```
Duplicate plugin/preset detected.
If you'd like to use two separate instances of a plugin,
they need separate names, e.g.
plugins: [
['some-plugin', {}],
['some-plugin', {}, 'some unique name'],
]
```
It can be difficult to determine the source of the conflict, especially
in a larger build system.
This commit outputs what is known about the plugins that actually
conflict, which can be helpful for users to determine the root cause of
the conflict.
Partially addresses #9778
2019-10-02 16:45:03 +02:00
Huáng Jùnliàng
af04f40ee0
fix: pass optionLoc when validating plugin object ( #10402 )
2019-09-11 12:23:20 +02:00
Huáng Jùnliàng
8da9d8b4b8
feat(errors): validate preset when filename is absent ( #10181 )
...
* feat(errors): validate preset when filename is absent
Closes #10154
* fix: test overrides for filename compulsory
* docs: rewrite validate error message
per https://github.com/babel/babel/pull/10181#discussion_r301607986
* polish error message
2019-09-06 18:09:19 +02:00
Daniel Tschinder
4f0840ab88
Update dev dependencies and fix linting errors ( #10228 )
...
* chore: Uppate dev dependencies
* chore: Fix lint errors
* chore: Format options.json files
* chore: Fix stupid flow errors
* Update test262 whitelist
Seems test262-stream was updated and now these tests work.
2019-07-27 15:09:30 +02:00
Sebastian Johansson
595a349174
Fix incorrect usage of $o instead of %o in debug ( #10157 )
...
It would end up printing the literal "$o" instead of the directory name.
2019-07-03 16:04:31 +02:00
Min ho Kim
0bf0ae3410
Fix typos ( #10153 )
2019-07-03 15:51:48 +02:00
Divyam Bhasin
7942dc0f07
Fixed null error in plugin opts and added a test for it ( #9945 )
...
* Fixed null error in plugin opts and added a test for it
* Remove !opts and add opts === null check to avoid confusion with false and undefined cases
Co-Authored-By: divbhasin <divbest99@gmail.com>
2019-05-07 16:23:01 +02:00
Pablo Navarro
16e17c560b
Add missing space in error messages ( #9909 )
2019-04-29 19:52:13 +02:00
Daniel Tschinder
7943a48cc3
Update flow to 0.92.1 and fix related issues ( #9468 )
...
* Update flow to 0.92.1 and fix related issues
* Change isThenable check
2019-02-08 13:27:11 -08:00