-
Notifications
You must be signed in to change notification settings - Fork 12.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add assumeChangesOnlyAffectDirectDependencies as a option to skip che…
…cking and generating .d.ts files for files indirectly importing affected file (#35711) * Baselining tsc --watch output * Add noIndirectImports as a option to skip checking and generating .d.ts files for files indirectly importing affected file Fixes #33329 * Rename option to assumeChangesOnlyAffectDirectDependencies * Description change as per feedback
- Loading branch information
1 parent
5a34274
commit 18269c0
Showing
21 changed files
with
2,515 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
.../Shows tsconfig for single option/assumeChangesOnlyAffectDirectDependencies/tsconfig.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"compilerOptions": { | ||
"assumeChangesOnlyAffectDirectDependencies": true | ||
} | ||
} |
203 changes: 203 additions & 0 deletions
203
...ies-and---declaration/deep-import-changes/updates-errors-when-deep-import-file-changes.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,203 @@ | ||
/a/lib/tsc.js --w | ||
//// [/user/username/projects/myproject/a.ts] | ||
import {B} from './b'; | ||
declare var console: any; | ||
let b = new B(); | ||
console.log(b.c.d); | ||
|
||
//// [/user/username/projects/myproject/b.ts] | ||
import {C} from './c'; | ||
export class B | ||
{ | ||
c = new C(); | ||
} | ||
|
||
//// [/user/username/projects/myproject/c.ts] | ||
export class C | ||
{ | ||
d = 1; | ||
} | ||
|
||
//// [/user/username/projects/myproject/tsconfig.json] | ||
{"compilerOptions":{"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true}} | ||
|
||
//// [/a/lib/lib.d.ts] | ||
/// <reference no-default-lib="true"/> | ||
interface Boolean {} | ||
interface Function {} | ||
interface CallableFunction {} | ||
interface NewableFunction {} | ||
interface IArguments {} | ||
interface Number { toExponential: any; } | ||
interface Object {} | ||
interface RegExp {} | ||
interface String { charAt: any; } | ||
interface Array<T> { length: number; [n: number]: T; } | ||
|
||
//// [/user/username/projects/myproject/c.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
var C = /** @class */ (function () { | ||
function C() { | ||
this.d = 1; | ||
} | ||
return C; | ||
}()); | ||
exports.C = C; | ||
|
||
|
||
//// [/user/username/projects/myproject/c.d.ts] | ||
export declare class C { | ||
d: number; | ||
} | ||
|
||
|
||
//// [/user/username/projects/myproject/b.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
var c_1 = require("./c"); | ||
var B = /** @class */ (function () { | ||
function B() { | ||
this.c = new c_1.C(); | ||
} | ||
return B; | ||
}()); | ||
exports.B = B; | ||
|
||
|
||
//// [/user/username/projects/myproject/b.d.ts] | ||
import { C } from './c'; | ||
export declare class B { | ||
c: C; | ||
} | ||
|
||
|
||
//// [/user/username/projects/myproject/a.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
var b_1 = require("./b"); | ||
var b = new b_1.B(); | ||
console.log(b.c.d); | ||
|
||
|
||
//// [/user/username/projects/myproject/a.d.ts] | ||
export {}; | ||
|
||
|
||
|
||
Output:: | ||
>> Screen clear | ||
12:00:25 AM - Starting compilation in watch mode... | ||
|
||
|
||
|
||
12:00:38 AM - Found 0 errors. Watching for file changes. | ||
|
||
|
||
Program root files: ["/user/username/projects/myproject/a.ts","/user/username/projects/myproject/b.ts","/user/username/projects/myproject/c.ts"] | ||
Program options: {"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true,"watch":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} | ||
Program files:: | ||
/a/lib/lib.d.ts | ||
/user/username/projects/myproject/c.ts | ||
/user/username/projects/myproject/b.ts | ||
/user/username/projects/myproject/a.ts | ||
|
||
Semantic diagnostics in builder refreshed for:: | ||
/a/lib/lib.d.ts | ||
/user/username/projects/myproject/c.ts | ||
/user/username/projects/myproject/b.ts | ||
/user/username/projects/myproject/a.ts | ||
|
||
WatchedFiles:: | ||
/user/username/projects/myproject/tsconfig.json: | ||
{"pollingInterval":250} | ||
/user/username/projects/myproject/a.ts: | ||
{"pollingInterval":250} | ||
/user/username/projects/myproject/b.ts: | ||
{"pollingInterval":250} | ||
/user/username/projects/myproject/c.ts: | ||
{"pollingInterval":250} | ||
/a/lib/lib.d.ts: | ||
{"pollingInterval":250} | ||
|
||
FsWatches:: | ||
|
||
FsWatchesRecursive:: | ||
/user/username/projects/myproject/node_modules/@types: | ||
{"fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}} | ||
/user/username/projects/myproject: | ||
{"fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}} | ||
|
||
exitCode:: ExitStatus.undefined | ||
|
||
Change:: Rename property d to d2 of class C | ||
|
||
//// [/user/username/projects/myproject/c.ts] | ||
export class C | ||
{ | ||
d2 = 1; | ||
} | ||
|
||
//// [/user/username/projects/myproject/c.js] | ||
"use strict"; | ||
exports.__esModule = true; | ||
var C = /** @class */ (function () { | ||
function C() { | ||
this.d2 = 1; | ||
} | ||
return C; | ||
}()); | ||
exports.C = C; | ||
|
||
|
||
//// [/user/username/projects/myproject/c.d.ts] | ||
export declare class C { | ||
d2: number; | ||
} | ||
|
||
|
||
//// [/user/username/projects/myproject/b.js] file written with same contents | ||
//// [/user/username/projects/myproject/b.d.ts] file written with same contents | ||
|
||
Output:: | ||
>> Screen clear | ||
12:00:42 AM - File change detected. Starting incremental compilation... | ||
|
||
|
||
|
||
12:00:55 AM - Found 0 errors. Watching for file changes. | ||
|
||
|
||
Program root files: ["/user/username/projects/myproject/a.ts","/user/username/projects/myproject/b.ts","/user/username/projects/myproject/c.ts"] | ||
Program options: {"assumeChangesOnlyAffectDirectDependencies":true,"declaration":true,"watch":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} | ||
Program files:: | ||
/a/lib/lib.d.ts | ||
/user/username/projects/myproject/c.ts | ||
/user/username/projects/myproject/b.ts | ||
/user/username/projects/myproject/a.ts | ||
|
||
Semantic diagnostics in builder refreshed for:: | ||
/user/username/projects/myproject/c.ts | ||
/user/username/projects/myproject/b.ts | ||
|
||
WatchedFiles:: | ||
/user/username/projects/myproject/tsconfig.json: | ||
{"pollingInterval":250} | ||
/user/username/projects/myproject/a.ts: | ||
{"pollingInterval":250} | ||
/user/username/projects/myproject/b.ts: | ||
{"pollingInterval":250} | ||
/user/username/projects/myproject/c.ts: | ||
{"pollingInterval":250} | ||
/a/lib/lib.d.ts: | ||
{"pollingInterval":250} | ||
|
||
FsWatches:: | ||
|
||
FsWatchesRecursive:: | ||
/user/username/projects/myproject/node_modules/@types: | ||
{"fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}} | ||
/user/username/projects/myproject: | ||
{"fallbackPollingInterval":500,"fallbackOptions":{"watchFile":"PriorityPollingInterval"}} | ||
|
||
exitCode:: ExitStatus.undefined |
Oops, something went wrong.