-
Notifications
You must be signed in to change notification settings - Fork 56
Babel upgrade
Bruno Jouhier edited this page Feb 15, 2017
·
2 revisions
Streamline 1.0 is a major evolution. The transforms have been repackaged as a babel plugin. This brings several benefits:
- ES6 support (classes, destructuring, ...)
- Browserify support (through babelify).
- Experimental JS features (ES7, Facebook flow).
- Rich CLI (streamline is just a regular plugin).
- More robust sourcemap support.
- Better compilation errors.
The CLI and API options have changed and are now aligned on babel. Only a subset of babel's options are supported directly by streamline - to get more you should use babel directly. There is a compatibility layer that translates from old to new options but you should adapt your code.
Several options/features have been changed or dropped in 1.0:
- the
--cache
option is turned on by default. Use--no-cache
to turn it off. - the
--fast
option is deprecated. Fast code will still compile and run but you will get warnings when the source is transformed. - the
--standalone
option is not supported any more and the browser runtime is packaged differently. The runtime and transform files have been moved to thelib/browser
directory. You are encouraged to switch tobrowserify
to bundle your source files. See the browser section of the readme. - several less important CLI options are not supported any more:
--cb
,--lines-*
,--old-style-futures
, and--promise
(promise interop has been simplified and you don't need the option - see promise section of the readme).
Otherwise, at the language level, 1.0 should be backwards compatible with 0.x versions.
Streamline 1.0 was based on Babel 5. Streamline 2.0 upgrades it to Babel 6.