forked from Qortal/qortal-ui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
const babel = require('@rollup/plugin-babel'); |
|
const { nodeResolve } = require('@rollup/plugin-node-resolve'); |
|
const replace = require('@rollup/plugin-replace'); |
|
const commonjs = require('@rollup/plugin-commonjs'); |
|
const progress = require('rollup-plugin-progress'); |
|
const terser = require('@rollup/plugin-terser'); |
|
const alias = require('@rollup/plugin-alias'); |
|
const path = require('path'); |
|
|
|
|
|
const generateRollupConfig = (file, { outputDir, aliases }) => { |
|
|
|
return { |
|
inputOptions: { |
|
input: file.input, |
|
onwarn: (warning, rollupWarn) => { |
|
if (warning.code !== 'CIRCULAR_DEPENDENCY') { |
|
rollupWarn(warning) |
|
} |
|
}, |
|
plugins: [ |
|
nodeResolve({ |
|
preferBuiltins: false, |
|
mainFields: ['module', 'browser'] |
|
}), |
|
replace({ |
|
preventAssignment: true, |
|
"process.env.NODE_ENV": JSON.stringify("production"), |
|
}), |
|
alias({ |
|
entries: Object.keys(aliases).map(find => { |
|
return { |
|
find, |
|
replacement: aliases[find] |
|
} |
|
}) |
|
}), |
|
commonjs(), |
|
progress(), |
|
babel.babel({ |
|
babelHelpers: 'bundled', |
|
exclude: 'node_modules/**' |
|
}), |
|
terser({ |
|
compress: true, |
|
output: { |
|
comments: false, |
|
}, |
|
}) |
|
], |
|
preserveEntrySignatures: false, |
|
external: ['crypto'] |
|
}, |
|
outputOptions: { |
|
file: path.join(outputDir, file.output), |
|
format: 'umd', |
|
name: 'worker', |
|
sourcemap: false |
|
} |
|
} |
|
} |
|
|
|
const generateES5BuildConfig = (files, options) => { |
|
return files.map(file => generateRollupConfig(file, options)) |
|
} |
|
|
|
module.exports = generateES5BuildConfig
|
|
|