@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,324 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { ExtensionRecommendations } from './extensionRecommendations.js';
3
+ import { IExtensionIgnoredRecommendationsService } from 'vscode/vscode/vs/workbench/services/extensionRecommendations/common/extensionRecommendations';
4
+ import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
5
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
6
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
7
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
8
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
9
+ import { extname, basename } from 'monaco-editor/esm/vs/base/common/resources.js';
10
+ import { match } from 'monaco-editor/esm/vs/base/common/glob.js';
11
+ import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
12
+ import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
13
+ import { IExtensionRecommendationNotificationService } from 'vscode/vscode/vs/platform/extensionRecommendations/common/extensionRecommendations';
14
+ import { distinct } from 'monaco-editor/esm/vs/base/common/arrays.js';
15
+ import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
16
+ import { CellUri } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
17
+ import { disposableTimeout } from 'monaco-editor/esm/vs/base/common/async.js';
18
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
19
+ import { areSameExtensions } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
20
+ import { isEmptyObject } from 'monaco-editor/esm/vs/base/common/types.js';
21
+ import { PLAINTEXT_LANGUAGE_ID } from 'monaco-editor/esm/vs/editor/common/languages/modesRegistry.js';
22
+
23
+ const promptedRecommendationsStorageKey = 'fileBasedRecommendations/promptedRecommendations';
24
+ const recommendationsStorageKey = 'extensionsAssistant/recommendations';
25
+ const milliSecondsInADay = 1000 * 60 * 60 * 24;
26
+ let FileBasedRecommendations = class FileBasedRecommendations extends ExtensionRecommendations {
27
+ get recommendations() {
28
+ const recommendations = [];
29
+ [...( this.fileBasedRecommendations.keys())]
30
+ .sort((a, b) => {
31
+ if (this.fileBasedRecommendations.get(a).recommendedTime === this.fileBasedRecommendations.get(b).recommendedTime) {
32
+ if (( this.fileBasedImportantRecommendations.has(a))) {
33
+ return -1;
34
+ }
35
+ if (( this.fileBasedImportantRecommendations.has(b))) {
36
+ return 1;
37
+ }
38
+ }
39
+ return this.fileBasedRecommendations.get(a).recommendedTime > this.fileBasedRecommendations.get(b).recommendedTime ? -1 : 1;
40
+ })
41
+ .forEach(extensionId => {
42
+ recommendations.push({
43
+ extensionId,
44
+ reason: {
45
+ reasonId: 1 ,
46
+ reasonText: ( localizeWithPath(
47
+ 'vs/workbench/contrib/extensions/browser/fileBasedRecommendations',
48
+ 'fileBasedRecommendation',
49
+ "This extension is recommended based on the files you recently opened."
50
+ ))
51
+ }
52
+ });
53
+ });
54
+ return recommendations;
55
+ }
56
+ get importantRecommendations() {
57
+ return this.recommendations.filter(e => ( this.fileBasedImportantRecommendations.has(e.extensionId)));
58
+ }
59
+ get otherRecommendations() {
60
+ return this.recommendations.filter(e => !( this.fileBasedImportantRecommendations.has(e.extensionId)));
61
+ }
62
+ constructor(extensionsWorkbenchService, modelService, languageService, productService, storageService, extensionRecommendationNotificationService, extensionIgnoredRecommendationsService, workspaceContextService) {
63
+ super();
64
+ this.extensionsWorkbenchService = extensionsWorkbenchService;
65
+ this.modelService = modelService;
66
+ this.languageService = languageService;
67
+ this.storageService = storageService;
68
+ this.extensionRecommendationNotificationService = extensionRecommendationNotificationService;
69
+ this.extensionIgnoredRecommendationsService = extensionIgnoredRecommendationsService;
70
+ this.workspaceContextService = workspaceContextService;
71
+ this.recommendationsByPattern = ( new Map());
72
+ this.fileBasedRecommendations = ( new Map());
73
+ this.fileBasedImportantRecommendations = ( new Set());
74
+ this.fileOpenRecommendations = {};
75
+ if (productService.extensionRecommendations) {
76
+ for (const [extensionId, recommendation] of Object.entries(productService.extensionRecommendations)) {
77
+ if (recommendation.onFileOpen) {
78
+ this.fileOpenRecommendations[extensionId.toLowerCase()] = recommendation.onFileOpen;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ async doActivate() {
84
+ if (isEmptyObject(this.fileOpenRecommendations)) {
85
+ return;
86
+ }
87
+ await this.extensionsWorkbenchService.whenInitialized;
88
+ const cachedRecommendations = this.getCachedRecommendations();
89
+ const now = Date.now();
90
+ Object.entries(cachedRecommendations).forEach(([key, value]) => {
91
+ const diff = (now - value) / milliSecondsInADay;
92
+ if (diff <= 7 && this.fileOpenRecommendations[key]) {
93
+ this.fileBasedRecommendations.set(key.toLowerCase(), { recommendedTime: value });
94
+ }
95
+ });
96
+ this._register(this.modelService.onModelAdded(model => this.onModelAdded(model)));
97
+ this.modelService.getModels().forEach(model => this.onModelAdded(model));
98
+ }
99
+ onModelAdded(model) {
100
+ const uri = model.uri.scheme === Schemas.vscodeNotebookCell ? CellUri.parse(model.uri)?.notebook : model.uri;
101
+ if (!uri) {
102
+ return;
103
+ }
104
+ const supportedSchemes = distinct([Schemas.untitled, Schemas.file, Schemas.vscodeRemote, ...( this.workspaceContextService.getWorkspace().folders.map(folder => folder.uri.scheme))]);
105
+ if (!uri || !supportedSchemes.includes(uri.scheme)) {
106
+ return;
107
+ }
108
+ disposableTimeout(() => this.promptImportantRecommendations(uri, model), 0, this._store);
109
+ }
110
+ promptImportantRecommendations(uri, model, extensionRecommendations) {
111
+ const pattern = extname(uri).toLowerCase();
112
+ extensionRecommendations = extensionRecommendations ?? this.recommendationsByPattern.get(pattern) ?? this.fileOpenRecommendations;
113
+ const extensionRecommendationEntries = Object.entries(extensionRecommendations);
114
+ if (extensionRecommendationEntries.length === 0) {
115
+ return;
116
+ }
117
+ const processedPathGlobs = ( new Map());
118
+ const installed = this.extensionsWorkbenchService.local;
119
+ const recommendationsByPattern = {};
120
+ const matchedRecommendations = {};
121
+ const unmatchedRecommendations = {};
122
+ let listenOnLanguageChange = false;
123
+ for (const [extensionId, conditions] of extensionRecommendationEntries) {
124
+ const conditionsByPattern = [];
125
+ const matchedConditions = [];
126
+ const unmatchedConditions = [];
127
+ for (const condition of conditions) {
128
+ let languageMatched = false;
129
+ let pathGlobMatched = false;
130
+ const isLanguageCondition = !!condition.languages;
131
+ const isFileContentCondition = !!condition.contentPattern;
132
+ if (isLanguageCondition || isFileContentCondition) {
133
+ conditionsByPattern.push(condition);
134
+ }
135
+ if (isLanguageCondition) {
136
+ if (condition.languages.includes(model.getLanguageId())) {
137
+ languageMatched = true;
138
+ }
139
+ }
140
+ if (condition.pathGlob) {
141
+ const pathGlob = condition.pathGlob;
142
+ if (processedPathGlobs.get(pathGlob) ?? match(condition.pathGlob, ( uri.with({ fragment: '' }).toString()))) {
143
+ pathGlobMatched = true;
144
+ }
145
+ processedPathGlobs.set(pathGlob, pathGlobMatched);
146
+ }
147
+ if (!languageMatched && !pathGlobMatched) {
148
+ continue;
149
+ }
150
+ let matched = true;
151
+ if (matched && condition.whenInstalled) {
152
+ if (!condition.whenInstalled.every(id => ( installed.some(local => areSameExtensions({ id }, local.identifier))))) {
153
+ matched = false;
154
+ }
155
+ }
156
+ if (matched && condition.whenNotInstalled) {
157
+ if (( installed.some(
158
+ local => condition.whenNotInstalled?.some(id => areSameExtensions({ id }, local.identifier))
159
+ ))) {
160
+ matched = false;
161
+ }
162
+ }
163
+ if (matched && isFileContentCondition) {
164
+ if (!model.findMatches(condition.contentPattern, false, true, false, null, false).length) {
165
+ matched = false;
166
+ }
167
+ }
168
+ if (matched) {
169
+ matchedConditions.push(condition);
170
+ conditionsByPattern.pop();
171
+ }
172
+ else {
173
+ if (isLanguageCondition || isFileContentCondition) {
174
+ unmatchedConditions.push(condition);
175
+ if (isLanguageCondition) {
176
+ listenOnLanguageChange = true;
177
+ }
178
+ }
179
+ }
180
+ }
181
+ if (matchedConditions.length) {
182
+ matchedRecommendations[extensionId] = matchedConditions;
183
+ }
184
+ if (unmatchedConditions.length) {
185
+ unmatchedRecommendations[extensionId] = unmatchedConditions;
186
+ }
187
+ if (conditionsByPattern.length) {
188
+ recommendationsByPattern[extensionId] = conditionsByPattern;
189
+ }
190
+ }
191
+ this.recommendationsByPattern.set(pattern, recommendationsByPattern);
192
+ if (( Object.keys(unmatchedRecommendations)).length) {
193
+ if (listenOnLanguageChange) {
194
+ const disposables = ( new DisposableStore());
195
+ disposables.add(model.onDidChangeLanguage(() => {
196
+ disposableTimeout(() => {
197
+ if (!disposables.isDisposed) {
198
+ this.promptImportantRecommendations(uri, model, unmatchedRecommendations);
199
+ disposables.dispose();
200
+ }
201
+ }, 0, disposables);
202
+ }));
203
+ disposables.add(model.onWillDispose(() => disposables.dispose()));
204
+ }
205
+ }
206
+ if (( Object.keys(matchedRecommendations)).length) {
207
+ this.promptFromRecommendations(uri, model, matchedRecommendations);
208
+ }
209
+ }
210
+ promptFromRecommendations(uri, model, extensionRecommendations) {
211
+ let isImportantRecommendationForLanguage = false;
212
+ const importantRecommendations = ( new Set());
213
+ const fileBasedRecommendations = ( new Set());
214
+ for (const [extensionId, conditions] of Object.entries(extensionRecommendations)) {
215
+ for (const condition of conditions) {
216
+ fileBasedRecommendations.add(extensionId);
217
+ if (condition.important) {
218
+ importantRecommendations.add(extensionId);
219
+ this.fileBasedImportantRecommendations.add(extensionId);
220
+ }
221
+ if (condition.languages) {
222
+ isImportantRecommendationForLanguage = true;
223
+ }
224
+ }
225
+ }
226
+ for (const recommendation of fileBasedRecommendations) {
227
+ const filedBasedRecommendation = this.fileBasedRecommendations.get(recommendation) || { recommendedTime: Date.now(), sources: [] };
228
+ filedBasedRecommendation.recommendedTime = Date.now();
229
+ this.fileBasedRecommendations.set(recommendation, filedBasedRecommendation);
230
+ }
231
+ this.storeCachedRecommendations();
232
+ if (this.extensionRecommendationNotificationService.hasToIgnoreRecommendationNotifications()) {
233
+ return;
234
+ }
235
+ const language = model.getLanguageId();
236
+ const languageName = this.languageService.getLanguageName(language);
237
+ if (importantRecommendations.size &&
238
+ this.promptRecommendedExtensionForFileType(languageName && isImportantRecommendationForLanguage && language !== PLAINTEXT_LANGUAGE_ID ? ( localizeWithPath(
239
+ 'vs/workbench/contrib/extensions/browser/fileBasedRecommendations',
240
+ 'languageName',
241
+ "the {0} language",
242
+ languageName
243
+ )) : basename(uri), language, [...importantRecommendations])) {
244
+ return;
245
+ }
246
+ }
247
+ promptRecommendedExtensionForFileType(name, language, recommendations) {
248
+ recommendations = this.filterIgnoredOrNotAllowed(recommendations);
249
+ if (recommendations.length === 0) {
250
+ return false;
251
+ }
252
+ recommendations = this.filterInstalled(recommendations, this.extensionsWorkbenchService.local)
253
+ .filter(extensionId => ( this.fileBasedImportantRecommendations.has(extensionId)));
254
+ const promptedRecommendations = language !== PLAINTEXT_LANGUAGE_ID ? this.getPromptedRecommendations()[language] : undefined;
255
+ if (promptedRecommendations) {
256
+ recommendations = recommendations.filter(extensionId => promptedRecommendations.includes(extensionId));
257
+ }
258
+ if (recommendations.length === 0) {
259
+ return false;
260
+ }
261
+ this.promptImportantExtensionsInstallNotification(recommendations, name, language);
262
+ return true;
263
+ }
264
+ async promptImportantExtensionsInstallNotification(extensions, name, language) {
265
+ try {
266
+ const result = await this.extensionRecommendationNotificationService.promptImportantExtensionsInstallNotification({ extensions, name, source: 1 });
267
+ if (result === "reacted" ) {
268
+ this.addToPromptedRecommendations(language, extensions);
269
+ }
270
+ }
271
+ catch (error) { }
272
+ }
273
+ getPromptedRecommendations() {
274
+ return JSON.parse(this.storageService.get(promptedRecommendationsStorageKey, 0 , '{}'));
275
+ }
276
+ addToPromptedRecommendations(language, extensions) {
277
+ const promptedRecommendations = this.getPromptedRecommendations();
278
+ promptedRecommendations[language] = distinct([...(promptedRecommendations[language] ?? []), ...extensions]);
279
+ this.storageService.store(promptedRecommendationsStorageKey, JSON.stringify(promptedRecommendations), 0 , 0 );
280
+ }
281
+ filterIgnoredOrNotAllowed(recommendationsToSuggest) {
282
+ const ignoredRecommendations = [...this.extensionIgnoredRecommendationsService.ignoredRecommendations, ...this.extensionRecommendationNotificationService.ignoredRecommendations];
283
+ return recommendationsToSuggest.filter(id => !ignoredRecommendations.includes(id));
284
+ }
285
+ filterInstalled(recommendationsToSuggest, installed) {
286
+ const installedExtensionsIds = installed.reduce((result, i) => {
287
+ if (i.enablementState !== 1 ) {
288
+ result.add(i.identifier.id.toLowerCase());
289
+ }
290
+ return result;
291
+ }, ( new Set()));
292
+ return recommendationsToSuggest.filter(id => !( installedExtensionsIds.has(id.toLowerCase())));
293
+ }
294
+ getCachedRecommendations() {
295
+ let storedRecommendations = JSON.parse(this.storageService.get(recommendationsStorageKey, 0 , '[]'));
296
+ if (Array.isArray(storedRecommendations)) {
297
+ storedRecommendations = storedRecommendations.reduce((result, id) => { result[id] = Date.now(); return result; }, {});
298
+ }
299
+ const result = {};
300
+ Object.entries(storedRecommendations).forEach(([key, value]) => {
301
+ if (typeof value === 'number') {
302
+ result[key.toLowerCase()] = value;
303
+ }
304
+ });
305
+ return result;
306
+ }
307
+ storeCachedRecommendations() {
308
+ const storedRecommendations = {};
309
+ this.fileBasedRecommendations.forEach((value, key) => storedRecommendations[key] = value.recommendedTime);
310
+ this.storageService.store(recommendationsStorageKey, JSON.stringify(storedRecommendations), 0 , 1 );
311
+ }
312
+ };
313
+ FileBasedRecommendations = ( __decorate([
314
+ ( __param(0, IExtensionsWorkbenchService)),
315
+ ( __param(1, IModelService)),
316
+ ( __param(2, ILanguageService)),
317
+ ( __param(3, IProductService)),
318
+ ( __param(4, IStorageService)),
319
+ ( __param(5, IExtensionRecommendationNotificationService)),
320
+ ( __param(6, IExtensionIgnoredRecommendationsService)),
321
+ ( __param(7, IWorkspaceContextService))
322
+ ], FileBasedRecommendations));
323
+
324
+ export { FileBasedRecommendations };
@@ -0,0 +1,28 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { ExtensionRecommendations } from './extensionRecommendations.js';
3
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
4
+
5
+ let KeymapRecommendations = class KeymapRecommendations extends ExtensionRecommendations {
6
+ get recommendations() { return this._recommendations; }
7
+ constructor(productService) {
8
+ super();
9
+ this.productService = productService;
10
+ this._recommendations = [];
11
+ }
12
+ async doActivate() {
13
+ if (this.productService.keymapExtensionTips) {
14
+ this._recommendations = ( this.productService.keymapExtensionTips.map(extensionId => ({
15
+ extensionId: extensionId.toLowerCase(),
16
+ reason: {
17
+ reasonId: 6 ,
18
+ reasonText: ''
19
+ }
20
+ })));
21
+ }
22
+ }
23
+ };
24
+ KeymapRecommendations = ( __decorate([
25
+ ( __param(0, IProductService))
26
+ ], KeymapRecommendations));
27
+
28
+ export { KeymapRecommendations };
@@ -0,0 +1,28 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { ExtensionRecommendations } from './extensionRecommendations.js';
3
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
4
+
5
+ let LanguageRecommendations = class LanguageRecommendations extends ExtensionRecommendations {
6
+ get recommendations() { return this._recommendations; }
7
+ constructor(productService) {
8
+ super();
9
+ this.productService = productService;
10
+ this._recommendations = [];
11
+ }
12
+ async doActivate() {
13
+ if (this.productService.languageExtensionTips) {
14
+ this._recommendations = ( this.productService.languageExtensionTips.map(extensionId => ({
15
+ extensionId: extensionId.toLowerCase(),
16
+ reason: {
17
+ reasonId: 6 ,
18
+ reasonText: ''
19
+ }
20
+ })));
21
+ }
22
+ }
23
+ };
24
+ LanguageRecommendations = ( __decorate([
25
+ ( __param(0, IProductService))
26
+ ], LanguageRecommendations));
27
+
28
+ export { LanguageRecommendations };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".extension-bookmark-container{position:relative}.extension-bookmark-container>.extension-bookmark{position:absolute}.extension-list-item{box-sizing:border-box;display:flex;height:100%;overflow:hidden;padding:0 0 0 16px;width:100%}.extension-list-item>.icon-container{align-items:center;display:flex;position:relative}.extension-list-item>.icon-container>.icon{flex-shrink:0;height:42px;object-fit:contain;padding-right:14px;width:42px}.extension-list-item>.icon-container .extension-badge{bottom:5px;position:absolute}.extension-list-item>.icon-container .extension-badge.extension-remote-badge{align-items:center;border-radius:20px;display:flex;height:22px;justify-content:center;line-height:22px;right:5px;width:22px}.extension-list-item>.icon-container .extension-remote-badge .codicon{color:currentColor}.extension-list-item>.details{display:flex;flex:1;flex-direction:column;justify-content:center;overflow:hidden}.extension-list-item>.details>.header-container{display:flex;height:19px;overflow:hidden;padding-right:11px}.extension-list-item>.details>.header-container>.header{align-items:center;display:flex;flex:1;flex-wrap:nowrap;min-width:0;overflow:hidden}.extension-list-item>.details>.header-container>.header>.name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-list-item.deprecated>.details>.header-container>.header>.name{text-decoration:line-through}.extension-list-item>.details>.header-container>.header>.activation-status,.extension-list-item>.details>.header-container>.header>.install-count,.extension-list-item>.details>.header-container>.header>.ratings{align-items:center;display:flex}.extension-list-item>.details>.header-container>.header>.install-count:not(:empty){font-size:80%;margin:0 6px}.extension-list-item>.details>.header-container>.header>.activation-status:not(:empty){font-size:80%;margin-left:2px}.extension-list-item>.details>.header-container>.header>.activation-status .activationTime,.extension-list-item>.details>.header-container>.header>.activation-status:not(:empty) .codicon{margin-right:2px}.extension-list-item>.details>.header-container>.header .codicon{font-size:120%;margin-right:3px;-webkit-mask:inherit}.extension-list-item>.details>.header-container>.header>.ratings{text-align:right}.extension-list-item>.details>.header-container>.header>.extension-remote-badge-container{display:none;margin-left:6px}.extension-list-item>.details>.header-container>.header .extension-remote-badge .codicon{margin-right:0}.extension-list-item>.details>.header-container>.header .extension-remote-badge{align-items:center;border-radius:20px;display:flex;height:14px;justify-content:center;line-height:14px;text-align:center;width:14px}.extension-list-item>.details>.header-container>.header .extension-remote-badge>.codicon{color:currentColor;font-size:12px}.extension-list-item>.details>.header-container>.header .sync-ignored{display:flex}.extension-list-item>.details>.header-container>.header .sync-ignored>.codicon{font-size:100%}.extension-list-item>.details>.description{color:var(--vscode-descriptionForeground);line-height:normal;padding-right:11px}.hc-black .extension-list-item>.details>.description,.hc-light .extension-list-item>.details>.description,.monaco-list-row.selected .extension-list-item>.details>.description{color:unset}.extension-list-item>.details>.footer{display:flex;height:18px;justify-content:flex-end;overflow:hidden;padding-right:7px}.extension-list-item>.details>.footer>.author{align-items:center;display:flex;flex:1}.extension-list-item>.details>.footer>.author>.publisher-name{color:var(--vscode-descriptionForeground);font-size:90%;font-weight:600}.monaco-list-row.disabled .extension-list-item>.details>.footer>.author>.publisher-name{color:var(--vscode-disabledForeground)}.monaco-list-row.disabled.selected .extension-list-item>.details>.footer>.author>.publisher-name,.monaco-list-row.selected .extension-list-item>.details>.footer>.author>.publisher-name{color:unset}.extension-list-item>.details>.footer>.author>.publisher-name:not(:first-child){padding-left:1px}.extension-list-item .ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-list-item>.details>.footer>.monaco-action-bar>.actions-container{flex-wrap:wrap-reverse}.extension-list-item>.details>.footer>.monaco-action-bar>.actions-container .action-label:not(.icon){border-radius:2px}.extension-list-item>.details>.footer>.monaco-action-bar>.actions-container .extension-action.label{line-height:16px;max-width:150px}.extension-list-item .footer .monaco-action-bar .action-item.action-dropdown-item.empty>.action-label{margin-right:4px}.extension-list-item .footer .monaco-action-bar .action-item.action-dropdown-item.empty>.action-dropdown-item-separator{display:none}.extension-list-item .monaco-action-bar>.actions-container>.action-item.disabled{min-width:0}.monaco-list-row.disabled .extension-list-item{color:var(--vscode-disabledForeground)}.monaco-list-row.disabled.selected .extension-list-item .details .description,.monaco-list-row.disabled.selected .extension-list-item .details .header .name{color:unset}.extension-list-item .monaco-action-bar .action-label.icon{padding:1px 2px}.hc-black .extension-list-item .monaco-action-bar .action-label.icon,.hc-light .extension-list-item .monaco-action-bar .action-label.icon{padding:0 2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item,.extension-list-item .monaco-action-bar>.actions-container>.action-item:not(.action-dropdown-item)>.extension-action{margin-left:6px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.extension-action.label{border-right-width:0}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator{height:16px;margin-top:2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator>div{height:10px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action.label{border-left-width:0}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.extension-action{border-radius:2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item:not(.empty)>.extension-action.label:not(.dropdown){border-radius:2px 0 0 2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action{border-radius:0 2px 2px 0}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".extension-editor{display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:80%;overflow:hidden}.extension-editor .clickable{cursor:pointer}.extension-editor>.header{display:flex;font-size:14px;overflow:hidden;padding:20px 20px 14px}.extension-editor>.header>.icon-container{position:relative}.extension-editor>.header>.icon-container .icon{height:128px;object-fit:contain;width:128px}.extension-editor>.header>.icon-container .extension-remote-badge{align-items:center;border-radius:20px;display:flex;height:38px;justify-content:center;line-height:38px;position:absolute;right:0;text-align:center;top:88px;width:38px}.extension-editor>.header>.icon-container .extension-remote-badge .codicon{color:currentColor;font-size:28px}.extension-editor>.header>.details{overflow:hidden;padding-left:20px;user-select:text;-webkit-user-select:text}.extension-editor>.header>.details>.title{align-items:center;display:flex}.extension-editor>.header>.details>.title>.name{flex:0;font-size:26px;font-weight:600;line-height:30px;white-space:nowrap}.extension-editor>.header>.details>.title>.name.deprecated{text-decoration:line-through}.extension-editor>.header>.details>.title>.version{margin-left:10px;user-select:text;-webkit-user-select:text;white-space:nowrap}.extension-editor>.header>.details>.title>.builtin{font-size:10px;font-style:italic;margin-left:10px}.extension-editor>.header>.details>.title>.pre-release{align-items:center;background-color:var(--vscode-extensionIcon-preReleaseForeground);border-radius:4px;color:#fff;display:flex;margin-left:10px;padding:0 4px}.extension-editor>.header>.details>.title>.pre-release>.codicon.codicon-extensions-pre-release{color:#fff;font-size:14px}.extension-editor>.header>.details>.title>.pre-release>.pre-release-text{font-size:10px;padding-left:3px}.monaco-workbench.vs .extension-editor>.header>.details>.title>.preview{color:#fff}.extension-editor>.header>.details>.title>.preview{background:#d63f26;border-radius:4px;font-size:10px;font-style:italic;margin-left:10px;padding:0 4px;user-select:none;-webkit-user-select:none}.extension-editor>.header>.details>.subtitle{height:20px;line-height:20px;padding-top:6px;white-space:nowrap}.extension-editor>.header>.details>.subtitle .hide{display:none}.extension-editor>.header>.details>.subtitle .publisher{align-items:center;display:flex}.extension-editor>.header>.details>.subtitle .publisher .verified-publisher:not(:empty){margin-left:4px}.extension-editor>.header>.details>.subtitle,.extension-editor>.header>.details>.subtitle .install,.extension-editor>.header>.details>.subtitle .rating,.extension-editor>.header>.details>.subtitle .sponsor{align-items:center;display:flex}.extension-editor>.header>.details>.subtitle .sponsor .codicon{padding-right:3px}.extension-editor>.header>.details>.subtitle .install>.count{margin-left:6px}.extension-editor>.header>.details>.subtitle>div:not(:first-child):not(:empty){border-left:1px solid hsla(0,0%,50%,.7);margin-left:14px;padding-left:14px}.extension-editor>.header>.details>.description{margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-editor>.header>.details>.actions-status-container{display:flex;margin-top:10px}.extension-editor>.header>.details>.actions-status-container.list-layout{display:inherit}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar{text-align:initial}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item{flex-shrink:0;margin-right:0;overflow:hidden}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.disabled{min-width:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item .extension-action{margin-bottom:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action:not(.icon){margin-left:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action.action-dropdown{margin-right:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item .extension-action:not(.icon){border-radius:0;padding-bottom:0;padding-top:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action.action-dropdown,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action{line-height:22px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item:not(.action-dropdown-item)>.extension-action{margin-right:6px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item .extension-action.label,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action.label{font-weight:600;max-width:300px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.extension-action.label{border-right-width:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator{height:22px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator>div{height:16px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.extension-action.label{margin-right:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.action-dropdown-item-separator{display:none}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.extension-action.label,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action.label{border-radius:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item:not(.empty)>.extension-action.label{border-radius:2px 0 0 2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item:not(.empty)>.monaco-dropdown .extension-action.label{border-left-width:0;border-radius:0 2px 2px 0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.action-label.extension-status{margin-right:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.disable-status,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.extension-status-label{font-weight:400}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.disable-status:hover,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.extension-status-label:hover{opacity:.9}.extension-editor>.header>.details>.actions-status-container>.status{font-size:90%;line-height:22px;margin-top:3px}.extension-editor>.header>.details>.actions-status-container.list-layout>.status{margin-top:5px}.extension-editor>.header>.details>.actions-status-container>.status .codicon{vertical-align:text-bottom}.extension-editor>.header>.details>.actions-status-container>.status p,.extension-editor>.header>.details>.pre-release-text p{margin-bottom:0;margin-top:0}.extension-editor>.header>.details>.actions-status-container>.status a,.extension-editor>.header>.details>.pre-release-text a{color:var(--vscode-textLink-foreground)}.extension-editor>.header>.details>.actions-status-container>.status a:hover,.extension-editor>.header>.details>.pre-release-text a:hover{color:var(--vscode-textLink-activeForeground);text-decoration:underline}.extension-editor>.header>.details>.actions-status-container>.status a:active,.extension-editor>.header>.details>.pre-release-text a:active{color:var(--vscode-textLink-activeForeground)}.extension-editor>.header>.details>.pre-release-text:not(:empty){display:flex;font-size:90%;margin-top:5px}.extension-editor>.header>.details>.recommendation{display:flex;margin-top:5px}.extension-editor>.header>.details>.recommendation .codicon{font-size:inherit;margin-right:5px}.extension-editor>.header>.details>.recommendation .recommendation-text{font-size:90%;vertical-align:text-bottom}.extension-editor>.body{flex:1;overflow:hidden}.extension-editor>.body>.navbar{border-bottom:1px solid var(--vscode-panelSection-border);font-size:14px;font-weight:700;height:36px;line-height:36px;padding-left:20px}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container{justify-content:normal}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item{height:100%}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item>.action-label{background:none!important;border-radius:0!important;color:var(--vscode-panelTitle-inactiveForeground);font-size:11px;font-weight:400;padding:0 10px;text-transform:uppercase}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item>.action-label.checked{border-bottom:1px solid var(--vscode-panelTitle-activeBorder);color:var(--vscode-panelTitle-activeForeground)}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item>.action-label:hover{color:var(--vscode-panelTitle-activeForeground)}.extension-editor>.body>.content{height:calc(100% - 36px);overflow:hidden;position:relative;user-select:text;-webkit-user-select:text}.extension-editor>.body>.content.loading{background:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvc3ZnPg==\") 50% no-repeat}.extension-editor>.body>.content>.monaco-scrollable-element{height:100%}.extension-editor>.body>.content>.nocontent{margin-left:20px}.extension-editor>.body>.content>.details{display:flex;height:100%}.extension-editor>.body>.content>.details>.readme-container{flex:1;height:100%;margin:0 auto;max-width:75%}.extension-editor>.body>.content>.details.narrow>.readme-container{margin:inherit;max-width:inherit}.extension-editor>.body>.content>.details>.additional-details-container{height:100%;min-width:175px;width:25%}.extension-editor>.body>.content>.details.narrow>.additional-details-container{display:none}.extension-editor>.body>.content>.details>.additional-details-container>.monaco-scrollable-element{height:100%}.extension-editor>.body>.content>.details>.additional-details-container>.monaco-scrollable-element>.additional-details-content{box-sizing:border-box;height:100%;overflow-y:scroll;padding:20px}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element:not(:first-child){padding-top:15px}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element{padding-bottom:15px}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element:not(:last-child){border-bottom:1px solid hsla(0,0%,50%,.22)}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element>.additional-details-title{font-size:120%;padding-bottom:15px}.extension-editor>.body>.content>.details>.additional-details-container .categories-container>.categories>.category,.extension-editor>.body>.content>.details>.additional-details-container .tags-container>.tags>.tag{border:1px solid hsla(0,0%,53%,.45);border-radius:2px;cursor:pointer;display:inline-block;font-size:90%;margin:0 6px 3px 0;padding:2px 4px}.extension-editor>.body>.content>.details>.additional-details-container .resources-container>.resources>.resource{cursor:pointer;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-editor>.body>.content>.details>.additional-details-container .resources-container>.resources>.resource:hover{text-decoration:underline}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry{display:flex;font-size:90%}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry :first-child{width:40%}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry :last-child{width:60%}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry code{background-color:transparent;padding:0}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme{height:100%}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack{height:224px;padding-left:20px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.one-row>.extension-pack{height:142px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.two-rows>.extension-pack{height:224px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.three-rows>.extension-pack{height:306px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.more-rows>.extension-pack{height:326px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.one-row>.readme-content{height:calc(100% - 142px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.two-rows>.readme-content{height:calc(100% - 224px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.three-rows>.readme-content{height:calc(100% - 306px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.more-rows>.readme-content{height:calc(100% - 326px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.footer,.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.header{border-bottom:1px solid hsla(0,0%,50%,.22);font-size:120%;font-weight:700;line-height:22px;margin-bottom:10px;margin-right:30px;padding:4px 6px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.extension-pack-content{height:calc(100% - 60px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.extension-pack-content>.monaco-scrollable-element{height:100%}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.extension-pack-content>.monaco-scrollable-element>.subcontent{box-sizing:border-box;height:100%;overflow-y:scroll}.extension-editor>.body>.content>.monaco-scrollable-element>.subcontent{box-sizing:border-box;height:100%;overflow-y:scroll;padding:20px}.extension-editor>.body>.content table{border-collapse:separate;border-spacing:0;width:100%}.extension-editor>.body>.content details:not(:first-child){margin-top:20px}.extension-editor>.body>.content details>summary{border-bottom:1px solid hsla(0,0%,50%,.22);cursor:pointer;font-size:120%;font-weight:700;line-height:22px;margin-bottom:10px;padding:3px 6px}.extension-editor>.body>.content table tr:nth-child(odd){background-color:hsla(0,0%,51%,.04)}.extension-editor>.body>.content table tr:not(:first-child):hover{background-color:hsla(0,0%,50%,.15)}.extension-editor>.body>.content table td,.extension-editor>.body>.content table th{padding:2px 16px 2px 4px}.extension-editor>.body>.content table td:last-child,.extension-editor>.body>.content table th:last-child{padding:2px 4px}.extension-editor>.body>.content table th{text-align:left;word-break:keep-all}.extension-editor>.body>.content table td>div,.extension-editor>.body>.content table td>div>p{margin:0;padding:0}.extension-editor code:not(:empty){background-color:hsla(0,0%,50%,.17);border-radius:4px;font-family:var(--monaco-monospace-font);font-size:90%;padding:1px 4px}.extension-editor>.body>.content table .colorBox{border:.1em solid #000;box-sizing:border-box;display:inline-block;height:.8em;margin:0 .2em;vertical-align:middle;width:.8em}.monaco-workbench.hc-black .extension-editor>.body>.content table .colorBox,.monaco-workbench.vs-dark .extension-editor>.body>.content table .colorBox{border-color:#eee}.extension-editor .subcontent .monaco-list-row .content .unknown-extension{line-height:62px}.extension-editor .subcontent .monaco-list-row .content .unknown-extension>.error-marker{background-color:#be1100;color:#ccc;font-size:11px;font-weight:700;padding:2px 4px}.extension-editor .subcontent .monaco-list-row .unknown-extension>.message{font-size:14px;font-weight:700;padding-left:10px}.extension-editor .subcontent .monaco-list-row .extension{align-items:center;display:flex}.extension-editor .subcontent .monaco-list-row .extension>.details{flex:1;overflow:hidden;padding-left:10px}.extension-editor .subcontent .monaco-list-row .extension>.details>.header{align-items:center;display:flex;line-height:19px;overflow:hidden}.extension-editor .subcontent .monaco-list-row .extension>.icon{height:40px;object-fit:contain;width:40px}.extension-editor .subcontent .monaco-list-row .extension>.details>.header>.name{font-size:16px;font-weight:700}.extension-editor .subcontent .monaco-list-row .extension>.details>.header>.name:hover{text-decoration:underline}.extension-editor .subcontent .monaco-list-row .extension>.details>.header>.identifier{background:hsla(0,0%,68%,.31);border-radius:4px;font-size:90%;margin-left:10px;opacity:.6;padding:0 4px}.extension-editor .subcontent .monaco-list-row .extension>.details>.footer{display:flex;line-height:19px;overflow:hidden;padding-top:5px}.extension-editor .subcontent .monaco-list-row .extension>.details>.footer>.author{font-size:90%;font-weight:600;opacity:.6}.extension-editor .extensions-grid-view{display:flex;flex-wrap:wrap}.extension-editor .extensions-grid-view>.extension-container{margin:0 10px 20px 0;width:350px}.extension-editor .extensions-grid-view .extension-list-item{cursor:default}.extension-editor .extensions-grid-view .extension-list-item>.details .header>.name{cursor:pointer}.extension-editor .extensions-grid-view .extension-list-item>.details>.header-container>.header>.install-count,.extension-editor .extensions-grid-view .extension-list-item>.details>.header-container>.header>.ratings,.extension-editor .extensions-grid-view .extension-list-item>.details>.header-container>.header>.version{display:none}.extension-editor .extensions-grid-view>.extension-container:focus>.extension-list-item>.details .header>.name,.extension-editor .extensions-grid-view>.extension-container:hover>.extension-list-item>.details .header>.name{text-decoration:underline}.monaco-workbench.vs .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.icon-container>.icon,.monaco-workbench.vs-dark .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs-dark .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.icon-container>.icon{opacity:.5}.extension-editor>.body>.content .runtime-status .activation-details>.activation-element-entry>.activation-message-title{padding-right:10px}.extension-editor>.body>.content .runtime-status .message-entry{align-items:center;display:flex;margin:5px}.extension-editor>.body>.content .runtime-status .message-entry .codicon{padding-right:2px}.monaco-workbench .extension-editor>.header>.details>.recommendation .codicon{color:var(--vscode-extensionButton-prominentBackground)}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".extensions-viewlet{height:100%;position:relative}.extensions-viewlet>.overlay{bottom:0;left:0;position:absolute;right:0;top:0;z-index:2}.extensions-viewlet>.header{box-sizing:border-box;height:41px;padding:5px 12px 6px 20px}.extensions-viewlet>.header>.search-box{-webkit-appearance:textfield;-moz-appearance:textfield;border:1px solid transparent;box-sizing:border-box;height:28px;line-height:18px;padding:4px;width:100%}.extensions-viewlet>.extensions{height:calc(100% - 41px)}.extensions-viewlet>.extensions .extension-list-item .monaco-action-bar,.extensions-viewlet>.extensions .extension-view-header .monaco-action-bar{margin-right:4px}.extensions-viewlet>.extensions .extension-view-header .count-badge-wrapper{margin-right:12px}.extensions-viewlet>.extensions .extension-view-header .monaco-action-bar .action-item>.action-label.icon.codicon{line-height:22px;vertical-align:middle}.extensions-viewlet>.extensions .extension-view-header .monaco-action-bar .action-item.disabled{display:none}.extensions-viewlet>.extensions .extensions-list.hidden,.extensions-viewlet>.extensions .message-container.hidden{display:none;visibility:hidden}.extensions-viewlet>.extensions .panel-header{padding-right:12px}.extensions-viewlet>.extensions .panel-header>.title{flex:1}.extensions-viewlet>.extensions .panel-header>.actions.show{flex:inherit}.extensions-viewlet>.extensions .message-container{cursor:default;display:flex;padding:5px 9px 5px 16px}.extensions-viewlet>.extensions .message-container .message{padding-left:5px}.extensions-viewlet>.extensions .message-container .severity-icon{flex-shrink:0}.extensions-viewlet>.extensions .extension-list-item{position:absolute}.extensions-viewlet>.extensions .extension-list-item.loading{background:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvc3ZnPg==\") 50% no-repeat}.monaco-workbench.vs-dark .extensions-viewlet>.extensions .extension-list-item.loading{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48ZyBzdHlsZT0iZmlsbDpncmF5Ij48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvZz48L3N2Zz4=\")}.monaco-workbench.hc-black .extensions-viewlet>.extensions .extension-list-item.loading{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48ZyBzdHlsZT0iZmlsbDojZmZmIj48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvZz48L3N2Zz4=\")}.extensions-viewlet>.extensions .extension-list-item.loading>.icon-container{display:none}.extensions-viewlet.narrow>.extensions .extension-list-item>.icon-container{align-items:flex-start;display:flex;padding-top:10px}.extensions-viewlet.narrow>.extensions .extension-list-item>.icon-container>.icon{height:24px;padding-right:8px;width:24px}.extensions-viewlet.mini>.extensions .extension-bookmark-container,.extensions-viewlet.mini>.extensions .extension-list-item>.details>.header-container>.header>.ratings,.extensions-viewlet.mini>.extensions .extension-list-item>.icon-container>.icon,.extensions-viewlet.narrow>.extensions .extension-list-item>.icon-container .extension-badge,.extensions-viewlet:not(.narrow)>.extensions .extension-list-item>.details>.header-container>.header>.extension-remote-badge-container{display:none}.extensions-viewlet.narrow>.extensions .extension-list-item>.details>.footer>.monaco-action-bar>.actions-container .extension-action{max-width:100px}.monaco-workbench.vs .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.icon-container>.icon,.monaco-workbench.vs-dark .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs-dark .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.icon-container>.icon{opacity:.5}.extensions-badge.progress-badge>.badge-content{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMiAyIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNOSAxNmMtMy44NiAwLTctMy4xNC03LTdzMy4xNC03IDctN2MzLjg1OSAwIDcgMy4xNDEgNyA3cy0zLjE0MSA3LTcgN3pNOSAzLjRDNS45MTIgMy40IDMuNCA1LjkxMyAzLjQgOXMyLjUxMiA1LjYgNS42IDUuNiA1LjYtMi41MTIgNS42LTUuNlMxMi4wODggMy40IDkgMy40em0zLjg2IDcuMUw5LjcgOC42MDRWNC44SDguM3Y0LjU5NmwzLjg0IDIuMzA1LjcyLTEuMjAxeiIvPjwvc3ZnPg==\");background-position:50%;background-repeat:no-repeat}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".extension-sync-ignored.hide{display:none}.extension-ratings{display:inline-block}.extension-ratings.small{font-size:80%}.extension-ratings>.codicon[class*=codicon-extensions-rating]:not(:first-child){margin-left:3px}.extension-ratings>.count{margin-left:6px}.extension-ratings.small>.count{margin-left:0}.extension-ratings .codicon-extensions-star-empty{opacity:.75}.extension-verified-publisher{align-items:center;display:flex}.extension-verified-publisher>.extension-verified-publisher-domain{color:var(--vscode-extensionIcon-verifiedForeground);padding-left:2px}.extension-bookmark{display:inline-block;height:20px;width:20px}.extension-bookmark>.pre-release,.extension-bookmark>.recommendation{border-right:20px solid transparent;border-top:20px solid;box-sizing:border-box;position:relative}.extension-bookmark>.pre-release{border-top-color:var(--vscode-extensionIcon-preReleaseForeground);color:#fff}.extension-bookmark>.pre-release>.codicon,.extension-bookmark>.recommendation>.codicon{bottom:9px;color:inherit;font-size:80%;left:1px;position:absolute}.extension-bookmark .recommendation{border-top-color:var(--vscode-extensionButton-prominentBackground);color:var(--vscode-extensionButton-prominentForeground)}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,6 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+
3
+ var css = ".runtime-extensions-editor .monaco-list .monaco-list-rows>.monaco-list-row.odd:not(:hover):not(.focused){background-color:hsla(0,0%,51%,.08)}.runtime-extensions-editor .extension{display:flex;padding-left:20px;padding-right:20px}.runtime-extensions-editor .extension .desc{flex:1;padding:4px 0}.runtime-extensions-editor .extension .desc .name{font-weight:700}.runtime-extensions-editor .extension .desc .msg .codicon{vertical-align:middle}.runtime-extensions-editor .extension .time{padding:4px;text-align:right}.runtime-extensions-editor .extension .desc>.msg>span:not(:last-child):after{content:\"\\2022\";opacity:.8;padding:0 4px}.runtime-extensions-editor .monaco-action-bar{height:unset}.runtime-extensions-editor .monaco-action-bar .actions-container{justify-content:left}.runtime-extensions-editor .extension>.icon-container{position:relative}.runtime-extensions-editor .extension>.icon-container>.icon{flex-shrink:0;height:42px;object-fit:contain;padding:10px 14px 10px 0;width:42px}.runtime-extensions-editor .extension>.icon-container .extension-remote-badge .codicon{color:currentColor}.runtime-extensions-editor .extension>.desc>.header-container{display:flex;overflow:hidden}.runtime-extensions-editor .extension>.desc>.header-container>.header{align-items:baseline;display:flex;flex:1;flex-wrap:nowrap;min-width:0;overflow:hidden}.runtime-extensions-editor .extension>.desc>.header-container>.header>.name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-extensions-editor .extension>.desc>.header-container>.header>.version{font-size:80%;min-width:fit-content;opacity:.85;padding-left:6px}";
4
+ n(css,{});
5
+
6
+ export { css, css as default };
@@ -0,0 +1,29 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { ExtensionRecommendations } from './extensionRecommendations.js';
3
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
4
+ import { PlatformToString, platform } from 'monaco-editor/esm/vs/base/common/platform.js';
5
+
6
+ let RemoteRecommendations = class RemoteRecommendations extends ExtensionRecommendations {
7
+ get recommendations() { return this._recommendations; }
8
+ constructor(productService) {
9
+ super();
10
+ this.productService = productService;
11
+ this._recommendations = [];
12
+ }
13
+ async doActivate() {
14
+ const extensionTips = { ...this.productService.remoteExtensionTips, ...this.productService.virtualWorkspaceExtensionTips };
15
+ const currentPlatform = PlatformToString(platform);
16
+ this._recommendations = ( ( Object.values(extensionTips)).filter(({ supportedPlatforms }) => !supportedPlatforms || supportedPlatforms.includes(currentPlatform)).map(extension => ({
17
+ extensionId: extension.extensionId.toLowerCase(),
18
+ reason: {
19
+ reasonId: 6 ,
20
+ reasonText: ''
21
+ }
22
+ })));
23
+ }
24
+ };
25
+ RemoteRecommendations = ( __decorate([
26
+ ( __param(0, IProductService))
27
+ ], RemoteRecommendations));
28
+
29
+ export { RemoteRecommendations };
@@ -0,0 +1,26 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { IExtensionGalleryService, IGlobalExtensionEnablementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
3
+ import { IExtensionStorageService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionStorage';
4
+ import { migrateUnsupportedExtensions } from '../../../../platform/extensionManagement/common/unsupportedExtensionsMigration.js';
5
+ import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
6
+ import { IExtensionManagementServerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
7
+
8
+ let UnsupportedExtensionsMigrationContrib = class UnsupportedExtensionsMigrationContrib {
9
+ constructor(extensionManagementServerService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService) {
10
+ if (extensionManagementServerService.remoteExtensionManagementServer) {
11
+ migrateUnsupportedExtensions(extensionManagementServerService.remoteExtensionManagementServer.extensionManagementService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService);
12
+ }
13
+ if (extensionManagementServerService.webExtensionManagementServer) {
14
+ migrateUnsupportedExtensions(extensionManagementServerService.webExtensionManagementServer.extensionManagementService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService);
15
+ }
16
+ }
17
+ };
18
+ UnsupportedExtensionsMigrationContrib = ( __decorate([
19
+ ( __param(0, IExtensionManagementServerService)),
20
+ ( __param(1, IExtensionGalleryService)),
21
+ ( __param(2, IExtensionStorageService)),
22
+ ( __param(3, IGlobalExtensionEnablementService)),
23
+ ( __param(4, ILogService))
24
+ ], UnsupportedExtensionsMigrationContrib));
25
+
26
+ export { UnsupportedExtensionsMigrationContrib };
@@ -0,0 +1,38 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { ExtensionRecommendations } from './extensionRecommendations.js';
3
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
4
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
5
+ import { IExtensionManagementServerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
6
+
7
+ let WebRecommendations = class WebRecommendations extends ExtensionRecommendations {
8
+ get recommendations() { return this._recommendations; }
9
+ constructor(productService, extensionManagementServerService) {
10
+ super();
11
+ this.productService = productService;
12
+ this.extensionManagementServerService = extensionManagementServerService;
13
+ this._recommendations = [];
14
+ }
15
+ async doActivate() {
16
+ const isOnlyWeb = this.extensionManagementServerService.webExtensionManagementServer && !this.extensionManagementServerService.localExtensionManagementServer && !this.extensionManagementServerService.remoteExtensionManagementServer;
17
+ if (isOnlyWeb && Array.isArray(this.productService.webExtensionTips)) {
18
+ this._recommendations = ( this.productService.webExtensionTips.map(extensionId => ({
19
+ extensionId: extensionId.toLowerCase(),
20
+ reason: {
21
+ reasonId: 6 ,
22
+ reasonText: ( localizeWithPath(
23
+ 'vs/workbench/contrib/extensions/browser/webRecommendations',
24
+ 'reason',
25
+ "This extension is recommended for {0} for the Web",
26
+ this.productService.nameLong
27
+ ))
28
+ }
29
+ })));
30
+ }
31
+ }
32
+ };
33
+ WebRecommendations = ( __decorate([
34
+ ( __param(0, IProductService)),
35
+ ( __param(1, IExtensionManagementServerService))
36
+ ], WebRecommendations));
37
+
38
+ export { WebRecommendations };