@@ -10,13 +10,8 @@ const insert = require("gulp-insert");
10
10
const { append } = require ( "gulp-insert" ) ;
11
11
const sourcemaps = require ( "gulp-sourcemaps" ) ;
12
12
const del = require ( "del" ) ;
13
- const browserify = require ( "browserify" ) ;
14
- const through2 = require ( "through2" ) ;
15
13
const fold = require ( "travis-fold" ) ;
16
14
const rename = require ( "gulp-rename" ) ;
17
- const convertMap = require ( "convert-source-map" ) ;
18
- const sorcery = require ( "sorcery" ) ;
19
- const Vinyl = require ( "vinyl" ) ;
20
15
const mkdirp = require ( "./scripts/build/mkdirp" ) ;
21
16
const gulp = require ( "./scripts/build/gulp" ) ;
22
17
const getDirSize = require ( "./scripts/build/getDirSize" ) ;
@@ -28,7 +23,7 @@ const getDiffTool = require("./scripts/build/getDiffTool");
28
23
const baselineAccept = require ( "./scripts/build/baselineAccept" ) ;
29
24
const cmdLineOptions = require ( "./scripts/build/options" ) ;
30
25
const exec = require ( "./scripts/build/exec" ) ;
31
- const _debugMode = require ( "./scripts/build/debugMode " ) ;
26
+ const browserify = require ( "./scripts/build/browserify " ) ;
32
27
const { libraryTargets, generateLibs } = require ( "./scripts/build/lib" ) ;
33
28
const { runConsoleTests, cleanTestDirs, writeTestConfigFile, refBaseline, localBaseline, refRwcBaseline, localRwcBaseline } = require ( "./scripts/build/tests" ) ;
34
29
@@ -72,7 +67,7 @@ gulp.task(
72
67
"publish-nightly" ,
73
68
"Runs `npm publish --tag next` to create a new nightly build on npm" ,
74
69
[ "LKG" ] ,
75
- ( ) => runSequence ( "clean" , "useDebugMode" , " runtests-parallel",
70
+ ( ) => runSequence ( "clean" , "runtests-parallel" ,
76
71
( ) => exec ( "npm" , [ "publish" , "--tag" , "next" ] ) ) ) ;
77
72
78
73
const importDefinitelyTypedTestsProject = "scripts/importDefinitelyTypedTests/tsconfig.json" ;
@@ -187,6 +182,10 @@ const tscProject = "src/tsc/tsconfig.json";
187
182
const tscJs = "built/local/tsc.js" ;
188
183
gulp . task ( tscJs , /*help*/ false , [ typescriptServicesJs ] , ( ) => project . compile ( tscProject , { typescript : "built" } ) ) ;
189
184
185
+ const tscReleaseProject = "src/tsc/tsconfig.release.json" ;
186
+ const tscReleaseJs = "built/local/tsc.release.js" ;
187
+ gulp . task ( tscReleaseJs , /*help*/ false , ( ) => project . compile ( tscReleaseProject ) ) ;
188
+
190
189
const cancellationTokenProject = "src/cancellationToken/tsconfig.json" ;
191
190
const cancellationTokenJs = "built/local/cancellationToken.js" ;
192
191
gulp . task ( cancellationTokenJs , /*help*/ false , [ typescriptServicesJs ] , ( ) => project . compile ( cancellationTokenProject , { typescript : "built" } ) ) ;
@@ -258,9 +257,9 @@ gulp.task(
258
257
"Generates a Markdown version of the Language Specification" ,
259
258
[ specMd ] ) ;
260
259
261
- gulp . task ( "produce-LKG" , /*help*/ false , [ "scripts" , "local" , cancellationTokenJs , typingsInstallerJs , watchGuardJs ] , ( ) => {
260
+ gulp . task ( "produce-LKG" , /*help*/ false , [ "scripts" , "local" , cancellationTokenJs , typingsInstallerJs , watchGuardJs , tscReleaseJs ] , ( ) => {
262
261
const expectedFiles = [
263
- tscJs ,
262
+ tscReleaseJs ,
264
263
typescriptServicesJs ,
265
264
tsserverJs ,
266
265
typescriptJs ,
@@ -289,7 +288,7 @@ gulp.task("produce-LKG", /*help*/ false, ["scripts", "local", cancellationTokenJ
289
288
gulp . task (
290
289
"LKG" ,
291
290
"Makes a new LKG out of the built js files" ,
292
- ( ) => runSequence ( "clean-built" , "dontUseDebugMode" , " produce-LKG") ) ;
291
+ ( ) => runSequence ( "clean-built" , "produce-LKG" ) ) ;
293
292
294
293
// Task to build the tests infrastructure using the built compiler
295
294
const testRunnerProject = "src/testRunner/tsconfig.json" ;
@@ -301,11 +300,6 @@ gulp.task(
301
300
"Builds the test infrastructure using the built compiler" ,
302
301
[ runJs ] ) ;
303
302
304
- gulp . task (
305
- "tests-debug" ,
306
- "Builds the test sources and automation in debug mode" ,
307
- ( ) => runSequence ( "useDebugMode" , "tests" ) ) ;
308
-
309
303
gulp . task (
310
304
"runtests-parallel" ,
311
305
"Runs all the tests in parallel using the built run.js file. Optional arguments are: --t[ests]=category1|category2|... --d[ebug]=true." ,
@@ -325,77 +319,17 @@ gulp.task("clean:" + webTestServerJs, /*help*/ false, () => project.clean(webTes
325
319
326
320
const bundlePath = path . resolve ( "built/local/bundle.js" ) ;
327
321
328
- // TODO(rbuckton): Clean up browserify logic
329
322
gulp . task (
330
323
"browserify" ,
331
324
"Runs browserify on run.js to produce a file suitable for running tests in the browser" ,
332
325
[ runJs ] ,
333
- ( done ) => {
334
- /** @type {* } */
335
- let originalMap ;
336
- /** @type {string } */
337
- let prebundledContent ;
338
- browserify ( gulp . src ( [ runJs ] )
339
- . pipe ( newer ( bundlePath ) )
340
- . pipe ( sourcemaps . init ( { loadMaps : true } ) )
341
- . pipe ( through2 . obj ( ( file , enc , next ) => {
342
- if ( originalMap ) {
343
- throw new Error ( "Should only recieve one file!" ) ;
344
- }
345
- log ( `Saving sourcemaps for ${ file . path } ` ) ;
346
- originalMap = file . sourceMap ;
347
- prebundledContent = file . contents . toString ( ) ;
348
- // Make paths absolute to help sorcery deal with all the terrible paths being thrown around
349
- originalMap . sources = originalMap . sources . map ( s => path . resolve ( path . join ( "src/harness" , s ) ) ) ;
350
- // browserify names input files this when they are streamed in, so this is what it puts in the sourcemap
351
- originalMap . file = "built/local/_stream_0.js" ;
352
-
353
- next ( /*err*/ undefined , file . contents ) ;
354
- } ) )
355
- . on ( "error" , err => {
356
- return done ( err ) ;
357
- } ) , { debug : true , basedir : __dirname } ) // Attach error handler to inner stream
358
- . bundle ( ( err , contents ) => {
359
- if ( err ) {
360
- if ( err . message . match ( / C a n n o t f i n d m o d u l e ' .* _ s t r e a m _ 0 .j s ' / ) ) {
361
- return done ( ) ; // Browserify errors when we pass in no files when `newer` filters the input, we should count that as a success, though
362
- }
363
- return done ( err ) ;
364
- }
365
- const stringContent = contents . toString ( ) ;
366
- const file = new Vinyl ( { contents, path : bundlePath } ) ;
367
- log ( `Fixing sourcemaps for ${ file . path } ` ) ;
368
- // assumes contents is a Buffer, since that's what browserify yields
369
- const maps = convertMap . fromSource ( stringContent ) . toObject ( ) ;
370
- delete maps . sourceRoot ;
371
- maps . sources = maps . sources . map ( s => path . resolve ( s === "_stream_0.js" ? "built/local/_stream_0.js" : s ) ) ;
372
- // Strip browserify's inline comments away (could probably just let sorcery do this, but then we couldn't fix the paths)
373
- file . contents = new Buffer ( convertMap . removeComments ( stringContent ) ) ;
374
- const chain = sorcery . loadSync ( bundlePath , {
375
- content : {
376
- "built/local/_stream_0.js" : prebundledContent ,
377
- [ bundlePath ] : stringContent
378
- } ,
379
- sourcemaps : {
380
- "built/local/_stream_0.js" : originalMap ,
381
- [ bundlePath ] : maps ,
382
- "node_modules/source-map-support/source-map-support.js" : undefined ,
383
- }
384
- } ) ;
385
- const finalMap = chain . apply ( ) ;
386
- file . sourceMap = finalMap ;
387
-
388
- const stream = through2 . obj ( ( file , enc , callback ) => {
389
- return callback ( /*err*/ undefined , file ) ;
390
- } ) ;
391
- stream . pipe ( sourcemaps . write ( "." , { includeContent : false } ) )
392
- . pipe ( gulp . dest ( "." ) )
393
- . on ( "end" , done )
394
- . on ( "error" , done ) ;
395
- stream . write ( file ) ;
396
- stream . end ( ) ;
397
- } ) ;
398
- } ) ;
326
+ ( ) => gulp . src ( [ runJs ] , { base : "built/local" } )
327
+ . pipe ( newer ( bundlePath ) )
328
+ . pipe ( sourcemaps . init ( { loadMaps : true } ) )
329
+ . pipe ( browserify ( ) )
330
+ . pipe ( rename ( "bundle.js" ) )
331
+ . pipe ( sourcemaps . write ( "." , /**@type {* }*/ ( { includeContent : false , destPath : "built/local" } ) ) )
332
+ . pipe ( gulp . dest ( "built/local" ) ) ) ;
399
333
400
334
gulp . task (
401
335
"runtests-browser" ,
0 commit comments