@@ -5,23 +5,24 @@ const localeCompare = require('@isaacs/string-locale-compare')('en')
5
5
6
6
const add = ( { pkg, add, saveBundle, saveType } ) => {
7
7
for ( const { name, rawSpec } of add ) {
8
+ let addSaveType = saveType
8
9
// if the user does not give us a type, we infer which type(s)
9
10
// to keep based on the same order of priority we do when
10
11
// building the tree as defined in the _loadDeps method of
11
12
// the node class.
12
- if ( ! saveType ) {
13
- saveType = inferSaveType ( pkg , name )
13
+ if ( ! addSaveType ) {
14
+ addSaveType = inferSaveType ( pkg , name )
14
15
}
15
16
16
- if ( saveType === 'prod' ) {
17
+ if ( addSaveType === 'prod' ) {
17
18
// a production dependency can only exist as production (rpj ensures it
18
19
// doesn't coexist w/ optional)
19
20
deleteSubKey ( pkg , 'devDependencies' , name , 'dependencies' )
20
21
deleteSubKey ( pkg , 'peerDependencies' , name , 'dependencies' )
21
- } else if ( saveType === 'dev' ) {
22
+ } else if ( addSaveType === 'dev' ) {
22
23
// a dev dependency may co-exist as peer, or optional, but not production
23
24
deleteSubKey ( pkg , 'dependencies' , name , 'devDependencies' )
24
- } else if ( saveType === 'optional' ) {
25
+ } else if ( addSaveType === 'optional' ) {
25
26
// an optional dependency may co-exist as dev (rpj ensures it doesn't
26
27
// coexist w/ prod)
27
28
deleteSubKey ( pkg , 'peerDependencies' , name , 'optionalDependencies' )
@@ -31,23 +32,23 @@ const add = ({ pkg, add, saveBundle, saveType }) => {
31
32
deleteSubKey ( pkg , 'optionalDependencies' , name , 'peerDependencies' )
32
33
}
33
34
34
- const depType = saveTypeMap . get ( saveType )
35
+ const depType = saveTypeMap . get ( addSaveType )
35
36
36
37
pkg [ depType ] = pkg [ depType ] || { }
37
38
if ( rawSpec !== '' || pkg [ depType ] [ name ] === undefined ) {
38
39
pkg [ depType ] [ name ] = rawSpec || '*'
39
40
}
40
- if ( saveType === 'optional' ) {
41
+ if ( addSaveType === 'optional' ) {
41
42
// Affordance for previous npm versions that require this behaviour
42
43
pkg . dependencies = pkg . dependencies || { }
43
44
pkg . dependencies [ name ] = pkg . optionalDependencies [ name ]
44
45
}
45
46
46
- if ( saveType === 'peer' || saveType === 'peerOptional' ) {
47
+ if ( addSaveType === 'peer' || addSaveType === 'peerOptional' ) {
47
48
const pdm = pkg . peerDependenciesMeta || { }
48
- if ( saveType === 'peer' && pdm [ name ] && pdm [ name ] . optional ) {
49
+ if ( addSaveType === 'peer' && pdm [ name ] && pdm [ name ] . optional ) {
49
50
pdm [ name ] . optional = false
50
- } else if ( saveType === 'peerOptional' ) {
51
+ } else if ( addSaveType === 'peerOptional' ) {
51
52
pdm [ name ] = pdm [ name ] || { }
52
53
pdm [ name ] . optional = true
53
54
pkg . peerDependenciesMeta = pdm
@@ -59,7 +60,7 @@ const add = ({ pkg, add, saveBundle, saveType }) => {
59
60
}
60
61
}
61
62
62
- if ( saveBundle && saveType !== 'peer' && saveType !== 'peerOptional' ) {
63
+ if ( saveBundle && addSaveType !== 'peer' && addSaveType !== 'peerOptional' ) {
63
64
// keep it sorted, keep it unique
64
65
const bd = new Set ( pkg . bundleDependencies || [ ] )
65
66
bd . add ( name )
0 commit comments