1366 lines
42 KiB
Markdown
1366 lines
42 KiB
Markdown
# 16.5.0
|
||
|
||
Support custom name for `"browser"` field resolution in `package.json` using the `browserField` option.
|
||
|
||
https://github.com/browserify/browserify/pull/1918
|
||
|
||
# 16.4.0
|
||
|
||
Upgrade stream-http to v3. This version drops support for IE10 and below.
|
||
|
||
https://github.com/browserify/browserify/pull/1916
|
||
|
||
# 16.3.0
|
||
|
||
add empty stub for the `http2` builtin module.
|
||
|
||
https://github.com/browserify/browserify/pull/1913
|
||
|
||
update license text to remove references to code that is no longer included.
|
||
|
||
https://github.com/browserify/browserify/pull/1906
|
||
|
||
add more tests for folder resolution.
|
||
|
||
https://github.com/browserify/browserify/pull/1139
|
||
|
||
# 16.2.3
|
||
|
||
add empty stub for the `inspector` builtin module.
|
||
|
||
https://github.com/browserify/browserify/pull/1854
|
||
|
||
change the "browser" field link to the browser-field-spec repo instead of the old gist.
|
||
|
||
https://github.com/browserify/browserify/pull/1845
|
||
|
||
# 16.2.2
|
||
|
||
Remove some extraneous files from the published package.
|
||
|
||
# 16.2.1
|
||
|
||
Fix relative `--external` paths on Windows.
|
||
|
||
https://github.com/browserify/browserify/pull/1704
|
||
|
||
Fix tests to work on Windows, and add Appveyor CI for Windows testing.
|
||
|
||
https://github.com/browserify/browserify/pull/1819
|
||
|
||
# 16.2.0
|
||
|
||
update the browser versions of `vm-browserify` and `string_decoder`.
|
||
|
||
`string_decoder` updates to the Node 8+ API.
|
||
`vm-browserify` replaces an unlicensed dependency by an MIT one.
|
||
|
||
https://github.com/browserify/browserify/pull/1829
|
||
|
||
# 16.1.1
|
||
|
||
add empty stub for the `perf_hooks` builtin module.
|
||
|
||
https://github.com/browserify/browserify/pull/1815
|
||
|
||
# 16.1.0
|
||
|
||
add `bare` and `node` options to the API, same as the `--bare` and `--node` CLI arguments.
|
||
|
||
https://github.com/browserify/browserify/pull/1804
|
||
|
||
# 16.0.0
|
||
|
||
add `--preserve-symlinks` option from Node 6.3
|
||
|
||
https://github.com/browserify/browserify/pull/1742
|
||
https://github.com/browserify/browserify/pull/1801
|
||
|
||
update the browser version of `events` to 2.0.0—this version adds methods like `prependListener` that were introduced in recent node versions, but it is also twice the size of events v1.x (2KB instead of 1KB).
|
||
|
||
https://github.com/browserify/browserify/pull/1803
|
||
|
||
Dynamically calculate `__dirname` and `__filename` when `--node` is passed
|
||
|
||
https://github.com/browserify/browserify/pull/1725
|
||
|
||
upgrade module-deps, see https://github.com/browserify/module-deps/releases/tag/v6.0.0
|
||
|
||
https://github.com/browserify/browserify/commit/e5e1ec8799f1007a56118ae46646e0048385ed84
|
||
|
||
# 15.2.0
|
||
|
||
create parent directories if they do not exist when `--outfile /x/y/z/bundle.js` is used
|
||
|
||
https://github.com/browserify/browserify/pull/995
|
||
|
||
add regression test for object rest spread syntax
|
||
|
||
https://github.com/browserify/browserify/pull/1798
|
||
|
||
# 15.1.0
|
||
|
||
restore support for node `< 4.0` until we can decide on a support schedule
|
||
|
||
# 15.0.0
|
||
|
||
fixed repository url in package.json.
|
||
|
||
https://github.com/browserify/browserify/commit/5ec19eed48a5f46cb48d44be8ffc2f6bfb73fbfb
|
||
|
||
update `module-deps` to 5.0.0, which enables requiring modules in backtick-enclosed strings.
|
||
|
||
https://github.com/browserify/browserify/pull/1785
|
||
|
||
dropped testing in node 0.10 and 0.12, set supported node versions to `>=4`
|
||
|
||
https://github.com/browserify/browserify/pull/1743
|
||
https://github.com/browserify/browserify/pull/1793
|
||
|
||
add support for passing arrays to the `exclude` and `ignore` methods.
|
||
|
||
https://github.com/browserify/browserify/pull/1769
|
||
|
||
# 14.5.0
|
||
|
||
update `os-browserify` to 0.3.0, which adds a shim for node.js's `os.homedir` method.
|
||
|
||
https://github.com/browserify/browserify/pull/1767
|
||
|
||
update `browserify-zlib` to 0.2.0, which adds support for dictionaries.
|
||
|
||
https://github.com/browserify/browserify/pull/1733
|
||
|
||
# 14.4.0
|
||
|
||
update `string_decoder` to 1.0.0, which matches the latest node.js behavior more closely.
|
||
|
||
https://github.com/substack/node-browserify/pull/1714
|
||
|
||
# 14.3.0
|
||
|
||
update `https-browserify` to 1.0.0, which matches node.js behavior more closely.
|
||
|
||
- throw exception if non-https URL is passed to `https.request` or `https.get`
|
||
- support passing string URL as first argument to `https.request` and `https.get`
|
||
|
||
https://github.com/substack/node-browserify/pull/1710
|
||
|
||
# 14.2.0
|
||
|
||
adds a --transform-key flag to the command-line tool
|
||
|
||
https://github.com/substack/node-browserify/pull/1709
|
||
|
||
# 14.1.0
|
||
|
||
writes to a temp outfile until success
|
||
|
||
Previously, browserify would overwrite output files when an error occurs.
|
||
|
||
https://github.com/substack/node-browserify/pull/1673
|
||
https://github.com/substack/node-browserify/issues/899
|
||
|
||
# 14.0.0
|
||
|
||
Updates the version of the buffer package, which drops support for IE8-10.
|
||
|
||
buffer v5 removes the `Object` implementation and relies on a single,
|
||
fast Typed Array (`Uint8Array`) implementation, greatly simplifying the
|
||
maintanence of the buffer package.
|
||
|
||
If IE8-10 support is critical to your web app, you can continue to rely on
|
||
browserify v13, or see the PR for other workarounds.
|
||
|
||
https://github.com/substack/node-browserify/pull/1678
|
||
|
||
# 13.3.0
|
||
|
||
updates the version for the assert package
|
||
|
||
https://github.com/substack/node-browserify/pull/1611
|
||
|
||
# 13.2.0
|
||
|
||
allow configuring transformKey from module-deps
|
||
https://github.com/substack/node-browserify/pull/1670
|
||
|
||
# 13.1.1
|
||
|
||
boost performance by memoizing calls to path.relative()
|
||
|
||
https://github.com/substack/node-browserify/pull/1544
|
||
|
||
# 13.1.0
|
||
|
||
exposes `opts.dedupe` and `--no-deupe` to optionally turn off deduping behavior:
|
||
[#1581](https://github.com/substack/node-browserify/pull/1581)
|
||
|
||
# 13.0.1
|
||
|
||
## Internal
|
||
|
||
[#1552](https://github.com/substack/node-browserify/pull/1552), [#1555](https://github.com/substack/node-browserify/pull/1555): Use native `Array.isArray` and drop `isarray` dep. ([@kt3k](https://github.com/kt3k))
|
||
|
||
# 13.0.0
|
||
|
||
This release bumps the [`buffer`](https://www.npmjs.com/package/buffer) dependency
|
||
to v4, which has one possible breaking change:
|
||
|
||
- The `buffer.toArrayBuffer()` method on `Buffer` instances has been removed.
|
||
|
||
(This is probably not a problem for 99.9% of users.)
|
||
|
||
This API was added in node v0.11.8 and
|
||
[removed before v0.12 was released](https://github.com/nodejs/node-v0.x-archive/issues/7609#issuecomment-42903457).
|
||
It was added to browserify's `buffer` implementation but was never removed when v0.12
|
||
was released. `buffer` v4 removes it so we have full parity with node.js.
|
||
|
||
Going forward, to get an `ArrayBuffer` from a node.js-style `Buffer`, users should
|
||
just use `buffer.buffer`. This works because `Buffer` is a subclass of `Uint8Array`
|
||
in both the browser and node.js (since v3).
|
||
|
||
On the plus side, this release also includes:
|
||
|
||
- Performance improvements to `buffer` that
|
||
[increase the speed](https://github.com/feross/buffer/pull/92) of some buffer
|
||
methods by as much as 30%!
|
||
|
||
# 12.0.2
|
||
|
||
normalizes module paths on windows to consistently use `/`
|
||
|
||
https://github.com/substack/node-browserify/pull/1424#issuecomment-170143099
|
||
|
||
# 12.0.1
|
||
|
||
adds the previously failing tests and a small change necessary for transforms to
|
||
be applied properly for symlinked packages
|
||
|
||
https://github.com/substack/node-browserify/pull/1392
|
||
|
||
# 12.0.0
|
||
|
||
Node support changes: now testing against the latest node (currently 4.2.1).
|
||
node 0.8 is no longer supported, and iojs isn't actively tested.
|
||
|
||
Stream3 everywhere! Everything has been updated to use streams3.
|
||
|
||
Sourcemaps charset now uses an `=` instead of a `:`. This fixes certain issues
|
||
with Chinese characters in sourcemaps. See #753.
|
||
|
||
module-deps has been updated to fix root transforms on symlinked modules. See
|
||
https://github.com/substack/module-deps/pull/99.
|
||
|
||
stream-http, the module that provides `http` support, dropped IE8 support. If
|
||
you depend on this, see https://github.com/jhiesey/stream-http#ie8-note.
|
||
|
||
Removed `builtins` and `commondir` – both unused dependencies.
|
||
|
||
# 11.2.0
|
||
|
||
When `bundleExternal` is set to `false`, `process` and `buffer` are now correctly excluded. Also, using `--igv` via the CLI now works. That also means that `--bare` and `--node` actually insert `__filename` and `__dirname`.
|
||
|
||
https://github.com/substack/node-browserify/pull/1361
|
||
|
||
# 11.1.0
|
||
|
||
adds a `'.'` to extensions if it wasn't added
|
||
|
||
https://github.com/substack/node-browserify/pull/1380
|
||
|
||
# 11.0.1
|
||
|
||
The callback form of bundle() uses the returned output stream instead of the
|
||
pipeline so that the `'end'` event will fire on the bundle instance.
|
||
|
||
https://github.com/substack/watchify/pull/249#issuecomment-126061169
|
||
|
||
# 11.0.0
|
||
|
||
## streams3
|
||
|
||
The [`readable-stream`](https://npmjs.com/package/readable-stream) dependency was updated to `^2.0.0`. This package is inserted into bundles as `require('stream')`. Bundles will now get the latest streams implementation from io.js/node.js core, instead of an old version from node.js 0.11.x. Go forth and stream ALL THE DATA without fear!
|
||
|
||
## shiny new HTTP package
|
||
|
||
[John Hiesey](https://github.com/jhiesey) rewrote the [http-browserify](https://npmjs.org/package/http-browserify) package
|
||
to create [stream-http](https://npmjs.org/package/stream-http), an implemention of `http` that supports streaming in modern browsers. Before v11.0.0, in most situations when you used `http.get` or `http.request`, the entire request would buffer in memory until the download was complete, and a single `'data'` event was emitted with the entire response as a string.
|
||
|
||
`stream-http` uses the [Fetch API](https://fetch.spec.whatwg.org/) and various browser-specific XHR extensions to make binary streaming http requests work in as many browsers as possible.
|
||
|
||
The following browsers support true streaming, where only a small amount of the request has to be held in memory at once:
|
||
|
||
* Chrome >= 43 (using the `fetch` api)
|
||
* Firefox >= 9 (using `moz-chunked-arraybuffer` responseType with XHR)
|
||
|
||
The following browsers support pseudo-streaming, where the data is available before the request finishes, but the entire response must be held in memory:
|
||
|
||
* Safari >= 5
|
||
* IE >= 10
|
||
* Most other Webkit-based browsers, including the default Android browser
|
||
|
||
Older browsers will work, without streaming support. There is no support for IE6 or IE7.
|
||
|
||
Compared to `http-browserify`, it is not necessary to set `options.responseType`. The `responseType` property of the XHR object will be set automatically depending on what features are detected in the browser (although see `options.mode` in the [readme](https://github.com/jhiesey/stream-http) to see how you can optimize this choice manually).
|
||
|
||
The `response` is a streams3 stream, so all data is passed as `Buffer`s, unlike the variable types provided by the `'data'` event in `http-browserify`. This behavior tries to mimic the node core `http` module as closely as possible.
|
||
|
||
* [#1327](https://github.com/substack/node-browserify/pull/1327)
|
||
|
||
If you're brave, go ahead and give v11.0.0 a try today!
|
||
|
||
# 10.2.6
|
||
|
||
uses the non-sync version of fs.realpath
|
||
|
||
# 10.2.5
|
||
|
||
fixes an issue with symlinked files executing multiple times
|
||
|
||
https://github.com/substack/node-browserify/issues/1063
|
||
https://github.com/substack/node-browserify/pull/1318
|
||
|
||
# 10.2.4
|
||
|
||
fixes requiring an entry from another entry
|
||
|
||
remove unused dep "deep-equal" and unused file "lib/_exclude.js"
|
||
|
||
https://github.com/substack/node-browserify/pull/1268
|
||
|
||
# 10.2.3
|
||
|
||
fixes an errant space in the `--no-browser-field` flag alias
|
||
that kept it from working
|
||
|
||
https://github.com/substack/node-browserify/issues/1286
|
||
|
||
# 10.2.2
|
||
|
||
fix tests for tap@^1.1.0 (and update tap)
|
||
|
||
https://github.com/substack/node-browserify/pull/1276
|
||
|
||
# 10.2.1
|
||
|
||
housekeeping - removed unused code
|
||
|
||
https://github.com/substack/node-browserify/pull/1273
|
||
|
||
# 10.2.0
|
||
|
||
remove unnecessary "isDedupe" json check. this was a hack-fix for watchify <=2.4.
|
||
|
||
https://github.com/substack/node-browserify/pull/1244
|
||
|
||
fixes for the "noParse" path matcher.
|
||
|
||
https://github.com/substack/node-browserify/pull/1259
|
||
|
||
add syntax check cache. this speeds up rebuilds (like when using watchify).
|
||
|
||
https://github.com/substack/node-browserify/pull/1253
|
||
|
||
update to browser-pack@^5.0.0 - includes several fixes related to source maps.
|
||
|
||
https://github.com/substack/node-browserify/pull/1257
|
||
|
||
# 10.1.3
|
||
|
||
Replace jsonstream with JSONStream
|
||
|
||
https://github.com/substack/node-browserify/pull/1252
|
||
|
||
# 10.1.2
|
||
|
||
Replace JSONStream with jsonstream
|
||
Update deps to avoid jsonstream npm case problems
|
||
|
||
https://github.com/substack/node-browserify/pull/1247
|
||
https://github.com/substack/node-browserify/commit/1ca71e23
|
||
|
||
# 10.1.1
|
||
|
||
ensures that entry paths are always full paths
|
||
|
||
https://github.com/substack/node-browserify/pull/1248
|
||
|
||
# 10.1.0
|
||
|
||
adds `--no-browser-field` and `opts.browserField = false` behavior to turn off
|
||
the package.json browser field. This is useful if you want to make a bundle with
|
||
a target of node or some environment with shimmed node primitives.
|
||
|
||
A new alias `--node` sets `--no-browser-field` and `--bare`.
|
||
|
||
https://github.com/substack/node-browserify/pull/1240
|
||
|
||
# 10.0.0
|
||
|
||
## Possibly Breaking Change
|
||
The ‘process’ dependency was updated to ~0.11.0, this module is inserted into bundles as the ‘process’ global/dependency.
|
||
Previously, an unhandled error thrown in a ‘process.nextTick’ task would prevent any subsequent tasks from running, forever.
|
||
The task queue now recovers from this condition, but may do so on a future browser tick.
|
||
As part of this update, ‘process.nextTick’ now accepts variadic arguments, passed to the task, added to io.js in 1.8.1.
|
||
|
||
* [#1231](https://github.com/substack/node-browserify/pull/1231)
|
||
* [defunctzombie/node-process#38](https://github.com/defunctzombie/node-process/pull/38)
|
||
* [iojs/io.js#1077](https://github.com/iojs/io.js/pull/1077)
|
||
|
||
## Other changes
|
||
|
||
* Escapes JavaScript-unsafe characters from JSON. [#1211](https://github.com/substack/node-browserify/pull/1211)
|
||
* Removes ‘-v’ shortcut for ‘--version’ (conflicted with watchify) [#1222](https://github.com/substack/node-browserify/pull/1222)
|
||
* Updated ‘defined’, ‘punycode’, ‘module-deps’, and ‘xtend’ dependencies to reduce install size [#1230](https://github.com/substack/node-browserify/pull/1230)
|
||
|
||
# 9.0.8
|
||
|
||
makes `.require({ expose: 'name' })` and `require('name')` work at the same time
|
||
|
||
https://github.com/substack/node-browserify/issues/850
|
||
https://github.com/substack/node-browserify/pull/1202
|
||
|
||
# 9.0.7
|
||
|
||
fixes an issue with catching error events on the b.bundle() stream
|
||
|
||
https://github.com/substack/node-browserify/issues/1194
|
||
https://github.com/substack/node-browserify/pull/1195
|
||
|
||
# 9.0.6
|
||
|
||
republishing 9.0.5 in an attempt to satisfy npm.
|
||
|
||
# 9.0.5
|
||
|
||
sets the stream returned by bundle() to be readable-only
|
||
|
||
https://github.com/substack/node-browserify/pull/1187#issuecomment-89044008
|
||
|
||
# 9.0.4
|
||
|
||
handles the colon better for drive paths and improves the test suite for windows
|
||
users
|
||
|
||
https://github.com/substack/node-browserify/pull/1182
|
||
https://github.com/substack/node-browserify/pull/1183
|
||
|
||
# 9.0.3
|
||
|
||
fixes a problem with deduping for json files.
|
||
|
||
This caused problems for running bundle() multiple times on the same instance
|
||
with caching turned on, which people reported encountering using watchify.
|
||
|
||
https://github.com/substack/node-browserify/issues/1101
|
||
https://github.com/substack/watchify/issues/143
|
||
|
||
# 9.0.2
|
||
|
||
fixes a bug where transforms in `opts.transform` were getting run twice
|
||
|
||
https://github.com/substack/node-browserify/issues/1124
|
||
https://github.com/substack/node-browserify/pull/1128
|
||
|
||
# 9.0.1
|
||
|
||
fixes exposed files persisting across bundles
|
||
|
||
https://github.com/substack/node-browserify/pull/1030
|
||
|
||
# 9.0.0
|
||
|
||
updates browser-pack which uses umd 3.0.0.
|
||
This sligtly changes how `--standalone $name` works.
|
||
|
||
https://github.com/substack/browser-pack/pull/49
|
||
https://github.com/substack/node-browserify/pull/1105
|
||
|
||
Also some tidying up around handling expose that module-deps can do now:
|
||
|
||
https://github.com/substack/node-browserify/pull/1077
|
||
|
||
and some fixes to regressions involving the `'package'` event:
|
||
|
||
https://github.com/substack/node-resolve/issues/69
|
||
|
||
Upstream changes in resolve/browser-resolve mean that `require('foo/bar')` works
|
||
better with the package.json browser field. You can do something like:
|
||
|
||
``` json
|
||
{
|
||
"browser": { "./bar": "whatever.js" }
|
||
}
|
||
```
|
||
|
||
# 8.1.3
|
||
|
||
uses / instead of \ for source map url separators on windows
|
||
https://github.com/substack/node-browserify/pull/1096
|
||
|
||
# 8.1.2
|
||
|
||
resolves mappings from the browser field for externals
|
||
|
||
https://github.com/substack/node-browserify/pull/1100
|
||
|
||
# 8.1.1
|
||
|
||
fixes an issue with resolving exposed packages relative to the basedir
|
||
|
||
https://github.com/substack/node-browserify/pull/1059
|
||
https://github.com/substack/node-browserify/issues/1039
|
||
https://github.com/daiweilu/browserify-broken-require
|
||
|
||
# 8.1.0
|
||
|
||
use assert@1.3, which fixes a bug in assert.deepEqual related to argument ordering,
|
||
and ensures assert.deepEqual continues working in Chrome 40 and Firefox 35.
|
||
|
||
use process@0.10, which adds process.umask() and a faster process.nextTick()
|
||
implementation.
|
||
|
||
https://github.com/substack/node-browserify/pull/1018
|
||
https://github.com/substack/node-browserify/pull/1041
|
||
|
||
# 8.0.3
|
||
|
||
passes opts.debug through to insert-module-globals so that is can insert inline
|
||
source maps for its modifications
|
||
|
||
# 8.0.2
|
||
|
||
ensures that transforms always execute in the order they were added
|
||
|
||
https://github.com/substack/node-browserify/pull/1043
|
||
|
||
# 8.0.1
|
||
|
||
fixes some file path leaks in deduped deps
|
||
|
||
https://github.com/substack/node-browserify/pull/994
|
||
https://github.com/substack/node-browserify/issues/951
|
||
|
||
# 8.0.0
|
||
|
||
In previous releases, the deduping logic was over-zealous about how it handled
|
||
module references for duplicates. The prior behavior would detect when the
|
||
dependency tree of a module matched an existing module in addition to having the
|
||
exact same source code to share an instance. This was originally designed to
|
||
support libraries like threejs that internally use `instanceof` checks that
|
||
don't usually work very well across multiple packages. This feature didn't pan
|
||
out and didn't work very well in practice.
|
||
|
||
Later, a better way of deduping emerged after some unrelated tweaks to
|
||
browser-pack to support source introspection for webworkers. The reflection form
|
||
of deduping using implicit arguments is now the only kind.
|
||
|
||
The deduping instance feature resulted in this bug:
|
||
https://github.com/substack/node-browserify/issues/1027
|
||
which created very surprising results when duplicate files were in use.
|
||
|
||
# 7.1.0
|
||
|
||
uses the new buffer@3.0.0, which passes node's own buffer test suite
|
||
|
||
https://github.com/substack/node-browserify/pull/1040
|
||
|
||
# 7.0.3
|
||
|
||
allows modules to be bundled with local paths and exposed at the same time
|
||
|
||
https://github.com/substack/node-browserify/pull/1033
|
||
|
||
# 7.0.2
|
||
|
||
fixes the global transform getting added each re-bundle
|
||
|
||
https://github.com/substack/node-browserify/issues/1026
|
||
|
||
# 7.0.1
|
||
|
||
fixes rebundling (used by watchify) when transforming
|
||
|
||
https://github.com/substack/node-browserify/issues/1012
|
||
|
||
also fixes https://github.com/substack/node-browserify/issues/1015
|
||
|
||
# 7.0.0
|
||
|
||
Global transforms are now resolved to an absolute path before walking files.
|
||
This fixes some bugs with local module versions taking precedence over global
|
||
transforms and unresolvable global transforms spanning system directories.
|
||
|
||
This is a small breaking change since now transform objects live in the pipeline
|
||
between the record and deps phases. This should only affect programs that expect
|
||
records in the pipeline to only contain file objects.
|
||
|
||
# 6.3.4
|
||
|
||
fixes a bug setting placeholder filenames on stream inputs to be properly unique
|
||
|
||
# 6.3.3
|
||
|
||
fixes an issue with the expose property when opts.fullPaths is enabled
|
||
|
||
This issue commonly crops up in watchify.
|
||
|
||
https://github.com/substack/node-browserify/pull/991
|
||
https://github.com/substack/node-browserify/issues/850
|
||
|
||
# 6.3.2
|
||
|
||
updates regexps that test for absolute and relative paths to work better on
|
||
windows
|
||
|
||
https://github.com/substack/node-browserify/pull/948
|
||
|
||
# 6.3.1
|
||
|
||
fixes ignoreTransform for the case where transforms were given in package.json
|
||
as an array
|
||
|
||
https://github.com/substack/node-browserify/pull/966
|
||
|
||
# 6.3.0
|
||
|
||
uses noParse for better parity with module-deps
|
||
|
||
https://github.com/substack/node-browserify/pull/954
|
||
|
||
# 6.2.0
|
||
|
||
fixes #!shebang syntax when --bare is in effect by adding an unshebang phase to
|
||
the pipeline
|
||
|
||
https://github.com/substack/node-browserify/issues/943
|
||
|
||
# 6.1.2
|
||
|
||
fixes the behavior for multiple external bundles
|
||
|
||
https://github.com/substack/node-browserify/issues/933
|
||
|
||
# 6.1.1
|
||
|
||
fixes a circular dependency issue with readable-stream
|
||
|
||
https://github.com/substack/node-browserify/pull/964
|
||
https://github.com/substack/node-browserify/issues/963
|
||
|
||
# 6.1.0
|
||
|
||
allows transforms to be ignored throughout the entire bundle
|
||
|
||
https://github.com/substack/node-browserify/pull/945
|
||
|
||
# 6.0.3
|
||
|
||
fixes a bug where module insert-module-globals would trigger too soon and
|
||
conflict with other transforms
|
||
|
||
https://github.com/substack/node-browserify/issues/867
|
||
https://github.com/substack/node-browserify/issues/895
|
||
https://github.com/substack/node-browserify/issues/855
|
||
|
||
# 6.0.2
|
||
|
||
upgrades process to 0.8.0
|
||
https://github.com/substack/node-browserify/pull/906
|
||
|
||
# 6.0.1
|
||
|
||
respects opts.expose in require()
|
||
https://github.com/substack/node-browserify/pull/907
|
||
|
||
# 6.0.0
|
||
|
||
resolves source map maths relative to the base url. This should help with more
|
||
reproducible builds.
|
||
|
||
https://github.com/substack/node-browserify/pull/923
|
||
|
||
Version 6 is a tiny but breaking change to how source map paths work.
|
||
|
||
Now all source map paths are relative by default. This makes it easier to have
|
||
deterministic debug builds across different systems and directories. If
|
||
browserify is installed in a project-local directory, all the source map paths
|
||
will be self-contained and relative against that location in node_modules.
|
||
|
||
# 5.13.1
|
||
|
||
bails early if opts.basedir is not the correct type
|
||
https://github.com/substack/node-browserify/pull/927
|
||
|
||
# 5.13.0
|
||
|
||
exposes global browserify options to transforms under opts._flags
|
||
https://github.com/substack/node-browserify/pull/910
|
||
|
||
# 5.12.2
|
||
|
||
fixes the array form of b.external()
|
||
https://github.com/substack/node-browserify/issues/930
|
||
|
||
# 5.12.1
|
||
|
||
dedupe deps when fullPaths is on
|
||
https://github.com/substack/node-browserify/pull/917
|
||
and fixes the crypto tests
|
||
|
||
# 5.12.0
|
||
|
||
adds back the array form for add() and require(), with extra places to add
|
||
options
|
||
|
||
# 5.11.2
|
||
|
||
fixes ignore for relative paths
|
||
in https://github.com/substack/node-browserify/issues/896
|
||
|
||
# 5.11.1
|
||
|
||
fixes exports across resets, which caused issues for watchify with exports
|
||
https://github.com/substack/node-browserify/pull/892
|
||
|
||
# 5.11.0
|
||
|
||
adds an implicit dependency on the original module during dedupe
|
||
https://github.com/substack/node-browserify/pull/880
|
||
|
||
# 5.10.1
|
||
|
||
fixes the command-line client to properly ignore paths that don't match a glob
|
||
https://github.com/substack/node-browserify/pull/866
|
||
|
||
# 5.10.0
|
||
|
||
adds back support for `.external(b)` on a browserify instance `b`
|
||
that was dropped on the v5 refactor
|
||
|
||
# 5.9.3
|
||
|
||
buffers the record pipeline phase to start outputting after the first tick
|
||
so that user plugins can capture and modify recorder output
|
||
|
||
# 5.9.2
|
||
|
||
fixes a bug with using --ignore to exclude node_modules packages on the command-line
|
||
|
||
https://github.com/substack/node-browserify/pull/845
|
||
|
||
# 5.9.1
|
||
|
||
improves the detection for --ignore
|
||
|
||
# 5.9.0
|
||
|
||
fixes bug with builtins that load json files (the 'constants' module),
|
||
new 'json' pipeline label
|
||
|
||
https://github.com/substack/module-deps/issues/46
|
||
|
||
# 5.8.0
|
||
|
||
allow optional extensions in bin/args
|
||
|
||
# 5.7.0
|
||
|
||
re-instates transforms after a reset and fixes exposing the transform events
|
||
properly
|
||
|
||
# 5.6.1
|
||
|
||
makes stream entry files deterministic
|
||
|
||
# 5.6.0
|
||
|
||
adds 'package' events from module-deps when a package.json file is read
|
||
|
||
# 5.5.0
|
||
|
||
adds back the `'bundle'` event and copies over options correctly to reset()
|
||
|
||
# 5.4.2
|
||
|
||
adds a note about derequire in standalone mode to the readme
|
||
|
||
# 5.4.1
|
||
|
||
fixes an error with basedir resolving plugins from names
|
||
|
||
# 5.4.0
|
||
|
||
also allows opts.plugin from the constructor like transform
|
||
|
||
# 5.3.0
|
||
|
||
passes `.file` on stream inputs through to transforms
|
||
https://github.com/substack/node-browserify/issues/744
|
||
|
||
# 5.2.1
|
||
|
||
sets require() for streams to not just be entry files
|
||
|
||
# 5.2.0
|
||
|
||
upgrades crypto-browserify to v3
|
||
|
||
# 5.1.1
|
||
|
||
updates --list to always print file paths
|
||
|
||
# 5.1.0
|
||
|
||
adds back `.plugin()` which was mistakenly omitted
|
||
|
||
# 5.0.8
|
||
|
||
fixes using debug and standalone at the same time
|
||
https://github.com/substack/node-browserify/issues/750
|
||
|
||
# 5.0.7
|
||
|
||
fixes command-line versions of -u and -x
|
||
https://github.com/substack/node-browserify/issues/821
|
||
|
||
# 5.0.6
|
||
|
||
test for --bare
|
||
|
||
# 5.0.5
|
||
|
||
fix for detectGlobals, --bare
|
||
https://github.com/substack/node-browserify/issues/803
|
||
|
||
# 5.0.4
|
||
|
||
fixes --no-bundle-external with globals
|
||
|
||
https://github.com/substack/node-browserify/issues/828
|
||
|
||
# 5.0.3
|
||
|
||
upgrades insert-module-globals to fix
|
||
https://github.com/substack/node-browserify/issues/834
|
||
|
||
# 5.0.2
|
||
|
||
fixes the changelog link https://github.com/substack/node-browserify/pull/835
|
||
|
||
# 5.0.1
|
||
|
||
adds an untracked test
|
||
|
||
# 5.0.0
|
||
|
||
At a glance:
|
||
|
||
* extensible internal labeled-stream-splicer pipeline
|
||
* bundle() - no longer accepts `opts`, callback gets a buffer
|
||
* b.deps(), b.pack(), opts.pack, opts.deps are gone
|
||
* can call bundle() multiple times on the same instance
|
||
* a better --noparse matcher
|
||
* id labeling integer index based instead of hash based
|
||
* derequire removed for performance reasons
|
||
* .external(bundle) has been removed (for now)
|
||
* semicolon at end of output
|
||
* hashing is gone so `expose: true` or explicit expose id is required for doing
|
||
multi-export bundles
|
||
|
||
Version 5 is a big rearranging of browserify internals with more places for
|
||
external code to hook into the build pipeline.
|
||
|
||
These changes are mostly aligned around the theme of making it easier for
|
||
external code to interface with browserify internals in a less hacky way.
|
||
|
||
## pipeline
|
||
|
||
Now the core of browserify is organized into a
|
||
[labeled-stream-splicer](https://npmjs.org/package/labeled-stream-splicer)
|
||
pipeline. This means that user code and plugins can hook into browserify by
|
||
pushing themselves onto the pipeline at a label:
|
||
|
||
``` js
|
||
var browserify = require('browserify');
|
||
var through = require('through2');
|
||
var bundle = browserify();
|
||
|
||
bundle.pipeline.get('deps').push(through.obj(function (row, enc, next) {
|
||
console.log('DEP:', row.id);
|
||
this.push(row);
|
||
next();
|
||
}));
|
||
```
|
||
|
||
User code can remove existing transforms or add its own hooks. These are the
|
||
labeled sections you can get a handle on with `bundle.pipeline.get()`
|
||
|
||
* `'record'` - save inputs to play back later on subsequent `bundle()` calls
|
||
* `'deps'` - [module-deps](https://npmjs.org/package/module-deps)
|
||
* `'unbom'` - remove byte-order markers
|
||
* `'syntax'` - check for syntax errors
|
||
* `'sort'` - sort the dependencies for deterministic bundles
|
||
* `'dedupe'` - remove duplicate source contents
|
||
* `'label'` - apply integer labels to files
|
||
* `'emit-deps'` - emit `'dep'` event
|
||
* `'debug'` - apply source maps
|
||
* `'pack'` - [browser-pack](https://npmjs.org/package/browser-pack)
|
||
* `'wrap'` - apply final wrapping, `require=` and a newline and semicolon
|
||
|
||
Because there is now a proper pipeline, `opts.pack`, `opts.deps`, `b.deps()`,
|
||
and `b.pack()` are removed.
|
||
|
||
## bundle()
|
||
|
||
Big changes have been made to the `bundle()` function. All options have been
|
||
moved out of the `bundle(opts)` form and into the browserify constructor. Before
|
||
there was an unclear split between which arguments went into which function.
|
||
|
||
You can now call `bundle()` multiple times on the same instance, even in
|
||
parallel. This will greatly simplify the caching system under watchify and will
|
||
fix many long-standing bugs.
|
||
|
||
The callback to `bundle(cb)` is now called with `cb(err, buf)` instead of
|
||
`cb(err, string)` as before.
|
||
|
||
## labeling
|
||
|
||
The former hashing system is removed, in favor of file paths rooted at the
|
||
`opts.basedir`, or the cwd.
|
||
|
||
This removal means that browserify can be much more consistent about applying
|
||
integer ids, which avoids exposing system paths in bundle output.
|
||
|
||
Hashes are used internally for deduping purposes, but they operate on the
|
||
source content only.
|
||
|
||
## others
|
||
|
||
The matching logic in the `--noparse` feature is greatly improved.
|
||
|
||
derequire has been taken out of core, which should speed up `--standalone`.
|
||
|
||
# 4.2.3
|
||
|
||
reverts 4.2.2 due to breaking some existing use-cases
|
||
|
||
# 4.2.2
|
||
|
||
fixes a bug applying transforms to symlinked files by resolving the realpath
|
||
first https://github.com/substack/node-browserify/pull/831
|
||
|
||
# 4.2.1
|
||
|
||
SECURITY NOTICE
|
||
|
||
Make sure your installation of browserify is using syntax-error@1.1.1 or
|
||
later. there was a security vulnerability where a malicious file could
|
||
execute code when browserified.
|
||
|
||
The vulnerability involves breaking out of `Function()`, which was used to
|
||
check syntax for more informative errors. In node 0.10, `Function()` seems
|
||
to be implemented in terms of `eval()`, so malicious code can execute even
|
||
if the function returned by `Function()` was never called. node 0.11 does
|
||
not appear to be vulnerable.
|
||
|
||
Thanks to Cal Leeming [cal@iops.io]
|
||
for discovering and disclosing this bug!
|
||
|
||
# 4.2.0
|
||
|
||
upgrades http-browserify, crypto-browserify, and sets more versions to float
|
||
with ^ semvers
|
||
|
||
# 4.1.11
|
||
|
||
fixes a bug with transform argument handling https://github.com/substack/node-browserify/pull/795
|
||
|
||
# 4.1.10
|
||
|
||
upgrades browser-resolve to get opts.path fixes https://github.com/defunctzombie/node-browser-resolve/pull/43
|
||
|
||
# 4.1.9
|
||
|
||
upgrades resolve to fix relative NODE_PATH paths https://github.com/substack/node-resolve/pull/46
|
||
|
||
# 4.1.8
|
||
|
||
bumps the module-deps version to get an ordering bugfix https://github.com/substack/module-deps/pull/39 https://github.com/substack/node-browserify/pull/774
|
||
|
||
# 4.1.7
|
||
|
||
fixes ignoreMissing when set in the constructor https://github.com/substack/node-browserify/pull/785
|
||
|
||
# 4.1.6
|
||
|
||
emits the 'id' event on the correct instance https://github.com/substack/node-browserify/pull/780
|
||
|
||
# 4.1.5
|
||
|
||
added this document
|
||
|
||
# 4.1.4
|
||
|
||
fixes a bug in `ie<=8` support for querystring https://github.com/substack/node-browserify/issues/764
|
||
|
||
# 4.1.2
|
||
|
||
upgrades umd to fix some issues with --standalone https://github.com/substack/node-browserify/pull/714
|
||
|
||
# 4.1.1
|
||
|
||
makes deps() behave more like bundle() https://github.com/substack/node-browserify/issues/757 and fixes global transform precedence https://github.com/substack/node-browserify/issues/759
|
||
|
||
# 4.1.0
|
||
|
||
upgrades the version of buffer to ^2.3.0
|
||
|
||
# 4.0
|
||
|
||
Here are the new breaking changes in browserify v4. Most users should be unaffected.
|
||
|
||
## readable-stream
|
||
|
||
`require('stream')` is now using [readable-stream](https://npmjs.org/package/readable-stream) (but the classic-mode shim persists in stream-browserify just like in node core). This should result in much smaller files for all modules using a similar-enough version of readable-stream as browserify itself. Other modules should be relatively unaffected.
|
||
|
||
## removed .expose()
|
||
|
||
Removal of the previously-deprecated and obscure `bundle.expose()`.
|
||
|
||
## took out implicit reading from stdin
|
||
|
||
Previously if you invoked the browserify command without any entry files as arguments and stdin was a tty, stdin would be implicitly added as an entry file. This feature was causing problems so it has been removed. https://github.com/substack/node-browserify/issues/724#issuecomment-42731877
|
||
|
||
## more!
|
||
|
||
In the run-up to the 4.0, [module-deps](https://npmjs.org/package/module-deps) got an extensive rewrite with minimal test changes. Mostly it was just getting really messy because it was a giant ball-of-mud closure instead of a more straightforward prototype-based implementation with more clearly-defined methods.
|
||
|
||
The module-deps rewrite was triggered by [system paths showing up in build output](https://github.com/substack/node-browserify/issues/675) but was fixed in 3.46.1. The solution actually didn't end up needing changes in module-deps as originally anticipated but module-deps was in dire need of a cleanup.
|
||
|
||
# 3.46.1
|
||
|
||
fixes a bug exposing the host path of the process module in the bundle output https://github.com/substack/insert-module-globals/pull/32
|
||
|
||
# 3.46.0
|
||
|
||
allows array arguments in b.require(), b.add(), and b.external() https://github.com/substack/node-browserify/pull/742 from @spacepluk
|
||
|
||
# 3.45.0
|
||
|
||
renders complete stack traces where before they were getting truncated https://github.com/substack/node-browserify/pull/741 patch from @secoif
|
||
|
||
# 3.44.2
|
||
|
||
slims down the dependency payload by 20M https://github.com/substack/node-browserify/pull/736
|
||
|
||
# 3.44.1
|
||
|
||
fixes the recursion error many people were getting https://github.com/substack/node-browserify/pull/713 Thanks to @MattMcKegg for isolating the bug!
|
||
|
||
# 3.44.0
|
||
|
||
upgrades module-deps to 1.10.0 to make all the packageFilter dir argument pathways are consistent
|
||
|
||
# 3.43.0
|
||
|
||
lets b.transform(opts, t) args to be swapped around since opts is more common as a last argument
|
||
|
||
# 3.42.0
|
||
|
||
passes through the dir parameter in opts.packageFilter from module-deps 1.10.0 https://github.com/substack/node-browserify/pull/731
|
||
|
||
# 3.41.0
|
||
|
||
has an option to disable external files, making it easier to run bundles in node for code coverage https://github.com/substack/node-browserify/pull/672
|
||
|
||
# 3.40.4
|
||
|
||
makes --list work again https://github.com/substack/node-browserify/pull/727
|
||
|
||
# 3.40.3
|
||
|
||
merges a patch for piping via stdin and --require at the same time https://github.com/substack/node-browserify/pull/728
|
||
|
||
# 3.40.2
|
||
|
||
upgrades module-deps to fix --list for $NODE_PATH https://github.com/substack/node-browserify/issues/726
|
||
|
||
# 3.40.1
|
||
|
||
upgrades module-deps to get this packageTransform bugfix https://github.com/substack/module-deps/pull/32
|
||
|
||
# 3.40.0
|
||
|
||
modifies the behavior of opts.builtins to be more useful and intuitive https://github.com/substack/node-browserify/pull/717
|
||
|
||
# 3.39.0
|
||
|
||
adds a zlib that has parity with node https://github.com/substack/node-browserify/pull/721
|
||
|
||
# 3.38.0
|
||
|
||
upgrades derequire which uses esprima-fb https://github.com/substack/node-browserify/pull/710
|
||
|
||
# 3.37.2
|
||
|
||
adds 'close' events back to the bundle stream. This should fix some issues with watchify.
|
||
|
||
# 3.37.1
|
||
|
||
fixes a bug with through being required in the bin/cmd.js instead of through2
|
||
|
||
# 3.37.0
|
||
|
||
also reverts that require('process') thing which was mistakenly briefly put in the builtins list
|
||
|
||
# 3.37.0
|
||
|
||
gives streams2 semantics for bundle() https://github.com/substack/node-browserify/pull/646
|
||
|
||
# 3.36.1
|
||
|
||
fixes a dumb bug with ^ for versions that don't work in old npm clients
|
||
|
||
# 3.36.0
|
||
|
||
adds require('process') and removes the path resolution for process out of insert-module-globals
|
||
|
||
# 3.35.0
|
||
|
||
adds an empty tls stub to the builtins list https://github.com/substack/node-browserify/issues/703
|
||
|
||
# 3.34.0
|
||
|
||
fixes a bug with transforms not being applied in deps() https://github.com/substack/node-browserify/pull/708
|
||
|
||
# 3.33.1
|
||
|
||
fixes a bug with options in --global-transform on the command-line https://github.com/substack/node-browserify/pull/705
|
||
|
||
# 3.33.0
|
||
|
||
fixes parsing errors while maintaining es6 support by switching to esprima-fb https://github.com/substack/node-browserify/issues/698
|
||
|
||
# 3.32.1
|
||
|
||
should be easier to shinkwrap and install on windows https://github.com/substack/node-browserify/pull/684
|
||
|
||
# 3.32.0
|
||
|
||
adds --full-path and opts.fullPath to always expand ids to full paths https://github.com/substack/node-browserify/pull/668#issuecomment-36586786
|
||
|
||
# 3.31.2
|
||
|
||
fixes a bug in the subarg argument parsing for multiple transforms https://github.com/substack/node-browserify/issues/678
|
||
|
||
# 3.31.1
|
||
|
||
uses process.cwd() as the default rebase target instead of commondir https://github.com/substack/node-browserify/pull/669#issuecomment-36078282
|
||
|
||
# 3.31.0
|
||
|
||
merges https://github.com/substack/node-browserify/pull/669 which should help with more deterministic builds across systems
|
||
|
||
# 3.30.4
|
||
|
||
fixes parsing the --insert-global-vars argument properly https://github.com/substack/node-browserify/pull/674
|
||
|
||
# 3.30.3
|
||
|
||
fixes exclude globbing in the arg parser https://github.com/substack/node-browserify/pull/676
|
||
|
||
# 3.30.2
|
||
|
||
included a fix for --no-builtins for non-wrapped modules https://github.com/substack/node-browserify/pull/666
|
||
|
||
# 3.30.1
|
||
|
||
upgrades buffer for a utf8 fix https://github.com/substack/node-browserify/pull/656
|
||
|
||
# 3.30.0
|
||
|
||
adds globs for -u, -i, and -x https://github.com/substack/node-browserify/issues/654
|
||
|
||
# 3.29.1
|
||
|
||
adds relatively-resolved paths to ignored and excluded files
|
||
|
||
# 3.29.0
|
||
|
||
upgrades http-browserify to 1.3.1
|
||
|
||
# 3.28.2
|
||
|
||
now always includes the full package.json content in the 'package' event
|
||
|
||
# 3.28.1
|
||
|
||
fixes a bug with stream entry order https://github.com/substack/node-browserify/pull/643
|
||
|
||
# 3.28.0
|
||
|
||
adds plugins for doing super fancy things like factored bundle output https://github.com/substack/node-browserify#plugins
|
||
|
||
# 3.27.1
|
||
|
||
fixes a bug resolving transform modules when browserify is under a symlink
|
||
|
||
# 3.27.0
|
||
|
||
adds transform configuration in the package.json browserify.transform field https://github.com/substack/module-deps#packagejson-transformkey
|
||
|
||
# 3.26.0
|
||
|
||
you can pass arguments to transforms https://github.com/substack/node-browserify/blob/master/bin/advanced.txt#L67-L77
|
||
|
||
# 3.25.2
|
||
|
||
fixes a bug where the transform event didn't fire while IO was pending
|
||
|
||
# 3.25.1
|
||
|
||
fixes the transform docs
|
||
|
||
# 3.25.0
|
||
|
||
adds 'bundle' and 'transform' events https://github.com/substack/node-browserify#bonbundle-function-bundle-
|
||
|
||
# 3.24.11
|
||
|
||
upgrades derequire to 0.6.0. That should be the last piece needed for full es6 syntax support.
|
||
|
||
# 3.24.10
|
||
|
||
expands the documentation for the package.json browser and browserify.transform fields https://github.com/substack/node-browserify#packagejson
|
||
|
||
# 3.24.9
|
||
|
||
fixes generator syntax and other es6-isms in browserify https://github.com/substack/node-browserify/issues/614
|
||
|
||
# 3.24.7
|
||
|
||
fixes noParse, which had accidentally been disabled in the insert-module-global changes and also closes https://github.com/substack/node-browserify/issues/504
|
||
|
||
# 3.24.6
|
||
|
||
similar to 3.24.5, 3.24.6 fixes some error reporting propagation from the browserify command
|
||
|
||
# 3.24.3
|
||
|
||
fixes how require('buffer').Buffer wasn't the same as implicit Buffer https://github.com/substack/node-browserify/issues/612
|
||
|
||
# 3.24.2
|
||
|
||
fixes where the output stream didn't emit "close" in standalone mode https://github.com/substack/node-browserify/pull/608
|
||
|
||
# 3.24.1
|
||
|
||
fixes an issue where --standalone combined with expose caused a syntax error https://github.com/substack/node-browserify/issues/489
|
||
|
||
# 3.24.0
|
||
|
||
removes require() calls from --standalone so you can require() a standalone bundle again
|
||
|
||
# 3.23.0
|
||
|
||
merges this tiny fix returning `this` in noParse() https://github.com/substack/node-browserify/pull/592
|
||
|
||
# 3.22.0
|
||
|
||
merges https://github.com/substack/node-browserify/pull/587 which changes the source map prefix from //@ to //#
|
||
|
||
# 3.21.0
|
||
|
||
standardizes the module missing error formats to have filename, parent, and type === 'not found' fields
|
||
|
||
# 3.20.1
|
||
|
||
has a fix for the case where stdin is implicitly treated as the input stream instead of a file
|
||
|
||
# 3.20.0
|
||
|
||
3.20.0 is out: parity with how $NODE_PATH works in node https://github.com/substack/node-browserify/issues/593
|
||
|
||
# 3.19.1
|
||
|
||
restores support for node 0.8 by upgrading concat-stream
|
||
|
||
# 3.0
|
||
|
||
A new [browserify](http://browserify.org) version is upon us, just in time for
|
||
the FESTIVE SEASON during which we in the northern hemisphere at mid to high
|
||
latitudes huddle for warmth around oxidizing hydrocarbons!
|
||
|
||
There are 2 big changes in v3 but most code should be relatively unaffected.
|
||
|
||
## shiny new Buffer
|
||
|
||
[feross](https://github.com/feross) forked
|
||
the [buffer-browserify](https://npmjs.org/package/buffer-browserify) package
|
||
to create
|
||
[native-buffer-browserify](https://npmjs.org/package/native-buffer-browserify),
|
||
a `Buffer` implementation that uses `Uint8Array` to get `buf[i]` notation and
|
||
parity with the node core `Buffer` api without the performance hit of the
|
||
previous implementation and a much smaller file size. The downside is that
|
||
`Buffer` now only works in browsers with `Uint8Array` and `DataView` support.
|
||
All the other modules should maintain existing browser support.
|
||
|
||
*Update*: a [shim was added](https://npmjs.org/package/typedarray)
|
||
to in 3.1 for Uint8Array and DataView support. Now you can use `Buffer` in every
|
||
browser.
|
||
|
||
## direct builtin dependencies
|
||
|
||
In v3, browserify no longer depends on
|
||
[browser-builtins](https://npmjs.org/package/browser-builtins), in favor of
|
||
depending on packages directly. Instead of having some separate packages and
|
||
some files in a `builtin/` directory like browser-builtins, browserify now uses
|
||
*only* external packages for the shims it uses. By only using external packages
|
||
we can keep browserify core focused purely on the static analysis and bundling
|
||
machinery while letting the individual packages worry about things like browser
|
||
compatibility and parity with the node core API as it evolves.
|
||
|
||
Individual, tiny packages should also be much easier for newcomers to contribute
|
||
packages toward because they won't need to get up to speed with all the other
|
||
pieces going on and the packages can have their own tests and documentation.
|
||
Additionally, each package may find uses in other projects beside browserify
|
||
more easily and if people want variations on the versions of shims that ship
|
||
with browserify core this is easier to do when everything is separate.
|
||
|
||
Back when we were using browser-builtins there was a large latency between
|
||
pushing out fixes to the individual packages and getting them into browserify
|
||
core because we had to wait on browser-builtins to upgrade the semvers in its
|
||
package.json. With direct dependencies we get much lower latency for package
|
||
upgrades and much more granular control over upgrading packages.
|
||
|
||
Here is the list of packages we now directly depend on in v3:
|
||
|
||
* [assert](https://npmjs.org/package/assert)
|
||
* [buffer](https://npmjs.org/package/native-buffer-browserify)
|
||
* [console](https://npmjs.org/package/console-browserify)
|
||
* [constants](https://npmjs.org/package/constants-browserify)
|
||
* [crypto](https://npmjs.org/package/crypto-browserify)
|
||
* [events](https://npmjs.org/package/events-browserify)
|
||
* [http](https://npmjs.org/package/http-browserify)
|
||
* [https](https://npmjs.org/package/https-browserify)
|
||
* [os](https://npmjs.org/package/os-browserify)
|
||
* [path](https://npmjs.org/package/path-browserify)
|
||
* [punycode](https://npmjs.org/package/punycode)
|
||
* [querystring](https://npmjs.org/package/querystring)
|
||
* [stream](https://npmjs.org/package/stream-browserify)
|
||
* [string_decoder](https://npmjs.org/package/string_decoder)
|
||
* [timers](https://npmjs.org/package/timers-browserify)
|
||
* [tty](https://npmjs.org/package/tty-browserify)
|
||
* [url](https://npmjs.org/package/url)
|
||
* [util](https://npmjs.org/package/util)
|
||
* [vm](https://npmjs.org/package/vm-browserify)
|
||
* [zlib](https://npmjs.org/package/zlib-browserify)
|
||
|
||
That's it! If you're bold enough to give v3 a spin, just do:
|
||
|
||
```
|
||
npm install -g browserify
|
||
```
|