@ithinkdt/core
Version:
iThinkDT Core
80 lines (74 loc) • 2.32 kB
JavaScript
import path from 'node:path'
import { cwd } from 'node:process'
import { rmSync, readFileSync } from 'node:fs'
import { defineConfig } from 'rollup'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import esbuild, { minify } from 'rollup-plugin-esbuild'
const pkg = JSON.parse(readFileSync(path.resolve(cwd(), 'package.json'), { encoding: 'utf8' }))
rmSync(path.resolve(cwd(), 'dist'), { recursive: true, force: true })
const target = ['es6', 'edge79', 'firefox72', 'chrome79', 'safari13.1', 'ios13.1']
export default defineConfig([
{
plugins: [
nodeResolve(),
esbuild({
minify: false,
target,
exclude: [],
platform: 'browser',
define: {
'process.env.NODE_ENV': `'development'`,
'import.meta.env.DEV': 'true',
__VUE_PROD_DEVTOOLS__: 'true',
},
}),
],
external: Object.keys(pkg.peerDependencies),
input: 'src/index.js',
output: {
file: 'dist/index.esm-browser.js',
format: 'es',
sourcemap: true,
},
},
{
plugins: [
nodeResolve(),
esbuild({
minify: false,
target,
exclude: [],
platform: 'browser',
define: {
'process.env.NODE_ENV': `'production'`,
'import.meta.env.DEV': 'false',
__VUE_PROD_DEVTOOLS__: 'false',
},
}),
],
external: Object.keys(pkg.peerDependencies),
input: 'src/index.js',
output: {
file: 'dist/index.esm-browser.prod.js',
format: 'es',
sourcemap: false,
plugins: [minify({ target, drop: ['console', 'debugger'], legalComments: 'none' })],
},
},
{
plugins: [nodeResolve()],
external: Object.keys({
...pkg.peerDependencies,
...pkg.dependencies,
}),
input: {
index: 'src/index.js',
cssr: 'src/cssr.js',
},
output: {
dir: 'dist',
format: 'es',
sourcemap: true,
},
},
])