* Move babel-standalone into main Babel repo
* Don't try to gather coverage data for babel-standalone test
* Fix JSX test
* Always use npm v4 on Travis
* Include pull request number as part of version number
* Cherry-picking 5721b2e43e
Remove deprecated packages to prevent Babel v6 files from being pulled in
* Use RootMostResolvePlugin to dedupe packages
* Avoid destructuring so the build works on archaic Node.js versions
* - Fix version number
- Remove Babili packages (they should be in separate babili-standalone)
- Remove deprecated syntax-class-constructor-call
* - Remove more Babili packages
- Remove `babel-plugin-inline-replace-variables` for now as it pulls in Babel 6 stuff
* Actually remove reference to babel-plugin-undeclared-variables-check
* Add Babylon to root package.json so we hoist the right version. This fixes the tests.
65 lines
1.6 KiB
JavaScript
65 lines
1.6 KiB
JavaScript
"use strict";
|
|
|
|
const plumber = require("gulp-plumber");
|
|
const through = require("through2");
|
|
const chalk = require("chalk");
|
|
const newer = require("gulp-newer");
|
|
const babel = require("gulp-babel");
|
|
const watch = require("gulp-watch");
|
|
const gutil = require("gulp-util");
|
|
const gulp = require("gulp");
|
|
const path = require("path");
|
|
const registerBabelStandaloneTasks = require("./packages/babel-standalone/src/gulpTasks");
|
|
|
|
const base = path.join(__dirname, "packages");
|
|
const scripts = "./packages/*/src/**/*.js";
|
|
|
|
function swapSrcWithLib(srcPath) {
|
|
const parts = srcPath.split(path.sep);
|
|
parts[1] = "lib";
|
|
return parts.join(path.sep);
|
|
}
|
|
|
|
gulp.task("default", ["build"]);
|
|
|
|
gulp.task("build", function() {
|
|
return gulp
|
|
.src(scripts, { base: base })
|
|
.pipe(
|
|
plumber({
|
|
errorHandler: function(err) {
|
|
gutil.log(err.stack);
|
|
},
|
|
})
|
|
)
|
|
.pipe(
|
|
newer({
|
|
dest: base,
|
|
map: swapSrcWithLib,
|
|
})
|
|
)
|
|
.pipe(
|
|
through.obj(function(file, enc, callback) {
|
|
gutil.log("Compiling", "'" + chalk.cyan(file.relative) + "'...");
|
|
callback(null, file);
|
|
})
|
|
)
|
|
.pipe(babel())
|
|
.pipe(
|
|
through.obj(function(file, enc, callback) {
|
|
// Passing 'file.relative' because newer() above uses a relative path and this keeps it consistent.
|
|
file.path = path.resolve(file.base, swapSrcWithLib(file.relative));
|
|
callback(null, file);
|
|
})
|
|
)
|
|
.pipe(gulp.dest(base));
|
|
});
|
|
|
|
gulp.task("watch", ["build"], function() {
|
|
watch(scripts, { debounceDelay: 200 }, function() {
|
|
gulp.start("build");
|
|
});
|
|
});
|
|
|
|
registerBabelStandaloneTasks(gulp);
|