Comments (19)
(or add a new flag, I don't know which is better)
I think adding a flag makes more sense here since we're having these issues in cases where the pnpm
options are not under our control.
Regardless, I believe I found a way to get our .pnpmfile.cjs
file into the Render build. We have a monorepo and Render only uses a subset of our monorepo, so we're thinking about fixing this by moving our .pnpmfile.cjs
to our package (which is called packages/app
) and then doing a symlink from the root of our repo to the file in our package:
❯ ln -s packages/app/.pnpmfile.cjs .pnpmfile.cjs
That will allow us to both use pnpm i
locally and pnpm i
in Render without having to customize the pnpm
options. So hopefully it will work. We're testing it now.
The next issue will come when we have more than one frontend package deployed on Render, as we'll then need to duplicate .pnpmfile.cjs
in every package.
from pnpm.
overrides cannot remove dependencies.
I think in this scenario it would be OK to ignore the missing pnpmfile.
from pnpm.
I think that should be fine
from pnpm.
@KSXGitHub could the checksum of the .pnpmfile.cjs
differ in different envs?
from pnpm.
@divmgl do you have the same .pnpmfile.cjs
file both locally (when you create the lockfile) and in the docker, when you run pnpm install --frozen-lockfile
?
from pnpm.
@zkochan checking now
from pnpm.
I guess if git changes the line endings, the checksum could differ
from pnpm.
!!!!! @zkochan we did not! that fixed it! thanks a million
from pnpm.
could the checksum of the
.pnpmfile.cjs
differ in different envs?
I don't think it could. And CRLFs are normalized into LFs by the hash function so it should be a problem either. But I don't remember the hash function trimming new lines, so if pnpmfile final newlines were trimmed, it could cause hash difference.
from pnpm.
we did not! that fixed it! thanks a million
Oh, it was because the pnpmfiles were different?
from pnpm.
Quick observation though: while this does fix things locally, this will break Render.com builds because the .pnpmfile.cjs
file is not included.
@KSXGitHub yep, we had a custom .pnpmfile.cjs
file that was not included in our Docker images.
from pnpm.
Maybe we could ignore the pnpmfileChecksum check if --frozen-lockfile
is used and .pnpmfile.cjs
is not present.
(or add a new flag, I don't know which is better)
from pnpm.
(or add a new flag, I don't know which is better)
I think adding a flag makes more sense here since we're having these issues in cases where the pnpm options are not under our control.
If the options are not under your control then how do you expect to use the said flag?
from pnpm.
If the options are not under your control then how do you expect to use the said flag?
Ah, that's true :(. We're having a different issue now we're the .pnpmfile.cjs
is not being picked up by GHA, so we're looking into that now lol
from pnpm.
We're thinking about just removing our .pnpmfile.cjs
file at this point. It exists to avoid installing Webpack (as we have dependencies that are using Webpack for some reason) but it's causing more headaches for us.
from pnpm.
It exists to avoid installing Webpack (as we have dependencies that are using Webpack for some reason) but it's causing more headaches for us.
Can you use overrides
? Many of pnpmfile use cases can be replaced with pnpm.overrides
.
from pnpm.
If webpack
was an optional dependencies then there's ignoredOptionalDependencies
.
from pnpm.
We could add a way to remove other types of dependencies using settings. It was already requested once.
from pnpm.
We could add a way to remove other types of dependencies using settings. It was already requested once.
Can and should it be integrated to overrides
? For example: "webpack": "-"
means removing webpack
.
from pnpm.
Related Issues (20)
- Progress bar for "pnpm env use"
- pnpm dlx creates file paths exceeding 260 characters, which breaks node HOT 2
- pnpm installs all OS targets for `@next/swc-*` in Turborepo when rerunning `pnpm install` HOT 2
- Updating dependency version in workspace only updates specifier in lock file, but not the version, when (re)adding to workplace package before running `pnpm i` HOT 1
- No projects matched the filters on Windows (pnpm v9.7.1)
- .pnpm-catches not created with clean `pnpm i` HOT 1
- Correct `checkNonRootProjectManifest`: Remove `pnpm`, check for its sub fields other than `pnpm.executionEnv`
- prepublishOnly script does not extrapolate env variables
- ERROR This project is configured to use yarn
- node_modules `tsconfig.json` error
- pnpm install error in github actions
- pnpm get config return undefined
- --resolution-only fails with confusing message when you also pass --frozen-lockfile
- `#` character when installing from Git is incompatible with Vite HOT 2
- win10 npm安装@pnpm/exe 通过powershell使用pnpm会出现弹窗 HOT 1
- failed to handle the git hosted package
- pnpm install suddenly reaches heap limit every time. HOT 3
- GET https://registry.npmmirror.com/core/-/core-1.0.113.tgz error (ERR_PNPM_EPERM). Will retry in 10 seconds. 2 retries left.
- pnpm upgrade --latest ignore resolutions config
- Windows Execution Policy error `pnpm.ps1` is not digitally signed HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pnpm.