Skip to content
This repository has been archived by the owner on Jul 11, 2018. It is now read-only.

Add cache busting #10

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions config.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ if process.env.NODE_ENV == 'staging'
config.cssnano =
zindex: true

config.coffee =
bare: true

config.uglify =
compress: false

config.ngAnnotate =
remove: false
add: true
single_quotes: true

config.livereload = true
config.lint = true

Expand Down
29 changes: 16 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "webapp-gulp-builder",
"version": "1.4.3",
"version": "1.4.6",
"description": "My own common builder",
"main": "gulpfile.coffee",
"scripts": {
Expand All @@ -10,43 +10,46 @@
},
"repository": {
"type": "git",
"url": "https://github.com/jdrouet/webapp-gulp-builder.git"
"url": "https://github.com/FastIT/webapp-gulp-builder.git"
},
"author": "Jérémie Drouet <[email protected]>",
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/jdrouet/webapp-gulp-builder/issues"
"url": "https://github.com/FastIT/webapp-gulp-builder/issues"
},
"homepage": "https://github.com/jdrouet/webapp-gulp-builder",
"homepage": "https://github.com/FastIT/webapp-gulp-builder",
"dependencies": {
"coffee-script": "~1.10.0",
"coffeelint-stylish": "~0.1.2",
"del": "~2.2.0",
"gulp": "~3.9.0",
"gulp": "~3.9.1",
"gulp-angular-templatecache": "~1.8.0",
"gulp-autoprefixer": "~3.1.0",
"gulp-coffee": "~2.3.1",
"gulp-coffeelint": "~0.6.0",
"gulp-concat": "~2.6.0",
"gulp-cssnano": "~2.0.0",
"gulp-filter": "~3.0.1",
"gulp-cssnano": "~2.1.2",
"gulp-filter": "~4.0.0",
"gulp-htmlmin": "~1.3.0",
"gulp-if": "~2.0.0",
"gulp-jade": "~1.1.0",
"gulp-less": "~3.0.5",
"gulp-livereload": "~3.8.1",
"gulp-loopback-sdk-angular": "~0.1.4",
"gulp-manifest": "0.1.1",
"gulp-ng-annotate": "~1.1.0",
"gulp-plumber": "~1.0.1",
"gulp-ng-annotate": "~2.0.0",
"gulp-order": "^1.1.1",
"gulp-plumber": "~1.1.0",
"gulp-rename": "~1.2.2",
"gulp-replace": "~0.5.4",
"gulp-replace-task": "~0.11.0",
"gulp-sass": "~2.1.1",
"gulp-rev": "6.0.1",
"gulp-rev-replace": "0.4.3",
"gulp-sass": "~2.2.0",
"gulp-sourcemaps": "~1.6.0",
"gulp-uglify": "~1.5.1",
"gulp-uglify": "~1.5.3",
"gulp-util": "~3.0.7",
"main-bower-files": "~2.11.0",
"main-bower-files": "~2.11.1",
"plumber": "~0.4.8",
"require-dir": "~0.3.0",
"run-sequence": "~1.1.5",
Expand Down
20 changes: 13 additions & 7 deletions tasks/compile/coffee-script.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,32 @@ gif = require 'gulp-if'
gutil = require 'gulp-util'
livereload = require 'gulp-livereload'
ngAnnotate = require 'gulp-ng-annotate'
order = require 'gulp-order'
plumber = require 'gulp-plumber'
replace = require 'gulp-replace-task'
sourcemaps = require 'gulp-sourcemaps'
uglify = require 'gulp-uglify'
rev = require 'gulp-rev'

module.exports = (gulp, config) ->
gulp.task 'compile:coffee', ->
gulp.src config.input.coffee
.pipe plumber()
.on 'error', gutil.log
.pipe gif config.input.replace.enabled, replace config.input.replace
.pipe coffee
bare: true
.pipe ngAnnotate
remove: false
add: true
single_quotes: true
.pipe gif config.minify, uglify()
.pipe coffee(config.coffee)
.pipe ngAnnotate(config.ngAnnotate)
.pipe gif config.minify, uglify(config.uglify)
.pipe order config.input.order or ['*']
.pipe concat config.output.application
.pipe sourcemaps.init()
.pipe sourcemaps.write()
.pipe rev()
.pipe gulp.dest config.output.script
.pipe rev.manifest({
base: config.output.path,
path: config.output.path + '/rev-manifest.json',
merge: true
})
.pipe gulp.dest config.output.path
.pipe livereload()
11 changes: 9 additions & 2 deletions tasks/compile/less.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ livereload = require 'gulp-livereload'
cssnano = require 'gulp-cssnano'
path = require 'path'
plumber = require 'gulp-plumber'
rev = require 'gulp-rev'

module.exports = (gulp, config) ->
gulp.task 'compile:less', ->
Expand All @@ -16,7 +17,13 @@ module.exports = (gulp, config) ->
.pipe autoprefixer
browsers: ['last 2 versions', 'Firefox >= 24', 'ie >= 11']
cascade: false
.pipe gif config.minify, cssnano
zindex: config.cssnano.zindex
.pipe gif config.minify, cssnano(config.cssnano)
.pipe rev()
.pipe gulp.dest config.output.less
.pipe rev.manifest({
base: config.output.path,
path: config.output.path + '/rev-manifest.json',
merge: true
})
.pipe gulp.dest config.output.path
.pipe livereload()
8 changes: 8 additions & 0 deletions tasks/compile/loopback-services.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ rename = require 'gulp-rename'
replace = require 'gulp-replace'
sourcemaps = require 'gulp-sourcemaps'
uglify = require 'gulp-uglify'
rev = require 'gulp-rev'

module.exports = (gulp, config) ->

Expand All @@ -26,5 +27,12 @@ module.exports = (gulp, config) ->
.pipe sourcemaps.write()
.pipe rename config.output.loopback.filename
.pipe gif config.input.loopback.prefix?.replace, replace('$LoopBack$', config.input.loopback.prefix.with)
.pipe rev()
.pipe gulp.dest config.output.loopback.path
.pipe rev.manifest({
base: config.output.path,
path: config.output.path + '/rev-manifest.json',
merge: true
})
.pipe gulp.dest config.output.path
.pipe livereload()
8 changes: 8 additions & 0 deletions tasks/compile/template.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plumber = require 'gulp-plumber'
replace = require 'gulp-replace-task'
sourcemaps = require 'gulp-sourcemaps'
templateCache = require 'gulp-angular-templatecache'
rev = require 'gulp-rev'

module.exports = (gulp, config) ->
gulp.task 'compile:template', ->
Expand All @@ -26,5 +27,12 @@ module.exports = (gulp, config) ->
standalone: true
.pipe sourcemaps.init()
.pipe sourcemaps.write()
.pipe rev()
.pipe gulp.dest config.output.script
.pipe rev.manifest({
base: config.output.path,
path: config.output.path + '/rev-manifest.json',
merge: true
})
.pipe gulp.dest config.output.path
.pipe livereload()
8 changes: 8 additions & 0 deletions tasks/compile/vendor.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ mainBowerFiles = require 'main-bower-files'
plumber = require 'gulp-plumber'
sourcemaps = require 'gulp-sourcemaps'
uglify = require 'gulp-uglify'
rev = require 'gulp-rev'

module.exports = (gulp, config) ->
gulp.task 'compile:vendor', ->
Expand All @@ -19,5 +20,12 @@ module.exports = (gulp, config) ->
.pipe gif config.minify, uglify()
.pipe sourcemaps.init()
.pipe sourcemaps.write()
.pipe rev()
.pipe gulp.dest config.output.script
.pipe rev.manifest({
base: config.output.path,
path: config.output.path + '/rev-manifest.json',
merge: true
})
.pipe gulp.dest config.output.path
.pipe livereload()
2 changes: 1 addition & 1 deletion tasks/default.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ manifest = require 'gulp-manifest'
module.exports = (gulp, config) ->
gulp.task 'default', (done) ->
sequence = require('run-sequence').use gulp
sequence ['lint', 'compile', 'static'], 'manifest', ->
sequence ['lint', 'compile', 'static'], 'manifest', 'replace' ->
if config.input.loopback.enabled
# To close database with loopback
process.exit 0
Expand Down
1 change: 1 addition & 0 deletions tasks/index.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ module.exports = (gulp, config) ->
require('./compile') gulp, config
require('./lint') gulp, config
require('./clean.coffee') gulp, config
require('./replace.coffee') gulp, config
require('./manifest.coffee') gulp, config
require('./default.coffee') gulp, config
require('./static.coffee') gulp, config
Expand Down
10 changes: 10 additions & 0 deletions tasks/replace.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plumber = require 'gulp-plumber'
revReplace = require 'gulp-rev-replace'

module.exports = (gulp, config) ->
gulp.task 'replace', ->
manifest = gulp.src(config.output.path + '/rev-manifest.json')
gulp.src config.output.path + '/index.html'
.pipe plumber()
.pipe(revReplace({manifest: manifest}))
.pipe gulp.dest config.output.path