X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=gulpfile.js;h=9b0a6de73f25a775eba3602677e134a504b472ee;hb=8ede1fc9d2d0ef91ffcc9ad53587f19cdc6d0427;hp=ead39327f5fb82e9264cbab8651bdf29e4c51635;hpb=80f7a371184ea0876860848746f0058bb4edaf4e;p=mirror_xterm.js.git diff --git a/gulpfile.js b/gulpfile.js index ead3932..9b0a6de 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,3 +1,7 @@ +/** + * @license MIT + */ + const browserify = require('browserify'); const buffer = require('vinyl-buffer'); const coveralls = require('gulp-coveralls'); @@ -31,7 +35,6 @@ gulp.task('tsc', function () { let tsResult = tsProject.src().pipe(sourcemaps.init()).pipe(tsProject()); let tsc = tsResult.js.pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: ''})).pipe(gulp.dest(outDir)); - fs.emptyDirSync(`${outDir}/addons`); fs.emptyDirSync(`${outDir}/addons/search`); 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`)); @@ -69,28 +72,38 @@ gulp.task('browserify', ['tsc'], function() { .pipe(sourcemaps.write('./')) .pipe(gulp.dest(buildDir)); - let browserifyOptionsSearchAddon = { - basedir: buildDir, + // Copy stylesheets from ${outDir}/ to ${buildDir}/ + let copyStylesheets = gulp.src(`${outDir}/**/*.css`).pipe(gulp.dest(buildDir)); + + return merge(bundleStream, copyStylesheets); +}); + +gulp.task('browserify-addons', ['tsc'], function() { + let searchOptions = { + basedir: `${buildDir}/addons/search`, debug: true, entries: [`${outDir}/addons/search/search.js`], cache: {}, packageCache: {} }; - let bundleStreamSearchAddon = browserify(browserifyOptionsSearchAddon) + let searchBundle = browserify(searchOptions) .bundle() .pipe(source('./addons/search/search.js')) .pipe(buffer()) - .pipe(sourcemaps.init({loadMaps: true, sourceRoot: '..'})) + .pipe(sourcemaps.init({loadMaps: true, sourceRoot: ''})) .pipe(sourcemaps.write('./')) .pipe(gulp.dest(buildDir)); - // Copy all add-ons from ${outDir}/ to buildDir - let copyAddons = gulp.src([`${outDir}/addons/**/*`, `!${outDir}/addons/search`, `!${outDir}/addons/search/**`]).pipe(gulp.dest(`${buildDir}/addons`)); - - // Copy stylesheets from ${outDir}/ to ${buildDir}/ - let copyStylesheets = gulp.src(`${outDir}/**/*.css`).pipe(gulp.dest(buildDir)); + // 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/**` + ]).pipe(gulp.dest(`${buildDir}/addons`)); - return merge(bundleStream, bundleStreamSearchAddon, copyAddons, copyStylesheets); + return merge(searchBundle, copyAddons); }); gulp.task('instrument-test', function () { @@ -119,6 +132,12 @@ gulp.task('sorcery', ['browserify'], function () { chain.writeSync(); }); +gulp.task('sorcery-addons', ['browserify-addons'], function () { + var chain = sorcery.loadSync(`${buildDir}/addons/search/search.js`); + chain.apply(); + chain.writeSync(); +}); + /** * Submit coverage results to coveralls.io */ @@ -127,6 +146,6 @@ gulp.task('coveralls', function () { .pipe(coveralls()); }); -gulp.task('build', ['sorcery']); +gulp.task('build', ['sorcery', 'sorcery-addons']); gulp.task('test', ['mocha']); gulp.task('default', ['build']);