54 lines
1.1 KiB
JavaScript
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()
|
|
]
|
|
}))
|
|
]
|