-
Notifications
You must be signed in to change notification settings - Fork 124
fix: drop npm dependency #444
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
Conversation
Closed in favor of #445
f43a45a
to
3043a44
Compare
#445 Does not replace this. I don't want to see npm and it's tree in the lock file. If you don't want to drop it please make it a peerDependency
schmidtk
commented
Jul 7, 2022
This dependency causes an unfortunate side effect in projects using npm workspaces, because the npm
dependency from this package gets hoisted to the root node_modules
. Scripts using npm run
will then use the locally installed version of npm from this package instead of the global install.
I described the issue in further detail here:
npm/rfcs#287 (comment)
Is the dependency truly needed in this package, or can it be either removed or made a peer dependency? Thanks for you time.
can it be either removed or made a peer dependency?
our recommendation is to execute semantic-release using npx
so that semantic-release is only installed at execution time and not defined in your package.json
or your lockfile. this will limit the impact of npm being installed as a dependency as well
This dependency causes an unfortunate side effect in projects using npm workspaces
this project does not officially support use in monorepos, so impacts to workspaces are officially out of scope. what additional tooling are you using in your project to enable use within a monorepo?
the-spyke
commented
Jul 7, 2022
our recommendation is to execute semantic-release using npx so that semantic-release is only installed at execution time and not defined in your package.json or your lockfile.
I don't want to use npx
so everything is stable and hash-verified without hacking around npm caches on CI.
I don't want to use
npx
so everything is stable and hash-verified without hacking around npm caches on CI.
you are welcome to make that choice, but that means living with the current trade-offs. we are not ready to make a decision on this change, but are considering the impacts. in the meantime, those are the available options.
schmidtk
commented
Jul 7, 2022
our recommendation is to execute semantic-release using
npx
so that semantic-release is only installed at execution time and not defined in yourpackage.json
or your lockfile. this will limit the impact of npm being installed as a dependency as well
I'll look into the global install route to avoid bloating our package lock, though we prefer the local installation for the same reasons @the-spyke identified.
this project does not officially support use in monorepos, so impacts to workspaces are officially out of scope. what additional tooling are you using in your project to enable use within a monorepo?
We wrote a simple script that gathers workspace projects with semantic-release
configured and runs npm run semantic-release --workspace=<project>
on each of them.
I'm going to bump this because there is a CVE right now affecting npm
so anyone who uses this package which pulls in npm
and its tree get a High severity vulnerability tagged to them. npm
bundles their dependencies so their is currently no solution other than waiting for an npm
update, you cannot override the offending package via npm audit fix
regarding the CVE, see our recommendation above:
#444 (comment)
Uh oh!
There was an error while loading. Please reload this page.
closes #434
relates #270
alternative #445
#434 (comment)