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