Logan Smyth
98f0808a22
Ensure the the config file isn't re-processed when users load a partial config and then pass it back to Babel.
2018-05-11 17:49:12 -07:00
Logan Smyth
bdcfb697a6
Use 'babelrc' and 'babelrcRoots' from config file, if not specified.
2018-05-11 17:49:11 -07:00
Logan Smyth
0341d299c8
Validate different file types with different rules.
2018-05-11 16:51:43 -07:00
Logan Smyth
1a7765712e
Validate the file before loading chain.
2018-05-11 15:29:28 -07:00
Logan Smyth
a3e622ad15
Fix inputSourcemapMerge when no JS content is output.
2018-05-01 20:31:29 -07:00
Renée Kooi
1a6855eff2
Fix default sourceFileName. ( #7764 )
...
* Fix default sourceFileName.
This deals with a problem mentioned in [babel/babelify#255 ][0]. I'm not
super sure about the implications, but it seems this may have been a
regression from Babel 6.
In babel@6, the default `sourceFileName` was the basename of the input
file:
```js
require('babel-core').transform('var a = 10', {
filename: __filename,
sourceMaps: true
}).map
// { version: 3,
// sources: [ 'index.js' ],
// names: [ 'a' ],
// mappings: 'AAAA,IAAIA,IAAI,EAAR',
// file: 'index.js',
// sourcesContent: [ 'var a = 10' ] } }
```
Currently however, the full file path is used:
```js
require('@babel/core').transformSync('var a = 10', {
filename: __filename,
sourceMaps: true
}).map
// { version: 3,
// sources: [ '/home/goto-bus-stop/Code/babel/repro-babelify-255/index.js' ],
// names: [ 'a' ],
// mappings: 'AAAA,IAAIA,IAAI,EAAR',
// file: '/home/goto-bus-stop/Code/babel/repro-babelify-255/index.js',
// sourcesContent: [ 'var a = 10' ] } }
```
This patch adds the `path.basename()` call that [Babel 6 used][1] to
@babel/core's default options, so it's the same as back then.
```js
require('../babel/packages/babel-core').transform('var a = 10', {
filename: __filename,
sourceMaps: true
}).map
// { version: 3,
// sources: [ 'index.js' ],
// names: [ 'a' ],
// mappings: 'AAAA,IAAIA,IAAI,EAAR',
// sourcesContent: [ 'var a = 10' ] }
```
This is the desired behaviour for browserify at least, as it expects
relative paths in the source maps and rebases them to a root directory
when generating the final source map.
[0]: https://github.com/babel/babelify/pull/255
[1]: 6689d2d23c/packages/babel-core/src/transformation/file/index.js (L163-L172)
* Use cwd-relative path for sourceFileName.
* Revert sourceMap `file` property change.
* fixup! Revert sourceMap `file` property change.
* Fix whitespace change from merge conflict
* Revert to using basename in source map outputs.
2018-04-27 13:28:23 -07:00
Logan Smyth
cfb386ff03
Reimplement input sourcemap merging.
2018-04-25 12:02:05 -07:00
Logan Smyth
9e7fe0ab49
Add type definitions for source-map library.
2018-04-25 12:02:05 -07:00
Logan Smyth
e31e907d5f
Split sourcemap merging logic into its own file.
2018-04-25 12:02:05 -07:00
Justin Ridgewell
2afe9404fe
Use Object Spread Syntax ( #7777 )
...
* Use Object Spread Syntax
* Nits
2018-04-23 21:44:27 -04:00
Logan Smyth
c8b57f777a
Ensure that the internal plugin load does not read the user's config. ( #7783 )
2018-04-22 20:32:52 -07:00
Logan Smyth
8606b76438
Split babelrc option into babelrcRoots.
2018-04-22 13:00:28 -07:00
Logan Smyth
a67eb25547
Only search for .babelrc files in the 'root' package by default.
2018-04-20 17:00:53 -07:00
Logan Smyth
485e37fcb0
Support a babel.config.fs file in a 'root' directory.
2018-04-20 17:00:53 -07:00
Logan Smyth
f013dab5fb
Restrict .babelrc resolution to within a given package.
2018-04-20 17:00:53 -07:00
Daniel Tschinder
f0d681a238
Remove obsolete max-len eslint rule and reformat some stuff to fit ( #7602 )
2018-03-20 08:51:47 -05:00
Logan Smyth
017d0e7078
Ensure that the backward-compat logic for plugin-utils copies over the version API properly. ( #7580 )
2018-03-15 11:45:53 -07:00
Daniel Tschinder
1d69cd41ca
Fix import of type ConfigItem ( #7561 )
...
It is also exported as type
2018-03-13 13:31:32 -05:00
Logan Smyth
b5e6536f26
Remove the sourceMapTarget option from core and implement it in babel-cli. ( #7500 )
2018-03-09 14:14:25 -08:00
Logan Smyth
74ab2798e2
Tweaks around PR comments.
2018-03-07 18:02:38 -08:00
Logan Smyth
fef5c7e523
Expose the partial Babel config for people to load and mutate.
2018-03-07 16:33:25 -08:00
Logan Smyth
15a80f0df8
Merge pull request #7490 from loganfsmyth/sourcetype-helpful-errors
...
Give helpful errors if the wrong sourceType is detected
2018-03-04 15:03:49 -08:00
Logan Smyth
a4795408b4
Allow plugins to assert that a specific babel version has loaded the plugin. ( #7450 )
2018-03-04 14:36:54 -08:00
Logan Smyth
5f6e3122a0
Give users helpful feedback if they are detected as using the wrong sourceType.
2018-03-04 14:12:37 -08:00
Logan Smyth
7cc00cce0d
Require output fixture extension to match sourceType output.
2018-03-04 13:31:33 -08:00
Logan Smyth
2c3eb3096f
Expand the '.env()' API call with more flexibility.
2018-02-27 18:48:24 -08:00
Logan Smyth
148e6dfc26
Centralize the plugin/configuration API object.
2018-02-27 18:48:24 -08:00
Logan Smyth
b19b7fd2cf
Fix PR comments.
2018-02-27 17:46:17 -08:00
Logan Smyth
8e3e6e0a88
Require AST output to be opt-in, rather than opt-out.
2018-02-26 18:44:59 -08:00
Logan Smyth
d4a8c7672c
Avoid using lodash during config loading, for require() performance.
2018-02-26 18:44:58 -08:00
Logan Smyth
600106b9cb
Lazy-initialize external helper template.
2018-02-26 18:44:57 -08:00
Mike S
84de90e572
Better error message for invalid plugin/preset ( #7238 )
...
- Error for invalid plugin/preset now includes file path
2018-02-22 18:30:01 -08:00
Justin Ridgewell
7e90d56024
Proposal: Logical Assignment Operators ( #7385 )
...
* Proposal: Logical Assignment Operators
https://github.com/jridgewell/proposal-logical-assignment
I'm bringing it [back](https://github.com/babel/babel/pull/516 ). 😉
* Use expectPlugin
* Add to stage 0 preset
* Add logicalAssignment missing plugin log stuff
2018-02-18 13:56:29 -05:00
Logan Smyth
213805f21e
Avoid duplicating types in index-browser.
2018-02-08 09:19:16 -08:00
Logan Smyth
28d13cb09b
Fix small bug in the new .parse function.
2018-02-08 00:22:50 -08:00
Logan Smyth
9a8ba76e1f
Merge .babelrc and .babelignore searching into a single pass.
2018-02-08 00:22:49 -08:00
Logan Smyth
85174b6ce1
Remove unneeded param from buildRootConfig.
2018-02-07 23:23:19 -08:00
Logan Smyth
ec2e0b664a
Properly allow undefined ignore patterns for test/include/exclude.
2018-02-07 23:23:19 -08:00
Kai Cataldo
7234442fde
Add location information to parsing errors ( #7314 )
2018-02-04 13:00:03 -06:00
Kai Cataldo
22c8f6376c
babel-core: Add parse method ( #7291 )
2018-01-30 12:38:58 -05:00
Nicolò Ribaudo
252ea5a966
Fix reused nodes - part 2 ( #7149 )
2018-01-29 22:59:06 +01:00
Mateusz Burzyński
912bcc186d
Fix reused nodes - part 1 ( #7149 )
2018-01-29 22:59:06 +01:00
Nicolò Ribaudo
63ae923987
Add t.cloneNode and deprecate t.clone and t.cloneDeep ( #7149 )
2018-01-29 22:59:06 +01:00
Logan Smyth
a19349a22a
Merge pull request #7091 from loganfsmyth/config-overrides
...
Allow configs to have an 'overrides' array
2018-01-07 13:51:07 -08:00
Logan Smyth
bb17b72f4f
Process .babelignore before .babelrc ( #7161 )
2018-01-05 20:39:36 -08:00
Logan Smyth
a76709cabc
Throw errors for users of 'ignore'/'only' options are passed in, but the filename is unknown.
2018-01-05 12:47:47 -08:00
Logan Smyth
c292140254
Implement an 'overrides' config array to process in order for overrides.
2018-01-05 12:47:47 -08:00
Logan Smyth
f4a24a38ca
Allow config objects to use test/include/exclude to limit application to specific files.
2018-01-05 12:47:47 -08:00
Logan Smyth
193e841d89
Allow .env and .overrides in presets.
2018-01-05 12:47:47 -08:00
Tim Seckinger
c3f6f7fe28
fix buildCodeFrameError empty code frames
2018-01-03 13:53:15 +11:00