@@ -8,6 +8,7 @@ var path = require("path");
88var child_process = require ( "child_process" ) ;
99var fold = require ( "travis-fold" ) ;
1010var ts = require ( "./lib/typescript" ) ;
11+ const getDirSize = require ( "./scripts/build/getDirSize" ) ;
1112
1213// Variables
1314var compilerDirectory = "src/compiler/" ;
@@ -642,26 +643,24 @@ task("generate-spec", [specMd]);
642643
643644// Makes a new LKG. This target does not build anything, but errors if not all the outputs are present in the built/local directory
644645desc ( "Makes a new LKG out of the built js files" ) ;
645- task ( "LKG" , [ "clean" , "release" , "local" ] . concat ( libraryTargets ) , function ( ) {
646+ task ( "LKG" , [ "clean" , "release" , "local" ] . concat ( libraryTargets ) , ( ) => {
647+ const sizeBefore = getDirSize ( LKGDirectory ) ;
646648 var expectedFiles = [ tscFile , servicesFile , serverFile , nodePackageFile , nodeDefinitionsFile , standaloneDefinitionsFile , tsserverLibraryFile , tsserverLibraryDefinitionFile , cancellationTokenFile , typingsInstallerFile , buildProtocolDts , watchGuardFile ] .
647649 concat ( libraryTargets ) .
648650 concat ( localizationTargets ) ;
649- var missingFiles = expectedFiles . filter ( function ( f ) {
650- return ! fs . existsSync ( f ) ;
651- } ) ;
651+ var missingFiles = expectedFiles . filter ( f => ! fs . existsSync ( f ) ) ;
652652 if ( missingFiles . length > 0 ) {
653653 fail ( new Error ( "Cannot replace the LKG unless all built targets are present in directory " + builtLocalDirectory +
654654 ". The following files are missing:\n" + missingFiles . join ( "\n" ) ) ) ;
655655 }
656656 // Copy all the targets into the LKG directory
657657 jake . mkdirP ( LKGDirectory ) ;
658- for ( i in expectedFiles ) {
659- jake . cpR ( expectedFiles [ i ] , LKGDirectory ) ;
658+ expectedFiles . forEach ( f => jake . cpR ( f , LKGDirectory ) ) ;
659+
660+ const sizeAfter = getDirSize ( LKGDirectory ) ;
661+ if ( sizeAfter > ( sizeBefore * 1.10 ) ) {
662+ throw new Error ( "The lib folder increased by 10% or more. This likely indicates a bug." ) ;
660663 }
661- //var resourceDirectories = fs.readdirSync(builtLocalResourcesDirectory).map(function(p) { return path.join(builtLocalResourcesDirectory, p); });
662- //resourceDirectories.map(function(d) {
663- // jake.cpR(d, LKGResourcesDirectory);
664- //});
665664} ) ;
666665
667666// Test directory
0 commit comments