diff options
Diffstat (limited to 'js/gulpfile.js')
-rw-r--r-- | js/gulpfile.js | 76 |
1 files changed, 39 insertions, 37 deletions
diff --git a/js/gulpfile.js b/js/gulpfile.js index 30d985764e4..bf83483d784 100644 --- a/js/gulpfile.js +++ b/js/gulpfile.js @@ -13,7 +13,7 @@ const babel = require("gulp-babel"); const bundle = require("./gulp/bundle"); -const tsbundle = require("./gulp/ts-bundle"); + const concat = require('gulp-concat'); const del = require("del"); const extreplace = require("gulp-ext-replace"); @@ -21,6 +21,7 @@ const fs = require("fs"); const gulp = require("gulp"); const gzip = require('gulp-gzip'); const iceBuilder = require('gulp-ice-builder'); +const tsbundle = require("gulp-ice-builder").tsbundle; const newer = require('gulp-newer'); const path = require('path'); const paths = require('vinyl-paths'); @@ -29,7 +30,7 @@ const rollup = require('rollup'); const sourcemaps = require('gulp-sourcemaps'); const terser = require('gulp-terser'); const tsc = require('gulp-typescript'); -const tsformat = require('./gulp/ts-formatter'); +const rename = require('gulp-rename'); const sliceDir = path.resolve(__dirname, '..', 'slice'); @@ -76,7 +77,7 @@ function slice2js(options) } defaults.iceToolsPath = path.resolve("../cpp/bin", platform, configuration); } - defaults.iceHome = path.resolve(".."); + defaults.iceHome = path.resolve(__dirname, '..'); } else if(process.env.ICE_HOME) { @@ -84,16 +85,18 @@ function slice2js(options) } defaults.include = opts.include || []; defaults.args = opts.args || []; - return iceBuilder.compile(defaults); + defaults.jsbundle = opts.jsbundle; + defaults.tsbundle = opts.tsbundle; + defaults.jsbundleFormat = opts.jsbundleFormat; + return iceBuilder(defaults); } // // Tasks to build IceJS Distribution // -const root = path.resolve(path.join('__dirname', '..')); +const root = path.resolve(__dirname); const libs = ["Ice", "Glacier2", "IceStorm", "IceGrid"]; -const generateTypeScriptTask = name => name.toLowerCase() + ":generate-typescript"; const generateTask = name => name.toLowerCase() + ":generate"; const libTask = name => name.toLowerCase() + ":lib"; const minLibTask = name => name.toLowerCase() + ":lib-min"; @@ -174,20 +177,16 @@ for(const lib of libs) { const sources = JSON.parse(fs.readFileSync(path.join(srcDir(lib), "sources.json"), {encoding: "utf8"})); - gulp.task(generateTypeScriptTask(lib), - cb => - { - const sliceSources = sources.typescriptSlice || sources.slice; - pump([gulp.src(sliceSources.map(sliceFile)), - slice2js({dest: srcDir(lib), args: ["--typescript"]}), - gulp.dest(srcDir(lib))], cb); - }); - gulp.task(generateTask(lib), cb => { pump([gulp.src(sources.slice.map(sliceFile)), - slice2js({dest: srcDir(lib)}), + slice2js( + { + jsbundle: false, + tsbundle: false, + args: ["--typescript"] + }), gulp.dest(srcDir(lib))], cb); }); @@ -266,22 +265,23 @@ for(const lib of libs) gulp.task(libDistTask(lib), gulp.series( - gulp.parallel(generateTypeScriptTask(lib), generateTask(lib)), + generateTask(lib), libTask(lib), gulp.parallel(babelTask(lib), babelLibTask(lib), minLibTask(lib)), babelMinLibTask(lib))); } +console.log(path.join(root, "src", "Ice", "*.d.ts")); gulp.task("ts:bundle", cb => { - pump([gulp.src("./src/index.d.ts"), + pump([gulp.src(libs.map(lib => path.join(root, "src", lib, "*.d.ts"))), tsbundle(), - tsformat({}), - gulp.dest("lib")], cb); + rename("index.d.ts"), + gulp.dest("src")], cb); }); -gulp.task("ts:bundle:clean", () => del("./lib/index.d.ts")); +gulp.task("ts:bundle:clean", () => del("./src/index.d.ts")); if(useBinDist) { @@ -357,7 +357,7 @@ gulp.task("test:common:generate", cb => { pump([gulp.src(["../scripts/Controller.ice"]), - slice2js({dest: "test/Common"}), + slice2js(), gulp.dest("test/Common")], cb); }); @@ -401,7 +401,10 @@ gulp.task("test:import:generate", "test/Ice/import/Demo/Circle.ice", "test/Ice/import/Demo/Square.ice", "test/Ice/import/Demo/Canvas.ice"]), - slice2js({dest: "test/Ice/import/Demo", include: ["test/Ice/import"]}), + slice2js( + { + include: ["test/Ice/import"] + }), gulp.dest("test/Ice/import/Demo")], cb); }); @@ -443,7 +446,10 @@ for(const name of tests) { const outdir = path.join(root, name); pump([gulp.src(path.join(outdir, "*.ice")), - slice2js({include: [outdir], dest: outdir}), + slice2js( + { + include: [outdir] + }), gulp.dest(outdir)], cb); }); @@ -517,7 +523,6 @@ const tstests = [ ]; const testTypeScriptSliceCompileJsTask = name => testTask(name) + ":ts:slice-compile-js"; -const testTypeScriptSliceCompileTsTask = name => testTask(name) + ":ts:slice-compile-ts"; const testTypeScriptCompileTask = name => testTask(name) + ":ts:compile"; const testTypeScriptBuildTask = name => testTask(name) + ":ts:build"; const testTypeScriptCleanTask = name => testTask(name) + ":ts:clean"; @@ -529,16 +534,12 @@ for(const name of tstests) { const outdir = path.join(root, name); pump([gulp.src(path.join(outdir, "*.ice")), - slice2js({include: [outdir], dest: outdir}), - gulp.dest(outdir)], cb); - }); - - gulp.task(testTypeScriptSliceCompileTsTask(name), - cb => - { - const outdir = path.join(root, name); - pump([gulp.src(path.join(outdir, "*.ice")), - slice2js({include: [outdir], dest: outdir, args: ["--typescript"]}), + slice2js( + { + include: [outdir], + args: ["--typescript"], + jsbundleFormat: "cjs" + }), gulp.dest(outdir)], cb); }); @@ -559,14 +560,15 @@ for(const name of tstests) gulp.task(testTypeScriptBuildTask(name), gulp.series( - gulp.parallel(testTypeScriptSliceCompileJsTask(name), testTypeScriptSliceCompileTsTask(name)), + testTypeScriptSliceCompileJsTask(name), testTypeScriptCompileTask(name))); gulp.task(testTypeScriptCleanTask(name), cb => { pump([gulp.src([path.join(root, name, "**/*.js"), - path.join(root, name, "**/*.d.ts")]), + path.join(root, name, "**/*.d.ts"), + path.join(root, name, "**/*.js.map")]), paths(del)], cb); }); } |