Skip to content

Commit 3b105d3

Browse files
committed
refactor(projects): update package build
1 parent a12bb48 commit 3b105d3

File tree

16 files changed

+219
-168
lines changed

16 files changed

+219
-168
lines changed

packages/primitives/package.json

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,22 @@
1313
"require": "./dist/index.cjs"
1414
},
1515
"./date": {
16-
"types": "./dist/date.d.ts",
17-
"import": "./dist/date.mjs",
18-
"require": "./dist/date.cjs"
16+
"types": "./dist/date/index.d.ts",
17+
"import": "./dist/date.mjs"
18+
},
19+
"./constant": {
20+
"types": "./dist/constant/index.d.ts",
21+
"import": "./dist/constant.mjs"
22+
},
23+
"./composables": {
24+
"types": "./dist/composables/index.d.ts",
25+
"import": "./dist/composables.mjs"
26+
},
27+
"./*": {
28+
"types": "./dist/components/*/index.d.ts",
29+
"import": "./dist/components/*/index.mjs"
1930
}
2031
},
21-
"main": "./dist/index.cjs",
2232
"module": "./dist/index.mjs",
2333
"types": "./dist/index.d.ts",
2434
"typings": "./dist/index.d.ts",

packages/primitives/src/components/index.ts

Lines changed: 0 additions & 58 deletions
This file was deleted.

packages/primitives/src/components/navigation-menu/navigation-menu-sub.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import type { Ref } from 'vue';
44
import { useVModel } from '@vueuse/core';
55
import { useCollection, useForwardExpose } from '../../composables';
66
import { Primitive } from '../primitive';
7-
import type { DataOrientation } from '../../types';
87
import { injectNavigationMenuRootContext, provideNavigationMenuRootContext } from './context';
98
import type { NavigationMenuSubEmits, NavigationMenuSubPropsWithPrimitive } from './types';
109
@@ -13,7 +12,7 @@ defineOptions({
1312
});
1413
1514
const props = withDefaults(defineProps<NavigationMenuSubPropsWithPrimitive>(), {
16-
orientation: 'horizontal' as DataOrientation,
15+
orientation: 'horizontal',
1716
defaultValue: ''
1817
});
1918

