Repository navigation
Closed
Labels
Needs InvestigationThis issue needs a team member to investigate its status.This issue needs a team member to investigate its status.
Description
tsc --build false negative through export * facade project
TypeScript Version
7.0.1-rc
Repro
git clone https://github.com/jasonkuhrt/ts-project-reference-reexport-stale-repro.git
cd ts-project-reference-reexport-stale-repro
pnpm install
pnpm reproProject layout:
.
├── source/
│ ├── tsconfig.json # composite project
│ └── index.ts # exports Status
├── facade/
│ ├── tsconfig.json # composite project, references ../source
│ └── index.ts # re-exports source
└── consumer/
├── tsconfig.json # composite project, references ../facade
└── index.ts # imports Status through facade
Dependency path:
consumer/index.ts -> facade/index.ts -> source/index.ts
Relevant source:
// source/index.ts
export type Status = "old";// facade/index.ts
export * from "../source/index";// consumer/index.ts
import type { Status } from "../facade/index";
export const status: "old" = null as unknown as Status;The only compiler option in each project is composite: true.
Actual Behavior
pnpm repro first builds with:
// source/index.ts
export type Status = "old";Then it changes the source project to:
export type Status = "new";The incremental build incorrectly exits 0.
The facade declaration remains textually unchanged:
export * from "../source/index";The consumer declaration remains stale:
export declare const status: "old";Expected Behavior
The incremental build should fail like the clean build does:
consumer/index.ts(3,14): error TS2322: Type '"new"' is not assignable to type '"old"'.
Notes
This is not pnpm workspace/package-exports behavior. The repro uses no workspace
packages and no package imports.
#46153 looks related,
but this is a minimal export * facade case where the intermediate project emits
stable declaration text while its re-exported public API changes.
Metadata
Metadata
Assignees
Labels
Needs InvestigationThis issue needs a team member to investigate its status.This issue needs a team member to investigate its status.
Activity
jakebailey commentedon Jun 30, 2026
Jason Kuhrt (@jasonkuhrt) John Favret (@johnfav03) Is this a 7.0 regression? Or does this reproduce in 6.0?
johnfav03 commentedon Jun 30, 2026
This is not a 7.0 regression, it reproduces in 6.0
johnfav03 commentedon Jul 16, 2026
Fixed in #4301