Package | gulp-ng-constant |
Description | Plugin for dynamic generation of angular constant modules. Based of grunt-ng-constant |
Node Version | >= 0.10 |
gulpfile.js
var ngConstant = require('gulp-ng-constant');
gulp.task('config', function () {
gulp.src('app/config.json')
.pipe(ngConstant({
name: 'my.module.config',
deps: ['ngAnimate'],
constants: { myPropCnt: 'hola!' },
wrap: 'amd',
}))
// Writes config.js to dist/ folder
.pipe(gulp.dest('dist'));
});
app/config.json
{
"myFirstCnt": true,
"mySecondCnt": { "hello": "world" }
}
dist/config.js (output)
define(["require", "exports"], function(require, exports) {
return angular.module("my.module.config", ["ngAnimate"])
.constant("myFirstCnt", true)
.constant("mySecondCnt", { "hello": "world" })
.constant("myPropCnt", "hola!");
});
gulpfile.js
var ngConstant = require('gulp-ng-constant');
gulp.task('config', function () {
gulp.src('app/config.json')
.pipe(ngConstant())
// Writes config.js to dist/ folder
.pipe(gulp.dest('dist'));
});
app/config.json
{
"name": "my.module.config",
"deps": ["ngAnimate"],
"wrap": "commonjs",
"constants": {
"myFirstCnt": true,
"mySecondCnt": { "hello": "world" }
}
}
dist/config.js (output)
module.exports = angular.module("my.module.config", ["ngAnimate"])
.constant("myFirstCnt", true)
.constant("mySecondCnt", { "hello": "world" })
.constant("myPropCnt", "hola!");
Type: string
Default: undefined
Overrides: json.name
The module name.
This property will override any name
property defined in the input json
file.
Type: Object | string
Default: undefined
Exends/Overrides: json.constants
Constants to defined in the module.
Can be a JSON
string or an Object
.
This property extends the one defined in the input json
file. If there are
properties with the same name, this properties will override the ones from the
input json
file.
Type: array<string>
Default: []
Overrides: json.deps
optional
An array that specifies the default dependencies a module should have.
This property will override any deps
property defined in the input json
file.
Type: boolean|string
Default: false
Available: ['amd', 'commonjs']
optional
A boolean to active or deactive the automatic wrapping.
A string who will wrap the result of file, use the
<%= __ngModule %>
variable to indicate where to put the generated
module content.
A string with 'amd' that wraps the module as an AMD module,
compatible with RequireJS
Type: string
Default: '\t'
optional
A string that defines how the JSON.stringify method will prettify your code.
Type: string
Default: content of tpls/constant.tpl.ejs
optional
EJS template to apply when creating the output configuration file. The following variables are passed to the template during render:
moduleName
: the module name (string
)deps
: the module dependencies (array<string>
)constants
: the module constants (array<contantObj>
)- where a
constantObj
is an object with aname
and avalue
, bothstrings
.
- where a
Type: string
Default: 'tpls/constant.tpl.ejs'
optional
Location of a custom template file for creating the output configuration file. Defaults to the provided constants template file if none provided.