From cb7c6151e83bac38e830a2f5b0898120f0b79dfe Mon Sep 17 00:00:00 2001 From: Felipe Gasper Date: Sun, 29 Oct 2017 15:21:22 -0500 Subject: [PATCH] compile zmodem extension in gulp --- gulpfile.js | 33 ++++++---------------- package.json | 3 +- src/addons/zmodem/tsconfig.json | 10 ------- src/addons/zmodem/{zmodem.ts => zmodem.js} | 8 ------ 4 files changed, 10 insertions(+), 44 deletions(-) delete mode 100644 src/addons/zmodem/tsconfig.json rename src/addons/zmodem/{zmodem.ts => zmodem.js} (94%) diff --git a/gulpfile.js b/gulpfile.js index 7c5ca1163..3c75e1b35 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -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 () { diff --git a/package.json b/package.json index bdde38eb5..339084b9e 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "glob": "^7.0.5", "gulp": "3.9.1", "gulp-cli": "^1.2.2", + "gulp-concat": "^2.6.1", "gulp-coveralls": "^0.1.4", "gulp-istanbul": "^1.1.1", "gulp-mocha": "^3.0.1", @@ -68,7 +69,7 @@ "typescript": "~2.4.0", "vinyl-buffer": "^1.0.0", "vinyl-source-stream": "^1.1.0", - "zmodem.js": "^0.1.4" + "zmodem.js": "^0.1.5" }, "scripts": { "prestart": "npm run build", diff --git a/src/addons/zmodem/tsconfig.json b/src/addons/zmodem/tsconfig.json deleted file mode 100644 index 8c31bb371..000000000 --- a/src/addons/zmodem/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "rootDir": ".", - "outDir": "../../../lib/addons/zmodem/", - "sourceMap": true, - "removeComments": true - } -} diff --git a/src/addons/zmodem/zmodem.ts b/src/addons/zmodem/zmodem.js similarity index 94% rename from src/addons/zmodem/zmodem.ts rename to src/addons/zmodem/zmodem.js index be0b3ed81..1bab2976b 100644 --- a/src/addons/zmodem/zmodem.ts +++ b/src/addons/zmodem/zmodem.js @@ -1,11 +1,3 @@ -import { Zmodem } from '../../../node_modules/zmodem.js/dist/zmodem.js'; - -declare var exports: any; -declare var module: any; -declare var define: any; -declare var require: any; -declare var window: any; - /** * * Allow xterm.js to handle ZMODEM uploads and downloads.