Skip to content

fix: resolve changeset workspace resolution and npmrc auth#50

Merged
himerus merged 3 commits intomainfrom
fix/changeset-workspace-resolution
Mar 12, 2026
Merged

fix: resolve changeset workspace resolution and npmrc auth#50
himerus merged 3 commits intomainfrom
fix/changeset-workspace-resolution

Conversation

@himerus
Copy link
Copy Markdown
Contributor

@himerus himerus commented Mar 12, 2026

Problem

NPM publish has been failing on every push to main with:
```
🦋 error: Found changeset fix-pnpm-workspace-root for package helixir which is not in the workspace
```

Root Cause

@manypkg/get-packages (used by changesets) does NOT auto-include the root package for pnpm workspaces — only packages matching packages: globs in pnpm-workspace.yaml are returned. With only packages/* listed, the root helixir package is invisible to changesets, so both pending changesets fail to resolve.

Fixes

  1. pnpm-workspace.yaml: Add . to packages: so changesets discovers the root helixir package
  2. .npmrc: Remove the ${NPM_TOKEN} auth line — CI sets NODE_AUTH_TOKEN (via actions/setup-node), not NPM_TOKEN as a standalone env var. Leaving the unfilled line causes pnpm warnings and potential auth failure during publish.

Test Plan

  • Merge to main → Publish workflow runs → changeset version succeeds → changeset publish authenticates and publishes helixir to npm

Summary by CodeRabbit

  • Chores
    • Removed npm registry authentication token from configuration.
    • Removed monorepo/workspace configuration so package workspace resolution is no longer enabled.
    • Cleaned workspace package listings used by the package manager.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 12, 2026

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'version'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 51def70e-2df2-479a-bec8-ed68ee28ae78

📥 Commits

Reviewing files that changed from the base of the PR and between 74aadc3 and 0f469c7.

📒 Files selected for processing (2)
  • package.json
  • pnpm-workspace.yaml
💤 Files with no reviewable changes (2)
  • package.json
  • pnpm-workspace.yaml

Walkthrough

Removed workspace configuration (from package.json and pnpm-workspace.yaml) and removed NPM registry auth token line from .npmrc, disabling use of NPM_TOKEN for registry authentication.

Changes

Cohort / File(s) Summary
NPM Configuration
/.npmrc
Deleted the registry authentication line that used NPM_TOKEN; other .npmrc settings (e.g., engine-strict) unchanged.
Package manifest
package.json
Removed "workspaces": ["packages/*"], dropping Yarn/PNPM workspace declaration from the manifest.
PNPM workspace config
pnpm-workspace.yaml
Removed the packages: globs (e.g., . and packages/*), eliminating pnpm workspace package listing.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description includes problem statement, root cause analysis, specific fixes, and test plan, but omits several required template sections like Type of change, Related issue, Tests added checkbox, and Checklist items. Complete the description by including all template sections: mark Type of change, add Related issue number, check Tests added status, and verify all Checklist items (type-check, lint, format, test, build, CHANGELOG entry).
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: fixing changeset workspace resolution by adjusting pnpm-workspace.yaml and npmrc authentication configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/changeset-workspace-resolution
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Mar 12, 2026
…ge as workspace member

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@himerus himerus added the skip-changeset Skip changeset requirement (infra/CI PRs) label Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changeset Skip changeset requirement (infra/CI PRs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant