@@ -8,7 +8,7 @@ beforeEach((ctx) => {
88 ctx . fs = new NodeFS ( )
99} )
1010
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 } ) => {
1212 const cwd = mockFileSystem ( {
1313 'package.json' : JSON . stringify ( {
1414 scripts : {
@@ -19,9 +19,46 @@ test('detects a TanStack Start React site (v1.121.0+)', async ({ fs }) => {
1919 test : 'vitest run' ,
2020 } ,
2121 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' ,
2562 react : '^19.0.0' ,
2663 'react-dom' : '^19.0.0' ,
2764 } ,
@@ -45,7 +82,7 @@ test('detects a TanStack Start React site (v1.121.0+)', async ({ fs }) => {
4582 expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
4683} )
4784
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 } ) => {
4986 const cwd = mockFileSystem ( {
5087 'package.json' : JSON . stringify ( {
5188 scripts : {
@@ -79,7 +116,81 @@ test('detects a pre-v1.121.0 TanStack Start React site', async ({ fs }) => {
79116 expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
80117} )
81118
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 } ) => {
83194 const cwd = mockFileSystem ( {
84195 'package.json' : JSON . stringify ( {
85196 scripts : {
@@ -113,7 +224,7 @@ test('detects a TanStack Start Solid site', async ({ fs }) => {
113224 expect ( detected ?. [ 0 ] ?. dev ?. port ) . toBe ( 3000 )
114225} )
115226
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 } ) => {
117228 const cwd = mockFileSystem ( {
118229 'package.json' : JSON . stringify ( {
119230 scripts : {
0 commit comments