@nchanged nchanged released this Jul 21, 2017 · 805 commits to master since this release

Assets 2

This release makes Quantum Bundling stable. Most of the known issues (at the time of the release) are fixed.

  • Cache breaker. Finally. Every time you change your fuse.js cache will be cleared automatically
  • writebundles option. Allows you to make in-memory builds
  • Open option for development server (Opens up a default browser with the current URL)
  • target : server in Vanilla options doesn't auto import process and other polyfills required by browser
  • Extra functionality to source maps. Now you can host them
  • Fixed Quantum critical issue related to path resolving. (Fixed bundling auth0)
  • Browser global is pointing to the document locally (in the context of a bundle)
  • process.env is now merged with the Quantum env, and being replaced accordingly in the code
  • Fixing Quantum critical bug, where analysis weren't performed on the Object.defineProperty(exports)
  • Fixed Quantum server builds and require node_modules
  • Quantum now respects completed() (Previously it was triggered when Vanilla was done)
  • Fixed a critical bug in require statements, where a statement doesn't have any arguments
  • process polyfill is removed in Quantum by default (the option is moved to config)
  • Tree shaking now de-references files (To remove more files)
  • process.env conditions are replaced without uglify-js

If process.env.foo is 'eh'

if ( process.env.foo == "bar" ) {
   console.log("True")
} else {
     console.log("false")
}

The resulting code will not have the if statement and will look like:

     console.log("false")
  • process.env now understands EnvPlugin and values are replaced accordingly (along with conditional evaluation)
  • FuseBox.isServer and FuseBox.isBrowser now behaive exactly the same as process.env. Meaning that the corresponding blocks will be replaced for the server and browser targets