mirror of
https://github.com/jlengrand/open-wc.git
synced 2026-03-10 08:31:19 +00:00
feat(building-rollup): avoid helper chunk in modern build
This commit is contained in:
@@ -4,6 +4,25 @@ const { isFalsy } = require('../utils');
|
||||
const createBabelConfigRollupBuild = ({ developmentMode, rootDir }) => ({
|
||||
babelHelpers: 'bundled',
|
||||
compact: true,
|
||||
presets: [
|
||||
[
|
||||
require.resolve('@babel/preset-env'),
|
||||
{
|
||||
targets: [
|
||||
'last 3 Chrome major versions',
|
||||
'last 3 ChromeAndroid major versions',
|
||||
'last 3 Firefox major versions',
|
||||
'last 3 Edge major versions',
|
||||
'last 3 Safari major versions',
|
||||
'last 3 iOS major versions',
|
||||
],
|
||||
useBuiltIns: false,
|
||||
shippedProposals: true,
|
||||
modules: false,
|
||||
bugfixes: true,
|
||||
},
|
||||
],
|
||||
],
|
||||
plugins: [
|
||||
// rollup doesn't support optional chaining yet, so we compile it during input
|
||||
[require.resolve('@babel/plugin-proposal-optional-chaining'), { loose: true }],
|
||||
|
||||
@@ -7,7 +7,6 @@ const { babel, getBabelOutputPlugin } = require('@rollup/plugin-babel');
|
||||
const merge = require('deepmerge');
|
||||
const {
|
||||
createBabelConfigRollupBuild,
|
||||
babelConfigRollupGenerate,
|
||||
babelConfigLegacyRollupGenerate,
|
||||
babelConfigSystemJs,
|
||||
} = require('./babel/babel-configs');
|
||||
@@ -42,12 +41,7 @@ function createBasicConfig(userOptions = {}) {
|
||||
assetFileNames: assetName,
|
||||
format: 'es',
|
||||
dir: opts.outputDir,
|
||||
plugins: [
|
||||
// build to js supported by modern browsers
|
||||
getBabelOutputPlugin(babelConfigRollupGenerate),
|
||||
// create babel-helpers chunk based on es5 build
|
||||
bundledBabelHelpers({ minify: !developmentMode }),
|
||||
],
|
||||
plugins: [],
|
||||
},
|
||||
|
||||
plugins: [
|
||||
@@ -58,8 +52,7 @@ function createBasicConfig(userOptions = {}) {
|
||||
},
|
||||
}),
|
||||
|
||||
// build non-standard syntax to standard syntax and other babel optimization plugins
|
||||
// user plugins are deduped to allow overriding
|
||||
// run babel, compiling down to latest of modern browsers
|
||||
dedupedBabelPlugin(
|
||||
babel,
|
||||
opts.babel,
|
||||
@@ -82,6 +75,8 @@ function createBasicConfig(userOptions = {}) {
|
||||
entryFileNames: `nomodule-${fileName}`,
|
||||
chunkFileNames: `nomodule-${fileName}`,
|
||||
assetFileNames: `nomodule-${assetName}`,
|
||||
// in the legacy build we want to build to es5, but the babel plugin in the input plugins runs for both
|
||||
// we add output plugins here only for the legacy build to build to es5
|
||||
plugins: [
|
||||
// buid to es5
|
||||
getBabelOutputPlugin(babelConfigLegacyRollupGenerate),
|
||||
|
||||
Reference in New Issue
Block a user