mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-22 00:10:36 +03:00
improve rollup build
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
);
|
||||
},
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user