54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
|
const typescript = require('@rollup/plugin-typescript')
|
||
|
const babel = require('@rollup/plugin-babel')
|
||
|
const postcss = require('rollup-plugin-postcss')
|
||
|
const tailwind = require('rollup-plugin-tailwindcss')
|
||
|
const autoprefixer = require('autoprefixer')
|
||
|
const resolve = require('@rollup/plugin-node-resolve')
|
||
|
const commonjs = require('@rollup/plugin-commonjs')
|
||
|
const { terser } = require('rollup-plugin-terser')
|
||
|
const pkg = require('./package.json')
|
||
|
|
||
|
const external = [
|
||
|
...Object.keys(pkg.dependencies || {}),
|
||
|
...Object.keys(pkg.peerDependencies || {}),
|
||
|
/@babel\/runtime/
|
||
|
]
|
||
|
|
||
|
const rollupConfig = {
|
||
|
input: 'src/index.ts',
|
||
|
output: {
|
||
|
dir: 'dist',
|
||
|
format: 'esm',
|
||
|
sourcemap: true,
|
||
|
preserveModules: true,
|
||
|
preserveModulesRoot: 'src'
|
||
|
},
|
||
|
external,
|
||
|
plugins: [
|
||
|
resolve(),
|
||
|
commonjs(),
|
||
|
typescript({
|
||
|
declaration: true,
|
||
|
noEmitOnError: true
|
||
|
}),
|
||
|
babel({
|
||
|
extensions: ['.js', '.jsx', '.ts', '.tsx'],
|
||
|
babelHelpers: 'runtime',
|
||
|
include: ['src/**/*'],
|
||
|
plugins: ['@babel/plugin-transform-runtime']
|
||
|
}),
|
||
|
postcss({
|
||
|
plugins: [autoprefixer()],
|
||
|
sourceMap: true,
|
||
|
extract: true,
|
||
|
minimize: true
|
||
|
}),
|
||
|
tailwind({
|
||
|
input: './styles/globals.css'
|
||
|
}),
|
||
|
terser()
|
||
|
]
|
||
|
}
|
||
|
|
||
|
module.exports = rollupConfig
|