import glob from 'fast-glob' import alias from '@rollup/plugin-alias' import typescript from '@rollup/plugin-typescript' import { nodeResolve } from '@rollup/plugin-node-resolve' import dts from 'rollup-plugin-dts' const srcFolder = decodeURI(new URL('./src/', import.meta.url).pathname) const entryFiles = glob.sync('src/**/!(*.test).ts', { ignore: ['src/internal/**'] }) const entries = entryFiles.map((file) => { const input = file const output = file.replace(/^src\//, 'dist/').replace(/\.ts$/, '.js') return { input, output } }) export default [ ...entries.map(({ input, output }) => ({ input, output: { file: output, format: 'esm', sourcemap: false }, plugins: [ alias({ entries: [{ find: '@', replacement: srcFolder }] }), nodeResolve(), typescript({ tsconfig: './tsconfig.json', sourceMap: false }) ] })), ...entries.map(({ input, output }) => ({ input, output: { file: output.replace(/\.js$/, '.d.ts'), format: 'esm' }, plugins: [ alias({ entries: [{ find: '@', replacement: srcFolder }] }), dts() ] })) ]