Skip to content

Commit

Permalink
minify helpers before lumping them into helpers-generated.ts
Browse files Browse the repository at this point in the history
  • Loading branch information
lightmare committed Nov 5, 2021
1 parent 1381ae2 commit 09aae36
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 8 deletions.
3 changes: 2 additions & 1 deletion packages/babel-helpers/package.json
Expand Up @@ -20,7 +20,8 @@
"@babel/types": "workspace:^"
},
"devDependencies": {
"@babel/helper-plugin-test-runner": "workspace:^"
"@babel/helper-plugin-test-runner": "workspace:^",
"terser": "^5.9.0"
},
"engines": {
"node": ">=6.9.0"
Expand Down
13 changes: 6 additions & 7 deletions packages/babel-helpers/scripts/generate-helpers.js
@@ -1,6 +1,7 @@
import fs from "fs";
import { join } from "path";
import { URL, fileURLToPath } from "url";
import { minify } from "terser"; // eslint-disable-line

const HELPERS_FOLDER = new URL("../src/helpers", import.meta.url);
const IGNORED_FILES = new Set(["package.json"]);
Expand Down Expand Up @@ -44,17 +45,15 @@ export default Object.freeze({
}
const { minVersion } = minVersionMatch.groups;

// TODO: We can minify the helpers in production
const source = fileContents
// Remove comments
.replace(/\/\*[^]*?\*\/|\/\/.*/g, "")
// Remove multiple newlines
.replace(/\n{2,}/g, "\n");
const source = await minify(fileContents, {
compress: false,
mangle: false,
});

output += `\
${JSON.stringify(helperName)}: helper(
${JSON.stringify(minVersion)},
${JSON.stringify(source)},
${JSON.stringify(source.code)},
),
`;
}
Expand Down
24 changes: 24 additions & 0 deletions yarn.lock
Expand Up @@ -971,6 +971,7 @@ __metadata:
"@babel/template": "workspace:^"
"@babel/traverse": "workspace:^"
"@babel/types": "workspace:^"
terser: ^5.9.0
languageName: unknown
linkType: soft

Expand Down Expand Up @@ -14003,6 +14004,16 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"source-map-support@npm:~0.5.20":
version: 0.5.20
resolution: "source-map-support@npm:0.5.20"
dependencies:
buffer-from: ^1.0.0
source-map: ^0.6.0
checksum: 43946aff452011960d16154304b11011e0185549493e65dd90da045959409fb2d266ba1c854fff3d5949f8e59382e3fcc7f7c5fa66136007a6750ad06c6c0baa
languageName: node
linkType: hard

"source-map-url@npm:^0.4.0":
version: 0.4.0
resolution: "source-map-url@npm:0.4.0"
Expand Down Expand Up @@ -14630,6 +14641,19 @@ fsevents@^1.2.7:
languageName: node
linkType: hard

"terser@npm:^5.9.0":
version: 5.9.0
resolution: "terser@npm:5.9.0"
dependencies:
commander: ^2.20.0
source-map: ~0.7.2
source-map-support: ~0.5.20
bin:
terser: bin/terser
checksum: 11c1246b1991015a8881742878af779e3863fad42f626ffda957dbf28c94bf51e7994cffb9ffbec86ff3c23ab45ffa6d79d453c15e664306e35fc7b2c4eee5f4
languageName: node
linkType: hard

"test-exclude@npm:^6.0.0":
version: 6.0.0
resolution: "test-exclude@npm:6.0.0"
Expand Down

0 comments on commit 09aae36

Please sign in to comment.