Skip to content

Instantly share code, notes, and snippets.

@dshster
Created February 9, 2015 19:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dshster/2535b4317e495d070bcb to your computer and use it in GitHub Desktop.
Save dshster/2535b4317e495d070bcb to your computer and use it in GitHub Desktop.
gulp-bower-concat
{
"directory": "Scripts/Components"
}
'use strict';
var gulp = require('gulp'),
$ = require('gulp-load-plugins')({
pattern: ['gulp-*', 'gulp.*'],
replaceString: /\bgulp[\-.]/
}),
mainBowerFiles = require('main-bower-files'),
fs = require('fs'),
bowerrc = './.bowerrc',
vendors = 'vendor.js',
directory = './bower_components';
if (fs.existsSync(bowerrc)) {
directory = JSON.parse(fs.readFileSync(bowerrc)).directory;
}
gulp.task('vendors', function() {
return gulp.src(mainBowerFiles())
.pipe($.filter('**/*.js'))
.pipe($.order([
'angular/*.js'
], {
base: directory
}))
.pipe($.concat(vendors))
.on('error', function(error) {
console.log(error);
this.end();
})
.pipe($.uglify())
.on('error', function(error) {
console.log(error);
this.end();
})
.pipe($.rename({
suffix: '.min'
}))
.pipe(gulp.dest('./'));
});
gulp.task('default', ['vendors']);
{
"name": "Playground-bowerbuilder",
"version": "1.0.0",
"description": "",
"main": "Gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Dmitry Shvalyov <dmitry@shvalyov.ru>",
"license": "MIT",
"dependencies": {
"gulp": "^3.8.10",
"gulp-concat": "^2.4.3",
"gulp-filter": "^2.0.1",
"gulp-load-plugins": "^0.8.0",
"gulp-order": "^1.1.1",
"gulp-rename": "^1.2.0",
"gulp-uglify": "^1.1.0",
"main-bower-files": "^2.5.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment