Skip to content

Conversation

@MiguelLZPF
Copy link
Contributor

@MiguelLZPF MiguelLZPF commented Aug 14, 2025

Description

This pull request introduces significant improvements to the project’s monorepo structure, documentation, and CI/CD workflows. The main changes include reorganizing the repository to use npm workspaces, updating the documentation to reflect the new structure and commands, and splitting the test and publishing workflows for better modularity and efficiency. Additionally, configuration and formatting files were added or updated to standardize development practices.

Monorepo & Workspace Structure

  • Refactored the project into a true npm monorepo with clear separation of packages (core logic) and apps (applications), including new folders for ATS and Mass Payout modules. The documentation now explains the structure and workspace commands. [1] [2] [3] [4]

Documentation Updates

  • Expanded the README.md to include a workspace overview, available npm commands, build/test instructions, and details on the new CI workflows and environment setup. [1] [2] [3] [4] [5]

CI/CD Workflow Improvements

  • Split the previous monolithic test workflow into targeted workflows: .github/workflows/ats.test.yml for ATS, .github/workflows/mp.test.yml for Mass Payout, and updated .github/workflows/all.publish.yml for publishing. These workflows now trigger only when relevant files change, improving CI efficiency. [1] [2] [3] [4] [5] [6]

Configuration and Formatting

  • Added .prettierignore and .vscode/settings.json to enforce consistent code formatting across the repo, especially for Solidity and TypeScript files. Updated .github/dependabot.yaml for consistency in quoting and dependency update rules. [1] [2] [3]

Developer Tooling

  • Updated Husky hooks to use npm scripts for commit message linting and pre-commit actions, improving consistency in local development. [1] [2]

Type of change

  • Bug fix 🐞
  • New feature ✨
  • Breaking change 💥
  • Documentation update 📖
  • Refactor 🔧

Run all automated tests. Deploy the dApp and test the creation of bonds and equities.

Node version:

  • 20
  • 22
  • 24

Checklist

  • Style Guidelines followed ✅
  • Documentation Updated 📚
  • Linters - No New Warnings ⚠️
  • Local Tests Pass ✅
  • Effective Tests Added ✔️
  • No reduction of Coverage

@MiguelLZPF MiguelLZPF self-assigned this Aug 14, 2025
@hedera-eng-infrastructure
Copy link

hedera-eng-infrastructure commented Aug 14, 2025

🎉 Snyk checks have passed. No issues have been found so far.

security/snyk check is complete. No issues have been found. (View Details)

license/snyk check is complete. No issues have been found. (View Details)

@MiguelLZPF MiguelLZPF added Dependencies Changes that update dependency files Refactor Documentation Changes that add or update documentation, such as README files, or other non-functional content labels Aug 18, 2025
@MiguelLZPF MiguelLZPF marked this pull request as ready for review August 18, 2025 07:07
@MiguelLZPF MiguelLZPF requested review from a team as code owners August 18, 2025 07:07
themariofrancia and others added 5 commits August 18, 2025 10:28
Signed-off-by: Mario Francia <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
- Changed "setup" script from "npm install" to "npm ci" for consistent installs.
- Added "ats:setup" script to run "npm ci" followed by "ats:build".
- Enhanced "ats:clean" script to include a message after cleaning.
- Updated "ats:start" script to run "npm ci" before building and starting.
- Improved "clean:deps" script to preserve package-lock.json and added a full clean option.

Signed-off-by: Miguel_LZPF <[email protected]>
@MiguelLZPF MiguelLZPF changed the title Refactor/BBND-1075-workspaces-migration refactor: monorepo workspaces migration Aug 19, 2025
@themariofrancia themariofrancia dismissed stale reviews from jaime-iobermudez and themself via 4ed0970 August 19, 2025 07:07
Copy link

@pathornteng pathornteng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@nathanklick nathanklick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No review performed as the PR is too large for a proper review. Rubber stamp approval only.

@MiguelLZPF MiguelLZPF merged commit 818a530 into main Aug 27, 2025
9 checks passed
themariofrancia pushed a commit that referenced this pull request Sep 1, 2025
Signed-off-by: Miguel_LZPF <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
Co-authored-by: Mario Francia <[email protected]>
(cherry picked from commit 818a530)
Signed-off-by: Mario Francia <[email protected]>

