v3 new release (#80)
This commit is contained in:
committed by
GitHub
parent
a767c8d3a1
commit
20d2b4f98d
64
node_modules/@babel/helpers/scripts/generate-helpers.js
generated
vendored
Normal file
64
node_modules/@babel/helpers/scripts/generate-helpers.js
generated
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
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"]);
|
||||
|
||||
export default async function generateHelpers() {
|
||||
let output = `/*
|
||||
* This file is auto-generated! Do not modify it directly.
|
||||
* To re-generate run 'yarn gulp generate-runtime-helpers'
|
||||
*/
|
||||
|
||||
import template from "@babel/template";
|
||||
|
||||
function helper(minVersion, source) {
|
||||
return Object.freeze({
|
||||
minVersion,
|
||||
ast: () => template.program.ast(source),
|
||||
})
|
||||
}
|
||||
|
||||
export default Object.freeze({
|
||||
`;
|
||||
|
||||
for (const file of (await fs.promises.readdir(HELPERS_FOLDER)).sort()) {
|
||||
if (IGNORED_FILES.has(file)) continue;
|
||||
if (file.startsWith(".")) continue; // ignore e.g. vim swap files
|
||||
|
||||
const [helperName] = file.split(".");
|
||||
|
||||
const filePath = join(fileURLToPath(HELPERS_FOLDER), file);
|
||||
if (!file.endsWith(".js")) {
|
||||
console.error("ignoring", filePath);
|
||||
continue;
|
||||
}
|
||||
|
||||
const fileContents = await fs.promises.readFile(filePath, "utf8");
|
||||
const minVersionMatch = fileContents.match(
|
||||
/^\s*\/\*\s*@minVersion\s+(?<minVersion>\S+)\s*\*\/\s*$/m
|
||||
);
|
||||
if (!minVersionMatch) {
|
||||
throw new Error(`@minVersion number missing in ${filePath}`);
|
||||
}
|
||||
const { minVersion } = minVersionMatch.groups;
|
||||
|
||||
const source = await minify(fileContents, {
|
||||
mangle: false,
|
||||
// The _typeof helper has a custom directive that we must keep
|
||||
compress: { directives: false },
|
||||
});
|
||||
|
||||
output += `\
|
||||
${JSON.stringify(helperName)}: helper(
|
||||
${JSON.stringify(minVersion)},
|
||||
${JSON.stringify(source.code)},
|
||||
),
|
||||
`;
|
||||
}
|
||||
|
||||
output += "});";
|
||||
return output;
|
||||
}
|
1
node_modules/@babel/helpers/scripts/package.json
generated
vendored
Normal file
1
node_modules/@babel/helpers/scripts/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{ "type": "module" }
|
Reference in New Issue
Block a user