feat: add npm workspace indexing support#459
Open
jojosenthusiast wants to merge 1 commit into
Open
Conversation
Author
|
The failing step is The PR-specific local checks listed in the body are green on my side. If a maintainer can rerun or refresh the workflow credentials, that should separate the infra/auth issue from the PR diff. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #394
Reproduction
scip-typescriptsupported Yarn classic, Yarn Berry, and pnpm workspaces, but had no npm workspace mode.Fix summary
--npm-workspaces/npmWorkspacesoption support.package.jsonworkspacesarrays and{ packages: [...] }objects.Tests run
git diff --check $(git merge-base upstream/main HEAD)..HEAD→ pass.prettierignore→ passtsc -b . --noEmit→ passnode -r tsm src/CommandLineOptions.test.ts→ pass, 9/9node -r tsm src/listNpmWorkspaces.test.ts→ pass, 3/3packages/a/src/a.ts,packages/b/src/b.ts) with no exact or slash-normalized duplicate paths and matching snapshotsnode node_modules/uvu/bin.js -r tsm src main.testexits non-zero locally due unrelated Windows/env fixture failures (invalid-package-json,pnpm-workspacesENOENT); the npm-workspaces fixture itself passes.Risk
Medium-low. This adds a new explicit npm workspace mode and keeps existing Yarn/pnpm modes intact. Glob support intentionally covers common single-star workspace patterns such as
packages/*.Non-goals