It sets up the workspace as a monorepo containing two packages:
grapesjs (published)
@grapesjs/docs (non-published)
Both packages are managed through the root pnpm monorepo, including linting, shared dependencies, and build steps.
Why?
We have a collection of repositories in our organization that depend on either the GrapesJS core or the GrapesJS CLI. Each repo currently contains slightly different versions and collections of issues. By moving these packages together, we aim to achieve:
It's well-suited for managing many packages in a single repo (including potential future additions like component libraries, plugins, blocks, adapters, and tests).
It offers an excellent workspaces:@ package resolution mechanism.
Usage
Note: pnpm is required globally.
For detailed usage instructions, please refer to the updated CONTRIBUTING.md file in this branch.
What?
This PR implements the following changes:
It sets up the workspace as a monorepo containing two packages:
grapesjs
(published)@grapesjs/docs
(non-published)Both packages are managed through the root pnpm monorepo, including linting, shared dependencies, and build steps.
Why?
We have a collection of repositories in our organization that depend on either the GrapesJS core or the GrapesJS CLI. Each repo currently contains slightly different versions and collections of issues. By moving these packages together, we aim to achieve:
We chose pnpm because:
workspaces:@
package resolution mechanism.Usage
For detailed usage instructions, please refer to the updated CONTRIBUTING.md file in this branch.
Related