# Conflicts:
#	.github/workflows/all.publish.yml
#	.prettierignore
#	.vscode/settings.json
#	README.md
#	apps/ats/web/src/components/BaseMultiStyleConfiguration.ts
#	apps/ats/web/src/theme/components/PanelTabs.ts
#	apps/ats/web/src/views/CreateBond/Components/__tests__/PreviousStepButton.test.tsx
#	apps/ats/web/src/views/CreateEquity/Components/__tests__/PreviousStepButton.test.tsx
#	contracts/contracts/layer_1/ERC3643/ERC3643.sol
#	contracts/contracts/layer_1/ERC3643/ERC3643Facet.sol
#	contracts/contracts/layer_1/interfaces/ERC3643/IERC3643Basic.sol
#	contracts/contracts/layer_2/bond/BondStorageWrapper.sol
#	contracts/contracts/layer_2/equity/EquityStorageWrapper.sol
#	contracts/contracts/layer_3/security/SecurityStorageWrapper.sol
#	contracts/contracts/layer_3/transferAndLock/TransferAndLockStorageWrapper.sol
#	contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC3643TimeTravel.sol
#	docs/dev-monorepo-migration.md
#	package-lock.json
#	package.json
#	packages/ats/contracts/contracts/layer_0/bond/BondStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_0/equity/EquityStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_0/security/SecurityStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_0/transferAndLock/TransferAndLockStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643.sol
#	packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643Facet.sol
#	packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643Management.sol
#	packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643ManagementFacet.sol
#	packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IERC3643Basic.sol
#	packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IERC3643Management.sol
#	packages/ats/contracts/contracts/layer_2/bond/BondStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_2/equity/EquityStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_3/security/SecurityStorageWrapper.sol
#	packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLockStorageWrapper.sol
#	packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/BondUSAReadTimeTravel.sol
#	packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC3643TimeTravel.sol
#	packages/ats/contracts/contracts/test/testTimeTravel/interfaces/ITimeTravelStorageWrapper.sol
#	packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravelStorageWrapper.sol
#	packages/ats/contracts/package.json
#	packages/ats/contracts/scripts/extractMethods.ts
#	packages/ats/contracts/scripts/selector.ts
#	packages/ats/sdk/__tests__/fixtures/cap/CapFixture.ts
#	packages/ats/sdk/package.json
#	packages/ats/sdk/src/port/in/security/agent/Agent.ts
#	packages/ats/sdk/src/port/in/security/balance/Balance.ts
#	packages/ats/sdk/src/port/in/security/compliance/Compliance.ts
#	packages/ats/sdk/src/port/in/security/controlList/ControlList.ts
#	packages/ats/sdk/src/port/in/security/freeze/Freeze.ts
#	packages/ats/sdk/src/port/in/security/hold/Hold.ts
#	packages/ats/sdk/src/port/in/security/identity/Identity.ts
#	packages/ats/sdk/src/port/in/security/info/Info.ts
#	packages/ats/sdk/src/port/in/security/issue/Issue.ts
#	packages/ats/sdk/src/port/in/security/lock/Lock.ts
#	packages/ats/sdk/src/port/in/security/pause/Pause.ts
#	packages/ats/sdk/src/port/in/security/protectedPartitions/ProtectedPartitions.ts
#	packages/ats/sdk/src/port/in/security/recovery/Recovery.ts
#	packages/ats/sdk/src/port/in/security/redeem/Redeem.ts
#	packages/ats/sdk/src/port/in/security/supply/Supply.ts
#	packages/ats/sdk/src/port/in/security/tokenMetadata/TokenMetadata.ts
#	packages/ats/sdk/src/port/in/security/transfer/Transfer.ts
#	web/src/views/CreateBond/Components/__tests__/PreviousStepButton.test.tsx
#	web/src/views/CreateEquity/Components/__tests__/PreviousStepButton.test.tsx
@iobroberto iobroberto deleted the refactor/BBND-1075-workspaces-migration branch September 19, 2025 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies Changes that update dependency files Documentation Changes that add or update documentation, such as README files, or other non-functional content Refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants