Skip to content

Commit af0ce27

Browse files
committed
fix(*): add previously ignored umd-bundler.js
1 parent ab4177e commit af0ce27

2 files changed

Lines changed: 90 additions & 1 deletion

File tree

.config/umd-bundler.js

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#!/usr/bin/env node
2+
3+
'use strict';
4+
5+
/*eslint no-console: 0, no-sync: 0*/
6+
7+
// UMD bundler
8+
// simple and yet reusable system.js bundler
9+
// bundles, minifies and gzips
10+
11+
const fs = require('fs');
12+
const del = require('del');
13+
const path = require('path');
14+
const zlib = require('zlib');
15+
const async = require('async');
16+
const Builder = require('systemjs-builder');
17+
18+
const pkg = require('../package.json');
19+
const name = pkg.name;
20+
const targetFolder = path.resolve('./bundles');
21+
22+
async.waterfall([
23+
cleanBundlesFolder,
24+
getSystemJsBundleConfig,
25+
buildSystemJs({minify: false, sourceMaps: true, mangle: false, noEmitHelpers: false, declaration: true}),
26+
getSystemJsBundleConfig,
27+
buildSystemJs({minify: true, sourceMaps: true, mangle: false, noEmitHelpers: false, declaration: true})
28+
], err => {
29+
if (err) {
30+
throw err;
31+
}
32+
});
33+
34+
function getSystemJsBundleConfig(cb) {
35+
const config = {
36+
baseURL: '.',
37+
transpiler: 'typescript',
38+
typescriptOptions: {
39+
module: 'cjs'
40+
},
41+
map: {
42+
typescript: './node_modules/typescript/lib/typescript',
43+
'@angular': './node_modules/@angular',
44+
rxjs: './node_modules/rxjs',
45+
lodash: './node_modules/lodash/lodash'
46+
},
47+
paths: {
48+
'*': '*.js'
49+
},
50+
meta: {
51+
'./node_modules/@angular/*': {build: false},
52+
'./node_modules/rxjs/*': {build: false},
53+
lodash: {build: false, main: 'lodash.js'}
54+
}
55+
};
56+
57+
return cb(null, config);
58+
}
59+
60+
function cleanBundlesFolder(cb) {
61+
return del(targetFolder)
62+
.then(paths => {
63+
console.log('Deleted files and folders:\n', paths.join('\n'));
64+
cb();
65+
});
66+
}
67+
68+
function buildSystemJs(options) {
69+
return (config, cb) => {
70+
const minPostFix = options && options.minify ? '.umd.min' : '.umd';
71+
const fileName = `${name}${minPostFix}.js`;
72+
const dest = path.resolve(__dirname, targetFolder, fileName);
73+
const builder = new Builder();
74+
75+
console.log('Bundling system.js file:', fileName, options);
76+
builder.config(config);
77+
78+
return builder
79+
.buildStatic('index', dest, {format: 'umd'})
80+
.then(() => {
81+
console.log('Build complete.');
82+
cb();
83+
})
84+
.catch(err => {
85+
console.log('Error', err);
86+
cb();
87+
});
88+
};
89+
}

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ src/**/*.css
2020
*.js
2121
*.d.ts
2222

23-
!./.config/umd.bundler.js
23+
!.config/*.js
2424

2525
bundles
2626

0 commit comments

Comments
 (0)