Skip to content

Commit 3f6cd2b

Browse files
committed
Add optimize
1 parent 1042d29 commit 3f6cd2b

File tree

8 files changed

+51
-8
lines changed

8 files changed

+51
-8
lines changed

.changeset/true-ghosts-shop.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@devup-ui/vite-plugin": patch
3+
---
4+
5+
Add optimize for lib

apps/vite-lib/package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
"version": "0.1.0",
44
"type": "module",
55
"private": true,
6+
"exports": {
7+
"import": "./dist/index.js",
8+
"require": "./dist/index.cjs"
9+
},
610
"scripts": {
711
"build": "vite build",
812
"lint": "tsc && eslint"

apps/vite/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"dependencies": {
1313
"react": "^19.0.0",
1414
"react-dom": "^19.0.0",
15-
"@devup-ui/react": "workspace:*"
15+
"@devup-ui/react": "workspace:*",
16+
"vite-lib-example": "workspace:*"
1617
},
1718
"devDependencies": {
1819
"@devup-ui/vite-plugin": "workspace:*",

apps/vite/src/App.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Box, Text } from '@devup-ui/react'
2+
import { Lib } from 'vite-lib-example'
23

34
export default function App() {
45
return (
@@ -11,6 +12,7 @@ export default function App() {
1112
color="red"
1213
>
1314
hello
15+
<Lib />
1416
</Box>
1517
<Text typography="header">typo</Text>
1618
</div>

apps/vite/vite.config.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,10 @@ import { defineConfig } from 'vite'
44

55
// https://vite.dev/config/
66
export default defineConfig({
7-
plugins: [react(), DevupUI()],
7+
plugins: [
8+
react(),
9+
DevupUI({
10+
include: ['vite-lib-example'],
11+
}),
12+
],
813
})

packages/vite-plugin/src/__tests__/plugin.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ describe('devupUIPlugin', () => {
6868
ignored: [`!${devupPath}`],
6969
},
7070
},
71+
optimizeDeps: {
72+
exclude: [],
73+
},
7174
build: {
7275
rollupOptions: {
7376
output: {
@@ -331,7 +334,7 @@ describe('devupUIPlugin', () => {
331334
'C:/devfive/minions-front/apps/vendor/node_modules/.vite/deps/@devup_product-system.js?v=63f19272',
332335
)
333336
expect(codeExtract).toHaveBeenCalledWith(
334-
'C:/devfive/minions-front/apps/vendor/node_modules/.vite/deps/@devup_product-system.js?v=63f19272',
337+
'C:/devfive/minions-front/apps/vendor/node_modules/.vite/deps/@devup_product-system.js',
335338
'code',
336339
libPackage,
337340
cssFile,

packages/vite-plugin/src/plugin.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ export function DevupUI({
8383
'process.env.DEVUP_UI_DEFAULT_THEME':
8484
JSON.stringify(getDefaultTheme()),
8585
},
86+
optimizeDeps: {
87+
exclude: include,
88+
},
8689
}
8790
if (extractCss) {
8891
ret['build'] = {
@@ -131,18 +134,27 @@ export function DevupUI({
131134
async transform(code, id) {
132135
if (!extractCss) return
133136

137+
const fileName = id.split('?')[0]
134138
if (
135139
include.length
136140
? new RegExp(
137-
`node_modules(?!(.*${include.join('|').replaceAll('/', '[\\/\\\\_]')})([\\/\\\\.]|$))`,
138-
).test(id)
141+
`node_modules(?!(${include
142+
.map((i) => `.*${i}`)
143+
.join('|')
144+
.replaceAll('/', '[\\/\\\\_]')})([\\/\\\\.]|$))`,
145+
).test(fileName)
139146
: id.includes('node_modules')
140147
) {
141148
return
142149
}
143-
if (!/\.(tsx|ts|js|mjs|jsx)$/i.test(id.split('?')[0])) return
150+
if (!/\.(tsx|ts|js|mjs|jsx)$/i.test(fileName)) return
144151

145-
const { code: retCode, css } = codeExtract(id, code, libPackage, cssFile)
152+
const { code: retCode, css } = codeExtract(
153+
fileName,
154+
code,
155+
libPackage,
156+
cssFile,
157+
)
146158

147159
if (css && globalCss.length < css.length) {
148160
globalCss = css

pnpm-lock.yaml

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)