@codingame/monaco-vscode-extension-gallery-service-override 1.83.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/extensionGallery.d.ts +12 -0
- package/extensionGallery.js +76 -0
- package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
- package/external/tslib/tslib.es6.js +11 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/override/vs/platform/dialogs/common/dialogs.js +8 -0
- package/package.json +30 -0
- package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +784 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +142 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +855 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +119 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +57 -0
- package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +58 -0
- package/vscode/src/vs/platform/externalServices/common/marketplace.js +17 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +492 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +28 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +78 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +87 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +60 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +1868 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +52 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +437 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +17 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +221 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +2063 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +13 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +46 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +65 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +98 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +224 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +121 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +285 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +912 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +1270 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +824 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +1730 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +324 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +28 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +28 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +29 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +26 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +38 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +88 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +67 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +43 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +104 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +31 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +41 -0
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +207 -0
- package/vscode/src/vs/workbench/contrib/update/common/update.js +3 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.js +84 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +634 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +883 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +109 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +62 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +633 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +58 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +269 -0
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +83 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +73 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
3
|
+
import { Disposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
+
import { isUndefinedOrNull } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
5
|
+
import { DISABLED_EXTENSIONS_STORAGE_PATH, IExtensionManagementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
|
|
6
|
+
import { areSameExtensions } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
|
|
7
|
+
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
8
|
+
|
|
9
|
+
let GlobalExtensionEnablementService = class GlobalExtensionEnablementService extends Disposable {
|
|
10
|
+
constructor(storageService, extensionManagementService) {
|
|
11
|
+
super();
|
|
12
|
+
this._onDidChangeEnablement = ( new Emitter());
|
|
13
|
+
this.onDidChangeEnablement = this._onDidChangeEnablement.event;
|
|
14
|
+
this.storageManger = this._register(( new StorageManager(storageService)));
|
|
15
|
+
this._register(this.storageManger.onDidChange(extensions => this._onDidChangeEnablement.fire({ extensions, source: 'storage' })));
|
|
16
|
+
this._register(extensionManagementService.onDidInstallExtensions(e => e.forEach(({ local, operation }) => {
|
|
17
|
+
if (local && operation === 4 ) {
|
|
18
|
+
this._removeFromDisabledExtensions(local.identifier);
|
|
19
|
+
}
|
|
20
|
+
})));
|
|
21
|
+
}
|
|
22
|
+
async enableExtension(extension, source) {
|
|
23
|
+
if (this._removeFromDisabledExtensions(extension)) {
|
|
24
|
+
this._onDidChangeEnablement.fire({ extensions: [extension], source });
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
async disableExtension(extension, source) {
|
|
30
|
+
if (this._addToDisabledExtensions(extension)) {
|
|
31
|
+
this._onDidChangeEnablement.fire({ extensions: [extension], source });
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
getDisabledExtensions() {
|
|
37
|
+
return this._getExtensions(DISABLED_EXTENSIONS_STORAGE_PATH);
|
|
38
|
+
}
|
|
39
|
+
async getDisabledExtensionsAsync() {
|
|
40
|
+
return this.getDisabledExtensions();
|
|
41
|
+
}
|
|
42
|
+
_addToDisabledExtensions(identifier) {
|
|
43
|
+
const disabledExtensions = this.getDisabledExtensions();
|
|
44
|
+
if (disabledExtensions.every(e => !areSameExtensions(e, identifier))) {
|
|
45
|
+
disabledExtensions.push(identifier);
|
|
46
|
+
this._setDisabledExtensions(disabledExtensions);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
_removeFromDisabledExtensions(identifier) {
|
|
52
|
+
const disabledExtensions = this.getDisabledExtensions();
|
|
53
|
+
for (let index = 0; index < disabledExtensions.length; index++) {
|
|
54
|
+
const disabledExtension = disabledExtensions[index];
|
|
55
|
+
if (areSameExtensions(disabledExtension, identifier)) {
|
|
56
|
+
disabledExtensions.splice(index, 1);
|
|
57
|
+
this._setDisabledExtensions(disabledExtensions);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
_setDisabledExtensions(disabledExtensions) {
|
|
64
|
+
this._setExtensions(DISABLED_EXTENSIONS_STORAGE_PATH, disabledExtensions);
|
|
65
|
+
}
|
|
66
|
+
_getExtensions(storageId) {
|
|
67
|
+
return this.storageManger.get(storageId, 0 );
|
|
68
|
+
}
|
|
69
|
+
_setExtensions(storageId, extensions) {
|
|
70
|
+
this.storageManger.set(storageId, extensions, 0 );
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
GlobalExtensionEnablementService = ( __decorate([
|
|
74
|
+
( __param(0, IStorageService)),
|
|
75
|
+
( __param(1, IExtensionManagementService))
|
|
76
|
+
], GlobalExtensionEnablementService));
|
|
77
|
+
class StorageManager extends Disposable {
|
|
78
|
+
constructor(storageService) {
|
|
79
|
+
super();
|
|
80
|
+
this.storageService = storageService;
|
|
81
|
+
this.storage = Object.create(null);
|
|
82
|
+
this._onDidChange = this._register(( new Emitter()));
|
|
83
|
+
this.onDidChange = this._onDidChange.event;
|
|
84
|
+
this._register(storageService.onDidChangeValue(0 , undefined, this._register(( new DisposableStore())))(e => this.onDidStorageChange(e)));
|
|
85
|
+
}
|
|
86
|
+
get(key, scope) {
|
|
87
|
+
let value;
|
|
88
|
+
if (scope === 0 ) {
|
|
89
|
+
if (isUndefinedOrNull(this.storage[key])) {
|
|
90
|
+
this.storage[key] = this._get(key, scope);
|
|
91
|
+
}
|
|
92
|
+
value = this.storage[key];
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
value = this._get(key, scope);
|
|
96
|
+
}
|
|
97
|
+
return JSON.parse(value);
|
|
98
|
+
}
|
|
99
|
+
set(key, value, scope) {
|
|
100
|
+
const newValue = JSON.stringify(( value.map(({ id, uuid }) => ({ id, uuid }))));
|
|
101
|
+
const oldValue = this._get(key, scope);
|
|
102
|
+
if (oldValue !== newValue) {
|
|
103
|
+
if (scope === 0 ) {
|
|
104
|
+
if (value.length) {
|
|
105
|
+
this.storage[key] = newValue;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
delete this.storage[key];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
this._set(key, value.length ? newValue : undefined, scope);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
onDidStorageChange(storageChangeEvent) {
|
|
115
|
+
if (!isUndefinedOrNull(this.storage[storageChangeEvent.key])) {
|
|
116
|
+
const newValue = this._get(storageChangeEvent.key, storageChangeEvent.scope);
|
|
117
|
+
if (newValue !== this.storage[storageChangeEvent.key]) {
|
|
118
|
+
const oldValues = this.get(storageChangeEvent.key, storageChangeEvent.scope);
|
|
119
|
+
delete this.storage[storageChangeEvent.key];
|
|
120
|
+
const newValues = this.get(storageChangeEvent.key, storageChangeEvent.scope);
|
|
121
|
+
const added = oldValues.filter(oldValue => !( newValues.some(newValue => areSameExtensions(oldValue, newValue))));
|
|
122
|
+
const removed = newValues.filter(newValue => !( oldValues.some(oldValue => areSameExtensions(oldValue, newValue))));
|
|
123
|
+
if (added.length || removed.length) {
|
|
124
|
+
this._onDidChange.fire([...added, ...removed]);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
_get(key, scope) {
|
|
130
|
+
return this.storageService.get(key, scope, '[]');
|
|
131
|
+
}
|
|
132
|
+
_set(key, value, scope) {
|
|
133
|
+
if (value) {
|
|
134
|
+
this.storageService.store(key, value, scope, 1 );
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
this.storageService.remove(key, scope);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { GlobalExtensionEnablementService, StorageManager };
|