
Security News
The Nightmare Before Deployment
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.
gulp-smart-builder
Advanced tools
Do not repeat yourself! Turn on best practicies in your gulpfile in a few lines
Stop writing big gulpfile for every project! Stop thinking about gulp plugins and dependencies! Turn on best practicies in your gulpfile in a few lines with Gulp Smart Builder.
Gulp Smart Builder is configuration wrapper for gulp which provide plugins managements is more clear and change aspect from 'which micro-steps and what order should be applied for assets' to 'which assets should be processed and what features should applied to it'.
{
"name": "my-app",
"version": "1.0.0",
"main": "src/server.js",
"directories": {
"source": "src",
"destination": "dist",
"public": "dist/assets"
}
}
import gulp from 'gulp';
import packageConfig from './package.json';
import buildConfig from './build.config';
import SmartBuilder from 'gulp-smart-builder';
const builder = new SmartBuilder({
root: __dirname,
gulp: gulp,
// `directories` contains keys "source", "destination" and "public"
// which present a relative path according root of your project
directories: packageConfig['directories'],
// `config` should contain a map with asset (plugin name) as a key
// and options for this plugin as a value, see build.config.js
config: buildConfig
});
builder.run();
import objectAssignDeep from 'object-assign-deep';
let config = {
images: {
changed: true
},
styles: {
changed: true
},
swf: true,
templates: {
changed: true
},
webpack: {
dependencies: ['images', 'styles', 'swf', 'templates'],
configFile: './webpack.config.js',
entry: {
'index': './app-client.js',
'server': {
target: 'node',
file: './app-server.js'
}
},
publicPath: '/assets',
sourceMaps: 'inline',
devServer: {
hotModuleReplacement: true,
reactHotLoader: true,
host: 'localhost',
port: 3000
},
extractCSSToFile: false,
longTermCaching: false,
generateHTML: {
template: './templates/pages/index.html',
inject: true
},
bowerComponents: true
}
};
// Override configuration settings for PRODUCTION environment
if (process.env.NODE_ENV === 'production') {
objectAssignDeep(config, {
images: {
changed: false,
imagemin: true
},
styles: {
changed: false,
minify: true,
sourceMaps: 'external'
},
templates: {
changed: false,
htmlmin: true
},
webpack: {
uglify: true,
sourceMaps: 'external',
generateHTML: {
minify: true
}
});
}
export default config;
Not described yet.
FAQs
Do not repeat yourself! Turn on best practicies in your gulpfile in a few lines
The npm package gulp-smart-builder receives a total of 0 weekly downloads. As such, gulp-smart-builder popularity was classified as not popular.
We found that gulp-smart-builder 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
Season’s greetings from Socket, and here’s to a calm end of year: clean dependencies, boring pipelines, no surprises.

Research
/Security News
Impostor NuGet package Tracer.Fody.NLog typosquats Tracer.Fody and its author, using homoglyph tricks, and exfiltrates Stratis wallet JSON/passwords to a Russian IP address.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.