@@ -8,7 +8,7 @@ beforeEach((ctx) => {
8
8
ctx . fs = new NodeFS ( )
9
9
} )
10
10
11
- test ( 'detects a TanStack Start React site (v1.121 .0+)' , async ( { fs } ) => {
11
+ test ( 'detects a TanStack Start React site (v1.132 .0+)' , async ( { fs } ) => {
12
12
const cwd = mockFileSystem ( {
13
13
'package.json' : JSON . stringify ( {
14
14
scripts : {
@@ -19,9 +19,46 @@ test('detects a TanStack Start React site (v1.121.0+)', async ({ fs }) => {
19
19
test : 'vitest run' ,
20
20
} ,
21
21
dependencies : {
22
- '@tanstack/react-router' : '^1.121.2' ,
23
- '@tanstack/react-router-devtools' : '^1.121.2' ,
24
- '@tanstack/start' : '^1.121.2' ,
22
+ '@tanstack/react-router' : '^1.132.0' ,
23
+ '@tanstack/react-router-devtools' : '^1.132.0' ,
24
+ '@tanstack/react-start' : '^1.132.0' ,
25
+ react : '^19.0.0' ,
26
+ 'react-dom' : '^19.0.0' ,
27
+ } ,
28
+ devDependencies : {
29
+ '@vitejs/plugin-react' : '^4.3.4' ,
30
+ vite : '^7.0.0' ,
31
+ } ,
32
+ } ) ,
33
+ } )
34
+ const detected = await new Project ( fs , cwd ) . detectFrameworks ( )
35
+
36
+ const detectedFrameworks = ( detected ?? [ ] ) . map ( ( framework ) => framework . id )
37
+ expect ( detectedFrameworks ) . not . toContain ( 'vinxi' )
38
+ expect ( detectedFrameworks ) . not . toContain ( 'vite' )
39
+ expect ( detectedFrameworks ) . not . toContain ( 'tanstack-router' )
40
+
41
+ expect ( detected ?. [ 0 ] ?. id ) . toBe ( 'tanstack-start' )
42
+ expect ( detected ?. [ 0 ] ?. build ?. command ) . toBe ( 'vite build' )
43
+ expect ( detected ?. [ 0 ] ?. build ?. directory ) . toBe ( 'dist/client' )
44
+ expect ( detected ?. [ 0 ] ?. dev ?. command ) . toBe ( 'vite dev' )
45
+ expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
46
+ } )
47
+
48
+ test ( 'sets build dir to `dist` for a pre-v1.132.0 TanStack Start React site' , async ( { fs } ) => {
49
+ const cwd = mockFileSystem ( {
50
+ 'package.json' : JSON . stringify ( {
51
+ scripts : {
52
+ dev : 'vite --port 3000' ,
53
+ start : 'vite --port 3000' ,
54
+ build : 'vite build' ,
55
+ serve : 'vite preview' ,
56
+ test : 'vitest run' ,
57
+ } ,
58
+ dependencies : {
59
+ '@tanstack/react-router' : '^1.131.0' ,
60
+ '@tanstack/react-router-devtools' : '^1.131.0' ,
61
+ '@tanstack/react-start' : '^1.131.0' ,
25
62
react : '^19.0.0' ,
26
63
'react-dom' : '^19.0.0' ,
27
64
} ,
@@ -45,7 +82,7 @@ test('detects a TanStack Start React site (v1.121.0+)', async ({ fs }) => {
45
82
expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
46
83
} )
47
84
48
- test ( 'detects a pre-v1.121.0 TanStack Start React site' , async ( { fs } ) => {
85
+ test ( 'sets `vinxi` build/dev commands for a pre-v1.121.0 TanStack Start React site' , async ( { fs } ) => {
49
86
const cwd = mockFileSystem ( {
50
87
'package.json' : JSON . stringify ( {
51
88
scripts : {
@@ -79,7 +116,81 @@ test('detects a pre-v1.121.0 TanStack Start React site', async ({ fs }) => {
79
116
expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
80
117
} )
81
118
82
- test ( 'detects a TanStack Start Solid site' , async ( { fs } ) => {
119
+ test ( 'detects a TanStack Start Solid site (v1.132.0+)' , async ( { fs } ) => {
120
+ const cwd = mockFileSystem ( {
121
+ 'package.json' : JSON . stringify ( {
122
+ scripts : {
123
+ dev : 'vite --port 3000' ,
124
+ start : 'vite --port 3000' ,
125
+ build : 'vite build' ,
126
+ serve : 'vite preview' ,
127
+ test : 'vitest run' ,
128
+ } ,
129
+ dependencies : {
130
+ '@tanstack/solid-router' : '^1.132.0' ,
131
+ '@tanstack/solid-router-devtools' : '^1.132.0' ,
132
+ '@tanstack/solid-start' : '^1.132.0' ,
133
+ 'solid-js' : '^1.9.5' ,
134
+ } ,
135
+ devDependencies : {
136
+ '@vitejs/plugin-solid' : '^4.3.4' ,
137
+ vite : '^7.0.0' ,
138
+ } ,
139
+ } ) ,
140
+ } )
141
+ const detected = await new Project ( fs , cwd ) . detectFrameworks ( )
142
+
143
+ const detectedFrameworks = ( detected ?? [ ] ) . map ( ( framework ) => framework . id )
144
+ expect ( detectedFrameworks ) . not . toContain ( 'vinxi' )
145
+ expect ( detectedFrameworks ) . not . toContain ( 'vite' )
146
+ expect ( detectedFrameworks ) . not . toContain ( 'tanstack-router' )
147
+ expect ( detectedFrameworks ) . not . toContain ( 'solid-js' )
148
+
149
+ expect ( detected ?. [ 0 ] ?. id ) . toBe ( 'tanstack-start' )
150
+ expect ( detected ?. [ 0 ] ?. build ?. command ) . toBe ( 'vite build' )
151
+ expect ( detected ?. [ 0 ] ?. build ?. directory ) . toBe ( 'dist/client' )
152
+ expect ( detected ?. [ 0 ] ?. dev ?. command ) . toBe ( 'vite dev' )
153
+ expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
154
+ } )
155
+
156
+ test ( 'sets build dir to `dist` for a pre-v1.132.0 TanStack Start Solid site' , async ( { fs } ) => {
157
+ const cwd = mockFileSystem ( {
158
+ 'package.json' : JSON . stringify ( {
159
+ scripts : {
160
+ dev : 'vite --port 3000' ,
161
+ start : 'vite --port 3000' ,
162
+ build : 'vite build' ,
163
+ serve : 'vite preview' ,
164
+ test : 'vitest run' ,
165
+ } ,
166
+ dependencies : {
167
+ '@tanstack/solid-router' : '^1.131.0' ,
168
+ '@tanstack/solid-router-devtools' : '^1.131.0' ,
169
+ '@tanstack/solid-start' : '^1.131.0' ,
170
+ 'solid-js' : '^1.9.5' ,
171
+ } ,
172
+ devDependencies : {
173
+ '@vitejs/plugin-solid' : '^4.3.4' ,
174
+ vite : '^6.1.0' ,
175
+ } ,
176
+ } ) ,
177
+ } )
178
+ const detected = await new Project ( fs , cwd ) . detectFrameworks ( )
179
+
180
+ const detectedFrameworks = ( detected ?? [ ] ) . map ( ( framework ) => framework . id )
181
+ expect ( detectedFrameworks ) . not . toContain ( 'vinxi' )
182
+ expect ( detectedFrameworks ) . not . toContain ( 'vite' )
183
+ expect ( detectedFrameworks ) . not . toContain ( 'tanstack-router' )
184
+ expect ( detectedFrameworks ) . not . toContain ( 'solid-js' )
185
+
186
+ expect ( detected ?. [ 0 ] ?. id ) . toBe ( 'tanstack-start' )
187
+ expect ( detected ?. [ 0 ] ?. build ?. command ) . toBe ( 'vite build' )
188
+ expect ( detected ?. [ 0 ] ?. build ?. directory ) . toBe ( 'dist' )
189
+ expect ( detected ?. [ 0 ] ?. dev ?. command ) . toBe ( 'vite dev' )
190
+ expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
191
+ } )
192
+
193
+ test ( 'sets `vinxi` build/dev commands for a pre-v1.121.0 TanStack Start Solid site' , async ( { fs } ) => {
83
194
const cwd = mockFileSystem ( {
84
195
'package.json' : JSON . stringify ( {
85
196
scripts : {
@@ -113,7 +224,7 @@ test('detects a TanStack Start Solid site', async ({ fs }) => {
113
224
expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
114
225
} )
115
226
116
- test ( 'detects a pre-v1.111.10 TanStack Start site' , async ( { fs } ) => {
227
+ test ( 'detects a pre-v1.111.10 (pre-package-rename) TanStack Start site' , async ( { fs } ) => {
117
228
const cwd = mockFileSystem ( {
118
229
'package.json' : JSON . stringify ( {
119
230
scripts : {
0 commit comments