284 Commits

Author SHA1 Message Date
Logan Smyth
35312dc3d2 Track options on the plugin instance to avoid array pair usage. 2017-10-02 14:15:40 -07:00
Logan Smyth
f9bac2a358 Implement caching of plugins/presets/options 2017-10-02 14:09:59 -07:00
Logan Smyth
f02e6847cf Add browser versions of the transform files. 2017-10-02 13:55:37 -07:00
Logan Smyth
eae76e5b89 Break apart the File class into multiple files and add type definitions. 2017-10-02 13:55:37 -07:00
Logan Smyth
c1df126b83 Remove wrap function and calculate code frames earlier. 2017-10-02 13:48:02 -07:00
Nicolò Ribaudo
977c72250a Add support for helper dependencies (#6254)
* Add support for helpers dependencies.

They are used like this:

    helpers.main = defineHelper(`
        import dep from "dependency";
        export default function main() { return dependency; }
    `);

    helpers.dependency = defineHelper(`ì
        export default function dep() { return 0; }
    `);

* Clone import references

* Don't make test helpers name depend on the order the tests are run
2017-10-02 10:10:52 -07:00
JeromeFitz
ae168edcfa Remove babel-messages (#6347), continuation of #6352
package.json "babel-messages" removed:
- babel-core
- babel-helper-replace-supers
- babel-plugin-transform-es2015-classes
- babel-traverse

"messages" remove from:
- babel-plugin-check-es2015-constants/src/index.js
- babel-plugin-transform-es2015-for-of/src/index.js

export "babel-messages" removed from:
- babel-core/src/index.js

import "babel-messages" removed from:
- babel-generator/src/index.js
- babel-helper-replace-supers/src/index.js
- babel-traverse/src/index.js
- babel-traverse/src/scope/index.js
- babel-traverse/src/visitors.js

package "babel-messages" removed completely.

💯️ All tests pass.
2017-09-30 09:31:53 -04:00
rouzbeh84
aaeebfaf00 inlines babel-messages on the following files:
option-manager.js... /babel-core/src/config/
 build-external-helpers.js... /packages/babel-core/src/tools/
 index.js... /packages/babel-generator/src
2017-09-30 02:19:32 -07:00
Logan Smyth
828aec757a Merge pull request #6326 from loganfsmyth/preserve-config-identity
Preserve object identity when loading config, for improved future caching.
2017-09-29 15:36:03 -07:00
Logan Smyth
a390a92d6a Remove unused helpers prop. 2017-09-29 15:17:12 -07:00
Logan Smyth
f20f8b164f Remove unused module metadata collection. 2017-09-29 15:17:11 -07:00
Logan Smyth
3bac67b4b9 Remove the resolveModuleSource options. 2017-09-29 15:17:11 -07:00
Logan Smyth
8339e036bf Remove babel.analyse and surrounding helpers. 2017-09-29 15:17:11 -07:00
Logan Smyth
655d1cc91b Remove unused 'usedHelpers' property. 2017-09-29 15:17:10 -07:00
Logan Smyth
455cb5b8d8 Remove unused file properties. 2017-09-29 11:43:23 -07:00
Logan Smyth
c8835cbbee Remove unnecessary Store subclass. 2017-09-29 11:05:57 -07:00
Logan Smyth
1938f490b3 Move pipeline file to index. 2017-09-29 11:02:23 -07:00
Logan Smyth
048a5b8021 Reenable Flow in option-manager 2017-09-27 16:37:45 -07:00
Logan Smyth
fc448ca8f2 Flatten, process, and cache incoming options by key. 2017-09-27 11:20:27 -07:00
Logan Smyth
a599c49436 Centralize call to getEnv(). 2017-09-26 22:29:48 -07:00
Logan Smyth
7455e58270 Reuse config file merge. 2017-09-26 22:29:34 -07:00
Logan Smyth
9a4b764bde Centralize config processing in class. 2017-09-26 22:29:32 -07:00
Logan Smyth
2d7cda4d28 Remove unnecessary function. 2017-09-26 22:28:56 -07:00
Logan Smyth
073a0dc823 Split the ignore logic into its own helper class. 2017-09-26 22:28:56 -07:00
Logan Smyth
14ace422c3 Fix two small typoes. 2017-09-26 15:38:55 -07:00
Logan Smyth
5eda451fb8 Remove the unused '.addImports' API from 'babel-core'. 2017-09-26 11:28:57 -07:00
Logan Smyth
ec9754bc40 Implement a new utility module for injecting module imports. 2017-09-26 11:28:56 -07:00
Logan Smyth
5a2a5fb411 Move template object creation from core into the template transform. (#6307)
* Move template object creation into the template transform.

* use shorthand [skip ci]
2017-09-26 10:33:18 -04:00
Logan Smyth
0379060f8a addMapping method call missing name parameter (#6310)
in mergeSourceMap, addMapping method call missing name parameter
2017-09-26 10:24:19 -04:00
Mateusz Burzyński
4519f95a29 Fixed buildExternalHelpers tool for var and module output types (#6260) 2017-09-19 14:44:40 -04:00
Logan Smyth
634c750558 Ensure helpers that reference globals continue to reference the globals properly. 2017-09-12 22:15:16 -07:00
Logan Smyth
158e9fbfd7 Represent helpers as simple modules. 2017-09-12 22:15:16 -07:00
Sven SAULEAU
0c5fae2faa Make sure source type is module when parsing .mjs (#5700)
* feat: force source type module for mjs extension

* style: fix lint
2017-09-12 20:59:00 -07:00
Logan Smyth
47a254025a Return a unique identifier node for each use. 2017-09-12 17:17:41 -07:00
Lukas Geiger
b6467a68ca Add option to define output directory relative to the input (#5421)
* Fix output directory if filename is given

* Add test for relative output path

* Add option to define output dir relative to input

* Add tests for --copy-files

* Test error handling for wrong arguments
2017-09-09 20:38:06 -04:00
Mateusz Burzyński
76161e0a73 Added new outputType - module - for build-external-helpers tool. Should help with tree-shaking story. It's strongly influenced by how the helpers are transformed by rollup-plugin-babel. (#5916) 2017-08-31 23:44:24 -04:00
Daniel Tschinder
44f6ff5e85 Update prettier, eslint + plugins, flow, husky and lint-staged (#6183) 2017-08-31 22:56:29 +02:00
Logan Smyth
2846e06db1 Add dependency cycle handing for plugins and config files. 2017-08-29 14:57:34 -07:00
Logan Smyth
beff7809ea Add debug() calls for config loading. 2017-08-29 14:57:33 -07:00
Henry Zhu
66ec5263a4 Use Yarn Workspaces (#6056)
* update lerna and lerna-changelog

* Lerna: enable yarn, yarn workspaces [skip ci]

* use older version of Babel since it matches on semver (cannot be the same version)

* install yarn version

* revert node engine change

* update flow

* circle ci on 8

* update lock
2017-08-05 14:48:15 -04:00
chocolateboy
605adc922d allow PluginPass.file.addImport to create empty import statements (#6022)
* allow PluginPass.file.addImport to create empty import statements; fixes #6021

omitting addImport's second argument creates an import statement with an
empty `specifiers` array i.e. an empty import statement:

plugin:

    Program (path, { file }) {
        file.addImport('foo-bar/register')
    }

output:

    import "foo-bar/register";
2017-07-28 12:37:00 -04:00
Justin Ridgewell
28ae47a174 Stop mutating nodes (#5963)
* Stop mutating nodes

* Update tests

* linting
2017-07-18 13:24:07 -04:00
Brian Ng
e4b35f680d
Run prettier 2017-06-27 12:15:00 -05:00
Simen Bekkhus
1e55653ac1 Don't call deprecated code frame export (#5815) 2017-06-02 08:49:26 -04:00
Henry Zhu
272209ace5 ⬆️ Alpha 12 (#5808)
* fix usage of codeframe
2017-06-01 15:13:17 -04:00
Logan Smyth
14584c218c Kill the "shadow-functions.js" internal plugin in favor of an explicit helper (#5677)
* Handle arrow function processing via shared API rather than default plugin.

* Fix a few small PR comments.

* Preserve existing spec arrow 'this' rewrites, and support spec in subclass constructors.
2017-05-05 13:27:18 -07:00
Bradley Farias
7ca81700f7 add .mjs to list of well known extensions
this is to conform to the plan of the Node.js EP
2017-05-01 09:43:49 -07:00
Logan Smyth
0eae6a432c Remove merge helper and add more type declarations. (#5649) 2017-04-18 19:08:39 -07:00
Logan Smyth
6af8e64711 Typecheck much more of the config loading process (#5642)
* Add type declarations for micromatch.

* Enable Flowtype on all config loading.

* Remove unneeded comments.
2017-04-18 09:28:18 -07:00
Logan Smyth
d1d812edff Fix a regression from adding negation support in #5625. (#5641) 2017-04-17 18:13:37 -07:00