1. broccoli-concat
Fast, good-enough concatenation with source maps.
broccoli-concat
Package: broccoli-concat
Created by: ember-cli
Last modified: Mon, 13 Jun 2022 05:07:24 GMT
Version: 4.2.5
License: MIT
Downloads: 716,263
Repository: https://github.com/ember-cli/broccoli-concat

Install

npm install broccoli-concat
yarn add broccoli-concat

Broccoli concatenator that generates & propagates sourcemaps

Build Status
Build status

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.

Usage

 const node = concat(node);

Advanced Usage

 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 of
each concatention being output to process.cwd() + 'concat-stats-for/*.json'

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/-file.json

 {
  "outputFile": "path/to/output/File",
  "sizes": {
    "a.js": 5,
    "b.js": 10,
  }
}

other files:

  • concat-stats-for/-file/a.js
  • concat-stats-for/-file/b.js

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code