@@ -21,6 +21,7 @@ type GeneratedTemplateContext = WorkerTemplateContext & {
2121 projectName : unknown
2222 typescript : unknown
2323 tailwind : unknown
24+ blank : unknown
2425 js : unknown
2526 jsx : unknown
2627 fileRouter : unknown
@@ -62,6 +63,7 @@ type WorkerAddOnPhase = WorkerAddOnManifest['phase']
6263type WorkerAddOnCategory = NonNullable < WorkerAddOnManifest [ 'category' ] >
6364type WorkerAddOnExclusive = NonNullable < WorkerAddOnManifest [ 'exclusive' ] > [ number ]
6465type WorkerAddOnEnvVar = NonNullable < WorkerAddOnManifest [ 'envVars' ] > [ number ]
66+ type WorkerAddOnPartner = NonNullable < WorkerAddOnManifest [ 'partner' ] >
6567type WorkerAddOnOptions = NonNullable < WorkerAddOnManifest [ 'options' ] >
6668type WorkerAddOnOption = WorkerAddOnOptions [ string ]
6769type WorkerAddOnPackageAdditions = NonNullable <
@@ -71,6 +73,10 @@ type GeneratedStringRecord = Record<string, string | undefined>
7173type GeneratedAddOnPackageAdditions = {
7274 dependencies ?: GeneratedStringRecord
7375 devDependencies ?: GeneratedStringRecord
76+ engines ?: GeneratedStringRecord
77+ pnpm ?: {
78+ onlyBuiltDependencies ?: Array < string >
79+ }
7480 scripts ?: GeneratedStringRecord
7581}
7682type GeneratedAddOnEnvVar = Omit < WorkerAddOnEnvVar , 'file' > & {
@@ -79,6 +85,9 @@ type GeneratedAddOnEnvVar = Omit<WorkerAddOnEnvVar, 'file'> & {
7985type GeneratedAddOnOption = Omit < WorkerAddOnOption , 'type' > & {
8086 type : string
8187}
88+ type GeneratedAddOnPartner = Omit < WorkerAddOnPartner , 'tier' > & {
89+ tier : string
90+ }
8291type GeneratedAddOnOptions = Record < string , GeneratedAddOnOption | undefined >
8392type GeneratedAddOnFields = {
8493 type : string
@@ -87,6 +96,7 @@ type GeneratedAddOnFields = {
8796 exclusive ?: Array < string >
8897 envVars ?: Array < GeneratedAddOnEnvVar >
8998 options ?: GeneratedAddOnOptions
99+ partner ?: GeneratedAddOnPartner
90100}
91101type GeneratedAddOnManifest = Omit <
92102 WorkerAddOnManifest ,
@@ -96,6 +106,7 @@ type GeneratedAddOnManifest = Omit<
96106 | 'exclusive'
97107 | 'envVars'
98108 | 'options'
109+ | 'partner'
99110 | 'packageAdditions'
100111> &
101112 GeneratedAddOnFields & {
@@ -109,6 +120,7 @@ type GeneratedAddOnMetadata = Omit<
109120 | 'exclusive'
110121 | 'envVars'
111122 | 'options'
123+ | 'partner'
112124 | 'packageAdditions'
113125> &
114126 GeneratedAddOnFields & {
@@ -136,6 +148,7 @@ function getGeneratedTemplateContext(
136148 projectName : context . projectName ,
137149 typescript : context . typescript ,
138150 tailwind : context . tailwind ,
151+ blank : context . blank ,
139152 js : context . js ,
140153 jsx : context . jsx ,
141154 fileRouter : context . fileRouter ,
@@ -238,6 +251,28 @@ function getAddOnExclusive(exclusive: string): WorkerAddOnExclusive {
238251 }
239252}
240253
254+ function getAddOnPartnerTier ( tier : string ) : WorkerAddOnPartner [ 'tier' ] {
255+ switch ( tier ) {
256+ case 'gold' :
257+ case 'silver' :
258+ case 'bronze' :
259+ return tier
260+ default :
261+ throw new Error ( `Unsupported partner tier: ${ tier } ` )
262+ }
263+ }
264+
265+ function getAddOnPartner (
266+ partner : GeneratedAddOnPartner | undefined ,
267+ ) : WorkerAddOnManifest [ 'partner' ] {
268+ if ( ! partner ) return undefined
269+
270+ return {
271+ ...partner ,
272+ tier : getAddOnPartnerTier ( partner . tier ) ,
273+ }
274+ }
275+
241276function getAddOnEnvFile ( file : string | undefined ) : WorkerAddOnEnvVar [ 'file' ] {
242277 switch ( file ) {
243278 case undefined :
@@ -310,6 +345,8 @@ function getPackageAdditions(
310345 const normalizedPackageAdditions : WorkerAddOnPackageAdditions = {
311346 dependencies : getStringRecord ( packageAdditions . dependencies ) ,
312347 devDependencies : getStringRecord ( packageAdditions . devDependencies ) ,
348+ engines : getStringRecord ( packageAdditions . engines ) ,
349+ pnpm : packageAdditions . pnpm ,
313350 scripts : getStringRecord ( packageAdditions . scripts ) ,
314351 }
315352
@@ -327,6 +364,7 @@ function getAddOnMetadata(
327364 exclusive : addOn . exclusive ?. map ( getAddOnExclusive ) ,
328365 envVars : getAddOnEnvVars ( addOn . envVars ) ,
329366 options : getAddOnOptions ( addOn . options ) ,
367+ partner : getAddOnPartner ( addOn . partner ) ,
330368 packageAdditions : getPackageAdditions ( addOn . packageAdditions ) ,
331369 }
332370}
@@ -340,6 +378,7 @@ function getAddOnManifest(addOn: GeneratedAddOnManifest): WorkerAddOnManifest {
340378 exclusive : addOn . exclusive ?. map ( getAddOnExclusive ) ,
341379 envVars : getAddOnEnvVars ( addOn . envVars ) ,
342380 options : getAddOnOptions ( addOn . options ) ,
381+ partner : getAddOnPartner ( addOn . partner ) ,
343382 packageAdditions : getPackageAdditions ( addOn . packageAdditions ) ,
344383 }
345384}
@@ -376,6 +415,12 @@ function loadAddOn(
376415 }
377416}
378417
418+ function defineAddOnLoaders (
419+ loaders : Record < string , ( ) => Promise < WorkerAddOnManifestModule > > ,
420+ ) {
421+ return loaders
422+ }
423+
379424const frameworkLoaders : Record <
380425 string ,
381426 ( ) => Promise < WorkerFrameworkManifestModule >
@@ -388,7 +433,7 @@ const frameworkLoaders: Record<
388433 ) ,
389434}
390435
391- const reactAddOnLoaders = {
436+ const reactAddOnLoaders = defineAddOnLoaders ( {
392437 ai : loadAddOn ( ( ) =>
393438 import ( '@tanstack/create/worker-manifest/frameworks/react/add-ons/ai' ) ,
394439 ) ,
@@ -512,9 +557,9 @@ const reactAddOnLoaders = {
512557 workos : loadAddOn ( ( ) =>
513558 import ( '@tanstack/create/worker-manifest/frameworks/react/add-ons/workos' ) ,
514559 ) ,
515- } satisfies Record < string , ( ) => Promise < WorkerAddOnManifestModule > >
560+ } )
516561
517- const solidAddOnLoaders = {
562+ const solidAddOnLoaders = defineAddOnLoaders ( {
518563 'better-auth' : loadAddOn ( ( ) =>
519564 import (
520565 '@tanstack/create/worker-manifest/frameworks/solid/add-ons/better-auth'
@@ -571,7 +616,7 @@ const solidAddOnLoaders = {
571616 '@tanstack/create/worker-manifest/frameworks/solid/add-ons/tanstack-query'
572617 ) ,
573618 ) ,
574- } satisfies Record < string , ( ) => Promise < WorkerAddOnManifestModule > >
619+ } )
575620
576621const addOnLoaders : Record <
577622 string ,
0 commit comments