2
0
Files
bot/packages/embeds/js/rollup.config.js
2024-06-26 12:22:57 +02:00

77 lines
1.7 KiB
JavaScript

import resolve from '@rollup/plugin-node-resolve'
import terser from '@rollup/plugin-terser'
import { babel } from '@rollup/plugin-babel'
import postcss from 'rollup-plugin-postcss'
import autoprefixer from 'autoprefixer'
import tailwindcss from 'tailwindcss'
import typescript from '@rollup/plugin-typescript'
import { typescriptPaths } from 'rollup-plugin-typescript-paths'
import replace from '@rollup/plugin-replace'
import fs from 'fs'
const extensions = ['.ts', '.tsx']
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'))
const packageVersion = packageJson.version
const preamble = `// v${packageVersion}`
const indexConfig = {
input: './src/index.ts',
output: {
file: 'dist/index.js',
format: 'es',
},
onwarn,
plugins: [
resolve({ extensions }),
babel({
babelHelpers: 'bundled',
exclude: 'node_modules/**',
presets: ['solid', '@babel/preset-typescript'],
extensions,
}),
typescriptPaths({ preserveExtensions: true }),
typescript(),
postcss({
plugins: [autoprefixer(), tailwindcss()],
extract: false,
modules: false,
autoModules: false,
minimize: true,
inject: false,
}),
terser({
format: { preamble },
}),
replace({
'process.env.NODE_ENV': JSON.stringify('production'),
preventAssignment: true,
}),
],
}
const configs = [
indexConfig,
{
...indexConfig,
input: './src/web.ts',
output: {
file: 'dist/web.js',
format: 'es',
},
},
]
function onwarn(warning, warn) {
if (
warning.code === 'CIRCULAR_DEPENDENCY' &&
warning.ids.some((id) => id.includes('@internationalized+date'))
) {
return
}
warn(warning.message)
}
export default configs