Skip to content

Commit

Permalink
#48430 Skip optional dependents while disablement
Browse files Browse the repository at this point in the history
  • Loading branch information
sandy081 committed Jul 12, 2018
1 parent b056b14 commit afb9422
Showing 1 changed file with 3 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -702,7 +702,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
}

private promptAndSetEnablement(extensions: IExtension[], enablementState: EnablementState): TPromise<any> {
const allDependencies = this.getDependenciesRecursively(extensions, this.local, enablementState, []);
const allDependencies = this.getDependenciesRecursively(extensions, this.local, enablementState);
if (allDependencies.length > 0) {
if (enablementState === EnablementState.Enabled || enablementState === EnablementState.WorkspaceEnabled) {
return this.promptForDependenciesAndEnable(extensions, allDependencies, enablementState);
Expand Down Expand Up @@ -761,7 +761,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
return TPromise.join(allExtensions.map(e => this.doSetEnablement(e, enablementState)));
}

private getDependenciesRecursively(extensions: IExtension[], installed: IExtension[], enablementState: EnablementState, checked: IExtension[]): IExtension[] {
private getDependenciesRecursively(extensions: IExtension[], installed: IExtension[], enablementState: EnablementState, checked: IExtension[] = []): IExtension[] {
const toCheck = extensions.filter(e => checked.indexOf(e) === -1);
if (toCheck.length) {
for (const extension of toCheck) {
Expand Down Expand Up @@ -798,12 +798,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
if (extensionsToDisable.indexOf(i) !== -1) {
return false;
}
return i.dependencies.some(dep => {
if (extension.id === dep.id) {
return true;
}
return extensionsToDisable.some(d => d.id === dep.id);
});
return i.dependencies.some(dep => !dep.optional && [extension, ...extensionsToDisable].some(d => d.id === dep.id));
});
}

Expand Down

0 comments on commit afb9422

Please sign in to comment.