@@ -60,6 +60,100 @@ describe('createPackageJSON', () => {
6060 expect ( JSON . stringify ( packageJSON ) ) . toEqual ( JSON . stringify ( expected ) )
6161 } )
6262
63+ it ( 'should create a strict package-manager compatible React router-only package.json' , ( ) => {
64+ const packageJSON = createPackageJSON ( {
65+ chosenAddOns : [ ] ,
66+ mode : 'file-router' ,
67+ routerOnly : true ,
68+ typescript : true ,
69+ tailwind : true ,
70+ projectName : 'test' ,
71+ framework : {
72+ id : 'react' ,
73+ basePackageJSON : {
74+ dependencies : {
75+ '@tanstack/react-router' : 'latest' ,
76+ '@tanstack/react-router-devtools' : 'latest' ,
77+ '@tanstack/react-router-ssr-query' : 'latest' ,
78+ '@tanstack/react-start' : 'latest' ,
79+ } ,
80+ devDependencies : { } ,
81+ } ,
82+ optionalPackages : {
83+ typescript : { } ,
84+ tailwindcss : { } ,
85+ 'file-router' : {
86+ dependencies : {
87+ '@tanstack/router-plugin' : '^1.132.0' ,
88+ } ,
89+ devDependencies : {
90+ '@tanstack/router-cli' : '^1.132.0' ,
91+ } ,
92+ } ,
93+ } ,
94+ } as unknown as Framework ,
95+ } as unknown as Options )
96+
97+ expect ( packageJSON . dependencies ) . toEqual ( {
98+ '@tanstack/react-router' : 'latest' ,
99+ '@tanstack/react-router-devtools' : 'latest' ,
100+ '@tanstack/router-core' : 'latest' ,
101+ } )
102+ expect ( packageJSON . devDependencies ) . toEqual ( {
103+ '@tanstack/router-cli' : '^1.132.0' ,
104+ '@tanstack/router-plugin' : '^1.132.0' ,
105+ } )
106+ } )
107+
108+ it ( 'should move router-plugin to devDependencies for Solid router-only package.json' , ( ) => {
109+ const packageJSON = createPackageJSON ( {
110+ chosenAddOns : [ ] ,
111+ mode : 'file-router' ,
112+ routerOnly : true ,
113+ typescript : true ,
114+ tailwind : true ,
115+ projectName : 'test' ,
116+ framework : {
117+ id : 'solid' ,
118+ basePackageJSON : {
119+ scripts : {
120+ start : 'node .output/server/index.mjs' ,
121+ } ,
122+ dependencies : {
123+ '@tanstack/solid-router' : 'latest' ,
124+ '@tanstack/solid-router-devtools' : 'latest' ,
125+ '@tanstack/solid-router-ssr-query' : 'latest' ,
126+ '@tanstack/solid-start' : 'latest' ,
127+ } ,
128+ devDependencies : { } ,
129+ } ,
130+ optionalPackages : {
131+ typescript : { } ,
132+ tailwindcss : { } ,
133+ 'file-router' : {
134+ dependencies : {
135+ '@tanstack/router-plugin' : '^1.133.21' ,
136+ } ,
137+ devDependencies : {
138+ '@tanstack/router-cli' : '^1.133.21' ,
139+ } ,
140+ } ,
141+ } ,
142+ } as unknown as Framework ,
143+ } as unknown as Options )
144+
145+ expect ( packageJSON . dependencies ) . toEqual ( {
146+ '@tanstack/router-core' : 'latest' ,
147+ '@tanstack/solid-router' : 'latest' ,
148+ '@tanstack/solid-router-devtools' : 'latest' ,
149+ } )
150+ expect ( packageJSON . devDependencies ) . toEqual ( {
151+ '@tanstack/router-cli' : '^1.133.21' ,
152+ '@tanstack/router-plugin' : '^1.133.21' ,
153+ } )
154+ expect ( packageJSON . scripts ) . toEqual ( { } )
155+ } )
156+
63157 it ( 'should include sqlite build approval for pnpm templates' , ( ) => {
64158 const packageJSON = createPackageJSON ( {
65159 chosenAddOns : [
0 commit comments