@@ -1020,6 +1020,70 @@ namespace ts {
1020
1020
assert . deepEqual ( actual . wildcardDirectories , expected . wildcardDirectories ) ;
1021
1021
assert . deepEqual ( actual . errors , expected . errors ) ;
1022
1022
} ) ;
1023
+ it ( "exclude outDir by default" , ( ) => {
1024
+ const json = {
1025
+ compilerOptions : {
1026
+ outDir : "./x"
1027
+ }
1028
+ } ;
1029
+ const expected : ts . ParsedCommandLine = {
1030
+ options : {
1031
+ outDir : "./x"
1032
+ } ,
1033
+ errors : [ ] ,
1034
+ fileNames : [
1035
+ "c:/dev/a.ts" ,
1036
+ "c:/dev/b.ts" ,
1037
+ "c:/dev/c.d.ts" ,
1038
+ "c:/dev/z/a.ts" ,
1039
+ "c:/dev/z/aba.ts" ,
1040
+ "c:/dev/z/abz.ts" ,
1041
+ "c:/dev/z/b.ts" ,
1042
+ "c:/dev/z/bba.ts" ,
1043
+ "c:/dev/z/bbz.ts" ,
1044
+ ] ,
1045
+ wildcardDirectories : {
1046
+ "c:/dev" : ts . WatchDirectoryFlags . Recursive
1047
+ }
1048
+ } ;
1049
+ const actual = ts . parseJsonConfigFileContent ( json , caseInsensitiveHost , caseInsensitiveBasePath ) ;
1050
+ assert . deepEqual ( actual . fileNames , expected . fileNames ) ;
1051
+ assert . deepEqual ( actual . wildcardDirectories , expected . wildcardDirectories ) ;
1052
+ assert . deepEqual ( actual . errors , expected . errors ) ;
1053
+ } ) ;
1054
+ it ( "should not exclude outDir if exclude is given" , ( ) => {
1055
+ const json = {
1056
+ compilerOptions : {
1057
+ outDir : "./x"
1058
+ } ,
1059
+ exclude : [
1060
+ "z"
1061
+ ]
1062
+ } ;
1063
+ const expected : ts . ParsedCommandLine = {
1064
+ options : {
1065
+ outDir : "./x"
1066
+ } ,
1067
+ errors : [ ] ,
1068
+ fileNames : [
1069
+ "c:/dev/a.ts" ,
1070
+ "c:/dev/b.ts" ,
1071
+ "c:/dev/c.d.ts" ,
1072
+ "c:/dev/x/a.ts" ,
1073
+ "c:/dev/x/aa.ts" ,
1074
+ "c:/dev/x/b.ts" ,
1075
+ "c:/dev/x/y/a.ts" ,
1076
+ "c:/dev/x/y/b.ts" ,
1077
+ ] ,
1078
+ wildcardDirectories : {
1079
+ "c:/dev" : ts . WatchDirectoryFlags . Recursive
1080
+ }
1081
+ } ;
1082
+ const actual = ts . parseJsonConfigFileContent ( json , caseInsensitiveHost , caseInsensitiveBasePath ) ;
1083
+ assert . deepEqual ( actual . fileNames , expected . fileNames ) ;
1084
+ assert . deepEqual ( actual . wildcardDirectories , expected . wildcardDirectories ) ;
1085
+ assert . deepEqual ( actual . errors , expected . errors ) ;
1086
+ } ) ;
1023
1087
describe ( "with trailing recursive directory" , ( ) => {
1024
1088
it ( "in includes" , ( ) => {
1025
1089
const json = {
0 commit comments