mirror of
https://github.com/pnpm/pnpm.git
synced 2025-12-23 23:29:17 -05:00
fix: only devDependencies are installed regardless of the node env (#4805)
close #4745
This commit is contained in:
6
.changeset/green-geckos-scream.md
Normal file
6
.changeset/green-geckos-scream.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@pnpm/config": patch
|
||||
"pnpm": patch
|
||||
---
|
||||
|
||||
`NODE_ENV=production pnpm install --dev` should only install dev deps [#4745](https://github.com/pnpm/pnpm/pull/4745).
|
||||
@@ -338,6 +338,15 @@ export default async (
|
||||
|
||||
pnpmConfig.packageManager = packageManager
|
||||
|
||||
if (env.NODE_ENV) {
|
||||
if (cliOptions.production) {
|
||||
pnpmConfig.only = 'production'
|
||||
}
|
||||
if (cliOptions.dev) {
|
||||
pnpmConfig.only = 'dev'
|
||||
}
|
||||
}
|
||||
|
||||
if (pnpmConfig.only === 'prod' || pnpmConfig.only === 'production' || !pnpmConfig.only && pnpmConfig.production) {
|
||||
pnpmConfig.production = true
|
||||
pnpmConfig.dev = false
|
||||
|
||||
@@ -26,6 +26,15 @@ test('production install (with production NODE_ENV)', async () => {
|
||||
await project.has('is-positive')
|
||||
})
|
||||
|
||||
test('dev dependencies install (with production NODE_ENV)', async () => {
|
||||
const project = prepare(basicPackageManifest)
|
||||
|
||||
await execPnpm(['install', '--dev'], { env: { NODE_ENV: 'production' } })
|
||||
|
||||
await project.hasNot(Object.keys(basicPackageManifest.dependencies!)[0])
|
||||
await project.has('@rstacruz/tap-spec')
|
||||
})
|
||||
|
||||
test('install dev dependencies only', async () => {
|
||||
const project = prepare({
|
||||
dependencies: {
|
||||
|
||||
Reference in New Issue
Block a user