65 lines
1.4 KiB
JavaScript
65 lines
1.4 KiB
JavaScript
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',
|
|
],
|
|
}; |