@thegraid/createjs-module
Version:
ESM for all of CreateJS (for Angluar or Ionic) with @types/createjs.
66 lines (57 loc) • 1.96 kB
JavaScript
// gulpfile.js -> require("gulpfile.es6")
import cp from 'child_process';
import fs from 'fs';
import gulp from 'gulp';
import concat from 'gulp-concat';
import insert from 'gulp-insert';
import gutil from 'gulp-util';
const VERSIONS = {
EASEL: '1.0.0',
PRELOAD: '1.0.0',
SOUNDL: '1.0.0',
TWEEN: '1.0.0',
CREATE: '1.1.8'
};
const SRC = {
EASEL: `./node_modules/easeljs/lib/easeljs.js`,
PRELOAD: `./node_modules/preloadjs/lib/preloadjs.js`,
SOUND: `./node_modules/soundjs/lib/soundjs.js`,
TWEEN: `./node_modules/tweenjs/lib/tweenjs.js`
};
const DEST = {
CREATE: './'
};
const TRNL = "tr -d '\r' < createjs-raw.js > createjs.js";
function execTrnlTask() {
return cp.exec(TRNL, (error, stdout, stderr) => { })
}
function string_src(filename, string) {
var src = require('stream').Readable({ objectMode: true });
src._read = function () {
this.push(new gutil.File({ cwd: '', base: '', path: filename, contents: Buffer.from(string) }));
this.push(null)
};
return src
}
function compile() {
return gulp.src([
SRC.EASEL,
SRC.PRELOAD,
SRC.SOUND,
SRC.TWEEN
])
.pipe(concat('createjs-raw.js'))
.pipe(insert.prepend('var createjs = (this.createjs = (this.createjs || {}));\n'))
.pipe(insert.append(`\n/* Createjs Compiled: ${new Date()} */`))
.pipe(insert.append('\nif(typeof module !== "undefined" && typeof module.exports !== "undefined") module.exports = this.createjs;\n'))
.pipe(gulp.dest(DEST.CREATE));
}
function doPackage() {
let pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
pkg.version = VERSIONS.CREATE;
return string_src('package.json', JSON.stringify(pkg, null, 4))
.pipe(gulp.dest(DEST.CREATE));
}
gulp.task('compile', gulp.series(compile, execTrnlTask));
gulp.task('package', gulp.series(doPackage));
gulp.task('default', gulp.series(compile, doPackage));