Skip to content

Releases: stealjs/steal-tools

1.9.1

05 Oct 16:45
Compare
Choose a tag to compare

This patch release fixes a couple of issues with optimized builds

  • Fix output for UMD detected as AMD that require exports #866
  • Fix context set to module factory functions, see #868
  • Updates steal-bundler version since 0.3.4 was breaking the build

1.9.0

02 Oct 18:35
Compare
Choose a tag to compare

Support steal-conditional in optimized builds

Along with being able to use steal-conditional in optimized builds, this release includes fixes for the following issues:

  • UglifyJS and sourcemaps #863
  • bundleAssets is not working with optimized builds #846
  • @loader not defined in slim build #856
  • The loader is deeply cloned during optimize build #855
  • Support require("module") in optimized builds #852
  • Support @steal in optimized builds #849
  • Optimized builder does not work for multimain apps #823
  • stealTools.optimize requires the config argument #819

Thanks to @pYr0x for adding support to bundleAssets in optimized builds and filing a bunch of other issues.

💥 🎊

1.8.3

22 Aug 17:26
Compare
Choose a tag to compare

This patch release fixes a bug whereby dependencies of plugins (or plugins themselves) that exported a getter on the module namespace would have that getter called during transpilation. This is a rare bug that manifested because of a warning output by can-types.

1.8.2

17 Aug 12:28
Compare
Choose a tag to compare

This is a patch release, fixing an issue with the main bundle being excluded from other bundles listing in the bundle manifest file.

Pull Requests

1.8.1

16 Aug 14:33
Compare
Choose a tag to compare

This patch release fixes an issue with the optimize command of the CLI. See #809

1.8.0

14 Aug 18:56
Compare
Choose a tag to compare

This release includes a couple of new features along with some bug fixes and documentation updates:

  • Standalone bundles created through stealTools.exports load on Web Workers, see #775
  • Document envify build option #728
  • The optimize API is now available as a CLI command #799
  • A bundlePromisePolyfill option is available to create builds without the Promise polyfill (native promises offer better stack traces) #672
  • Fixes an issue with AMD, ES6 default imports and circular dependencies #802
  • Updates the slim loader guide with steps to create Electron and Cordova builds.

💥 💪

1.7.0

24 Jul 20:55
Compare
Choose a tag to compare

This is a minor release including a couple of features:

Slim build targets

A new target option is added so slim builds can output code specific to the set target, e.g:

stealTools.build({}, { 
  target: "node"
});

Setting target to node makes the loader suitable to run on Node.js environments (require is used to load bundles instead of script tags); currently the targets supported are: node, web, and worker (Web Workers).

See #788 for more details.

Improved AMD output

This version of steal-tools uses the latest release of transpile, which makes the AMD output more resilient to problems detecting the module dependencies when the code is minified.

See #563 for more information.

1.6.0

13 Jul 14:29
Compare
Choose a tag to compare

This is a minor release which adds support for ES6 code minification when using uglify, by switching to uglify-es.

Pull Requests

#786 Use UglifyJS with ES6+ support

1.5.0

11 Jul 15:11
Compare
Choose a tag to compare

This is a minor release which adds new features to optimized builds.

Improved support for dynamic loading

In 1.4.0 when dynamically importing a module you needed to include the full module name, which when using npm included a version number. This has been simplified so that, as long as your bundle names are included in the bundle configuration, that same identifier can be used in your dynamic import call:

steal.import("my-app/pages/home/home").then(function(home){

});

Support for using the @loader module and envs configuration

One common use case with steal is to have different types of configuration during development and in production. For example, you might connect to a different API server in development. This can be done using envs configuration and commonly looks like so:

package.json

{
  "steal": {
    "serviceBaseURL": "http://dev.example.com/api/",
    "envs": {
      "serviceBaseURL": "http://prod.example.com/api/"
    }
  }
}

And then using it within your models like so:

var loader = require("@loader");

export default makeModel({
  url: loader.serviceBaseURL + "todos"
});

Now this functionality will work in optimized builds.

Issues

1.4.1

10 Jul 21:07
Compare
Choose a tag to compare

This is a bug fix release which adjusts our dependency on lodash to account for APIs that we are using.