34 lines
985 B
TypeScript
34 lines
985 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',
|
|
// Components live one level deep now: src/<category>/<component>/index.ts.
|
|
entry: ['src/index.ts', 'src/*/*/index.ts'],
|
|
plugins: [Vue({ isProduction: true })],
|
|
dts: { vue: true },
|
|
deps: {
|
|
neverBundle: ['vue'],
|
|
// `@robonen/*` stay external (deduped by the package manager); only the
|
|
// stateless `@vue/shared` helpers are inlined (a Vue internal consumers
|
|
// don't install directly, so it can't be externalized reliably).
|
|
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',
|
|
},
|
|
});
|