-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
init: pnpm setup #6114
init: pnpm setup #6114
Conversation
@@ -36,32 +36,21 @@ | |||
"backbone-undo": "0.2.6", | |||
"codemirror": "5.63.0", | |||
"codemirror-formatting": "1.0.0", | |||
"html-entities": "~1.4.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@artf this is needed to stop error:
Looks like we should keep it.
"format": "prettier . --write", | ||
"format:check": "prettier . --check" | ||
}, | ||
"devDependencies": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the dev deps for typescript, testing, building, and lining are now in this file.
}, | ||
"pnpm": { | ||
"peerDependencyRules": { | ||
"ignoreMissing": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They are hoisted to the root.
"eslint": "8.57.0", | ||
"eslint-config-prettier": "9.1.0", | ||
"eslint-plugin-jest": "28.8.0", | ||
"eslint-plugin-prettier": "5.1.3", | ||
"grapesjs-cli": "4.1.3", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a conflict in the repo with webpack
, as vuepress relies on a different version of webpack as to grapesjs-cli
, we can resolve this better and share webpack when we have the cli in the monorepo.
"documentation": "14.0.3", | ||
"postcss": "8", | ||
"sass": "1.42.1", | ||
"vuepress": "1.9.10", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Relies on webpack.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💜
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