Fast, good-enough concatenation with source maps.
npm install broccoli-concatBroccoli concatenator that generates & propagates sourcemaps
-------------------------------------------------


This filter is designed to be fast & good enough. It can generates
source maps substantially faster than you'll get via
mozilla/source-map, because it's special-cased for straight
line-to-line contenation.
It discovers input sourcemaps in relative URLs, including data URIs.
``js`
const node = concat(node);
#### Advanced Usage
`js`
const node = concat(node, {
outputFile: '/output.js',
header: ";(function() {",
headerFiles: ['loader.js'],
inputFiles: ['*/'],
footerFiles: ['auto-start.js'],
footer: "}());",
sourceMapConfig: { enabled: true },
allowNone: false | true // defaults to false, and will error if trying to concat but no files are found.
});
The structure of output.js will be as follows:
``
// - header
// - ordered content of the files in headerFiles
// - un-ordered content of files matched by inputFiles, but not in headerFiles or footerFiles
// - ordered content of the files in footerFiles
// - footer
#### Debug Usage
note: this is intended for debugging purposes only, and will most likely negatively affect your build performace is left enabled
Setting the environment variable CONCAT_STATS=true will result a summary ofprocess.cwd() + 'concat-stats-for/*.json'
each concatention being output to
Each file within that directory represents a different contenation, and will contain:
* outputFile – the output file that was created
* sizes – a summary of each input file, and the associated pre-minified pre-gziped byte size.
Want more details? like uglified or compressed sizes? (or have more ideas) go checkout: https://github.com/stefanpenner/broccoli-concat-analyser
##### Example:
concat-stats-for/
`json``
{
"outputFile": "path/to/output/File",
"sizes": {
"a.js": 5,
"b.js": 10,
}
}
other files:
* concat-stats-for/
* concat-stats-for/