nx
Nx
GitHub
Nx
Workspace
GitHub
CI Pipeline Executions
Current execution
Succeeded
chore/bump-pnpm-11.22.0
Runs and Agents
Timeline
Configuration
Self-Healing CI
Project Graph
Resource Usage
Analysis
Conformance
Runs
Current run
Succeeded
Tasks
Resource Usage
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
fix(linter): annotate exported rule types so d.ts emit stays portable The inferred types of the exported rule objects reference RuleModule and RuleListener from @typescript-eslint/utils. With nothing naming those types explicitly, tsgo emits a reference through the resolved node_modules/.pnpm store path, which fails with TS2883 ("cannot be named ... not portable"). This surfaced under pnpm 11.22.0 on Linux only. pnpm 11.15.0 changed optional peer resolution so that peers declared solely via peerDependenciesMeta - such as debug's supports-color - resolve from a version already present in the dependency graph. That graph differs per platform, so eslint gains a supports-color peer suffix on Linux but not on macOS, and the suffix propagates into @typescript-eslint/utils. The lockfile is unaffected; a clean frozen install on macOS reproduces neither the suffix nor the failure. Annotating explicitly removes the dependency on node_modules layout entirely, so this holds regardless of how peers are hashed on any platform. resolve-workspace-rules.ts already uses this pattern.
nx build workspace-plugin
⌘K
Succeeded
nx build workspace-plugin
Click to copy
read-write
access token used
63da44cb
36753