nxNx
GitHubNxWorkspace
GitHub
  • CI Pipeline Executions
    • Current executionSucceeded
      chore/bump-pnpm-11.22.0
    • Runs and Agents
    • Timeline
    • Configuration
    • Self-Healing CI
    • Project Graph
    • Resource Usage
    • Analysis
    • Conformance
  • Runs
    • Current runSucceeded
    • Tasks
    • Resource Usage
Insights
  • Compare tasks
  • Analytics
  • Sign in
    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-cloud record -- nx format:check
Succeeded
Linux
4 CPU cores
63da44cb36753

© 2026 - Nx Cloud

Terms of ServicePrivacy PolicyChangelogStatusDocsContact Nx CloudPricingCompany@NxDevTools