11// eslint-disable-next-line no-restricted-imports
22import type { SchemaObject } from "ajv" ;
3- import * as fs from "node:fs/promises " ;
3+ import * as fs from "node:fs" ;
44import * as path from "node:path" ;
55import { URL , fileURLToPath } from "node:url" ;
66import { generateSchema } from "../schema.mjs" ;
@@ -200,7 +200,7 @@ function generateType(
200200/**
201201 * Generates manifest data models and writes them to specified path.
202202 */
203- async function generate ( schema : SchemaObject , output : string ) {
203+ function generate ( schema : SchemaObject , output : string ) {
204204 const lang = getLanguage ( output ) ;
205205 const lines = [
206206 `// This file was generated by ${ path . basename ( thisScript ) } .` ,
@@ -226,17 +226,17 @@ async function generate(schema: SchemaObject, output: string) {
226226
227227 const code = lines . join ( "\n" ) ;
228228
229- const content = await fs . readFile ( output , { encoding : "utf-8" } ) ;
229+ const content = fs . readFileSync ( output , { encoding : "utf-8" } ) ;
230230 if ( content !== code ) {
231- fs . writeFile ( output , code ) ;
231+ fs . writeFileSync ( output , code ) ;
232232 }
233233}
234234
235235function main ( ) {
236236 const schema = generateSchema ( ) ;
237237 const projectDir = fileURLToPath ( new URL ( "../.." , import . meta. url ) ) ;
238238
239- [
239+ const outputs = [
240240 path . join (
241241 projectDir ,
242242 "android" ,
@@ -252,7 +252,15 @@ function main() {
252252 ) ,
253253 path . join ( projectDir , "ios" , "ReactTestApp" , "Manifest.swift" ) ,
254254 path . join ( projectDir , "windows" , "Shared" , "Manifest.h" ) ,
255- ] . forEach ( ( output ) => generate ( schema , output ) . catch ( console . error ) ) ;
255+ ] ;
256+
257+ for ( const output of outputs ) {
258+ try {
259+ generate ( schema , output ) ;
260+ } catch ( e ) {
261+ console . error ( e ) ;
262+ }
263+ }
256264}
257265
258266main ( ) ;
0 commit comments