grunt-systemjs-builder
Getting started
To Install
npm install --save-dev grunt-systemjs-builder
To register for grunt:
grunt.loadNpmTasks("grunt-systemjs-builder");
To run with grunt use the following command:
grunt systemjs
This is a MultiTask therefore it can run using different configuration using targets in the grunt configuration. see grunt docs for more info.
Options
In essence, this grunt task simply passes along configuration to the SystemJS Builder. You should familiarize yourself with its configuration documentation.
baseURL: string
"The baseURL provides a special mechanism for loading modules relative to a standard reference URL."
systemjs docs
if baseURL is provided through the configuration, it will be the one used and any subsequent baseURL configuration (even) from a configFile will be ignored as systemjs only allows to configure baseURL once.
configFile: String
path to an external configuration file (one with System.config(...) calls).
sfx: Boolean
default: false
Create a self-executing bundle
minify: Boolean
default: false
shortcut for passing the build object with a minify property
sourceMaps: Boolean
default: true
shortcut for passing the build object with a sourceMapsproperty
builder: Object
The configuration that is allowed when creating the builder instance. Basically any valid systemjs configuration (same as calling System.config()).
see builder documentation.
### build: Object
the configuration that is allowed when running build or buildSFX
see builder documentation.
Files
Configuring the source and destination files is done in the standard grunt way using the "files" property of the target (see example below)
Example
grunt.initConfig({
systemjs: {
options: {
sfx: true,
baseURL: "./target",
configFile: "./target/config.js"
minify: true,
build: {
mangle: false
}
},
dist: {
files: [{
"src": "./target/src/init.js",
"dest": "./target/bundles/app.min.js"
}]
}
}
});