esbuild integration to ember-cli to minify your JavaScript.
Note that targeting ES5 is not supported.
- remove
ember-cli-terser
orember-cli-ugfily
-
yarn add --dev @nullvoxpopuli/ember-cli-esbuild # or npm install --save-dev @nullvoxpopuli/ember-cli-esbuild
After installing ember-cli-esbuild
it will automatically hook into the build
pipeline and minify your JS files in production builds.
If you want to customize how ember-cli-esbuild
is running terser under the
hood you have several configuration options available:
// ember-cli-build.js
var app = new EmberApp({
'ember-cli-esbuild': {
enabled: true,
exclude: ['vendor.js'],
},
});
-
enabled?: boolean
: Enables/Disables minification (defaults totrue
for production builds,false
for development builds) -
exclude?: string[]
: A list of paths or globs to exclude from minification -
sourceMap
: the ESBuild sourcemap option.false
, by default. Can be:'linked'
,'external'
,'inline'
,'both'
, orfalse
. See ESBuild's docs for more info -
target?: string | string[]
: the ESBuild target option. See ESBuild's docs for more info on the available targets.
Source maps are disabled by default for production builds in Ember CLI. If you
want to enable source maps for production builds you can configure that in your
ember-cli-build.js
too:
// ember-cli-build.js
var app = new EmberApp({
sourcemaps: {
enabled: true,
extensions: ['js'],
},
});
Debugging this plugin can be done with
JOBS=1 NODE_OPTIONS="--inspect-brk" ember test -e production
and then visit chrome://inspect
in Google Chrome.
you'll want to place a debugger
somewhere in the broccoli code
(located at ./lib/broccoli
) so that execution pauses near the code you want
to inspect.
ember-cli-esbuild is licensed under the MIT License.