Skip to content

Commit 0275d0c

Browse files
authored
Merge pull request #455 from dev-five-git/turbo-files-issue
Turbo files issue
2 parents c0534a0 + 27b7d28 commit 0275d0c

File tree

9 files changed

+36
-191
lines changed

9 files changed

+36
-191
lines changed

.changeset/slow-years-flow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@devup-ui/next-plugin': patch
3+
---
4+
5+
Refactor collecting files

apps/landing/src/components/Code.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ export const Code = ({
3232
}}
3333
display="none"
3434
>
35-
<SyntaxHighlighter language={language} showLineNumbers style={Dark}>
35+
<SyntaxHighlighter
36+
customStyle={{ margin: 0 }}
37+
language={language}
38+
showLineNumbers
39+
style={Dark}
40+
>
3641
{value}
3742
</SyntaxHighlighter>
3843
</Box>

apps/landing/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"moduleResolution": "bundler",
1212
"resolveJsonModule": true,
1313
"isolatedModules": true,
14-
"jsx": "preserve",
14+
"jsx": "react-jsx",
1515
"incremental": true,
1616
"plugins": [
1717
{

packages/next-plugin/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343
"dependencies": {
4444
"@devup-ui/webpack-plugin": "workspace:*",
4545
"next": "^16.0",
46-
"@devup-ui/wasm": "workspace:*"
46+
"@devup-ui/wasm": "workspace:*",
47+
"glob": "^11.0"
4748
},
4849
"devDependencies": {
4950
"vite": "^7.1",

packages/next-plugin/src/__tests__/find-root.test.ts

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

packages/next-plugin/src/__tests__/preload.test.ts

Lines changed: 9 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,41 @@
1-
import { globSync, writeFileSync } from 'node:fs'
1+
import { writeFileSync } from 'node:fs'
22
import { readFileSync } from 'node:fs'
33
import { existsSync } from 'node:fs'
44
import { join } from 'node:path'
55

66
import { codeExtract, registerTheme } from '@devup-ui/wasm'
7+
import { globSync } from 'glob'
78

8-
import { findRoot } from '../find-root'
99
import { preload } from '../preload'
1010

1111
// Mock dependencies
1212
vi.mock('node:fs')
1313
vi.mock('@devup-ui/wasm')
14-
vi.mock('../find-root')
14+
vi.mock('glob')
1515

1616
// Mock globSync
1717
vi.mock('node:fs', () => ({
18-
globSync: vi.fn(),
1918
readFileSync: vi.fn(),
2019
writeFileSync: vi.fn(),
2120
mkdirSync: vi.fn(),
2221
existsSync: vi.fn(),
2322
}))
2423

24+
vi.mock('glob', () => ({
25+
globSync: vi.fn(),
26+
}))
27+
2528
// Mock @devup-ui/wasm
2629
vi.mock('@devup-ui/wasm', () => ({
2730
codeExtract: vi.fn(),
2831
registerTheme: vi.fn(),
2932
}))
3033

31-
// Mock findRoot
32-
vi.mock('../find-root', () => ({
33-
findRoot: vi.fn(),
34-
}))
35-
3634
describe('preload', () => {
3735
beforeEach(() => {
3836
vi.clearAllMocks()
3937

4038
// Default mock implementations
41-
vi.mocked(findRoot).mockReturnValue('/project/root')
4239
vi.mocked(globSync).mockReturnValue([
4340
'src/App.tsx',
4441
'src/components/Button.tsx',
@@ -67,12 +64,10 @@ describe('preload', () => {
6764

6865
preload(excludeRegex, libPackage, singleCss, theme, cssDir)
6966

70-
expect(findRoot).toHaveBeenCalledWith(process.cwd())
7167
expect(globSync).toHaveBeenCalledWith(
7268
['**/*.tsx', '**/*.ts', '**/*.js', '**/*.mjs'],
7369
{
74-
cwd: '/project/root',
75-
exclude: expect.any(Function),
70+
follow: true,
7671
},
7772
)
7873
})
@@ -86,7 +81,7 @@ describe('preload', () => {
8681
})
8782

8883
it('should process each collected file', () => {
89-
const files = ['src/App.tsx', 'src/components/Button.tsx']
84+
const files = ['src/App.tsx', 'src/components/Button.tsx', '.next/page.tsx']
9085
vi.mocked(globSync).mockReturnValue(files)
9186

9287
preload(/node_modules/, '@devup-ui/react', false, {}, '/output/css')
@@ -235,25 +230,4 @@ describe('preload', () => {
235230
'utf-8',
236231
)
237232
})
238-
it('should handle exclude regex', () => {
239-
const excludeRegex = /node_modules/
240-
const libPackage = '@devup-ui/react'
241-
const singleCss = false
242-
const theme = { colors: { primary: 'blue' } }
243-
const cssDir = '/output/css'
244-
245-
preload(excludeRegex, libPackage, singleCss, theme, cssDir)
246-
expect(globSync).toHaveBeenCalledWith(
247-
['**/*.tsx', '**/*.ts', '**/*.js', '**/*.mjs'],
248-
{
249-
cwd: '/project/root',
250-
exclude: expect.any(Function),
251-
},
252-
)
253-
expect(
254-
(vi.mocked(globSync).mock.calls[0][1].exclude as any)(
255-
'/node_modules/react.tsx',
256-
),
257-
).toBe(true)
258-
})
259233
})

packages/next-plugin/src/find-root.ts

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

packages/next-plugin/src/preload.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { globSync, readFileSync, writeFileSync } from 'node:fs'
1+
import { readFileSync, writeFileSync } from 'node:fs'
22
import { basename, join, relative } from 'node:path'
33

44
import { codeExtract, registerTheme } from '@devup-ui/wasm'
5-
6-
import { findRoot } from './find-root'
5+
import { globSync } from 'glob'
76

87
export function preload(
98
excludeRegex: RegExp,
@@ -12,14 +11,19 @@ export function preload(
1211
theme: object,
1312
cssDir: string,
1413
) {
15-
const projectRoot = findRoot(process.cwd())
14+
const projectRoot = process.cwd()
1615

1716
const collected = globSync(['**/*.tsx', '**/*.ts', '**/*.js', '**/*.mjs'], {
18-
cwd: projectRoot,
19-
exclude: (fileName) => excludeRegex.test(fileName),
17+
follow: true,
2018
})
2119
registerTheme(theme)
2220
for (const file of collected) {
21+
if (
22+
/\.(test(-d)?|d|spec)\.(tsx|ts|js|mjs)$/.test(file) ||
23+
/^(out|.next)[/\\]/.test(file) ||
24+
excludeRegex.test(file)
25+
)
26+
continue
2327
const filePath = relative(process.cwd(), join(projectRoot, file))
2428
const { cssFile, css } = codeExtract(
2529
filePath,

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)