- Add Foundry project configuration (foundry.toml, foundry.lock) - Add Solidity contracts (TokenFactory138, BridgeVault138, ComplianceRegistry, etc.) - Add API definitions (OpenAPI, GraphQL, gRPC, AsyncAPI) - Add comprehensive test suite (unit, integration, fuzz, invariants) - Add API services (REST, GraphQL, orchestrator, packet service) - Add documentation (ISO20022 mapping, runbooks, adapter guides) - Add development tools (RBC tool, Swagger UI, mock server) - Update OpenZeppelin submodules to v5.0.0
2.4 KiB
2.4 KiB
pnpm Migration Summary
All package management has been migrated from npm to pnpm.
Changes Made
Configuration Files
- pnpm-workspace.yaml - Workspace configuration
- .npmrc - pnpm-specific settings
- .pnpmfile.cjs - Workspace hooks for dependency management
- api/package.json - Root workspace package with pnpm scripts
Updated Documentation
All documentation files updated to use pnpm:
api/README.mdapi/GETTING_STARTED.mdapi/PNPM_SETUP.mdapi/tools/README.mdapi/tools/swagger-ui/README.mdapi/tools/swagger-ui/QUICKSTART.mdapi/tools/swagger-ui/SWAGGER_DOCS.mdtest/api/README.mddocs/api/swagger-ui-guide.md
Updated Scripts
- All
npm install→pnpm install - All
npm run→pnpm run - All
npm start→pnpm start - All
npm test→pnpm test - All
npm build→pnpm run build - All
npx→pnpm exec
Updated Build Files
api/tools/swagger-ui/Dockerfile- Uses pnpmapi/tools/swagger-ui/Makefile- Uses pnpmapi/tools/openapi-generator/generate-sdks.sh- Uses pnpm exec
Updated Package Scripts
api/tools/mock-server/package.json- Concurrent scripts use pnpmapi/tools/openapi-generator/package.json- Generator scripts use pnpm execapi/tools/sdk-templates/typescript-sdk-template/package.json- Prepublish uses pnpm
Workspace Structure
The API directory is now a pnpm workspace with:
api/
├── services/ # Service packages (@emoney/rest-api, etc.)
├── shared/ # Shared packages (@emoney/blockchain, etc.)
├── packages/ # Specification packages
└── tools/ # Development tools
Quick Reference
Install Dependencies
cd api
pnpm install
Run Service
cd api/services/rest-api
pnpm run dev
Build All
cd api
pnpm run build:all
Add Dependency
cd api/services/rest-api
pnpm add express
Workspace Package
cd api/services/rest-api
pnpm add @emoney/blockchain
# Automatically uses workspace:*
Benefits
- ✅ Faster installs (up to 2x faster)
- ✅ Disk efficient (shared store)
- ✅ Better dependency resolution
- ✅ Native workspace support
- ✅ Stricter peer dependency handling
Next Steps
- Run
pnpm installinapi/directory - Verify workspace packages are linked correctly
- Test service startup
- Commit
pnpm-lock.yamlto version control