@page StealJS.changelog Changelog @parent StealJS.about
@body
- Steal now defaults to Babel as the ES transpiler. See [https://stealjs.com/docs/StealJS.babel.html] for more information.
- Steal can now be run within a Service Worker.
- Fixed bug with child package configuration overriding parent configuration.
- When loading JSON, syntax errors will now be logged.
- The main property is no longer required when loading Steal in Node.js.
- The use of the System global is now deprecated in favor of steal. To import a module use either [steal.import] or [steal.loader.import].
- The npmAlgorithm option is no longer necessary when using npm 3+. If using npm 2 you should set
"npmAlgorithm": "nested"
. - Added documentation about circular dependencies when you can see [StealJS.circular here].
- Added a new progressive loading guide which goes into a little more detail. You can see the guide [StealJS.guides.progressive_loading here].
- Added saucelabs testing so now all PRs are tested in IE9+.
- [steal-css] and [steal-less] are no longer bundled with Steal, but rather have to be installed separately.
- The site's documentation now uses bit-docs rather than DocumentJS.
- Added a new plugins configuration that allows you to specify which plugins are being used. This was necessary so that would could avoid fetching package.jsons that are not used.
- Improved support for the various "browser" configuration options in package.json.
- The configuration option in
stealTools.build
is now optional. - steal-tools now bundles a pre-configured version of steal.production.js into builds, using that prevents you from having to worry about configuring.
- A new dest option was added that replaces
bundlesPath
. - The Grunt tasks were removed from steal-tools and moved to grunt-steal.
- In stealTools.export and other places that previously took a system option now takes a steal option.
- stealTools.build's result (The BuildResult object) is now better documented.
- Renamed bundleDepth to maxBundleRequests.
- Fixed bug when building an app that uses scoped package names.
- Using bundleAssets no longer includes a steal.production.js. Instead this functionality is handled by steal-tools always (even if bundleAssets is not used).
- steal-clone is a new module that can be used for dependency injection, making it easy to replace modules for testing purposes.
- A new scheme was added for Less and CSS, allowing you to import styles with Steal's internal locating resolution.
- Builds can be customized using the granular streams API.
- Modules can now be ignored with the ignore option, preventing them from being included in the build.
- package.jsons are now progressively fetched as needed to configure.
- Using npm you can now load modules that use the
folder/index.js
convention. - When importing json files you can now make transformations with the new jsonOptions.
- The contextual module extension makes it easy to create modules that are aware of their parent.
- Better CommonJS detection.
- Configuration added to the script tag now beats out global configuration.
- It is now possible to perform custom ES6 transpiling, for use if using a transpiler different that what Steal provides.
- Bug fixes for multi-main builds.
- Support added for npm 3.
- Support added for scoped packages.
- New system-trace extension comes with Steal. Provides useful APIs for module metadata.
- The ext extension no longer requires the bang.
- Upgrades to the npm and live-reload plugins.
- babelOptions are now passed into transpile.
inferGlobals: false
will speed up production when you have a lot of globals and don't need the default behavior of inferring a global's export value.- Various live-reload bug fixes.
- css and less extensions moved to their own projects steal-css and steal-less.
- Babel and Traceur updated to the latest versions.
- envs configuration.
- The @loader module not works with the Steal syntax.
- Whether bundles are loaded is not configured by [config.loadBundles], not the
env
flag, but env=production still works for backworks compatibility. - The [@steal] module was created to serve a similar purpose as [@loader].
sideBundle: true
metadata property can be set to make a bundle be set as a "sideBundle". A sideBundle is not considered in the progressive loading algorithm so it is perfect for bundles that are rarely used.- Globals are no longer transpiled to a
System.define
form, but instead to an AMD module. - Virtual modules (modules created dynamically with
System.define
can now be bundles themselves. - [steal-tools.BundleAssetsOptions bundleAssets] is a new option that allows you to bundle all of your assets along with your JavaScript and CSS bundles, to put everything into a common
dist
folder. - StealTools is now tested in CI on Node 0.10, 0.12, and IO.js, on both Linux and Windows.
- New live-reload extension.
- Added a steal.import to make it easier to work in Node. #407.
- Added a new command for the cli,
steal-tools live-reload
which starts a server for use with the live-reload workflow. #223.
- The npm plugin added a
configDependencies
option. #55. - Steal can be launched within a web worker. #386.
- The bower plugin can take a
system.main
that mirrors npm's behavior. #16. - The bower plugin supports
system.bowerIgnore
for ignoring modules. #17. - You can now pass your own paths to
lessOptions
. #378.
- StealTools now produces source maps for both multi-build and export. #210. Check out the build docs for example usage.
- The cli is now easier to use. The
package.json
is now the default config, so no--config
or--main
option is needed if using the npm plugin. #212 - Upgraded SystemJS to
0.16.6
, ES6 Module Loader to0.16.3
and Traceur to0.0.87
.
- [npm] and [bower] plugins can be used with each other using configDependencies (and here).
- Updated SystemJS and ESML.
- Choice of ES6 compiler can be controlled through the [config.transpiler transpiler] config.
- [config.bundle] can now take a glob.
- Loading in Node on Windows no longer requires setting paths with
file:
prefix. - Less plugin upgraded to use Less 2.4.0.
-
Bundles now get written to subdirectories of [config.bundlesPath bundlesPath] to ensure unique. #52
-
All tests passing on Windows.
-
main
andbundle
names can be the unnormalized. #89.stealTools.build({ main: "foo/bar/" });
-
Added the [npm] extension.
-
Add the [bower] extension.
-
Updated SystemJS and ESML
-
If steal.js is found in node_modules, load
package.json!npm
as [config.configMain]. -
If steal.js is found in bower_components, load
bower.json!bower
as [config.configMain]. -
Replaced
@config
with [config.configMain]. If you were doing:System.import("@config")
You should do:
System.import(System.configMain)
- Added [steal-tools/lib/build/helpers/amd], [steal-tools/lib/build/helpers/cjs] and [steal-tools/lib/build/helpers/global] export helpers.
- Grunt task
stealPluginify
is nowsteal-export
- Grunt task
stealBuild
is nowsteal-build
. stealTools.pluginifier
is nowsteal.transform
.- Command line
steal-tools pluginify
is nowsteal tools transform
. - [steal-tools.export], formerly the lib/build/pluginifier_builder module now returns a deferred and the defaults and modules arguments have been switched.