build(ui): migrate to vite for library bundling

This commit is contained in:
Melvin Chia
2026-01-10 09:16:44 +08:00
parent cabea542b1
commit 045259e7ea
2 changed files with 51 additions and 5 deletions

View File

@@ -14,7 +14,7 @@
"sideEffects": false,
"main": "dist/index.js",
"module": "dist/index.mjs",
"types": "dist/src/index.d.ts",
"types": "dist/index.d.ts",
"files": [
"dist",
"README.md"
@@ -25,7 +25,7 @@
"scripts": {
"dev": "storybook dev -p 6006",
"types": "tsc -b",
"build": "rm -rf dist && tsup src/index.ts && tsc",
"build": "rm -rf dist && vite build",
"build-storybook": "cd ../../shared && bun run build && cd ../packages/lifeforge-ui && storybook build"
},
"dependencies": {
@@ -86,8 +86,6 @@
"@storybook/addon-docs": "10.1.0",
"@storybook/addon-onboarding": "10.1.0",
"@storybook/react-vite": "10.1.0",
"@tailwindcss/cli": "^4.1.14",
"@tailwindcss/vite": "^4.1.14",
"@types/culori": "^4.0.1",
"@types/dom-css": "^2.1.1",
"@types/javascript-color-gradient": "^2.4.2",
@@ -108,7 +106,8 @@
"storybook": "10.1.0",
"storybook-addon-deep-controls": "^0.9.5",
"tsup": "^8.5.0",
"vite": "^7.1.9",
"vite": "^7.3.1",
"vite-plugin-dts": "^4.5.4",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^1.6.1"
}

View File

@@ -0,0 +1,47 @@
import react from '@vitejs/plugin-react'
import { resolve } from 'path'
import { defineConfig } from 'vite'
import dts from 'vite-plugin-dts'
export default defineConfig({
plugins: [
react(),
dts({
rollupTypes: true
})
],
resolve: {
alias: {
'@components': resolve(__dirname, 'src/components'),
'@': resolve(__dirname, 'src')
}
},
build: {
lib: {
entry: resolve(__dirname, 'src/index.ts'),
formats: ['es', 'cjs'],
fileName: format => `index.${format === 'es' ? 'mjs' : 'js'}`
},
rollupOptions: {
external: [
'react',
'react-dom',
'react/jsx-runtime',
'shared',
'@tanstack/react-query',
/^react-router/,
/^react-i18next/,
/^i18next/
],
output: {
globals: {
react: 'React',
'react-dom': 'ReactDOM'
},
assetFileNames: 'index.[ext]'
}
},
sourcemap: false,
minify: true
}
})