Merge pull request #180 from developit/brotli

Brotli sizes
This commit is contained in:
Leah 2018-08-01 00:48:17 +02:00 committed by GitHub
commit 2104c29568
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 87 additions and 42 deletions

1
.gitignore vendored
View File

@ -6,3 +6,4 @@ build
dist
package-lock.json
yarn.lock
.vscode

View File

@ -46,6 +46,7 @@
"asyncro": "^3.0.0",
"autoprefixer": "^9.0.0",
"babel-polyfill": "^6.26.0",
"brotli-size": "^0.0.2",
"camelcase": "^5.0.0",
"chalk": "^2.4.0",
"cssnano": "^4.0.0",

View File

@ -15,6 +15,7 @@ import uglify from 'rollup-plugin-uglify';
import postcss from 'rollup-plugin-postcss';
import alias from 'rollup-plugin-strict-alias';
import gzipSize from 'gzip-size';
import brotliSize from 'brotli-size';
import prettyBytes from 'pretty-bytes';
import shebangPlugin from 'rollup-plugin-preserve-shebang';
import typescript from 'rollup-plugin-typescript2';
@ -133,13 +134,19 @@ export default async function microbundle(options) {
}
}
function formatSize(size, filename, type) {
const pretty = prettyBytes(size);
const color = size < 5000 ? 'green' : size > 40000 ? 'red' : 'yellow';
const MAGIC_INDENTATION = type === 'br' ? 13 : 10;
return `${' '.repeat(MAGIC_INDENTATION - pretty.length)}${chalk[color](
pretty,
)}: ${chalk.white(basename(filename))}.${type}`;
}
async function getSizeInfo(code, filename) {
let size = await gzipSize(code);
let prettySize = prettyBytes(size);
let color = size < 5000 ? 'green' : size > 40000 ? 'red' : 'yellow';
return `${' '.repeat(10 - prettySize.length)}${chalk[color](
prettySize,
)}: ${chalk.white(basename(filename))}`;
const gzip = formatSize(await gzipSize(code), filename, 'gz');
const brotli = formatSize(brotliSize.sync(code), filename, 'br');
return gzip + '\n' + brotli;
}
if (options.watch) {

View File

@ -20,9 +20,12 @@ basic
Build \\"basicLib\\" to dist:
211 B: basic-lib.js
211 B: basic-lib.mjs
292 B: basic-lib.umd.js"
211 B: basic-lib.js.gz
154 B: basic-lib.js.br
211 B: basic-lib.mjs.gz
155 B: basic-lib.mjs.br
292 B: basic-lib.umd.js.gz
228 B: basic-lib.umd.js.br"
`;
exports[`fixtures basic-css 1`] = `
@ -46,9 +49,12 @@ basic-css
Build \\"basicCss\\" to dist:
107 B: basic-css.js
107 B: basic-css.mjs
188 B: basic-css.umd.js"
107 B: basic-css.js.gz
60 B: basic-css.js.br
107 B: basic-css.mjs.gz
61 B: basic-css.mjs.br
188 B: basic-css.umd.js.gz
135 B: basic-css.umd.js.br"
`;
exports[`fixtures basic-ts 1`] = `
@ -74,9 +80,12 @@ basic-ts
Build \\"basicLibTs\\" to dist:
104 B: basic-lib-ts.js
97 B: basic-lib-ts.mjs
180 B: basic-lib-ts.umd.js"
104 B: basic-lib-ts.js.gz
76 B: basic-lib-ts.js.br
97 B: basic-lib-ts.mjs.gz
73 B: basic-lib-ts.mjs.br
180 B: basic-lib-ts.umd.js.gz
137 B: basic-lib-ts.umd.js.br"
`;
exports[`fixtures basic-tsx 1`] = `
@ -100,9 +109,12 @@ basic-tsx
Build \\"basicLibTsx\\" to dist:
221 B: basic-lib-tsx.js
221 B: basic-lib-tsx.mjs
295 B: basic-lib-tsx.umd.js"
221 B: basic-lib-tsx.js.gz
179 B: basic-lib-tsx.js.br
221 B: basic-lib-tsx.mjs.gz
193 B: basic-lib-tsx.mjs.br
295 B: basic-lib-tsx.umd.js.gz
236 B: basic-lib-tsx.umd.js.br"
`;
exports[`fixtures basic-with-cwd 1`] = `
@ -127,9 +139,12 @@ basic-with-cwd
Build \\"basic\\" to dist:
211 B: basic.js
211 B: basic.mjs
287 B: basic.umd.js"
211 B: basic.js.gz
154 B: basic.js.br
211 B: basic.mjs.gz
155 B: basic.mjs.br
287 B: basic.umd.js.gz
224 B: basic.umd.js.br"
`;
exports[`fixtures custom-source 1`] = `
@ -152,9 +167,12 @@ custom-source
Build \\"customSource\\" to dist:
211 B: custom-source.js
211 B: custom-source.mjs
293 B: custom-source.umd.js"
211 B: custom-source.js.gz
154 B: custom-source.js.br
211 B: custom-source.mjs.gz
155 B: custom-source.mjs.br
293 B: custom-source.umd.js.gz
226 B: custom-source.umd.js.br"
`;
exports[`fixtures custom-source-with-cwd 1`] = `
@ -179,9 +197,12 @@ custom-source-with-cwd
Build \\"customSrc\\" to dist:
211 B: custom-src.js
211 B: custom-src.mjs
291 B: custom-src.umd.js"
211 B: custom-src.js.gz
154 B: custom-src.js.br
211 B: custom-src.mjs.gz
155 B: custom-src.mjs.br
291 B: custom-src.umd.js.gz
228 B: custom-src.umd.js.br"
`;
exports[`fixtures jsx 1`] = `
@ -202,9 +223,12 @@ jsx
Build \\"jsx\\" to dist:
211 B: jsx.js
212 B: jsx.mjs
283 B: jsx.umd.js"
211 B: jsx.js.gz
168 B: jsx.js.br
212 B: jsx.mjs.gz
170 B: jsx.mjs.br
283 B: jsx.umd.js.gz
230 B: jsx.umd.js.br"
`;
exports[`fixtures name-custom-amd 1`] = `
@ -227,9 +251,12 @@ name-custom-amd
Build \\"customNameAmd\\" to dist:
211 B: name-custom-amd.js
211 B: name-custom-amd.mjs
295 B: name-custom-amd.umd.js"
211 B: name-custom-amd.js.gz
154 B: name-custom-amd.js.br
211 B: name-custom-amd.mjs.gz
155 B: name-custom-amd.mjs.br
295 B: name-custom-amd.umd.js.gz
230 B: name-custom-amd.umd.js.br"
`;
exports[`fixtures name-custom-cli 1`] = `
@ -252,9 +279,12 @@ name-custom-cli
Build \\"nameCustomCli\\" to dist:
211 B: name-custom.js
211 B: name-custom.mjs
294 B: name-custom.umd.js"
211 B: name-custom.js.gz
154 B: name-custom.js.br
211 B: name-custom.mjs.gz
155 B: name-custom.mjs.br
294 B: name-custom.umd.js.gz
231 B: name-custom.umd.js.br"
`;
exports[`fixtures no-pkg 1`] = `
@ -276,9 +306,12 @@ no-pkg
Build \\"noPkg\\" to dist:
211 B: no-pkg.js
211 B: no-pkg.mjs
288 B: no-pkg.umd.js"
211 B: no-pkg.js.gz
154 B: no-pkg.js.br
211 B: no-pkg.mjs.gz
155 B: no-pkg.mjs.br
288 B: no-pkg.umd.js.gz
228 B: no-pkg.umd.js.br"
`;
exports[`fixtures no-pkg-name 1`] = `
@ -301,7 +334,10 @@ no-pkg-name
Build \\"noPkgName\\" to dist:
211 B: no-pkg-name.js
211 B: no-pkg-name.mjs
292 B: no-pkg-name.umd.js"
211 B: no-pkg-name.js.gz
154 B: no-pkg-name.js.br
211 B: no-pkg-name.mjs.gz
155 B: no-pkg-name.mjs.br
292 B: no-pkg-name.umd.js.gz
230 B: no-pkg-name.umd.js.br"
`;