@@ -12,10 +12,9 @@ const merge2 = require("merge2");
12
12
const mkdirp = require ( "mkdirp" ) ;
13
13
const { src, dest, task, parallel, series, watch } = require ( "gulp" ) ;
14
14
const { append, transform } = require ( "gulp-insert" ) ;
15
- const { browserify } = require ( "./scripts/build/browserify" ) ;
16
15
const { prependFile } = require ( "./scripts/build/prepend" ) ;
17
- const { exec, readJson, needsUpdate, getDiffTool, getDirSize, flatten , rm } = require ( "./scripts/build/utils" ) ;
18
- const { runConsoleTests, cleanTestDirs , writeTestConfigFile , refBaseline, localBaseline, refRwcBaseline, localRwcBaseline } = require ( "./scripts/build/tests" ) ;
16
+ const { exec, readJson, needsUpdate, getDiffTool, getDirSize, rm } = require ( "./scripts/build/utils" ) ;
17
+ const { runConsoleTests, refBaseline, localBaseline, refRwcBaseline, localRwcBaseline } = require ( "./scripts/build/tests" ) ;
19
18
const { buildProject, cleanProject, watchProject } = require ( "./scripts/build/projects" ) ;
20
19
const cmdLineOptions = require ( "./scripts/build/options" ) ;
21
20
@@ -114,18 +113,8 @@ const localPreBuild = parallel(generateLibs, series(buildScripts, generateDiagno
114
113
const preBuild = cmdLineOptions . lkg ? lkgPreBuild : localPreBuild ;
115
114
116
115
const buildServices = ( ( ) => {
117
- // flatten the services project
118
- const flattenServicesConfig = async ( ) => flatten ( "src/services/tsconfig.json" , "built/local/typescriptServices.tsconfig.json" , {
119
- compilerOptions : {
120
- "removeComments" : false ,
121
- "stripInternal" : true ,
122
- "declarationMap" : false ,
123
- "outFile" : "typescriptServices.out.js"
124
- }
125
- } ) ;
126
-
127
116
// build typescriptServices.out.js
128
- const buildTypescriptServicesOut = ( ) => buildProject ( "built/local/ typescriptServices. tsconfig.json" , cmdLineOptions ) ;
117
+ const buildTypescriptServicesOut = ( ) => buildProject ( "src/ typescriptServices/ tsconfig.json" , cmdLineOptions ) ;
129
118
130
119
// create typescriptServices.js
131
120
const createTypescriptServicesJs = ( ) => src ( "built/local/typescriptServices.out.js" )
@@ -167,13 +156,13 @@ const buildServices = (() => {
167
156
. pipe ( dest ( "built/local" ) ) ;
168
157
169
158
return series (
170
- flattenServicesConfig ,
171
159
buildTypescriptServicesOut ,
172
160
createTypescriptServicesJs ,
173
161
createTypescriptServicesDts ,
174
162
createTypescriptJs ,
175
163
createTypescriptDts ,
176
- createTypescriptStandaloneDts ) ;
164
+ createTypescriptStandaloneDts ,
165
+ ) ;
177
166
} ) ( ) ;
178
167
task ( "services" , series ( preBuild , buildServices ) ) ;
179
168
task ( "services" ) . description = "Builds the language service" ;
@@ -186,13 +175,13 @@ const cleanServices = async () => {
186
175
await cleanProject ( "built/local/typescriptServices.tsconfig.json" ) ;
187
176
}
188
177
await del ( [
189
- "built/local/typescriptServices.tsconfig.json" ,
190
178
"built/local/typescriptServices.out.js" ,
191
179
"built/local/typescriptServices.out.d.ts" ,
180
+ "built/local/typescriptServices.out.tsbuildinfo" ,
192
181
"built/local/typescriptServices.js" ,
193
182
"built/local/typescript.js" ,
194
183
"built/local/typescript.d.ts" ,
195
- "built/local/typescript_standalone.d.ts" ,
184
+ "built/local/typescript_standalone.d.ts"
196
185
] ) ;
197
186
} ;
198
187
cleanTasks . push ( cleanServices ) ;
@@ -248,20 +237,8 @@ task("watch-min").flags = {
248
237
}
249
238
250
239
const buildLssl = ( ( ) => {
251
- // flatten the server project
252
- const flattenTsServerProject = async ( ) => flatten ( "src/tsserver/tsconfig.json" , "built/local/tsserverlibrary.tsconfig.json" , {
253
- exclude : [ "src/tsserver/server.ts" ] ,
254
- compilerOptions : {
255
- "removeComments" : false ,
256
- "stripInternal" : true ,
257
- "declaration" : true ,
258
- "declarationMap" : false ,
259
- "outFile" : "tsserverlibrary.out.js"
260
- }
261
- } ) ;
262
-
263
240
// build tsserverlibrary.out.js
264
- const buildServerLibraryOut = ( ) => buildProject ( "built/local/ tsserverlibrary. tsconfig.json" , cmdLineOptions ) ;
241
+ const buildServerLibraryOut = ( ) => buildProject ( "src/ tsserverlibrary/ tsconfig.json" , cmdLineOptions ) ;
265
242
266
243
// create tsserverlibrary.js
267
244
const createServerLibraryJs = ( ) => src ( "built/local/tsserverlibrary.out.js" )
@@ -282,10 +259,10 @@ const buildLssl = (() => {
282
259
. pipe ( dest ( "built/local" ) ) ;
283
260
284
261
return series (
285
- flattenTsServerProject ,
286
262
buildServerLibraryOut ,
287
263
createServerLibraryJs ,
288
- createServerLibraryDts ) ;
264
+ createServerLibraryDts ,
265
+ ) ;
289
266
} ) ( ) ;
290
267
task ( "lssl" , series ( preBuild , buildLssl ) ) ;
291
268
task ( "lssl" ) . description = "Builds language service server library" ;
@@ -298,9 +275,9 @@ const cleanLssl = async () => {
298
275
await cleanProject ( "built/local/tsserverlibrary.tsconfig.json" ) ;
299
276
}
300
277
await del ( [
301
- "built/local/tsserverlibrary.tsconfig.json" ,
302
278
"built/local/tsserverlibrary.out.js" ,
303
279
"built/local/tsserverlibrary.out.d.ts" ,
280
+ "built/local/tsserverlibrary.out.tsbuildinfo" ,
304
281
"built/local/tsserverlibrary.js" ,
305
282
"built/local/tsserverlibrary.d.ts" ,
306
283
] ) ;
@@ -373,9 +350,34 @@ task("lint").flags = {
373
350
" --f[iles]=<regex>" : "pattern to match files to lint" ,
374
351
} ;
375
352
353
+ const buildCancellationToken = ( ) => buildProject ( "src/cancellationToken" ) ;
354
+ const cleanCancellationToken = ( ) => cleanProject ( "src/cancellationToken" ) ;
355
+ cleanTasks . push ( cleanCancellationToken ) ;
356
+
357
+ const buildTypingsInstaller = ( ) => buildProject ( "src/typingsInstaller" ) ;
358
+ const cleanTypingsInstaller = ( ) => cleanProject ( "src/typingsInstaller" ) ;
359
+ cleanTasks . push ( cleanTypingsInstaller ) ;
360
+
361
+ const buildWatchGuard = ( ) => buildProject ( "src/watchGuard" ) ;
362
+ const cleanWatchGuard = ( ) => cleanProject ( "src/watchGuard" ) ;
363
+ cleanTasks . push ( cleanWatchGuard ) ;
364
+
365
+ const generateTypesMap = ( ) => src ( "src/server/typesMap.json" )
366
+ . pipe ( newer ( "built/local/typesMap.json" ) )
367
+ . pipe ( transform ( contents => ( JSON . parse ( contents ) , contents ) ) ) // validates typesMap.json is valid JSON
368
+ . pipe ( dest ( "built/local" ) ) ;
369
+ task ( "generate-types-map" , generateTypesMap ) ;
370
+
371
+ const cleanTypesMap = ( ) => del ( "built/local/typesMap.json" ) ;
372
+ cleanTasks . push ( cleanTypesMap ) ;
373
+
374
+ const buildOtherOutputs = parallel ( buildCancellationToken , buildTypingsInstaller , buildWatchGuard , generateTypesMap ) ;
375
+ task ( "other-outputs" , series ( preBuild , buildOtherOutputs ) ) ;
376
+ task ( "other-outputs" ) . description = "Builds miscelaneous scripts and documents distributed with the LKG" ;
377
+
376
378
const buildFoldStart = async ( ) => { if ( fold . isTravis ( ) ) console . log ( fold . start ( "build" ) ) ; } ;
377
379
const buildFoldEnd = async ( ) => { if ( fold . isTravis ( ) ) console . log ( fold . end ( "build" ) ) ; } ;
378
- task ( "local" , series ( buildFoldStart , preBuild , parallel ( localize , buildTsc , buildServer , buildServices , buildLssl ) , buildFoldEnd ) ) ;
380
+ task ( "local" , series ( buildFoldStart , preBuild , parallel ( localize , buildTsc , buildServer , buildServices , buildLssl , buildOtherOutputs ) , buildFoldEnd ) ) ;
379
381
task ( "local" ) . description = "Builds the full compiler and services" ;
380
382
task ( "local" ) . flags = {
381
383
" --built" : "Compile using the built version of the compiler."
@@ -429,44 +431,6 @@ task("runtests-parallel").flags = {
429
431
" --built" : "Compile using the built version of the compiler." ,
430
432
} ;
431
433
432
- const buildWebTestServer = ( ) => buildProject ( "tests/webTestServer.tsconfig.json" ) ;
433
- const cleanWebTestServer = ( ) => cleanProject ( "tests/webTestServer.tsconfig.json" ) ;
434
- cleanTasks . push ( cleanWebTestServer ) ;
435
-
436
- const browserifyTests = ( ) => src ( [ "built/local/run.js" ] , { base : "built/local" } )
437
- . pipe ( newer ( "built/local/bundle.js" ) )
438
- . pipe ( sourcemaps . init ( { loadMaps : true } ) )
439
- . pipe ( browserify ( ) )
440
- . pipe ( rename ( "bundle.js" ) )
441
- . pipe ( sourcemaps . write ( "." , /**@type {* }*/ ( { includeContent : false , destPath : "built/local" } ) ) )
442
- . pipe ( dest ( "built/local" ) ) ;
443
-
444
- const runtestsBrowser = async ( ) => {
445
- await cleanTestDirs ( ) ;
446
- const { tests, runners, light } = cmdLineOptions ;
447
- const testConfigFile = "test.config" ;
448
- await del ( [ testConfigFile ] ) ;
449
- if ( tests || runners || light ) {
450
- writeTestConfigFile ( tests , runners , light ) ;
451
- }
452
- const args = [ "tests/webTestServer.js" ] ;
453
- if ( cmdLineOptions . browser ) {
454
- args . push ( cmdLineOptions . browser ) ;
455
- }
456
- if ( tests ) {
457
- args . push ( JSON . stringify ( tests ) ) ;
458
- }
459
- await exec ( process . execPath , args ) ;
460
- } ;
461
-
462
- task ( "runtests-browser" , series ( preBuild , parallel ( buildTests , buildServices , buildLssl , buildWebTestServer ) , browserifyTests , runtestsBrowser ) ) ;
463
- task ( "runtests-browser" ) . description = "Runs the tests using the built run.js file like 'gulp runtests'." ;
464
- task ( "runtests-browser" ) . flags = {
465
- "-t --tests=<regex>" : "pattern for tests to run" ,
466
- "-b --browser=<browser>" : "Either 'IE' or 'chrome'" ,
467
- " --built" : "Compile using the built version of the compiler." ,
468
- } ;
469
-
470
434
task ( "diff" , ( ) => exec ( getDiffTool ( ) , [ refBaseline , localBaseline ] , { ignoreExitCode : true } ) ) ;
471
435
task ( "diff" ) . description = "Diffs the compiler baselines using the diff tool specified by the 'DIFF' environment variable" ;
472
436
@@ -500,16 +464,6 @@ cleanTasks.push(cleanWebHost);
500
464
task ( "clean-webhost" , cleanWebHost ) ;
501
465
task ( "clean-webhost" ) . description = "Cleans the outputs of the tsc web host" ;
502
466
503
- // TODO(rbuckton): Determine if 'perftsc' is still in use.
504
- const buildPerfTsc = ( ) => buildProject ( "tests/perftsc.tsconfig.json" ) ;
505
- task ( "perftsc" , series ( lkgPreBuild , buildPerfTsc ) ) ;
506
- task ( "perftsc" ) . description = "Builds augmented version of the compiler for perf tests" ;
507
-
508
- const cleanPerfTsc = ( ) => cleanProject ( "tests/perftsc.tsconfig.json" ) ;
509
- cleanTasks . push ( cleanPerfTsc ) ;
510
- task ( "clean-perftsc" , cleanPerfTsc ) ;
511
- task ( "clean-perftsc" ) . description = "Cleans the outputs of the perftsc project" ;
512
-
513
467
const buildLoggedIO = async ( ) => {
514
468
mkdirp . sync ( "built/local/temp" ) ;
515
469
await exec ( process . execPath , [ "lib/tsc" , "--types" , "--target" , "es5" , "--lib" , "es5" , "--outdir" , "built/local/temp" , "src/harness/loggedIO.ts" ] ) ;
@@ -551,28 +505,6 @@ const buildReleaseTsc = () => buildProject("src/tsc/tsconfig.release.json");
551
505
const cleanReleaseTsc = ( ) => cleanProject ( "src/tsc/tsconfig.release.json" ) ;
552
506
cleanTasks . push ( cleanReleaseTsc ) ;
553
507
554
- const buildCancellationToken = ( ) => buildProject ( "src/cancellationToken" ) ;
555
- const cleanCancellationToken = ( ) => cleanProject ( "src/cancellationToken" ) ;
556
- cleanTasks . push ( cleanCancellationToken ) ;
557
-
558
- const buildTypingsInstaller = ( ) => buildProject ( "src/typingsInstaller" ) ;
559
- const cleanTypingsInstaller = ( ) => cleanProject ( "src/typingsInstaller" ) ;
560
- cleanTasks . push ( cleanTypingsInstaller ) ;
561
-
562
- const buildWatchGuard = ( ) => buildProject ( "src/watchGuard" ) ;
563
- const cleanWatchGuard = ( ) => cleanProject ( "src/watchGuard" ) ;
564
- cleanTasks . push ( cleanWatchGuard ) ;
565
-
566
- // TODO(rbuckton): This task isn't triggered by any other task. Is it still needed?
567
- const generateTypesMap = ( ) => src ( "src/server/typesMap.json" )
568
- . pipe ( newer ( "built/local/typesMap.json" ) )
569
- . pipe ( transform ( contents => ( JSON . parse ( contents ) , contents ) ) ) // validates typesMap.json is valid JSON
570
- . pipe ( dest ( "built/local" ) ) ;
571
- task ( "generate-types-map" , generateTypesMap ) ;
572
-
573
- const cleanTypesMap = ( ) => del ( "built/local/typesMap.json" ) ;
574
- cleanTasks . push ( cleanTypesMap ) ;
575
-
576
508
const cleanBuilt = ( ) => del ( "built" ) ;
577
509
578
510
const produceLKG = async ( ) => {
@@ -602,7 +534,7 @@ const produceLKG = async () => {
602
534
}
603
535
} ;
604
536
605
- task ( "LKG" , series ( lkgPreBuild , parallel ( localize , buildTsc , buildServer , buildServices , buildLssl , buildCancellationToken , buildTypingsInstaller , buildWatchGuard , buildReleaseTsc ) , produceLKG ) ) ;
537
+ task ( "LKG" , series ( lkgPreBuild , parallel ( localize , buildTsc , buildServer , buildServices , buildLssl , buildOtherOutputs , buildReleaseTsc ) , produceLKG ) ) ;
606
538
task ( "LKG" ) . description = "Makes a new LKG out of the built js files" ;
607
539
task ( "LKG" ) . flags = {
608
540
" --built" : "Compile using the built version of the compiler." ,
0 commit comments