Skip to content

Releases: stealjs/steal

2.1.0

31 Jul 12:56
Compare
Choose a tag to compare

This is a minor release, adding support for importing modules from http, https, and // as specifiers.

loading from unpkg

2.0.2

27 Jul 13:38
Compare
Choose a tag to compare

This is a patch release, removing a false position for the "missing main" warning.

Pull requests

2.0.1

26 Jul 17:58
Compare
Choose a tag to compare

This is a patch release, fixing a bug when attempting to use steal in an Electron environment with the npm plugin.

2.0.0

19 Jul 17:49
Compare
Choose a tag to compare

This is the second major release of steal, but has minimal number of breaking changes.

Check out the migration guide and upgrade today.

Major features

Native promises by default

In 1.0 the steal.js script included a polyfill for Promises. To use native promises you would need to use steal-sans-promises.js instead.

In 2.0 that relationship is flipped. steal.js does not contain a polyfill and using steal-with-promises.js will give you it.

Tree shaking

Tree shaking is available in steal 2.0. Any time steal encounters a module that only exports from other modules it will follow that modules dependants and remove any unused imports. This will help when consuming a module that just imports from a lot of children. For builds (discussed in the steal-tools 2.0.0 release notes) this will reduce the size of bundles.

Support for .mjs scripts

With native modules now available in browers, some people are starting to use the file extension .mjs for modules using the import/export statement. In 2.0 this modules can be consumed from a steal app.

Breaking changes

In addition to the polyfill change, there is one other breaking change.

The main is no longer automatically loaded.

Previously steal.js would always try to load the application's main. This was convenient when getting started but causes problems in larger apps with multiple pages, not all of them wanting the main to load.

So in 2.0, you have to add a main in your script tag. You can either be explicit about what to load:

<script src="node_modules/steal/steal.js" main="~/app"></script>

Or you can use the boolean attribute and steal.js will load your package.json main, as it would do in 1.x:

<script src="node_modules/steal/steal.js" main></script>

1.12.4

26 Jun 20:35
Compare
Choose a tag to compare

This is a patch release, fixing a bug where a CommonJS module was detected as ES6 because of code inside of a comment.

Bugs

1.12.3

19 Jun 16:56
Compare
Choose a tag to compare

Resolves a bug when loading the steal package.json from multiple entry points.

1.12.2

19 Jun 15:40
Compare
Choose a tag to compare

Fixes a bug where Node builtins where not auto-configured to be loaded.

1.12.1

18 Jun 19:53
Compare
Choose a tag to compare

This is a patch release, fixing an issue with envs map configuration not taking precedent over base-level map configuration.

1.12.0

11 Jun 20:04
Compare
Choose a tag to compare

This is a minor release, adding the ability to set load-bundles="false" from the steal script tag.

You can now turn off loading of bundles while still in production mode.
This means that any code that checks for
steal.loader.isEnv("production") will have a truthy value.

1.11.8

31 May 19:56
Compare
Choose a tag to compare

Fixes an issue where an object like freeModule.require('util') would inadvertently trigger CommonJS dependency detection.