GrapesJS / grapesjs

Free and Open source Web Builder Framework. Next generation tool for building templates without coding
https://grapesjs.com
Other
22.73k stars 4.11k forks source link

init: pnpm setup #6114

Closed danstarns closed 2 months ago

danstarns commented 2 months ago

What?

This PR implements the following changes:

  1. Adds pnpm for package management

It sets up the workspace as a monorepo containing two packages:

  1. grapesjs (published)
  2. @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:

  1. It's well-suited for managing many packages in a single repo (including potential future additions like component libraries, plugins, blocks, adapters, and tests).
  2. 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.

Related