@@ -34,64 +34,56 @@ export async function processTypegenWorkerStream(
3434 let code = ''
3535
3636 const spin = spinner ( ) . start ( `Loading schema…` )
37+
3738 try {
38- try {
39- await receiver . event . loadedSchema ( )
40- spin . succeed ( `Schema loaded from ${ formatPath ( schema ?? '' ) } ` )
41- } catch ( err ) {
42- throw new Error ( `Schema processing failed ${ err } ` , { cause : err } )
43- }
39+ await receiver . event . loadedSchema ( )
40+ spin . succeed ( `Schema loaded from ${ formatPath ( schema ?? '' ) } ` )
4441
4542 spin . start ( 'Generating schema types…' )
43+ const { expectedFileCount} = await receiver . event . typegenStarted ( )
44+ const { schemaTypeDeclarations} = await receiver . event . generatedSchemaTypes ( )
45+ const schemaTypesCount = schemaTypeDeclarations . length
46+
47+ spin . text = 'Generating query types…'
48+
4649 let queriesCount = 0
4750 let evaluatedFiles = 0
4851 let filesWithErrors = 0
4952 let queryFilesCount = 0
5053 let typeNodesGenerated = 0
5154 let unknownTypeNodesGenerated = 0
5255 let emptyUnionTypeNodesGenerated = 0
53- let schemaTypesCount = 0
54-
55- try {
56- const { expectedFileCount} = await receiver . event . typegenStarted ( )
57- const { schemaTypeDeclarations} = await receiver . event . generatedSchemaTypes ( )
58- schemaTypesCount = schemaTypeDeclarations . length
59-
60- spin . text = 'Generating query types…'
61-
62- for await ( const { errors, queries} of receiver . stream . evaluatedModules ( ) ) {
63- evaluatedFiles ++
64- queriesCount += queries . length
65- queryFilesCount += queries . length > 0 ? 1 : 0
66- filesWithErrors += errors . length > 0 ? 1 : 0
67-
68- for ( const { stats} of queries ) {
69- typeNodesGenerated += stats . allTypes
70- unknownTypeNodesGenerated += stats . unknownTypes
71- emptyUnionTypeNodesGenerated += stats . emptyUnions
72- }
73-
74- for ( const error of errors ) {
75- spin . fail ( getMessage ( error ) )
76- }
77-
78- if ( ! spin . isSpinning ) {
79- spin . start ( )
80- }
81-
82- spin . text =
83- `Generating query types… (${ percent ( evaluatedFiles / expectedFileCount ) } )\n` +
84- ` └─ Processed ${ count ( evaluatedFiles ) } of ${ count ( expectedFileCount , 'files' ) } . ` +
85- `Found ${ count ( queriesCount , 'queries' , 'query' ) } from ${ count ( queryFilesCount , 'files' ) } .`
56+
57+ for await ( const { errors, queries} of receiver . stream . evaluatedModules ( ) ) {
58+ evaluatedFiles ++
59+ queriesCount += queries . length
60+ queryFilesCount += queries . length > 0 ? 1 : 0
61+ filesWithErrors += errors . length > 0 ? 1 : 0
62+
63+ for ( const { stats} of queries ) {
64+ typeNodesGenerated += stats . allTypes
65+ unknownTypeNodesGenerated += stats . unknownTypes
66+ emptyUnionTypeNodesGenerated += stats . emptyUnions
8667 }
8768
88- const result = await receiver . event . typegenComplete ( )
89- code = `${ generatedFileWarning } ${ result . code } `
90- await writeFile ( generates , code )
91- } catch ( err ) {
92- throw new Error ( 'Type generation failed' , { cause : err } )
69+ for ( const error of errors ) {
70+ spin . fail ( getMessage ( error ) )
71+ }
72+
73+ if ( ! spin . isSpinning ) {
74+ spin . start ( )
75+ }
76+
77+ spin . text =
78+ `Generating query types… (${ percent ( evaluatedFiles / expectedFileCount ) } )\n` +
79+ ` └─ Processed ${ count ( evaluatedFiles ) } of ${ count ( expectedFileCount , 'files' ) } . ` +
80+ `Found ${ count ( queriesCount , 'queries' , 'query' ) } from ${ count ( queryFilesCount , 'files' ) } .`
9381 }
9482
83+ const result = await receiver . event . typegenComplete ( )
84+ code = `${ generatedFileWarning } ${ result . code } `
85+ await writeFile ( generates , code )
86+
9587 let formattingError = false
9688 if ( formatGeneratedCode ) {
9789 spin . text = `Formatting generated types with prettier…`
@@ -143,7 +135,7 @@ export async function processTypegenWorkerStream(
143135 code,
144136 }
145137 } catch ( err ) {
146- spin . fail ( ` ${ err } ` )
138+ spin . fail ( )
147139 debug ( 'error generating types' , err )
148140 throw err
149141 } finally {
0 commit comments