finos / FDC3

An open standard for the financial desktop.
https://fdc3.finos.org
Other
194 stars 115 forks source link

FDC3 monorepo #1297

Open robmoffat opened 1 month ago

robmoffat commented 1 month ago

Enhancement Request

We should use the new Node monorepo features so that we can isolate different parts of the FDC3 build and incorporate FDC3 for the web, which is already using a monorepo structure.

### Tasks
- [x] Moved FDC3 For the Web code into the main FDC3 Repo
- [x] Convert from Yarn to NPM workspaces (fdc3-for-web-implementation part)
- [x] Apply monorepo structure to the whole of the FDC3 project
- [x] Rationalise / clean up package structure
- [x] Move FDC3 For Web demo / da-server somewhere else
- [x] FDC3 Workbench - runs fine with npm run dev but fails with build
- [x] Error message: /bin/sh: ../node_modules/.bin/quicktype: No such file or directory
- [x] Fix issue #1209
- [x] fdc3-core -> fdc3-standard (Alex)
- [x] Split out Schema into a module (Alex)
- [x] Remove fdc3-common (RM)
- [x] FDC3 Core Tests Are Breaking (Rob)
- [x] move da-server/demo/addon into toolbox
- [x] move husky to root of project - Added GitHub action instead
- [x] Rename client to fdc3-get-agent
- [x] Rename fdc3-core to fdc3-standard
- [x] Work on the main (@finos/fdc3) FDC3 npm package build so that it will contain FDC3 for the web. Handle root exports. We'll do this in ES6 format for now. Handle package publication so that individual and combined packages are released to npm. Handle root exports / naming clashes (Alex, Kris and Rob)
- [x] Rename da-proxy to fdc3-agent-proxy
- [x] Rename da-server to fdc3-web-impl
- [x] Ensure all package.json files have consistent project metadata
- [ ] RM look at docusaurus build and make sure schemas are imported correctly (RM)
- [ ] BasicDesktopAgent -> DesktopAgentProxy
- [ ] move addon into toolbox and apply this into the docusaurus build (RM)
- [ ] Remove ag-grid / fix semgrep issues
- [ ] Add Coverage report to GitHub Actions (ALEX)
- [ ] write READMEs for the different sub-projects
robmoffat commented 1 month ago

Handles box 2

robmoffat commented 1 month ago

New Repo Structure

package.json  # Top of the Monorepo
packages / 
  - client
  - fdc3-common
  - da-proxy
  - fdc3-core
     - src. # from the /src/ folder
     - test # from the /test folder
  - fdc3. # a rollup of all the above
toolbox
  - fdc3-workbench  # as before, but invoked by the monorepo build 
  - fdc3-explained   # as before, but invoked by the monorepo build