-
Notifications
You must be signed in to change notification settings - Fork 13.1k
Closed
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue
Milestone
Description
Adding a space to a file in pkg2 causes multiple builds of itself and pkg1 (pkg1 has pkg2 as a dependency)
I have setup the new project references. I have 2 simple pkg folders, pkg1 has a dependency on pkg2.
here is the pkg1 tsconfig
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"target": "es2018",
"skipLibCheck": true,
"lib": [
"esnext"
],
"rootDir": "src",
"outDir": "lib",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"paths": {
"@test/pkg2": ["./packages/pkg2/src"]
}
},
"references": [
{ "path": "../pkg2" }
],
"exclude": ["node_modules", "lib"]
}
and pkg2 (has composite set)
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"composite":true,
"target": "es2018",
"skipLibCheck": true,
"lib": [
"esnext"
],
"rootDir": "src",
"outDir": "lib",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
},
"exclude": ["node_modules", "lib"]
}
Code
tsc -b --verbose --watchproduces multiple build steps, seems pkg1 and pkg2 are built multiple times.
Here is a output for placing a space inside the index.ts file - found in pkg2.
message TS6350: Project '../pkg2/tsconfig.json' is out of date because oldest output '../pkg2/lib/index.js' is older than newest input '../pkg2/src/index.ts'
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg2/tsconfig.json'...
message TS6350: Project 'tsconfig.json' is out of date because oldest output 'lib/index.js' is older than newest input 'src/index.ts'
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg2/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg2/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg2/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg2/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
message TS6358: Building project '/Users/ian/Development/Scratch/lerna-new-test/packages/pkg1/tsconfig.json'...
This seems to be causing a chain of builds ?
mrmlnc
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptFixedA PR has been merged for this issueA PR has been merged for this issue