Skip to content

Spike pnpm#178

Draft
cteyton wants to merge 8 commits intomainfrom
spike-pnpm
Draft

Spike pnpm#178
cteyton wants to merge 8 commits intomainfrom
spike-pnpm

Conversation

@cteyton
Copy link
Contributor

@cteyton cteyton commented Mar 2, 2026

Explanation

Relates to #

Type of Change

  • Bug fix
  • New feature
  • Improvement/Enhancement
  • Refactoring
  • Documentation
  • Breaking change

Affected Components

  • Domain packages affected:
  • Frontend / Backend / Both:
  • Breaking changes (if any):

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing completed
  • Test coverage maintained or improved

Test Details:

TODO List

  • CHANGELOG Updated
  • Documentation Updated

Reviewer Notes

cteyton and others added 8 commits March 2, 2026 14:46
…IEventTrackingPort

- Add ChangeProposalItemType helper to derive itemType from ChangeProposalType
- Track change_proposal_submitted in CreateChangeProposalUseCase
- Track change_proposal_accepted and change_proposal_rejected in ApplyChangeProposalsUseCase
- Track change_proposal_accepted and change_proposal_rejected in ApplyCreationChangeProposalsUseCase
- Wire IEventTrackingPort through adapter and hexa initialization

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ckmindEventEmitterService pattern

- Replace direct IEventTrackingPort.trackEvent() calls in use cases with PackmindEventEmitterService.emit()
- Create ChangeProposalSubmittedEvent, ChangeProposalAcceptedEvent, ChangeProposalRejectedEvent domain events
- Update PlaybookChangeManagementAdapter.initialize() to accept eventEmitterService instead of IEventTrackingPort
- Update PlaybookChangeManagementHexa to retrieve PackmindEventEmitterService via registry.getService()
- Update test mocks accordingly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace npm with pnpm for faster installs and better disk usage.
Uses hoisted mode (shamefully-hoist=true) for safe migration.

- Create pnpm-workspace.yaml, .npmrc with hoisted node-linker
- Add packageManager field, move overrides to pnpm section
- Pin @nx/react to 21.6.8, add nx override and dedupe-peer-dependents
- Add pnpm.onlyBuiltDependencies for pnpm v10 security
- Remove phantom optionalDependencies from linter-ast
- Add minimatch ^9 as explicit dependency (was phantom dep via npm)
- Delete package-lock.json files, add to .gitignore
- Generate pnpm-lock.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace npm run with pnpm run in husky hooks
- Replace npx with pnpm exec in pre-commit and e2e scripts
- Update CLAUDE.md npm references to pnpm

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use corepack + pnpm install in install-dependencies services
- Replace npx nx with ./node_modules/.bin/nx in all services
- Leave production Dockerfiles unchanged (standalone installs)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add pnpm/action-setup@v4 to all workflow jobs
- Replace npm ci with pnpm install --frozen-lockfile
- Update cache strategy from npm to pnpm
- Replace npm run/publish with pnpm equivalents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add explicit TypeScript path mappings for workspace package test
subpaths that were previously resolved through npm workspace symlinks.
pnpm hoisted mode doesn't create these symlinks, so Jest needs
the mappings in tsconfig to resolve @packmind/*/test imports.

Adds: accounts/test, git/test, skills/test, standards/test
and wildcard variants for all test paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant