@@ -110,28 +110,32 @@ async function main() {
110110 console . log ( '\n1. Resolving state overlay...' ) ;
111111 await exec ( 'npm' , [ 'run' , 'overlay:resolve' , '-w' , '@safety-net/schemas' , '--' , `--state=${ state } ` ] ) ;
112112
113- // Step 2: Generate modular Zod schemas from overlay-resolved specs
114- console . log ( '\n2. Generating modular Zod schemas...' ) ;
115- const specDir = join ( repoRoot , 'packages' , 'schemas' , 'openapi' , 'resolved' ) ;
116- const generatorScript = join ( clientsRoot , 'scripts' , 'generate-modular-zod.js' ) ;
117- const domains = [ 'applications' , 'households' , 'incomes' , 'persons' ] ;
118-
119- for ( const domain of domains ) {
120- const specPath = join ( specDir , `${ domain } .yaml` ) ;
121- const outputPath = join ( srcDir , `${ domain } .ts` ) ;
122- if ( existsSync ( specPath ) ) {
123- await exec ( 'node' , [ generatorScript , specPath , outputPath ] ) ;
113+ // Step 2: Generate Zodios clients
114+ console . log ( '\n2. Generating Zodios clients...' ) ;
115+ await exec ( 'npm' , [ 'run' , 'clients:generate' ] ) ;
116+
117+ // Step 3: Copy generated TypeScript files to src/
118+ console . log ( '\n3. Copying generated clients...' ) ;
119+ const generatedDir = join ( clientsRoot , 'generated' , 'clients' , 'zodios' ) ;
120+ const clientFiles = [ 'applications.ts' , 'households.ts' , 'incomes.ts' , 'persons.ts' ] ;
121+
122+ for ( const file of clientFiles ) {
123+ const srcPath = join ( generatedDir , file ) ;
124+ const destPath = join ( srcDir , file ) ;
125+ if ( existsSync ( srcPath ) ) {
126+ cpSync ( srcPath , destPath ) ;
127+ console . log ( ` Copied ${ file } ` ) ;
124128 } else {
125- console . warn ( ` Warning: ${ specPath } not found` ) ;
129+ console . warn ( ` Warning: ${ file } not found` ) ;
126130 }
127131 }
128132
129133 // Copy search helpers utility
130134 cpSync ( join ( templatesDir , 'search-helpers.ts' ) , join ( srcDir , 'search-helpers.ts' ) ) ;
131135 console . log ( ' Copied search-helpers.ts' ) ;
132136
133- // Step 3 : Generate package.json and README from templates
134- console . log ( '\n3 . Generating package metadata ...' ) ;
137+ // Step 4 : Generate package.json from template
138+ console . log ( '\n4 . Generating package.json ...' ) ;
135139 const packageTemplate = readFileSync ( join ( templatesDir , 'package.template.json' ) , 'utf8' ) ;
136140 const packageJson = packageTemplate
137141 . replace ( / \{ \{ S T A T E \} \} / g, state )
@@ -140,27 +144,20 @@ async function main() {
140144 writeFileSync ( join ( outputDir , 'package.json' ) , packageJson ) ;
141145 console . log ( ' Generated package.json' ) ;
142146
143- const readmeTemplate = readFileSync ( join ( templatesDir , 'README.template.md' ) , 'utf8' ) ;
144- const readme = readmeTemplate
145- . replace ( / \{ \{ S T A T E \} \} / g, state )
146- . replace ( / \{ \{ S T A T E _ T I T L E \} \} / g, stateTitle ) ;
147- writeFileSync ( join ( outputDir , 'README.md' ) , readme ) ;
148- console . log ( ' Generated README.md' ) ;
149-
150- // Step 4: Generate index.ts from template
151- console . log ( '\n4. Generating index.ts...' ) ;
147+ // Step 5: Generate index.ts from template
148+ console . log ( '\n5. Generating index.ts...' ) ;
152149 const indexTemplate = readFileSync ( join ( templatesDir , 'index.template.ts' ) , 'utf8' ) ;
153150 const indexTs = indexTemplate . replace ( / \{ \{ S T A T E _ T I T L E \} \} / g, stateTitle ) ;
154151 writeFileSync ( join ( srcDir , 'index.ts' ) , indexTs ) ;
155152 console . log ( ' Generated index.ts' ) ;
156153
157- // Step 5 : Copy tsconfig for compilation
158- console . log ( '\n5 . Setting up TypeScript compilation...' ) ;
154+ // Step 6 : Copy tsconfig for compilation
155+ console . log ( '\n6 . Setting up TypeScript compilation...' ) ;
159156 cpSync ( join ( templatesDir , 'tsconfig.build.json' ) , join ( outputDir , 'tsconfig.json' ) ) ;
160157 console . log ( ' Copied tsconfig.json' ) ;
161158
162- // Step 6 : Compile TypeScript
163- console . log ( '\n6 . Compiling TypeScript...' ) ;
159+ // Step 7 : Compile TypeScript
160+ console . log ( '\n7 . Compiling TypeScript...' ) ;
164161 await exec ( 'npx' , [ 'tsc' ] , { cwd : outputDir } ) ;
165162 console . log ( ' Compilation complete' ) ;
166163
0 commit comments