Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Monorepo structure #477

Closed
4 of 5 tasks
ddeboer opened this issue Feb 8, 2022 · 0 comments · Fixed by #486
Closed
4 of 5 tasks

Monorepo structure #477

ddeboer opened this issue Feb 8, 2022 · 0 comments · Fixed by #486

Comments

@ddeboer
Copy link
Member

ddeboer commented Feb 8, 2022

A proposal to restructure the Network of Terms repositories and code that we currently have:

  • Rename this repository to network-of-terms.
  • Use NPM 7 workspaces for a monorepo with the following structure:
    • catalog (= network-of-terms-catalog)
    • query (shared query logic), which requires catalog (and Comunica)
    • graphql (or graphql-api), which requires query
    • reconciliation (or reconciliation-api), which requires query
  • Publish both catalog and query to NPM.
  • Archive network-of-terms-catalog.
  • Should we rename the packages from the unwieldy @netwerk-digitaal-erfgoed/network-of-terms-graphql etc. to @network-of-terms/graphql etc.?

A downside is the cascade of package updates if we make changes to catalog.

To make the contents of catalog better pluggable and easier to customise, we could apply a further subdivision:

  • Make catalog purely RDF and add a web server (move TypeScript files from catalog to query).
  • Host catalog as a separate app in the infrastructure; query then reads the catalog’s RDF from a configured HTTP address. Now query no longer has a package dependency on catalog.
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 a pull request may close this issue.

1 participant