Skip to content

Commit 7da447c

Browse files
authored
Merge pull request #1 from Daniihh/better-imports
Apply Multi-file Output, Tests & Cleanup
2 parents dde3216 + fac8583 commit 7da447c

File tree

9 files changed

+1532
-467
lines changed

9 files changed

+1532
-467
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
node_modules
1+
node_modules
2+
out/

gulpfile.js

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,26 @@
1-
const [{src, dest}, ts] = ["!gulp", "typescript"]
2-
.map(i => i.startsWith("!") ? i.substr(1) : `gulp-${i}`).map(require);
1+
const [{src, dest}, fs, ts, rename, compress, merge] =
2+
["!gulp", "!fs", "typescript", "rename", "minify", "!merge-stream"]
3+
.map(i => i.startsWith("!") ? i.substr(1) : `gulp-${i}`).map(require);
4+
5+
const requiredFolders = ["out"];
6+
7+
function ensureFolders() {
8+
requiredFolders.forEach(dir => fs.existsSync(dir) ? null : fs.mkdirSync(dir));
9+
}
310

411
module.exports = {
512
compile() {
6-
const project =
7-
ts.createProject("tsconfig.json", {"experimentalDecorators": true});
8-
return src("./src/*.ts").pipe(project()).pipe(dest("./out/"));
13+
ensureFolders();
14+
15+
const modSys = {"esmodule": "ESNext", "commonjs": "CommonJS"};
16+
const get = (mod) => ts.createProject("tsconfig.json", {"module": modSys[mod]});
17+
const applyTs = (pipe, mod) => pipe.pipe(get(mod)()).pipe(rename(p => p.basename = mod + "-" + p.basename));
18+
const applyCompress = (pipe, opts) => pipe.pipe(compress(opts));
19+
20+
let out = [src("./src/*.ts")];
21+
out = out.map(i => [applyTs(i, "esmodule"), applyTs(i, "commonjs")]).flat();
22+
out = out.map(i => [i, applyCompress(i, {"ext": {"min": "-min.js"}, "preserveComments": "some"})]).flat();
23+
return merge(...out).pipe(dest("./out/"));
24+
//return src("./src/*.ts").pipe(project()).pipe(dest("./out/"));
925
}
1026
}

out/tools.js

Lines changed: 0 additions & 279 deletions
This file was deleted.

0 commit comments

Comments
 (0)