compile zmodem extension in gulp

This commit is contained in:
Felipe Gasper
2017-10-29 15:21:22 -05:00
parent 0ca1318284
commit cb7c6151e8
4 changed files with 10 additions and 44 deletions
+8 -25
View File
@@ -5,6 +5,7 @@
const browserify = require('browserify');
const buffer = require('vinyl-buffer');
const coveralls = require('gulp-coveralls');
const concat = require('gulp-concat');
const fs = require('fs-extra');
const gulp = require('gulp');
const path = require('path');
@@ -20,7 +21,6 @@ const util = require('gulp-util');
let buildDir = process.env.BUILD_DIR || 'build';
let tsProject = ts.createProject('tsconfig.json');
let tsProjectSearchAddon = ts.createProject('./src/addons/search/tsconfig.json');
let tsProjectZmodemAddon = ts.createProject('./src/addons/zmodem/tsconfig.json');
let srcDir = tsProject.config.compilerOptions.rootDir;
let outDir = tsProject.config.compilerOptions.outDir;
@@ -50,17 +50,13 @@ gulp.task('tsc', function () {
let tsResultSearchAddon = tsProjectSearchAddon.src().pipe(sourcemaps.init()).pipe(tsProjectSearchAddon());
let tscSearchAddon = tsResultSearchAddon.js.pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''})).pipe(gulp.dest(`${outDir}/addons/search`));
fs.emptyDirSync(`${outDir}/addons/zmodem`);
let tsResultZmodemAddon = tsProjectZmodemAddon.src().pipe(sourcemaps.init()).pipe(tsProjectZmodemAddon());
let tscZmodemAddon = tsResultZmodemAddon.js.pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''})).pipe(gulp.dest(`${outDir}/addons/zmodem`));
// Copy all addons from ${srcDir}/ to ${outDir}/
let copyAddons = gulp.src([`${srcDir}/addons/**/*`, `!${srcDir}/addons/search`, `!${srcDir}/addons/search/**`, `!${srcDir}/addons/zmodem`, `!${srcDir}/addons/zmodem/**`]).pipe(gulp.dest(`${outDir}/addons`));
let copyAddons = gulp.src([`${srcDir}/addons/**/*`, `!${srcDir}/addons/search`, `!${srcDir}/addons/search/**`]).pipe(gulp.dest(`${outDir}/addons`));
// Copy stylesheets from ${srcDir}/ to ${outDir}/
let copyStylesheets = gulp.src(`${srcDir}/**/*.css`).pipe(gulp.dest(outDir));
return merge(tsc, tscSearchAddon, tscZmodemAddon, copyAddons, copyStylesheets);
return merge(tsc, tscSearchAddon, copyAddons, copyStylesheets);
});
/**
@@ -110,35 +106,22 @@ gulp.task('browserify-addons', ['tsc'], function() {
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(buildDir));
let zmodemOptions = {
basedir: `${buildDir}/addons/zmodem`,
debug: true,
entries: [`${outDir}/addons/zmodem/zmodem.js`],
cache: {},
packageCache: {}
};
let zmodemBundle = browserify(zmodemOptions)
.external(path.join(outDir, 'Terminal.js'))
.bundle()
.pipe(source('./addons/zmodem/zmodem.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true, sourceRoot: ''}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(buildDir));
let zmodemBundle = gulp.src([
'./node_modules/zmodem.js/dist/zmodem.js',
'./src/addons/zmodem/zmodem.js',
]).pipe( concat('zmodem.js') ).pipe( gulp.dest( `${buildDir}/addons/zmodem` ) );
// Copy all add-ons from outDir to buildDir
let copyAddons = gulp.src([
// Copy JS addons
`${outDir}/addons/**/*`,
// Exclude TS addons from copy as they are being built via browserify
`!${outDir}/addons/search`,
`!${outDir}/addons/search/**`,
`!${outDir}/addons/zmodem`,
`!${outDir}/addons/zmodem/**`,
]).pipe(gulp.dest(`${buildDir}/addons`));
return merge(searchBundle, zmodemBundle, copyAddons);
return merge(searchBundle, copyAddons);
});
gulp.task('instrument-test', function () {