@@ -84,23 +84,19 @@ export const generateLibs = task({
84
84
description : "Builds the library targets" ,
85
85
run : async ( ) => {
86
86
await fs . promises . mkdir ( "./built/local" , { recursive : true } ) ;
87
- const allSources = libs . flatMap ( ( lib ) => lib . sources ) ;
88
- const allTargets = libs . flatMap ( ( lib ) => lib . target ) ;
89
- if ( needsUpdate ( [ copyright , ...allSources ] , allTargets ) ) {
90
- for ( const lib of libs ) {
91
- let output = getCopyrightHeader ( ) ;
92
-
93
- await fs . promises . writeFile ( lib . target , getCopyrightHeader ( ) ) ;
94
- for ( const source of lib . sources ) {
95
- const contents = await fs . promises . readFile ( source , "utf-8" ) ;
96
- // TODO(jakebailey): "\n\n" is for compatibility with our current tests; our test baselines
97
- // are sensitive to the positions of things in the lib files. Eventually remove this,
98
- // or remove lib.d.ts line numbers from our baselines.
99
- output += "\n\n" + contents . replace ( / \r \n / g, "\n" ) ;
100
- }
101
-
102
- await fs . promises . writeFile ( lib . target , output ) ;
87
+ for ( const lib of libs ) {
88
+ let output = getCopyrightHeader ( ) ;
89
+
90
+ await fs . promises . writeFile ( lib . target , getCopyrightHeader ( ) ) ;
91
+ for ( const source of lib . sources ) {
92
+ const contents = await fs . promises . readFile ( source , "utf-8" ) ;
93
+ // TODO(jakebailey): "\n\n" is for compatibility with our current tests; our test baselines
94
+ // are sensitive to the positions of things in the lib files. Eventually remove this,
95
+ // or remove lib.d.ts line numbers from our baselines.
96
+ output += "\n\n" + contents . replace ( / \r \n / g, "\n" ) ;
103
97
}
98
+
99
+ await fs . promises . writeFile ( lib . target , output ) ;
104
100
}
105
101
} ,
106
102
} ) ;
@@ -121,9 +117,7 @@ export const generateDiagnostics = task({
121
117
name : "generate-diagnostics" ,
122
118
description : "Generates a diagnostic file in TypeScript based on an input JSON file" ,
123
119
run : async ( ) => {
124
- if ( needsUpdate ( diagnosticMessagesJson , [ diagnosticMessagesGeneratedJson , diagnosticInformationMapTs ] ) ) {
125
- await exec ( process . execPath , [ "scripts/processDiagnosticMessages.mjs" , diagnosticMessagesJson ] ) ;
126
- }
120
+ await exec ( process . execPath , [ "scripts/processDiagnosticMessages.mjs" , diagnosticMessagesJson ] ) ;
127
121
}
128
122
} ) ;
129
123
@@ -156,9 +150,11 @@ const localizationTargets = localizationDirectories
156
150
157
151
const localize = task ( {
158
152
name : "localize" ,
153
+ dependencies : [ generateDiagnostics ] ,
159
154
run : async ( ) => {
160
- await fs . promises . mkdir ( "./built/local" , { recursive : true } ) ;
155
+ await fs . promises . mkdir ( "./built/local" , { recursive : true } ) ; // TODO(jakebailey): needed?
161
156
if ( needsUpdate ( diagnosticMessagesGeneratedJson , generatedLCGFile ) ) {
157
+ // TODO(jakebailey): slow; need needsUpdate to not block the builds
162
158
return exec ( process . execPath , [ "scripts/generateLocalizedDiagnosticMessages.mjs" , "src/loc/lcl" , "built/local" , diagnosticMessagesGeneratedJson ] , { ignoreExitCode : true } ) ;
163
159
}
164
160
}
@@ -535,11 +531,9 @@ export const generateTypesMap = task({
535
531
run : async ( ) => {
536
532
const source = "src/server/typesMap.json" ;
537
533
const target = "built/local/typesMap.json" ;
538
- if ( needsUpdate ( source , target ) ) {
539
- const contents = await fs . promises . readFile ( source , "utf-8" ) ;
540
- JSON . parse ( contents ) ;
541
- await fs . promises . writeFile ( target , contents ) ;
542
- }
534
+ const contents = await fs . promises . readFile ( source , "utf-8" ) ;
535
+ JSON . parse ( contents ) ; // Validates that the JSON parses.
536
+ await fs . promises . writeFile ( target , contents ) ;
543
537
}
544
538
} ) ;
545
539
@@ -554,15 +548,13 @@ cleanTasks.push(cleanTypesMap);
554
548
// it to be synced to the Azure DevOps repo, so that it can get picked up by the build
555
549
// pipeline that generates the localization artifacts that are then fed into the translation process.
556
550
const builtLocalDiagnosticMessagesGeneratedJson = "built/local/diagnosticMessages.generated.json" ;
557
- const copyBuiltLocalDiagnosticMessages = task ( {
551
+ export const copyBuiltLocalDiagnosticMessages = task ( {
558
552
name : "copy-built-local-diagnostic-messages" ,
559
553
dependencies : [ generateDiagnostics ] ,
560
554
run : async ( ) => {
561
- if ( needsUpdate ( diagnosticMessagesGeneratedJson , builtLocalDiagnosticMessagesGeneratedJson ) ) {
562
- const contents = await fs . promises . readFile ( diagnosticMessagesGeneratedJson , "utf-8" ) ;
563
- JSON . parse ( contents ) ;
564
- await fs . promises . writeFile ( builtLocalDiagnosticMessagesGeneratedJson , contents ) ;
565
- }
555
+ const contents = await fs . promises . readFile ( diagnosticMessagesGeneratedJson , "utf-8" ) ;
556
+ JSON . parse ( contents ) ; // Validates that the JSON parses.
557
+ await fs . promises . writeFile ( builtLocalDiagnosticMessagesGeneratedJson , contents ) ;
566
558
}
567
559
} ) ;
568
560
0 commit comments