
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
gulp-angular-constant
Advanced tools
| Package | gulp-ng-constant |
| Description | Plugin for dynamic generation of angular constant modules. Based of grunt-ng-constant |
| Node Version | >= 0.10 |
gulpfile.jsgulpfile.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!");
});
config.jsongulpfile.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: filename or "ngConstants"
Overrides: json.name
optional
The module name.
This property will override any name property defined in the input json file. The default name when used as a tranform stream (i.e. regular plugin) is the passed file name. When options.stream is true the default name is "ngConstants".
Type: string
Default: undefined
optional
The path where the generated constant module should be saved.
DEPRECATED: To change the vinyl file name use a plugin such as gulp-rename.
Type: boolean
Default: false
optional
If true it returns a new gulp stream, which can then be piped other gulp plugins (Example).
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>|boolean
Default: []
Overrides: json.deps
optional
An array that specifies the default dependencies a module should have. To add the constants to an existing module, you can set it to false.
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>)
constantObj is an object with a name and a value, both strings.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.
config.json
{
"development": { "greeting": "Sup!" },
"production": { "greeting": "Hello" }
}
gulpfile.js
var gulp = require('gulp');
var ngConstant = require('gulp-ng-constant');
gulp.task('constants', function () {
var myConfig = require('./config.json');
var envConfig = myConfig[process.env];
return ngConstant({
constants: envConfig,
stream: true
})
.pipe(gulp.dest('dist'));
});
var gulp = require('gulp');
var ngConstant = require('gulp-ng-constant');
var uglify = require('gulp-uglify');
gulp.task('constants', function () {
var constants = { hello: 'world' };
return ngConstant({
constants: constants,
stream: true
})
.pipe(uglify())
.pipe(gulp.dest('dist'));
});
Just write your configuration in a YAML file and pipe it to the plugin.
config.yml
greeting: Merry Christmas!
seasons:
- Winter
- Spring
- Summer
- Fall
gulpfile.js
var gulp = require('gulp');
var ngConstant = require('gulp-ng-constant');
gulp.task('constants', function () {
gulp.src('app/config.yml')
.pipe(ngConstant())
.pipe(gulp.dest('dist'));
});
@alexeygolev, @sabudaye, @ojacquemart, @lukehorvat, @rimian, @andidev, @dotDeeka
FAQs
Gulp plugin for dynamic generation of angular constant modules.
The npm package gulp-angular-constant receives a total of 12 weekly downloads. As such, gulp-angular-constant popularity was classified as not popular.
We found that gulp-angular-constant demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.