Skip to content

Commit e2be850

Browse files
committed
chore(build): measure UMD bundle sizes
1 parent b682fd9 commit e2be850

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"gulp": "^3.9.0",
5757
"gulp-jasmine": "^2.2.1",
5858
"gulp-typescript": "^2.10.0",
59+
"gzip-size": "^3.0.0",
5960
"http-server": "^0.8.5",
6061
"jasmine": "^2.4.1",
6162
"jasmine-core": "^2.4.1",
@@ -68,6 +69,7 @@
6869
"karma-systemjs": "^0.10.0",
6970
"ncp": "^2.0.0",
7071
"parse5": "^1.3.2",
72+
"pretty-size": "^2.0.0",
7173
"protractor": "3.0.0",
7274
"reflect-metadata": "0.1.2",
7375
"rimraf": "^2.5.4",

tools/build.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
const { rollup } = require('rollup');
22
const { spawn } = require('child_process');
33
const { Observable } = require('rxjs');
4-
const { copy } = require('fs-extra');
4+
const { copy, readFileSync } = require('fs-extra');
5+
const { prettySize } = require('pretty-size');
6+
const gzipSize = require('gzip-size');
57

68
// Rollup globals
79
const GLOBALS = {
@@ -96,6 +98,13 @@ function copyPackage(moduleName) {
9698
return copy(getSrcPackageFile(moduleName), getDestPackageFile(moduleName));
9799
}
98100

101+
function measure(module, gzip = true) {
102+
const path = `${process.cwd()}/dist/packages-dist/bundles/${module}.umd.js`;
103+
const file = readFileSync(path);
104+
const bytes = gzipSize.sync(file);
105+
return prettySize(bytes, gzip);
106+
}
107+
99108
function buildModule(name, globals) {
100109
const es2015$ = spawnObservable(NGC, TSC_ARGS(name));
101110
const esm$ = spawnObservable(NGC, TSC_ARGS(name, 'esm'));
@@ -112,7 +121,17 @@ function buildLibrary(globals) {
112121
return Observable
113122
.forkJoin(core$)
114123
.switchMapTo(auth$)
115-
.switchMapTo(db$);
124+
.switchMapTo(db$)
125+
.do(() => {
126+
const core = measure('core');
127+
const auth = measure('auth');
128+
const db = measure('database');
129+
console.log(`
130+
core.umd.js - ${core}
131+
auth.umd.js - ${auth}
132+
database.umd.js - ${db}
133+
`);
134+
});
116135
}
117136

118137
const $lib = buildLibrary(GLOBALS).subscribe(

0 commit comments

Comments
 (0)