remove duplicate code in build script

This commit is contained in:
Bruno Windels 2020-09-11 10:44:08 +02:00
parent 0b26e6f53a
commit b8ce97e739

View File

@ -203,7 +203,7 @@ async function buildJs(inputFile, outputName) {
return bundlePath; return bundlePath;
} }
async function buildJsLegacy(inputFile, outputName) { async function buildJsLegacy(inputFile, outputName, polyfillFile = null) {
// compile down to whatever IE 11 needs // compile down to whatever IE 11 needs
const babelPlugin = babel.babel({ const babelPlugin = babel.babel({
babelHelpers: 'bundled', babelHelpers: 'bundled',
@ -219,9 +219,12 @@ async function buildJsLegacy(inputFile, outputName) {
] ]
] ]
}); });
if (!polyfillFile) {
polyfillFile = 'src/legacy-polyfill.js';
}
// create js bundle // create js bundle
const rollupConfig = { const rollupConfig = {
input: ['src/legacy-polyfill.js', inputFile], input: [polyfillFile, inputFile],
plugins: [multi(), commonjs(), nodeResolve(), babelPlugin, removeJsComments({comments: "none"})] plugins: [multi(), commonjs(), nodeResolve(), babelPlugin, removeJsComments({comments: "none"})]
}; };
const bundle = await rollup(rollupConfig); const bundle = await rollup(rollupConfig);
@ -235,36 +238,9 @@ async function buildJsLegacy(inputFile, outputName) {
return bundlePath; return bundlePath;
} }
async function buildWorkerJsLegacy(inputFile, outputName) { function buildWorkerJsLegacy(inputFile, outputName) {
// compile down to whatever IE 11 needs const polyfillFile = 'src/worker-polyfill.js';
const babelPlugin = babel.babel({ return buildJsLegacy(inputFile, outputName, polyfillFile);
babelHelpers: 'bundled',
exclude: 'node_modules/**',
presets: [
[
"@babel/preset-env",
{
useBuiltIns: "entry",
corejs: "3",
targets: "IE 11"
}
]
]
});
// create js bundle
const rollupConfig = {
input: ['src/worker-polyfill.js', inputFile],
plugins: [multi(), commonjs(), nodeResolve(), babelPlugin, removeJsComments({comments: "none"})]
};
const bundle = await rollup(rollupConfig);
const {output} = await bundle.generate({
format: 'iife',
name: `${PROJECT_ID}Bundle`
});
const code = output[0].code;
const bundlePath = resource(outputName, code);
await fs.writeFile(bundlePath, code, "utf8");
return bundlePath;
} }
async function buildOffline(version, assetPaths) { async function buildOffline(version, assetPaths) {