deps-sort

WebJar for deps-sort

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

deps-sort
Last Version

Last Version

2.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

deps-sort
WebJar for deps-sort
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/browserify/deps-sort

Download deps-sort

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/deps-sort/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>deps-sort</artifactId>
    <version>2.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/deps-sort/
implementation 'org.webjars.npm:deps-sort:2.0.1'
// https://jarcasting.com/artifacts/org.webjars.npm/deps-sort/
implementation ("org.webjars.npm:deps-sort:2.0.1")
'org.webjars.npm:deps-sort:jar:2.0.1'
<dependency org="org.webjars.npm" name="deps-sort" rev="2.0.1">
  <artifact name="deps-sort" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='deps-sort', version='2.0.1')
)
libraryDependencies += "org.webjars.npm" % "deps-sort" % "2.0.1"
[org.webjars.npm/deps-sort "2.0.1"]

Dependencies

compile (4)

Group / Artifact Type Version
org.webjars.npm : JSONStream jar [1.0.3,2)
org.webjars.npm : shasum-object jar [1.0.0,2)
org.webjars.npm : subarg jar [1.0.0,2)
org.webjars.npm : through2 jar [2.0.0,3)

Project Modules

There are no modules declared in this project.

deps-sort

sort module-deps output for deterministic browserify bundles

build status

example

command-line

$ for((i=0;i<5;i++)); do module-deps main.js | deps-sort | browser-pack | md5sum; done
e9e630de2c62953140357db0444c3c3a  -
e9e630de2c62953140357db0444c3c3a  -
e9e630de2c62953140357db0444c3c3a  -
e9e630de2c62953140357db0444c3c3a  -
e9e630de2c62953140357db0444c3c3a  -

or using browserify --deps on a voxeljs project:

$ for((i=0;i<5;i++)); do browserify --deps browser.js | deps-sort | browser-pack | md5sum; done
fb418c74b53ba2e4cef7d01808b848e6  -
fb418c74b53ba2e4cef7d01808b848e6  -
fb418c74b53ba2e4cef7d01808b848e6  -
fb418c74b53ba2e4cef7d01808b848e6  -
fb418c74b53ba2e4cef7d01808b848e6  -

api

To use this module programmatically, write streaming object data and read streaming object data:

var sort = require('../')();
var JSONStream = require('JSONStream');
var parse = JSONStream.parse([ true ]);
var stringify = JSONStream.stringify();

process.stdin.pipe(parse).pipe(sort).pipe(stringify).pipe(process.stdout);

methods

var depsSort = require('deps-sort');

var stream = depsSort(opts)

Return a new through stream that should get written module-deps objects and will output sorted objects.

opts can be:

  • opts.index - when true, for each module-deps row, insert row.index with the numeric index and row.indexDeps like row.deps but mapping require strings to row indices

  • opts.expose - array of names or object mapping names to true not to mangle with integer indexes when opts.index is turned on. If opts.expose maps names to strings, those strings will be used to resolve the indexed references.

  • opts.dedupe - set row.dedupe for files that match existing contents. Sets row.dedupeIndex when opts.index is enabled. When row.dedupe is set, row.sameDeps will be set to a boolean of whether the dependencies at the dedupe target match (true) or just the source content (false).

input objects

Input objects are file objects in the module-deps shape. They must at least have these properties:

  • row.id - a unique identifier for the file
  • row.source - the file contents
  • row.deps - dependencies for this file, mapping strings as used in require() to row IDs.

output objects

All the input properties, and:

  • row.index - when opts.index is true, the sorted numeric index of the row
  • row.indexDeps - like row.deps, but mapping to row.index instead of row.id
  • row.dedupe - when opts.dedupe is true, contains the row ID of a file with identical contents
  • row.dedupeIndex - like row.dedupe, but contains the row.index instead of row.id

install

With npm do:

npm install deps-sort

license

MIT

org.webjars.npm

Versions

Version
2.0.1
2.0.0
1.3.9