"devDependencies": {
"@microsoft/api-extractor": "^7.3.9",
"@types/jest": "^24.0.18",
+ "brotli": "^1.3.2",
"chalk": "^2.4.2",
"execa": "^2.0.4",
"fs-extra": "^8.1.0",
const zlib = require('zlib')
const chalk = require('chalk')
const execa = require('execa')
+const { compress } = require('brotli')
const { targets, fuzzyMatchTarget } = require('./utils')
const args = require('minimist')(process.argv.slice(2))
if (fs.existsSync(esmProdBuild)) {
const file = fs.readFileSync(esmProdBuild)
const minSize = (file.length / 1024).toFixed(2) + 'kb'
- const gzipped = zlib.gzipSync(file)
- const gzipSize = (gzipped.length / 1024).toFixed(2) + 'kb'
+ const compressed = compress(file)
+ const compressedSize = (compressed.length / 1024).toFixed(2) + 'kb'
console.log(
- `${chalk.gray(chalk.bold(target))} min:${minSize} / gzip:${gzipSize}`
+ `${chalk.gray(
+ chalk.bold(target)
+ )} min:${minSize} / brotli:${compressedSize}`
)
}
}
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+base64-js@^1.1.2:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
+ integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
+
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
dependencies:
fill-range "^7.0.1"
+brotli@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/brotli/-/brotli-1.3.2.tgz#525a9cad4fcba96475d7d388f6aecb13eed52f46"
+ integrity sha1-UlqcrU/LqWR119OI9q7LE+7VL0Y=
+ dependencies:
+ base64-js "^1.1.2"
+
browser-process-hrtime@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"