@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.
Files changed (66) hide show
  1. package/extensionGallery.d.ts +12 -0
  2. package/extensionGallery.js +76 -0
  3. package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
  4. package/external/tslib/tslib.es6.js +11 -0
  5. package/index.d.ts +1 -0
  6. package/index.js +1 -0
  7. package/override/vs/platform/dialogs/common/dialogs.js +8 -0
  8. package/package.json +30 -0
  9. package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +784 -0
  10. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +142 -0
  11. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +855 -0
  12. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +119 -0
  13. package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +57 -0
  14. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +58 -0
  15. package/vscode/src/vs/platform/externalServices/common/marketplace.js +17 -0
  16. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +492 -0
  17. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +28 -0
  18. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +78 -0
  19. package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +87 -0
  20. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +60 -0
  21. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +1868 -0
  22. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +52 -0
  23. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +437 -0
  24. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +17 -0
  25. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +221 -0
  26. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +2063 -0
  27. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +13 -0
  28. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +46 -0
  29. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +65 -0
  30. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +98 -0
  31. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +224 -0
  32. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +121 -0
  33. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +285 -0
  34. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +912 -0
  35. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +1270 -0
  36. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +824 -0
  37. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +1730 -0
  38. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +324 -0
  39. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +28 -0
  40. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +28 -0
  41. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +6 -0
  42. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +6 -0
  43. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +6 -0
  44. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +6 -0
  45. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +6 -0
  46. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +29 -0
  47. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +26 -0
  48. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +38 -0
  49. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +88 -0
  50. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +67 -0
  51. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +43 -0
  52. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +104 -0
  53. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +31 -0
  54. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +41 -0
  55. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +207 -0
  56. package/vscode/src/vs/workbench/contrib/update/common/update.js +3 -0
  57. package/vscode/src/vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.js +84 -0
  58. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +634 -0
  59. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +883 -0
  60. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +109 -0
  61. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +62 -0
  62. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +633 -0
  63. package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +58 -0
  64. package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +269 -0
  65. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +83 -0
  66. package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +73 -0
