Skip to content

Commit a80db0c

Browse files
committed
Fix 'The operand of a 'delete' operator must be optional' errors in VS Code codebase. For microsoft#96022
1 parent e06e812 commit a80db0c

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

  • src/vs/platform/environment/node

src/vs/platform/environment/node/argv.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -249,23 +249,25 @@ export function parseArgs<T>(args: string[], options: OptionDescriptions<T>, err
249249
const parsedArgs = minimist(args, { string, boolean, alias });
250250

251251
const cleanedArgs: any = {};
252+
const remainingArgs: any = parsedArgs;
252253

253254
// https://github.com/microsoft/vscode/issues/58177
254255
cleanedArgs._ = parsedArgs._.filter(arg => arg.length > 0);
255-
delete parsedArgs._;
256+
257+
delete remainingArgs._;
256258

257259
for (let optionId in options) {
258260
const o = options[optionId];
259261
if (o.alias) {
260-
delete parsedArgs[o.alias];
262+
delete remainingArgs[o.alias];
261263
}
262264

263-
let val = parsedArgs[optionId];
264-
if (o.deprecates && parsedArgs.hasOwnProperty(o.deprecates)) {
265+
let val = remainingArgs[optionId];
266+
if (o.deprecates && remainingArgs.hasOwnProperty(o.deprecates)) {
265267
if (!val) {
266-
val = parsedArgs[o.deprecates];
268+
val = remainingArgs[o.deprecates];
267269
}
268-
delete parsedArgs[o.deprecates];
270+
delete remainingArgs[o.deprecates];
269271
}
270272

271273
if (typeof val !== 'undefined') {
@@ -281,10 +283,10 @@ export function parseArgs<T>(args: string[], options: OptionDescriptions<T>, err
281283
}
282284
cleanedArgs[optionId] = val;
283285
}
284-
delete parsedArgs[optionId];
286+
delete remainingArgs[optionId];
285287
}
286288

287-
for (let key in parsedArgs) {
289+
for (let key in remainingArgs) {
288290
errorReporter.onUnknownOption(key);
289291
}
290292

0 commit comments

Comments
 (0)