fix: only devDependencies are installed regardless of the node env (#4805)

close #4745
This commit is contained in:
spencer17x authored and GitHub committed 2022-05-27 03:05:20 +03:00
1 parent 95ac386bf4
commit ae2f845c5d
3 files changed
+24

No files matched your search

+6
View 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).
+9
View File
@@ -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
+9
View File
@@ -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: {