packages/primitives/src/index.ts

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,62 @@
1-
export * from './components';
1+
export * from './components/accordion';
2+
export * from './components/alert-dialog';
3+
export * from './components/arrow';
4+
export * from './components/aspect-ratio';
5+
export * from './components/avatar';
6+
export * from './components/calendar';
7+
export * from './components/checkbox';
8+
export * from './components/collapsible';
9+
export * from './components/combobox';
10+
export * from './components/config-provider';
11+
export * from './components/context-menu';
12+
export * from './components/date-field';
13+
export * from './components/date-picker';
14+
export * from './components/date-range-field';
15+
export * from './components/date-range-picker';
16+
export * from './components/dialog';
17+
export * from './components/dismissable-layer';
18+
export * from './components/drawer';
19+
export * from './components/dropdown-menu';
20+
export * from './components/editable';
21+
export * from './components/focus-guards';
22+
export * from './components/focus-scope';
23+
export * from './components/hover-card';
24+
export * from './components/label';
25+
export * from './components/listbox';
26+
export * from './components/menu';
27+
export * from './components/menubar';
28+
export * from './components/navigation-menu';
29+
export * from './components/number-field';
30+
export * from './components/pagination';
31+
export * from './components/pin-input';
32+
export * from './components/popover';
33+
export * from './components/popper';
34+
export * from './components/presence';
35+
export * from './components/primitive';
36+
export * from './components/progress';
37+
export * from './components/radio-group';
38+
export * from './components/range-calendar';
39+
export * from './components/roving-focus';
40+
export * from './components/scroll-area';
41+
export * from './components/select';
42+
export * from './components/separator';
43+
export * from './components/slider';
44+
export * from './components/splitter';
45+
export * from './components/stepper';
46+
export * from './components/switch';
47+
export * from './components/tabs';
48+
export * from './components/tags-input';
49+
export * from './components/teleport';
50+
export * from './components/time-field';
51+
export * from './components/toast';
52+
export * from './components/toggle';
53+
export * from './components/toggle-group';
54+
export * from './components/toolbar';
55+
export * from './components/tooltip';
56+
export * from './components/tree';
57+
export * from './components/viewport';
58+
export * from './components/visually-hidden';
59+
260
export {
361
useForwardExpose,
462
useForwardProps,
@@ -12,6 +70,7 @@ export {
1270
createContext,
1371
useContext
1472
} from './composables';
73+
1574
export { pick, omit } from './shared/object';
1675

1776
export * from './types';

packages/primitives/vite.config.ts

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,53 @@ import { defineConfig } from 'vite';
33
import vue from '@vitejs/plugin-vue';
44
import vueJsx from '@vitejs/plugin-vue-jsx';
55
import dts from 'vite-plugin-dts';
6+
import fg from 'fast-glob';
67
import pkg from './package.json';
78

8-
export default defineConfig({
9-
plugins: [vue(), vueJsx(), dts({ cleanVueFileName: true, rollupTypes: true, include: 'src/**/*' })],
10-
build: {
11-
lib: {
12-
name: 'soybean-primitives',
13-
entry: {
14-
index: fileURLToPath(new URL('src/index.ts', import.meta.url)),
15-
date: fileURLToPath(new URL('src/date/index.ts', import.meta.url))
16-
},
17-
fileName: (format, entryName) => {
18-
const ext = format === 'es' ? 'mjs' : 'cjs';
9+
export default defineConfig(() => {
10+
const components = fg.sync('src/components/**/index.ts');
11+
const names = components.map(component => {
12+
return component.replace('/index.ts', '').replace('src/components/', '');
13+
});
14+
15+
const entry: Record<string, string> = {};
16+
const manualChunks: Record<string, string[]> = {};
17+
18+
names.forEach(name => {
19+
entry[`components/${name}/index`] = fileURLToPath(new URL(`src/components/${name}/index.ts`, import.meta.url));
20+
manualChunks[`components/${name}/index`] = [`src/components/${name}/index.ts`];
21+
});
1922

20-
return `${entryName}.${ext}`;
23+
return {
24+
plugins: [vue(), vueJsx(), dts({ cleanVueFileName: true, include: 'src/**/*' })],
25+
build: {
26+
minify: false,
27+
target: 'esnext',
28+
sourcemap: true,
29+
lib: {
30+
name: 'soybean-primitives',
31+
formats: ['es'],
32+
fileName: (_format, entryName) => `${entryName}.mjs`,
33+
entry: {
34+
constant: fileURLToPath(new URL('src/constant/index.ts', import.meta.url)),
35+
date: fileURLToPath(new URL('src/date/index.ts', import.meta.url)),
36+
composables: fileURLToPath(new URL('src/composables/index.ts', import.meta.url)),
37+
...entry,
38+
index: fileURLToPath(new URL('src/index.ts', import.meta.url))
39+
}
2140
},
22-
formats: ['es', 'cjs']
23-
},
24-
rollupOptions: {
25-
external: ['vue', ...Object.keys(pkg.dependencies)]
41+
rollupOptions: {
42+
external: ['vue', ...Object.keys(pkg.dependencies)],
43+
output: {
44+
manualChunks: {
45+
constant: ['src/constant/index.ts'],
46+
date: ['src/date/index.ts'],
47+
composables: ['src/composables/index.ts'],
48+
...manualChunks,
49+
index: ['src/index.ts']
50+
}
51+
}
52+
}
2653
}
27-
}
54+
};
2855
});

packages/ui/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
"exports": {
1010
".": {
1111
"types": "./dist/index.d.ts",
12-
"import": "./dist/index.mjs",
13-
"require": "./dist/index.cjs"
12+
"import": "./dist/index.mjs"
13+
},
14+
"./*": {
15+
"types": "./dist/components/*/index.d.ts",
16+
"import": "./dist/components/*/index.mjs"
1417
}
1518
},
16-
"main": "./dist/index.cjs",
1719
"module": "./dist/index.mjs",
1820
"types": "./dist/index.d.ts",
1921
"typings": "./dist/index.d.ts",

packages/ui/src/components/index.ts

Lines changed: 0 additions & 49 deletions
This file was deleted.

packages/ui/src/components/menu/menu-sub-content.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import { computed } from 'vue';
33
import { MenuSubContent, useForwardPropsEmits, useOmitForwardProps } from '@soybean-ui/primitives';
44
import type { AcceptableValue } from '@soybean-ui/primitives';
55
import { cn, menuVariants } from '@soybean-ui/variants';
6-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
7-
import type { MenuOptionData } from '../menu/types';
86
import type { MenuSubContentEmits, MenuSubContentProps } from './types';
97
108
defineOptions({

packages/ui/src/components/menubar/menubar.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import {
66
usePickForwardProps
77
} from '@soybean-ui/primitives';
88
import type { AcceptableValue } from '@soybean-ui/primitives';
9-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
10-
import type { MenuOptionData } from '../menu/types';
119
import SMenubarRoot from './menubar-root.vue';
1210
import SMenubarMenu from './menubar-menu.vue';
1311
import type { MenubarEmits, MenubarProps } from './types';

packages/ui/src/index.ts

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1-
export * from './components';
2-
export * from './other';
1+
export * from './components/accordion';
2+
export * from './components/alert';
3+
export * from './components/alert-dialog';
4+
export * from './components/aspect-ratio';
5+
export * from './components/avatar';
6+
export * from './components/badge';
7+
export * from './components/breadcrumb';
8+
export * from './components/button';
9+
export * from './components/card';
10+
export * from './components/carousel';
11+
export * from './components/checkbox';
12+
export * from './components/chip';
13+
export * from './components/collapsible';
14+
export * from './components/command';
15+
export * from './components/context-menu';
16+
export * from './components/dialog';
17+
export * from './components/drawer';
18+
export * from './components/dropdown-menu';
19+
export * from './components/form';
20+
export * from './components/hover-card';
21+
export * from './components/input';
22+
export * from './components/keyboard-key';
23+
export * from './components/label';
24+
export * from './components/menu';
25+
export * from './components/menubar';
26+
export * from './components/navigation-menu';
27+
export * from './components/number-field';
28+
export * from './components/pagination';
29+
export * from './components/pin-input';
30+
export * from './components/popover';
31+
export * from './components/progress';
32+
export * from './components/radio';
33+
export * from './components/resizable';
34+
export * from './components/scroll-area';
35+
export * from './components/segment';
36+
export * from './components/select';
37+
export * from './components/separator';
38+
export * from './components/sheet';
39+
export * from './components/skeleton';
40+
export * from './components/slider';
41+
export * from './components/stepper';
42+
export * from './components/switch';
43+
export * from './components/tabs';
44+
export * from './components/tags-input';
45+
export * from './components/textarea';
46+
export * from './components/toast';
47+
export * from './components/toggle';
48+
export * from './components/toggle-group';
49+
export * from './components/tooltip';
50+
export * from './components/vue-sonner';
51+
352
export * from './types';

packages/ui/src/other/index.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)