代码拉取完成,页面将自动刷新
import moduleTools, { defineConfig } from '@modern-js/module-tools'
import type { CliPlugin, ModuleTools } from '@modern-js/module-tools';
// @ts-ignore
import copy from "esbuild-copy-files-plugin";
const esbuildOptions = {
plugins: [
//@ts-ignore
copy({
source: ['package.json', 'README.md', 'LICENSE'],
target: "dist/"
})
],
banner: {
js: `/**
*
* ---=== FlexTools ===---
* https://zhangfisher.github.com/flex-tools
*
* 一些实用工具函数
*
*/`}
}
const ModulePlugin = (): CliPlugin<ModuleTools> => ({
name: 'module',
setup: () => ({
modifyLibuild(config) {
config.esbuildOptions = c => {
c.banner = esbuildOptions.banner;
c.plugins?.push(...esbuildOptions.plugins);
c.entryNames = '[dir]/[name]'
c.chunkNames = '[name]-[hash]';
if (config.format === 'esm') {
c.outExtension = { '.js': '.esm.js' }
}
return c;
};
return config;
},
}),
});
export default defineConfig({
plugins: [moduleTools(), ModulePlugin()],
buildConfig: [
{
input: ['src'],
format: 'esm',
splitting: true,
sourceMap: false,
minify: 'esbuild',
dts: false,
target: 'es2021',
},
{
buildType: 'bundleless',
dts: {
only: true
}
},
{
input: ['src'],
format: 'cjs',
splitting: true,
sourceMap: false,
minify: 'esbuild',
dts: false,
target: 'es2021',
},
]
})
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。