Skip to content

Conversation

jakebailey
Copy link
Member

@jakebailey jakebailey commented Oct 8, 2025

This unblocks microsoft/typescript-go#1797; the circularities in these tests don't appear to be required to test what the tests need to test. Rather, they were I think just a nice place to test imports of various kinds.

All of the tests were modified in the same way, splitting index.d.ts files like:

// @filename: node_modules/inner/index.d.ts
// cjs format file
import * as cjs from "inner/a";
import * as mjs from "inner/b";
import * as type from "inner";
import * as ts from "inner/types";
export { cjs };
export { mjs };
export { type };
export { ts };
export const implicitCjsSource = true;

Into two files:

// @filename: node_modules/inner/index.d.ts
// cjs format file
export const implicitCjsSource = true;
// @filename: node_modules/inner/test.d.ts
// cjs format file
import * as cjs from "inner/a";
import * as mjs from "inner/b";
import * as type from "inner";
import * as ts from "inner/types";
export { cjs };
export { mjs };
export { type };
export { ts };

To both declare a module, but do the import stuff in another place.

I ordered the files in the tests in a way that makes the diffs still try and compare apples-to-apples. so hopefully it shows that the types are still the same (though, sometimes named differently).

Also, drop rootDir errors from the tests by setting one manually.

@github-project-automation github-project-automation bot moved this to Not started in PR Backlog Oct 8, 2025
@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Oct 8, 2025
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR removes circular import errors from node modules compiler tests by separating test imports from module declarations. The tests were previously encountering circular definition errors that were blocking TypeScript-go integration, and these circularities weren't essential for testing the intended functionality.

  • Split index.d.ts files into separate declaration and test files to eliminate circular imports
  • Maintained test coverage while removing unnecessary circular dependencies
  • Applied consistent pattern across all affected node modules tests

Reviewed Changes

Copilot reviewed 157 out of 157 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/cases/conformance/node/nodeModulesPackagePatternExportsTrailers.ts Split index.d.ts into separate module declaration and test import files
tests/cases/conformance/node/nodeModulesPackagePatternExportsExclude.ts Applied same pattern to eliminate circular imports while preserving test structure
tests/cases/conformance/node/nodeModulesPackagePatternExports.ts Separated module declarations from import tests to resolve circularity
tests/cases/conformance/node/nodeModulesPackageExports.ts Split imports into test.d.ts files to maintain functionality without circular errors
tests/cases/conformance/node/nodeModulesConditionalPackageExports.ts Applied consistent separation pattern for module declarations and tests
tests/cases/conformance/node/allowJs/*.ts Applied same refactoring pattern to allowJs variants of the tests
tests/baselines/reference/* Updated baseline files reflecting the structural changes and error resolution

@jakebailey jakebailey changed the title Remove circularity errors from node modules compiler tests Remove circularity, rootDir errors from node modules compiler tests Oct 8, 2025
@github-project-automation github-project-automation bot moved this from Not started to Needs merge in PR Backlog Oct 9, 2025
@jakebailey jakebailey enabled auto-merge (squash) October 9, 2025 00:08
@jakebailey jakebailey merged commit 91b32ac into microsoft:main Oct 9, 2025
33 checks passed
@github-project-automation github-project-automation bot moved this from Needs merge to Done in PR Backlog Oct 9, 2025
@jakebailey jakebailey deleted the remove-circularity-errors branch October 9, 2025 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants