]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
chore: add JS sourcemaps
authorNicolas Coden <nicolas@ncoden.fr>
Sun, 4 Mar 2018 18:55:29 +0000 (19:55 +0100)
committerNicolas Coden <nicolas@ncoden.fr>
Sun, 4 Mar 2018 18:55:29 +0000 (19:55 +0100)
See https://github.com/shama/webpack-stream#source-maps

gulp/config.js
gulp/tasks/deploy.js
gulp/tasks/javascript.js

index 8c14fb6adf391e69071030499e3d88aea13d059d..4716f81d64ab93ef4ad787621be86988df5e9910 100644 (file)
@@ -79,7 +79,8 @@ module.exports = {
     './_build/assets/css/foundation-prototype.css.map',
     './_build/assets/css/foundation-rtl.css',
     './_build/assets/css/foundation-rtl.css.map',
-    '_build/assets/js/foundation.js'
+    '_build/assets/js/foundation.js',
+    '_build/assets/js/foundation.js.map'
   ],
 
   // Tests
index f05fa5487766b238b57d919ecb1646528f553d5f..ebb62e59d932857c54730a506f2b4b3f8fad3357 100644 (file)
@@ -47,8 +47,9 @@ gulp.task('deploy:version', function() {
 // Generates compiled CSS and JS files and puts them in the dist/ folder
 gulp.task('deploy:dist', ['sass:foundation', 'javascript:foundation'], function() {
   var cssFilter = filter(['**/*.css'], { restore: true });
-  var sourcemapFilter = filter(['**/*.css.map'], { restore: true });
   var jsFilter  = filter(['**/*.js'], { restore: true });
+  var cssSourcemapFilter = filter(['**/*.css.map'], { restore: true });
+  var jsSourcemapFilter = filter(['**/*.js.map'], { restore: true });
 
   console.log(CONFIG.DIST_FILES)
   return gulp.src(CONFIG.DIST_FILES)
@@ -59,14 +60,17 @@ gulp.task('deploy:dist', ['sass:foundation', 'javascript:foundation'], function(
       .pipe(rename({ suffix: '.min' }))
       .pipe(gulp.dest('./dist/css'))
     .pipe(cssFilter.restore)
-    .pipe(sourcemapFilter)
+    .pipe(cssSourcemapFilter)
       .pipe(gulp.dest('./dist/css'))
-    .pipe(sourcemapFilter.restore)
+    .pipe(cssSourcemapFilter.restore)
     .pipe(jsFilter)
       .pipe(gulp.dest('./dist/js'))
       .pipe(uglify())
       .pipe(rename({ suffix: '.min' }))
-      .pipe(gulp.dest('./dist/js'));
+    .pipe(gulp.dest('./dist/js'))
+    .pipe(jsSourcemapFilter)
+      .pipe(gulp.dest('./dist/js'))
+    .pipe(jsSourcemapFilter.restore);
 });
 
 // Copies standalone JavaScript plugins to dist/ folder
index da41933cef7df0deac08fa02b7a0a411aeca616a..d30607908c74e1d42ee3e667e883a8d826fd785d 100644 (file)
@@ -6,6 +6,7 @@ var rename = require('gulp-rename');
 var webpackStream = require('webpack-stream');
 var webpack2 = require('webpack');
 var named = require('vinyl-named');
+var sourcemaps = require('gulp-sourcemaps');
 
 var CONFIG = require('../config.js');
 
@@ -61,7 +62,9 @@ var webpackConfig = {
     // See https://github.com/zurb/foundation-sites/pull/10903
     // ---
     // libraryTarget: 'umd',
-  }
+  },
+  // https://github.com/shama/webpack-stream#source-maps
+  devtool: 'source-map'
 }
 
 // Core has to be dealt with slightly differently due to bootstrapping externals
@@ -70,20 +73,26 @@ var webpackConfig = {
 gulp.task('javascript:plugin-core', function() {
   return gulp.src('js/entries/plugins/foundation.core.js')
     .pipe(named())
+    .pipe(sourcemaps.init())
     .pipe(webpackStream(webpackConfig, webpack2))
+    .pipe(sourcemaps.write('.'))
     .pipe(gulp.dest('_build/assets/js/plugins'));
 });
 gulp.task('javascript:plugins', ['javascript:plugin-core'], function () {
   return gulp.src(['js/entries/plugins/*.js', '!js/entries/plugins/foundation.core.js'])
     .pipe(named())
+    .pipe(sourcemaps.init())
     .pipe(webpackStream(Object.assign({}, webpackConfig, { externals: pluginsAsExternals }), webpack2))
+    .pipe(sourcemaps.write('.'))
     .pipe(gulp.dest('_build/assets/js/plugins'));
 });
 
 gulp.task('javascript:foundation', ['javascript:plugins'], function() {
   return gulp.src('js/entries/foundation.js')
     .pipe(named())
+    .pipe(sourcemaps.init())
     .pipe(webpackStream(webpackConfig, webpack2))
+    .pipe(sourcemaps.write('.'))
     .pipe(gulp.dest('_build/assets/js'));
 });
 //gulp.task('javascript:foundation', function() {