import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import typescript from '@rollup/plugin-typescript'; import babel from '@rollup/plugin-babel'; import peerDepsExternal from 'rollup-plugin-peer-deps-external'; import terser from '@rollup/plugin-terser'; import postcss from 'rollup-plugin-postcss'; import { readFileSync } from 'fs'; const packageJson = JSON.parse(readFileSync('./package.json', 'utf8')); export default { input: 'src/index.ts', output: [ { file: packageJson.main, format: 'cjs', sourcemap: true, }, { file: packageJson.module, format: 'esm', sourcemap: true, }, ], plugins: [ peerDepsExternal(), resolve({ browser: true, }), commonjs(), typescript({ tsconfig: './tsconfig.json', }), babel({ babelHelpers: 'bundled', exclude: 'node_modules/**', extensions: ['.js', '.jsx', '.ts', '.tsx'], presets: [ ['@babel/preset-react', { runtime: 'automatic' }], '@babel/preset-typescript', ], }), postcss({ extract: false, modules: false, use: ['sass'], }), terser(), ], external: [ 'react', 'react-dom', '@mantine/core', '@mantine/hooks', '@mantine/notifications', '@mantine/form', '@mantine/dates', '@mantine/modals', '@mantine/code-highlight', '@tabler/icons-react', 'axios', 'dayjs', ], };