@@ -0,0 +1,285 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
3
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
4
+ import { dispose, Disposable, DisposableStore, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
+ import { Action } from 'monaco-editor/esm/vs/base/common/actions.js';
6
+ import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
7
+ import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
8
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
9
+ import { WorkbenchAsyncDataTree, IListService } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
10
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
11
+ import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
12
+ import { registerThemingParticipant } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
13
+ import { CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
14
+ import { isNonEmptyArray } from 'monaco-editor/esm/vs/base/common/arrays.js';
15
+ import { Renderer } from './extensionsList.js';
16
+ import { listFocusBackground, listFocusForeground, foreground, editorBackground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
17
+ import { StandardKeyboardEvent } from 'monaco-editor/esm/vs/base/browser/keyboardEvent.js';
18
+ import { StandardMouseEvent } from 'monaco-editor/esm/vs/base/browser/mouseEvent.js';
19
+ import { getAriaLabelForExtension } from './extensionsViews.js';
20
+
21
+ var ExtensionRenderer_1;
22
+ let ExtensionsGridView = class ExtensionsGridView extends Disposable {
23
+ constructor(parent, delegate, instantiationService) {
24
+ super();
25
+ this.instantiationService = instantiationService;
26
+ this.element = dom.append(parent, dom.$('.extensions-grid-view'));
27
+ this.renderer = this.instantiationService.createInstance(Renderer, { onFocus: Event.None, onBlur: Event.None }, { hoverOptions: { position() { return 2 ; } } });
28
+ this.delegate = delegate;
29
+ this.disposableStore = this._register(( new DisposableStore()));
30
+ }
31
+ setExtensions(extensions) {
32
+ this.disposableStore.clear();
33
+ extensions.forEach((e, index) => this.renderExtension(e, index));
34
+ }
35
+ renderExtension(extension, index) {
36
+ const extensionContainer = dom.append(this.element, dom.$('.extension-container'));
37
+ extensionContainer.style.height = `${this.delegate.getHeight()}px`;
38
+ extensionContainer.setAttribute('tabindex', '0');
39
+ const template = this.renderer.renderTemplate(extensionContainer);
40
+ this.disposableStore.add(toDisposable(() => this.renderer.disposeTemplate(template)));
41
+ const openExtensionAction = this.instantiationService.createInstance(OpenExtensionAction);
42
+ openExtensionAction.extension = extension;
43
+ template.name.setAttribute('tabindex', '0');
44
+ const handleEvent = (e) => {
45
+ if (e instanceof StandardKeyboardEvent && e.keyCode !== 3 ) {
46
+ return;
47
+ }
48
+ openExtensionAction.run(e.ctrlKey || e.metaKey);
49
+ e.stopPropagation();
50
+ e.preventDefault();
51
+ };
52
+ this.disposableStore.add(dom.addDisposableListener(template.name, dom.EventType.CLICK, (e) => handleEvent(( new StandardMouseEvent(e)))));
53
+ this.disposableStore.add(dom.addDisposableListener(template.name, dom.EventType.KEY_DOWN, (e) => handleEvent(( new StandardKeyboardEvent(e)))));
54
+ this.disposableStore.add(dom.addDisposableListener(extensionContainer, dom.EventType.KEY_DOWN, (e) => handleEvent(( new StandardKeyboardEvent(e)))));
55
+ this.renderer.renderElement(extension, index, template);
56
+ }
57
+ };
58
+ ExtensionsGridView = ( __decorate([
59
+ ( __param(2, IInstantiationService))
60
+ ], ExtensionsGridView));
61
+ class AsyncDataSource {
62
+ hasChildren({ hasChildren }) {
63
+ return hasChildren;
64
+ }
65
+ getChildren(extensionData) {
66
+ return extensionData.getChildren();
67
+ }
68
+ }
69
+ class VirualDelegate {
70
+ getHeight(element) {
71
+ return 62;
72
+ }
73
+ getTemplateId({ extension }) {
74
+ return extension ? ExtensionRenderer.TEMPLATE_ID : UnknownExtensionRenderer.TEMPLATE_ID;
75
+ }
76
+ }
77
+ let ExtensionRenderer = class ExtensionRenderer {
78
+ static { ExtensionRenderer_1 = this; }
79
+ static { this.TEMPLATE_ID = 'extension-template'; }
80
+ constructor(instantiationService) {
81
+ this.instantiationService = instantiationService;
82
+ }
83
+ get templateId() {
84
+ return ExtensionRenderer_1.TEMPLATE_ID;
85
+ }
86
+ renderTemplate(container) {
87
+ container.classList.add('extension');
88
+ const icon = dom.append(container, dom.$('img.icon'));
89
+ const details = dom.append(container, dom.$('.details'));
90
+ const header = dom.append(details, dom.$('.header'));
91
+ const name = dom.append(header, dom.$('span.name'));
92
+ const openExtensionAction = this.instantiationService.createInstance(OpenExtensionAction);
93
+ const extensionDisposables = [dom.addDisposableListener(name, 'click', (e) => {
94
+ openExtensionAction.run(e.ctrlKey || e.metaKey);
95
+ e.stopPropagation();
96
+ e.preventDefault();
97
+ })];
98
+ const identifier = dom.append(header, dom.$('span.identifier'));
99
+ const footer = dom.append(details, dom.$('.footer'));
100
+ const author = dom.append(footer, dom.$('.author'));
101
+ return {
102
+ icon,
103
+ name,
104
+ identifier,
105
+ author,
106
+ extensionDisposables,
107
+ set extensionData(extensionData) {
108
+ openExtensionAction.extension = extensionData.extension;
109
+ }
110
+ };
111
+ }
112
+ renderElement(node, index, data) {
113
+ const extension = node.element.extension;
114
+ data.extensionDisposables.push(dom.addDisposableListener(data.icon, 'error', () => data.icon.src = extension.iconUrlFallback, { once: true }));
115
+ data.icon.src = extension.iconUrl;
116
+ if (!data.icon.complete) {
117
+ data.icon.style.visibility = 'hidden';
118
+ data.icon.onload = () => data.icon.style.visibility = 'inherit';
119
+ }
120
+ else {
121
+ data.icon.style.visibility = 'inherit';
122
+ }
123
+ data.name.textContent = extension.displayName;
124
+ data.identifier.textContent = extension.identifier.id;
125
+ data.author.textContent = extension.publisherDisplayName;
126
+ data.extensionData = node.element;
127
+ }
128
+ disposeTemplate(templateData) {
129
+ templateData.extensionDisposables = dispose(templateData.extensionDisposables);
130
+ }
131
+ };
132
+ ExtensionRenderer = ExtensionRenderer_1 = ( __decorate([
133
+ ( __param(0, IInstantiationService))
134
+ ], ExtensionRenderer));
135
+ class UnknownExtensionRenderer {
136
+ static { this.TEMPLATE_ID = 'unknown-extension-template'; }
137
+ get templateId() {
138
+ return UnknownExtensionRenderer.TEMPLATE_ID;
139
+ }
140
+ renderTemplate(container) {
141
+ const messageContainer = dom.append(container, dom.$('div.unknown-extension'));
142
+ dom.append(messageContainer, dom.$('span.error-marker')).textContent = ( localizeWithPath(
143
+ 'vs/workbench/contrib/extensions/browser/extensionsViewer',
144
+ 'error',
145
+ "Error"
146
+ ));
147
+ dom.append(messageContainer, dom.$('span.message')).textContent = ( localizeWithPath(
148
+ 'vs/workbench/contrib/extensions/browser/extensionsViewer',
149
+ 'Unknown Extension',
150
+ "Unknown Extension:"
151
+ ));
152
+ const identifier = dom.append(messageContainer, dom.$('span.message'));
153
+ return { identifier };
154
+ }
155
+ renderElement(node, index, data) {
156
+ data.identifier.textContent = node.element.extension.identifier.id;
157
+ }
158
+ disposeTemplate(data) {
159
+ }
160
+ }
161
+ let OpenExtensionAction = class OpenExtensionAction extends Action {
162
+ constructor(extensionsWorkdbenchService) {
163
+ super('extensions.action.openExtension', '');
164
+ this.extensionsWorkdbenchService = extensionsWorkdbenchService;
165
+ }
166
+ set extension(extension) {
167
+ this._extension = extension;
168
+ }
169
+ run(sideByside) {
170
+ if (this._extension) {
171
+ return this.extensionsWorkdbenchService.open(this._extension, { sideByside });
172
+ }
173
+ return Promise.resolve();
174
+ }
175
+ };
176
+ OpenExtensionAction = ( __decorate([
177
+ ( __param(0, IExtensionsWorkbenchService))
178
+ ], OpenExtensionAction));
179
+ let ExtensionsTree = class ExtensionsTree extends WorkbenchAsyncDataTree {
180
+ constructor(input, container, overrideStyles, contextKeyService, listService, instantiationService, configurationService, extensionsWorkdbenchService) {
181
+ const delegate = ( new VirualDelegate());
182
+ const dataSource = ( new AsyncDataSource());
183
+ const renderers = [instantiationService.createInstance(ExtensionRenderer), instantiationService.createInstance(UnknownExtensionRenderer)];
184
+ const identityProvider = {
185
+ getId({ extension, parent }) {
186
+ return parent ? this.getId(parent) + '/' + extension.identifier.id : extension.identifier.id;
187
+ }
188
+ };
189
+ super('ExtensionsTree', container, delegate, renderers, dataSource, {
190
+ indent: 40,
191
+ identityProvider,
192
+ multipleSelectionSupport: false,
193
+ overrideStyles,
194
+ accessibilityProvider: {
195
+ getAriaLabel(extensionData) {
196
+ return getAriaLabelForExtension(extensionData.extension);
197
+ },
198
+ getWidgetAriaLabel() {
199
+ return ( localizeWithPath(
200
+ 'vs/workbench/contrib/extensions/browser/extensionsViewer',
201
+ 'extensions',
202
+ "Extensions"
203
+ ));
204
+ }
205
+ }
206
+ }, instantiationService, contextKeyService, listService, configurationService);
207
+ this.setInput(input);
208
+ this.disposables.add(this.onDidChangeSelection(event => {
209
+ if (event.browserEvent && event.browserEvent instanceof KeyboardEvent) {
210
+ extensionsWorkdbenchService.open(event.elements[0].extension, { sideByside: false });
211
+ }
212
+ }));
213
+ }
214
+ };
215
+ ExtensionsTree = ( __decorate([
216
+ ( __param(3, IContextKeyService)),
217
+ ( __param(4, IListService)),
218
+ ( __param(5, IInstantiationService)),
219
+ ( __param(6, IConfigurationService)),
220
+ ( __param(7, IExtensionsWorkbenchService))
221
+ ], ExtensionsTree));
222
+ class ExtensionData {
223
+ constructor(extension, parent, getChildrenExtensionIds, extensionsWorkbenchService) {
224
+ this.extension = extension;
225
+ this.parent = parent;
226
+ this.getChildrenExtensionIds = getChildrenExtensionIds;
227
+ this.extensionsWorkbenchService = extensionsWorkbenchService;
228
+ this.childrenExtensionIds = this.getChildrenExtensionIds(extension);
229
+ }
230
+ get hasChildren() {
231
+ return isNonEmptyArray(this.childrenExtensionIds);
232
+ }
233
+ async getChildren() {
234
+ if (this.hasChildren) {
235
+ const result = await getExtensions(this.childrenExtensionIds, this.extensionsWorkbenchService);
236
+ return ( result.map(extension => ( new ExtensionData(
237
+ extension,
238
+ this,
239
+ this.getChildrenExtensionIds,
240
+ this.extensionsWorkbenchService
241
+ ))));
242
+ }
243
+ return null;
244
+ }
245
+ }
246
+ async function getExtensions(extensions, extensionsWorkbenchService) {
247
+ const localById = extensionsWorkbenchService.local.reduce((result, e) => { result.set(e.identifier.id.toLowerCase(), e); return result; }, ( new Map()));
248
+ const result = [];
249
+ const toQuery = [];
250
+ for (const extensionId of extensions) {
251
+ const id = extensionId.toLowerCase();
252
+ const local = localById.get(id);
253
+ if (local) {
254
+ result.push(local);
255
+ }
256
+ else {
257
+ toQuery.push(id);
258
+ }
259
+ }
260
+ if (toQuery.length) {
261
+ const galleryResult = await extensionsWorkbenchService.getExtensions(( toQuery.map(id => ({ id }))), CancellationToken.None);
262
+ result.push(...galleryResult);
263
+ }
264
+ return result;
265
+ }
266
+ registerThemingParticipant((theme, collector) => {
267
+ const focusBackground = theme.getColor(listFocusBackground);
268
+ if (focusBackground) {
269
+ collector.addRule(`.extensions-grid-view .extension-container:focus { background-color: ${focusBackground}; outline: none; }`);
270
+ }
271
+ const focusForeground = theme.getColor(listFocusForeground);
272
+ if (focusForeground) {
273
+ collector.addRule(`.extensions-grid-view .extension-container:focus { color: ${focusForeground}; }`);
274
+ }
275
+ const foregroundColor = theme.getColor(foreground);
276
+ const editorBackgroundColor = theme.getColor(editorBackground);
277
+ if (foregroundColor && editorBackgroundColor) {
278
+ const authorForeground = ( foregroundColor.transparent(.9)).makeOpaque(editorBackgroundColor);
279
+ collector.addRule(`.extensions-grid-view .extension-container:not(.disabled) .author { color: ${authorForeground}; }`);
280
+ const disabledExtensionForeground = ( foregroundColor.transparent(.5)).makeOpaque(editorBackgroundColor);
281
+ collector.addRule(`.extensions-grid-view .extension-container.disabled { color: ${disabledExtensionForeground}; }`);
282
+ }
283
+ });
284
+
285
+ export { ExtensionData, ExtensionsGridView, ExtensionsTree, getExtensions };