@@ -20,10 +20,9 @@ const ensureSymlinkSync = fs.ensureSymlinkSync as typeof fs.symlinkSync
20
20
export interface AddPackagesOptions {
21
21
dev ?: boolean
22
22
link ?: boolean
23
- linkDep ?: boolean
24
23
yarn ?: boolean
25
- safe ?: boolean
26
24
pure ?: boolean
25
+ noSave ?: boolean
27
26
workingDir : string
28
27
}
29
28
@@ -71,7 +70,8 @@ export const addPackages = async (
71
70
return
72
71
}
73
72
const doPure =
74
- options . pure === false ? false : options . pure || ! ! localPkg . workspaces
73
+ options . pure !== undefined ? options . pure : ! ! localPkg . workspaces
74
+
75
75
const addedInstalls = packages
76
76
. map ( packageName => {
77
77
const { name, version = '' } = parsePackageName ( packageName )
@@ -127,19 +127,15 @@ export const addPackages = async (
127
127
}
128
128
if ( ! doPure ) {
129
129
const destModulesDir = join ( workingDir , 'node_modules' , name )
130
- if ( options . link || options . linkDep || isSymlink ( destModulesDir ) ) {
131
- fs . removeSync ( destModulesDir )
132
- }
133
-
134
- if ( options . link || options . linkDep ) {
130
+ fs . removeSync ( destModulesDir )
131
+ if ( options . link ) {
135
132
ensureSymlinkSync ( destYalcCopyDir , destModulesDir , 'junction' )
136
133
} else {
137
- emptyDirExcludeNodeModules ( destModulesDir )
138
134
fs . copySync ( destYalcCopyDir , destModulesDir )
139
135
}
140
136
141
- if ( ! options . link ) {
142
- const protocol = options . linkDep ? 'link:' : 'file:'
137
+ if ( ! options . noSave ) {
138
+ const protocol = options . link ? 'link:' : 'file:'
143
139
const localAddress =
144
140
protocol + values . yalcPackagesFolder + '/' + pkg . name
145
141
@@ -174,7 +170,8 @@ export const addPackages = async (
174
170
replacedVersion =
175
171
replacedVersion == localAddress ? '' : replacedVersion
176
172
}
177
- const addedAction = options . link ? 'linked' : 'added'
173
+
174
+ const addedAction = options . noSave ? 'linked' : 'added'
178
175
console . log (
179
176
`Package ${ pkg . name } @${
180
177
pkg . version
@@ -204,8 +201,8 @@ export const addPackages = async (
204
201
version : i ! . version ,
205
202
replaced : i ! . replaced ,
206
203
pure : doPure ,
207
- file : ! options . link && ! options . linkDep && ! doPure ,
208
- link : options . linkDep && ! doPure ,
204
+ file : ! options . link && ! doPure ,
205
+ link : options . link && ! doPure ,
209
206
signature : i . signature
210
207
} ) ) ,
211
208
{ workingDir : options . workingDir }
0 commit comments