@@ -5,23 +5,24 @@ const localeCompare = require('@isaacs/string-locale-compare')('en')
55
66const add = ( { pkg, add, saveBundle, saveType } ) => {
77 for ( const { name, rawSpec } of add ) {
8+ let addSaveType = saveType
89 // if the user does not give us a type, we infer which type(s)
910 // to keep based on the same order of priority we do when
1011 // building the tree as defined in the _loadDeps method of
1112 // the node class.
12- if ( ! saveType ) {
13- saveType = inferSaveType ( pkg , name )
13+ if ( ! addSaveType ) {
14+ addSaveType = inferSaveType ( pkg , name )
1415 }
1516
16- if ( saveType === 'prod' ) {
17+ if ( addSaveType === 'prod' ) {
1718 // a production dependency can only exist as production (rpj ensures it
1819 // doesn't coexist w/ optional)
1920 deleteSubKey ( pkg , 'devDependencies' , name , 'dependencies' )
2021 deleteSubKey ( pkg , 'peerDependencies' , name , 'dependencies' )
21- } else if ( saveType === 'dev' ) {
22+ } else if ( addSaveType === 'dev' ) {
2223 // a dev dependency may co-exist as peer, or optional, but not production
2324 deleteSubKey ( pkg , 'dependencies' , name , 'devDependencies' )
24- } else if ( saveType === 'optional' ) {
25+ } else if ( addSaveType === 'optional' ) {
2526 // an optional dependency may co-exist as dev (rpj ensures it doesn't
2627 // coexist w/ prod)
2728 deleteSubKey ( pkg , 'peerDependencies' , name , 'optionalDependencies' )
@@ -31,23 +32,23 @@ const add = ({ pkg, add, saveBundle, saveType }) => {
3132 deleteSubKey ( pkg , 'optionalDependencies' , name , 'peerDependencies' )
3233 }
3334
34- const depType = saveTypeMap . get ( saveType )
35+ const depType = saveTypeMap . get ( addSaveType )
3536
3637 pkg [ depType ] = pkg [ depType ] || { }
3738 if ( rawSpec !== '' || pkg [ depType ] [ name ] === undefined ) {
3839 pkg [ depType ] [ name ] = rawSpec || '*'
3940 }
40- if ( saveType === 'optional' ) {
41+ if ( addSaveType === 'optional' ) {
4142 // Affordance for previous npm versions that require this behaviour
4243 pkg . dependencies = pkg . dependencies || { }
4344 pkg . dependencies [ name ] = pkg . optionalDependencies [ name ]
4445 }
4546
46- if ( saveType === 'peer' || saveType === 'peerOptional' ) {
47+ if ( addSaveType === 'peer' || addSaveType === 'peerOptional' ) {
4748 const pdm = pkg . peerDependenciesMeta || { }
48- if ( saveType === 'peer' && pdm [ name ] && pdm [ name ] . optional ) {
49+ if ( addSaveType === 'peer' && pdm [ name ] && pdm [ name ] . optional ) {
4950 pdm [ name ] . optional = false
50- } else if ( saveType === 'peerOptional' ) {
51+ } else if ( addSaveType === 'peerOptional' ) {
5152 pdm [ name ] = pdm [ name ] || { }
5253 pdm [ name ] . optional = true
5354 pkg . peerDependenciesMeta = pdm
@@ -59,7 +60,7 @@ const add = ({ pkg, add, saveBundle, saveType }) => {
5960 }
6061 }
6162
62- if ( saveBundle && saveType !== 'peer' && saveType !== 'peerOptional' ) {
63+ if ( saveBundle && addSaveType !== 'peer' && addSaveType !== 'peerOptional' ) {
6364 // keep it sorted, keep it unique
6465 const bd = new Set ( pkg . bundleDependencies || [ ] )
6566 bd . add ( name )
0 commit comments