refactor(core-extensions): Use roolup to inline internal modules
This commit is contained in:
@@ -7,14 +7,21 @@
|
||||
"dist"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"build": "rollup -c && node scripts/generate-exports.js",
|
||||
"prepublish": "pnpm build"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-alias": "^5.1.1",
|
||||
"@rollup/plugin-node-resolve": "^16.0.1",
|
||||
"@rollup/plugin-typescript": "^12.1.2",
|
||||
"@tabshift/typescript-config": "workspace:",
|
||||
"fast-glob": "^3.3.3",
|
||||
"rollup": "^4.40.0",
|
||||
"rollup-plugin-dts": "^6.2.1",
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "latest"
|
||||
},
|
||||
"author": "T. R. Bernstein <ljspkgs01-project@tabshift.dev>",
|
||||
|
||||
53
packages/core-extensions/rollup.config.js
Normal file
53
packages/core-extensions/rollup.config.js
Normal file
@@ -0,0 +1,53 @@
|
||||
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()
|
||||
]
|
||||
}))
|
||||
]
|
||||
@@ -14,9 +14,14 @@ function walk(dir) {
|
||||
|
||||
for (const entry of entries) {
|
||||
const fullPath = path.join(dir, entry.name)
|
||||
if (entry.isDirectory()) {
|
||||
if (entry.isDirectory() && !entry.name.endsWith('internal')) {
|
||||
result = result.concat(walk(fullPath))
|
||||
} else if (entry.isFile() && entry.name.endsWith('.ts') && !entry.name.endsWith('.d.ts')) {
|
||||
} else if (
|
||||
entry.isFile() &&
|
||||
entry.name.endsWith('.ts') &&
|
||||
!entry.name.endsWith('.d.ts') &&
|
||||
!entry.name.endsWith('.test.ts')
|
||||
) {
|
||||
result.push(fullPath)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
{
|
||||
"extends": "@tabshift/typescript-config/base.json",
|
||||
"compilerOptions": {
|
||||
"declaration": true,
|
||||
"declarationDir": "dist",
|
||||
"outDir": "dist",
|
||||
"rootDir": "src"
|
||||
"rootDir": "src",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
}
|
||||
},
|
||||
"include": ["src"]
|
||||
"include": ["src"],
|
||||
"exclude": ["src/**/*.test.ts"]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user