Skip to content

Commit a7a0d39

Browse files
committed
optimize(tsdown): streamline external dependencies by dynamically importing from package.json files
1 parent abf7bc7 commit a7a0d39

File tree

2 files changed

+8
-36
lines changed

2 files changed

+8
-36
lines changed

headless/tsdown.config.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,7 @@ export default defineConfig({
1111
'src/index.ts'
1212
],
1313
platform: 'neutral',
14-
external: [
15-
...Object.keys(pkg.peerDependencies),
16-
...Object.keys(pkg.dependencies),
17-
...Object.keys(pkg.devDependencies),
18-
'@nuxt/kit',
19-
'@nuxt/schema'
20-
],
14+
external: [...Object.keys(pkg.peerDependencies), ...Object.keys(pkg.dependencies), '@nuxt/kit', '@nuxt/schema'],
2115
noExternal: ['aria-hidden'],
2216
clean: true,
2317
dts: {

tsdown.config.ts

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,20 @@
11
import { defineConfig } from 'tsdown';
22
import unpluginVue from 'unplugin-vue/rolldown';
33
import unpluginVueJsx from 'unplugin-vue-jsx/rolldown';
4+
import pkg from './package.json' with { type: 'json' };
5+
import headlessPkg from './headless/package.json' with { type: 'json' };
46

57
export default defineConfig({
68
entry: ['src/index.ts'],
79
platform: 'neutral',
810
external: [
9-
'@floating-ui/core',
10-
'@floating-ui/vue',
11-
'@formkit/auto-animate',
12-
'@iconify/vue',
13-
'@internationalized/date',
14-
'@internationalized/number',
11+
...Object.keys(headlessPkg.dependencies),
12+
...Object.keys(headlessPkg.devDependencies),
13+
...Object.keys(pkg.dependencies),
14+
...Object.keys(pkg.devDependencies),
1515
'@nuxt/kit',
1616
'@nuxt/schema',
17-
'@soybeanjs/color-palette',
18-
'@soybeanjs/unocss-shadcn',
19-
'@standard-schema/spec',
20-
'@tanstack/vue-virtual',
21-
'@vue/shared',
22-
'@vueuse/core',
23-
'@vueuse/integrations',
24-
'@vueuse/integrations/useFuse',
25-
'@vueuse/router',
26-
'@vueuse/shared',
27-
'aria-hidden',
28-
'clsx',
29-
'defu',
30-
'fuse.js',
31-
'klona',
32-
'nuxt',
33-
'ohash',
34-
'tailwind-merge',
35-
'tailwind-variants',
36-
'valibot',
37-
'vue',
38-
'vue-router',
39-
'zod'
17+
'@vueuse/integrations/useFuse'
4018
],
4119
clean: true,
4220
dts: {

0 commit comments

Comments
 (0)