improve rollup build

This commit is contained in:
Rene Haas
2022-08-21 10:32:20 +02:00
parent 52c3f83e21
commit 4016920c9b
8 changed files with 54 additions and 84 deletions
+3 -4
View File
@@ -10,8 +10,8 @@ const rollupPluginIgnoreImport = require('rollup-plugin-ignore-import');
const rollupPluginCommonjs = require('@rollup/plugin-commonjs');
const rollupPluginAlias = require('@rollup/plugin-alias');
const rollupPluginTs = require('rollup-plugin-typescript2');
const { default: rollupPluginEsBuild } = require('rollup-plugin-esbuild');
const rollupPluginLicense = require('rollup-plugin-license');
const rollupPluginEsBuild = require('../plugins/esbuild');
const babelConfigEs5 = require('./babel.config.es5');
const babelConfigEs6 = require('./babel.config.es2015');
@@ -59,10 +59,9 @@ module.exports = {
});
}
},
rollupEsBuild: (sourceMap) =>
rollupEsBuild: (sourcemap) =>
rollupPluginEsBuild({
sourceMap,
include: /\.[jt]sx?$/,
sourcemap,
target: 'es6',
}),
rollupBabel: (resolve, es6) =>
@@ -7,10 +7,10 @@ const rollupPluginServe = require('rollup-plugin-serve');
const rollupPluginLivereload = require('rollup-plugin-livereload');
const resolve = require('@~local/config/resolve');
const rollupPluginHtml = require('./rollup.pluginHtml');
const rollupPluginHtml = require('../plugins/html');
const rollupAdditionalWatchFiles = require('../plugins/additionalWatchFiles');
const rollupIstanbul = require('../plugins/istanbul');
const createRollupConfig = require('../createRollupConfig');
const rollupAdditionalWatchFiles = require('./rollup.pluginAdditionalWatchFiles');
const rollupIstanbul = require('./rollup.pluginIstanbul');
const portRange = {
min: 20000,
+46
View File
@@ -0,0 +1,46 @@
const { extname } = require('path');
const { transform } = require('esbuild');
const { createFilter } = require('@rollup/pluginutils');
const defaultLoader = {
'.js': 'js',
'.jsx': 'jsx',
'.ts': 'ts',
'.tsx': 'tsx',
};
module.exports = ({ include, exclude, ...esbuildOptions } = {}) => {
const extensions = Object.keys(defaultLoader);
const INCLUDE_REGEXP = new RegExp(`\\.(${extensions.map((ext) => ext.slice(1)).join('|')})$`);
const EXCLUDE_REGEXP = /node_modules/;
const filter = createFilter(include || INCLUDE_REGEXP, exclude || EXCLUDE_REGEXP);
return {
name: 'esbuild',
async transform(code, id) {
if (!filter(id)) {
return null;
}
const ext = extname(id);
const loader = defaultLoader[ext];
if (!loader) {
return null;
}
const result = await transform(code, {
sourcefile: id,
loader,
...esbuildOptions,
});
return (
result.code && {
code: result.code,
map: result.map || null,
}
);
},
};
};