All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- Remove unused dependencies.
- Update
unassertify
to 2.x. - Use
@browserify/envify
. It's the same as@goto-bus-stop/envify
, just renamed. - Use
@browserify/uglifyify
, with support for more modern ES features.
- Update common-shakeify to 1.1.1, which adds the ability to set ecmaVersion (and sets default to 10) and removes side-effect-free modules that declare
sideEffects: false
in package.json from parse tree.
- breaking Update terser. Tinyify now requires Node.js 6.
- Use patched envify from npm as
@goto-bus-stop/envify
.
- Use a patched version of envify with support for newer syntax features.
- Update common-shakeify to 0.6.0, this should have no observable effects.
- Update common-shakeify to 0.5.2+, which fixes a syntax error issue, and which can remove exported functions that are only used inside other unused exported functions.
- Remove direct dependency on uglify-es, use terser 3.7.6+.
- Revert to using
uglify-es
pending release of https://github.com/fabiosantoscode/terser/commit/9255757bcabbd35a8f69a4966e6a4f59b1927d36
- Update uglifyify to v5.
This aligns the
uglifyify
--debug
flag handling with tinyify's. Chances of anything being broken before this patch are very small though.
- Add bundle-collapser when
--no-flat
is passed, to still save some bytes even if browser-pack-flat is not used. - Automatically disable bundle-collapser and browser-pack-flat when the
--full-paths
option is passed to Browserify
- add API to easily apply tinyify to other browserify pipelines, like generated by factor-bundle or split-require.
- add a
--no-flat
option for use with other tools that expect browser-pack output, such as disc
- output ascii-only by default (https://github.com/goto-bus-stop/tinyify/commit/89aaf79bd70de9772e13f1a0644616e36368269a), see also choojs/bankai#277
- Add
env
option for custom environment variables. (@yoshuawuyts in #2)
Update browser-pack-flat to v3.0.0. This fixes tinyify-ing entry points that assign exports, like what's common in choo apps:
// app.js
if (window) app.mount()
else module.exports = app
The breaking change is that browser-pack-flat bundles will no longer assign module.exports
when not using --standalone
. This should not be a problem in 99.999% of cases, and is the same as what browser-pack does.