+gulp.task('browserify-addons', ['tsc'], function() {
+ let searchOptions = {
+ basedir: `${buildDir}/addons/search`,
+ debug: true,
+ entries: [`${outDir}/addons/search/search.js`],
+ cache: {},
+ packageCache: {}
+ };
+ let searchBundle = browserify(searchOptions)
+ .bundle()
+ .pipe(source('./addons/search/search.js'))
+ .pipe(buffer())
+ .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([
+ // 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(searchBundle, copyAddons);