33 lines
907 B
TypeScript
33 lines
907 B
TypeScript
import { defineConfig } from 'tsdown';
|
|
import { sharedConfig } from '@robonen/tsdown';
|
|
import Vue from 'unplugin-vue/rolldown';
|
|
|
|
export default defineConfig({
|
|
...sharedConfig,
|
|
tsconfig: './tsconfig.src.json',
|
|
entry: ['src/index.ts', 'src/*/index.ts'],
|
|
plugins: [Vue({ isProduction: true })],
|
|
dts: { vue: true },
|
|
deps: {
|
|
neverBundle: ['vue'],
|
|
// `@robonen/*` (incl. `@robonen/primitives`) stay external — no more
|
|
// inlining the whole component lib (and its transitive `@floating-ui/*`)
|
|
// into writekit's bundle. Only stateless `@vue/shared` is inlined.
|
|
alwaysBundle: ['@vue/shared'],
|
|
},
|
|
inputOptions: {
|
|
resolve: {
|
|
alias: {
|
|
'@vue/shared': '@vue/shared/dist/shared.esm-bundler.js',
|
|
},
|
|
},
|
|
},
|
|
outputOptions: {
|
|
...sharedConfig.outputOptions,
|
|
chunkFileNames: 'shared/[name]-[hash].js',
|
|
},
|
|
define: {
|
|
__DEV__: 'false',
|
|
},
|
|
});
|