38 lines
1015 B
JavaScript
38 lines
1015 B
JavaScript
// @flow
|
|
const pluginConfig = require("./pluginConfig.json");
|
|
const path = require("path");
|
|
const chalk = require("chalk");
|
|
const camelCase = require("lodash/camelCase");
|
|
const format = require("../../../scripts/utils/formatCode");
|
|
const writeFile = require("../../../scripts/utils/writeFileAndMkDir");
|
|
|
|
const outputFile = path.join(__dirname, "../src/generated/plugins.js");
|
|
|
|
console.log("Generating @babel/standalone files");
|
|
|
|
let imports = "";
|
|
let list = "";
|
|
let allList = "";
|
|
|
|
for (const plugin of pluginConfig) {
|
|
const camelPlugin = camelCase(plugin);
|
|
imports += `import ${camelPlugin} from "@babel/plugin-${plugin}";`;
|
|
list += `${camelPlugin},`;
|
|
allList += `"${plugin}": ${camelPlugin},`;
|
|
}
|
|
|
|
const fileContent = `
|
|
/*
|
|
* This file is auto-generated! Do not modify it directly.
|
|
* To re-generate run 'make build'
|
|
*/
|
|
${imports}
|
|
|
|
export {${list}};
|
|
|
|
export const all = {${allList}};
|
|
`;
|
|
|
|
writeFile(outputFile, format(fileContent, outputFile));
|
|
console.log(` ${chalk.green("✔")} Generated plugin list`);
|