Skip to content

test(tsc): Symlinked projects or the ones with symlinked parents should work - #64473

Open
EVA (Entity Value Attribute) (nikelborm) wants to merge 1 commit into
microsoft:mainfrom
nikelborm:linked-parents-test
Open

EVA (Entity Value Attribute) (nikelborm) wants to merge 1 commit into
microsoft:mainfrom
nikelborm:linked-parents-test

Conversation

@nikelborm

@nikelborm EVA (Entity Value Attribute) (nikelborm) commented Sep 27, 2026 •

Copy link
Copy Markdown

Related: #63819

Along with the addition of the main TestBuildWithSymlinkedCurrentDirectory test, I also needed to patch vfstest.go, because otherwise the whole test suite has been throwing 100s of errors. With the patch, only the newly added test in tsc/internal/execute/tsctests/tscbuild_test.go is failing. An LLM has been used to help convert the repro from nikelborm/effect-ts7-symlink-repro into a test

Caution

The test TestBuildWithSymlinkedCurrentDirectory is deliberately failing. It's catching the wrong behavior that's present right now

Copilot AI balanced review requested due to automatic review settings September 27, 2026 00:17
@typescript-automation typescript-automation Bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Sep 27, 2026
@typescript-automation

Copy link
Copy Markdown

This PR doesn't have any linked issues. Please open an issue that references this PR. From there we can discuss and prioritise.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The virtual filesystem fix matches os.Chtimes semantics and the focused tests cover the reported regression and relevant symlink variants.

Review effort: Balanced
Findings: None

What changed in this PR

Adds regression coverage for TypeScript builds run from symlinked project paths and updates the test virtual filesystem so Chtimes follows symlinks like os.Chtimes.

Changes:

  • Resolve symlinked files and parent directories before updating modification times.
  • Add direct Chtimes tests for file and parent-directory symlinks.
  • Add build scenarios covering real paths, symlinked working directories, parents, and chains.
File Description
tsc/​internal/​vfs/​vfstest/​vfstest.go Makes virtual Chtimes follow symlinks.
tsc/​internal/​vfs/​vfstest/​vfstest_test.go Tests Chtimes symlink behavior.
tsc/​internal/​execute/​tsctests/​tscbuild_test.go Adds symlinked-current-directory build regression tests.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

Status: Not started

Development

Successfully merging this pull request may close these issues.

2 participants