montagejs / mop

Montage Optimizer (mop): Minifies (to reduce file size) and creates bundles (to reduce the number of requests) of Montage applications.
Other
31 stars 15 forks source link

Version 0.12 #1

Closed kriskowal closed 11 years ago

kriskowal commented 11 years ago

Extensive refactoring.

Mop now works for Montage v0.12.2+ as well as for Mr v0.12.0+ stand-alone. Mop no longer works for previous Montage versions. This version of Mop will not be published until Montage v0.12.2 and Mr v0.12.0 are released.

Since certain modules needed for bootstrapping are now spread through three packages, bundling is no longer optional. The bundle property in package.json is now only useful for specifying preload bundle plans, but true is retained as a valid value for backward-compatibility.

Added a progress spinner when mop is attached to a TTY on stdout (which is the usual case). Directing Mop's output to a file or through a pipe disables the spinner.

Incremental builds and shared build dependencies are no longer supported.

Mop no longer digests its own hash into builds. It instead digests the Mop version. On the plus side, Mop is simpler, faster, and less fragile, but it also does not create new builds if it is changed during development. Take care to adjust the seed in lib/read.js if you are actively developing Mop.

Montage is no longer embedded. The corresponding version of Montage is now a dependency of Mop and its routines for dependency analysis and package loading are used by Mop.

Mop now uses URL's, file protocol URL's, in its internal indicies, so that the same code can be used both over HTTP and when loading from the file system.

The file resource type has been factored to automatically convert files between UTF8, binary, and DOM representations using Converters.

kriskowal commented 11 years ago

This is blocked by https://github.com/montagejs/montage/pull/1073