Quindi, Babel ha pubblicato la versione 6 che è drasticamente diversa. Le sourcemaps non stanno uscendo correttamente (facendo clic nel file js non lo sviluppatore di Chrome non mi conduce alla riga corrispondente corretta nel file di origine es6).gulp-sourcemaps non funziona con babele 6
Ecco il mio gulpfile:
"use strict";
var gulp = require("gulp"),
sourcemaps = require("gulp-sourcemaps"),
babel = require("gulp-babel"),
uglify = require('gulp-uglify'),
rename = require('gulp-rename');
var paths = ['dojo-utils', 'dom-utils/dom-utils', 'esri-utils/esri-utils', 'esri-utils/classes/EsriAuthManager/EsriAuthManager'];
gulp.task("default", function() {
paths.forEach(function(path){
var pathArr = path.split("/");
var parent = pathArr.slice(0, pathArr.length - 1).join('/');
var file = pathArr[pathArr.length - 1];
var directory = "./" + (parent ? parent + "/" : "");
gulp.src(directory + file + '.es6')
.pipe(sourcemaps.init())
.pipe(babel({
"presets": [
"es2015"
],
"plugins": ["transform-es2015-modules-amd"]
}))
//.pipe(uglify())
.pipe(rename(file + '.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(directory));
});
});
Nota che sto usando babele 6 qui.
Ho anche provato questa variante:
gulp.src(directory + file + '.es6')
.pipe(babel({
"presets": [
"es2015"
],
"plugins": ["transform-es2015-modules-amd"],
"sourceMaps": "both"
}))
.pipe(rename(file + '.js'))
.pipe(sourcemaps.init())
//.pipe(uglify())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(directory));