-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
feat: migrate from yarn to pnpm #6120
Conversation
|
✅ Deploy Preview for opstack-docs canceled.
|
Current dependencies on/for this PR:
This comment was auto-generated by Graphite. |
should this base into the pnpm pr? |
Hey @roninjin10! This PR has merge conflicts. Please fix them before continuing review. |
@roninjin10 i pushed a couple of commits, some things are still failing but otherwise its mostly working, idk how to fix some of this stuff |
Nice I think we can get this ready by monday I'm pretty motivated this weekend to ship this and some other things I'm working on |
Hey @roninjin10! This PR has merge conflicts. Please fix them before continuing review. |
Hey @roninjin10! This PR has merge conflicts. Please fix them before continuing review. |
Hey @roninjin10! This PR has merge conflicts. Please fix them before continuing review. |
Semgrep found 2 Detected possible user input going into a View Dataflow Graphflowchart LR
classDef invis fill:white, stroke: none
classDef default fill:#e7f5ff, color:#1c7fd6, stroke: none
subgraph File0["<b>packages/contracts-bedrock/tasks/generate-deploy-config.ts</b>"]
direction LR
%% Source
subgraph Source
direction LR
v0("<b>[Line: 10]</b> hre")
end
%% Intermediate
subgraph Traces0[Traces]
direction TB
v2("<b>[Line: 10]</b> hre")
end
%% Sink
subgraph Sink
direction LR
v1("<b>[Line: 12]</b> hre.network.name")
end
end
%% Class Assignment
Source:::invis
Sink:::invis
Traces0:::invis
File0:::invis
%% Connections
Source --> Traces0
Traces0 --> Sink
%% Clickable
click v0 href "https://github.com/ethereum-optimism/optimism/blob/0d9f85b4fe80fc730fe0addbaa5c04dc1cb7528f/packages/contracts-bedrock/tasks/generate-deploy-config.ts#L10" "View in source" _blank
click v1 href "https://github.com/ethereum-optimism/optimism/blob/0d9f85b4fe80fc730fe0addbaa5c04dc1cb7528f/packages/contracts-bedrock/tasks/generate-deploy-config.ts#L12" "View in source" _blank
click v2 href "https://github.com/ethereum-optimism/optimism/blob/0d9f85b4fe80fc730fe0addbaa5c04dc1cb7528f/packages/contracts-bedrock/tasks/generate-deploy-config.ts#L10" "View in source" _blank
|
Hey @roninjin10! This PR has merge conflicts. Please fix them before continuing review. |
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.
Double checked docker image builds and scanned through the changes; LGTM! Thanks for getting this over the line @roninjin10 @tynes 🚀
Not sure what they deal with netlify is here |
@tynes I know how to fix netlify from the gateway version of the pr |
ugghhh netlify not sure looking into it |
Ok netlify should be good now had to change some settings on netlify |
Semgrep found 1
Consider to use well-defined context Ignore this finding from context-todo. |
I want to see this go green, then squash, then merge |
fix: update all eslint packages Revert "fix: update all eslint packages" This reverts commit ba4febe. ok updating all of the eslint was over aggro upgrade eslint core too
* feat: Upgrade from yarn to pnpm * fix: update eslint and eslint parser to fix contracts-bedrock linter fix: update all eslint packages Revert "fix: update all eslint packages" This reverts commit ba4febe. ok updating all of the eslint was over aggro upgrade eslint core too --------- Co-authored-by: Will Cory <willcory@Wills-MacBook-Pro.local>
Migrates package manager to pnpm
Pnpm saves space and time of installing node modules.
It installs node modules into a pnpm store and then symlinks them in the places npm would copy them to.
By default, it does not hoist node modules
Hoisting is something npm and yarn do to save time/space that pnpm avoids needing to do
Hoisting makes it so dependencies must always be explicit. With yarn and npm contracts-bedrock at any time can import a dependency only declared in sdk. With pnpm this is impossible. More robust code
Pnpm in docker is better because you can run pnpm fetch after only COPY pnpm-lock.yaml. Pnpm will then install node modules with only the lockfile for maximum cache hits.
Pnpm has a robust escape hatch that allows you to modify package.json of dependent packages that comes in handy compared to trying to bang head against the wall with yarn resolutions
Pnpm commands are the same as npm but with a p in front for the most part