Files

54 lines
1.1 KiB
JavaScript

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()
]
}))
]