@codingame/monaco-vscode-extensions-service-override 4.0.0 → 4.1.0

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 (109) hide show
  1. package/extensions.js +6 -6
  2. package/package.json +9 -9
  3. package/_virtual/semver.js +0 -3
  4. package/external/vscode-semver/semver.js +0 -985
  5. package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +0 -8
  6. package/vscode/src/vs/base/common/console.js +0 -62
  7. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +0 -497
  8. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +0 -44
  9. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +0 -27
  10. package/vscode/src/vs/platform/remote/common/managedSocket.js +0 -98
  11. package/vscode/src/vs/workbench/api/browser/extensionHost.contribution.js +0 -104
  12. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +0 -31
  13. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +0 -35
  14. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +0 -254
  15. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +0 -68
  16. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +0 -103
  17. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +0 -70
  18. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -207
  19. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +0 -41
  20. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +0 -24
  21. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +0 -108
  22. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +0 -98
  23. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +0 -560
  24. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +0 -80
  25. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +0 -35
  26. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +0 -579
  27. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +0 -435
  28. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +0 -102
  29. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +0 -69
  30. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +0 -68
  31. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +0 -79
  32. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -253
  33. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +0 -370
  34. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +0 -22
  35. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +0 -41
  36. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +0 -414
  37. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +0 -501
  38. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +0 -227
  39. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +0 -24
  40. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +0 -317
  41. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +0 -208
  42. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +0 -369
  43. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +0 -72
  44. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +0 -28
  45. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +0 -50
  46. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +0 -27
  47. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +0 -1016
  48. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -185
  49. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +0 -78
  50. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +0 -35
  51. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +0 -78
  52. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +0 -93
  53. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +0 -137
  54. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -194
  55. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -123
  56. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -188
  57. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -129
  58. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -131
  59. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -374
  60. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -25
  61. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -48
  62. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +0 -76
  63. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +0 -38
  64. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +0 -68
  65. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +0 -42
  66. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +0 -185
  67. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +0 -30
  68. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +0 -493
  69. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +0 -49
  70. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +0 -168
  71. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +0 -70
  72. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +0 -50
  73. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +0 -99
  74. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +0 -53
  75. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +0 -72
  76. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +0 -731
  77. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +0 -53
  78. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +0 -409
  79. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +0 -51
  80. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +0 -219
  81. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +0 -24
  82. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +0 -55
  83. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +0 -312
  84. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +0 -223
  85. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +0 -110
  86. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +0 -61
  87. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +0 -29
  88. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +0 -283
  89. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +0 -100
  90. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +0 -135
  91. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +0 -57
  92. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +0 -268
  93. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +0 -35
  94. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +0 -76
  95. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +0 -83
  96. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +0 -285
  97. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +0 -276
  98. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +0 -52
  99. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +0 -1149
  100. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -41
  101. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +0 -25
  102. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +0 -512
  103. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +0 -274
  104. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -58
  105. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +0 -80
  106. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +0 -64
  107. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +0 -161
  108. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +0 -49
  109. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +0 -222
@@ -1,8 +0,0 @@
1
- let AbstractTextEditor = class {};
2
- class FakeAbstractTextEditor {
3
- static [Symbol.hasInstance](instance) {
4
- return AbstractTextEditor != null && instance instanceof AbstractTextEditor
5
- }
6
- }
7
-
8
- export { FakeAbstractTextEditor as AbstractTextEditor };
@@ -1,62 +0,0 @@
1
- import 'vscode/vscode/vs/base/common/path';
2
- import 'vscode/vscode/vs/base/common/platform';
3
-
4
- function parse(entry) {
5
- const args = [];
6
- let stack;
7
- try {
8
- const parsedArguments = JSON.parse(entry.arguments);
9
- const stackArgument = parsedArguments[parsedArguments.length - 1];
10
- if (stackArgument && stackArgument.__$stack) {
11
- parsedArguments.pop();
12
- stack = stackArgument.__$stack;
13
- }
14
- args.push(...parsedArguments);
15
- }
16
- catch (error) {
17
- args.push('Unable to log remote console arguments', entry.arguments);
18
- }
19
- return { args, stack };
20
- }
21
- function findFirstFrame(stack) {
22
- if (!stack) {
23
- return stack;
24
- }
25
- const newlineIndex = stack.indexOf('\n');
26
- if (newlineIndex === -1) {
27
- return stack;
28
- }
29
- return stack.substring(0, newlineIndex);
30
- }
31
- function log(entry, label) {
32
- const { args, stack } = parse(entry);
33
- const isOneStringArg = typeof args[0] === 'string' && args.length === 1;
34
- let topFrame = findFirstFrame(stack);
35
- if (topFrame) {
36
- topFrame = `(${topFrame.trim()})`;
37
- }
38
- let consoleArgs = [];
39
- if (typeof args[0] === 'string') {
40
- if (topFrame && isOneStringArg) {
41
- consoleArgs = [`%c[${label}] %c${args[0]} %c${topFrame}`, color('blue'), color(''), color('grey')];
42
- }
43
- else {
44
- consoleArgs = [`%c[${label}] %c${args[0]}`, color('blue'), color(''), ...args.slice(1)];
45
- }
46
- }
47
- else {
48
- consoleArgs = [`%c[${label}]%`, color('blue'), ...args];
49
- }
50
- if (topFrame && !isOneStringArg) {
51
- consoleArgs.push(topFrame);
52
- }
53
- if (typeof console[entry.severity] !== 'function') {
54
- throw new Error('Unknown console method');
55
- }
56
- console[entry.severity].apply(console, consoleArgs);
57
- }
58
- function color(color) {
59
- return `color: ${color}`;
60
- }
61
-
62
- export { log, parse };
@@ -1,497 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { CancellationToken } from 'vscode/vscode/vs/base/common/cancellation';
3
- import { getErrorMessage, isCancellationError } from 'vscode/vscode/vs/base/common/errors';
4
- import { Schemas } from 'vscode/vscode/vs/base/common/network';
5
- import { basename } from 'vscode/vscode/vs/base/common/resources';
6
- import { semverExports } from '../../../../../../external/vscode-semver/semver.js';
7
- import { URI } from 'vscode/vscode/vs/base/common/uri';
8
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
9
- import { EXTENSION_IDENTIFIER_REGEX, IExtensionManagementService, IExtensionGalleryService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
10
- import { getIdAndVersion, areSameExtensions, getGalleryExtensionId, getExtensionId } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
11
- import { EXTENSION_CATEGORIES } from 'vscode/vscode/vs/platform/extensions/common/extensions';
12
-
13
- const notFound = (id) => ( localizeWithPath(
14
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
15
- 'notFound',
16
- "Extension '{0}' not found.",
17
- id
18
- ));
19
- const useId = ( localizeWithPath(
20
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
21
- 'useId',
22
- "Make sure you use the full extension ID, including the publisher, e.g.: {0}",
23
- 'ms-dotnettools.csharp'
24
- ));
25
- let ExtensionManagementCLI = class ExtensionManagementCLI {
26
- constructor(logger, extensionManagementService, extensionGalleryService) {
27
- this.logger = logger;
28
- this.extensionManagementService = extensionManagementService;
29
- this.extensionGalleryService = extensionGalleryService;
30
- }
31
- get location() {
32
- return undefined;
33
- }
34
- async listExtensions(showVersions, category, profileLocation) {
35
- let extensions = await this.extensionManagementService.getInstalled(1 , profileLocation);
36
- const categories = ( EXTENSION_CATEGORIES.map(c => c.toLowerCase()));
37
- if (category && category !== '') {
38
- if (categories.indexOf(category.toLowerCase()) < 0) {
39
- this.logger.info('Invalid category please enter a valid category. To list valid categories run --category without a category specified');
40
- return;
41
- }
42
- extensions = extensions.filter(e => {
43
- if (e.manifest.categories) {
44
- const lowerCaseCategories = ( e.manifest.categories.map(c => c.toLowerCase()));
45
- return lowerCaseCategories.indexOf(category.toLowerCase()) > -1;
46
- }
47
- return false;
48
- });
49
- }
50
- else if (category === '') {
51
- this.logger.info('Possible Categories: ');
52
- categories.forEach(category => {
53
- this.logger.info(category);
54
- });
55
- return;
56
- }
57
- if (this.location) {
58
- this.logger.info(( localizeWithPath(
59
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
60
- 'listFromLocation',
61
- "Extensions installed on {0}:",
62
- this.location
63
- )));
64
- }
65
- extensions = extensions.sort((e1, e2) => e1.identifier.id.localeCompare(e2.identifier.id));
66
- let lastId = undefined;
67
- for (const extension of extensions) {
68
- if (lastId !== extension.identifier.id) {
69
- lastId = extension.identifier.id;
70
- this.logger.info(showVersions ? `${lastId}@${extension.manifest.version}` : lastId);
71
- }
72
- }
73
- }
74
- async installExtensions(extensions, builtinExtensions, installOptions, force) {
75
- const failed = [];
76
- try {
77
- if (extensions.length) {
78
- this.logger.info(this.location ? ( localizeWithPath(
79
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
80
- 'installingExtensionsOnLocation',
81
- "Installing extensions on {0}...",
82
- this.location
83
- )) : ( localizeWithPath(
84
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
85
- 'installingExtensions',
86
- "Installing extensions..."
87
- )));
88
- }
89
- const installVSIXInfos = [];
90
- const installExtensionInfos = [];
91
- const addInstallExtensionInfo = (id, version, isBuiltin) => {
92
- installExtensionInfos.push({ id, version: version !== 'prerelease' ? version : undefined, installOptions: { ...installOptions, isBuiltin, installPreReleaseVersion: version === 'prerelease' || installOptions.installPreReleaseVersion } });
93
- };
94
- for (const extension of extensions) {
95
- if (extension instanceof URI) {
96
- installVSIXInfos.push({ vsix: extension, installOptions });
97
- }
98
- else {
99
- const [id, version] = getIdAndVersion(extension);
100
- addInstallExtensionInfo(id, version, false);
101
- }
102
- }
103
- for (const extension of builtinExtensions) {
104
- if (extension instanceof URI) {
105
- installVSIXInfos.push({ vsix: extension, installOptions: { ...installOptions, isBuiltin: true, donotIncludePackAndDependencies: true } });
106
- }
107
- else {
108
- const [id, version] = getIdAndVersion(extension);
109
- addInstallExtensionInfo(id, version, true);
110
- }
111
- }
112
- const installed = await this.extensionManagementService.getInstalled(1 , installOptions.profileLocation);
113
- if (installVSIXInfos.length) {
114
- await Promise.all(( installVSIXInfos.map(async ({ vsix, installOptions }) => {
115
- try {
116
- await this.installVSIX(vsix, installOptions, force, installed);
117
- }
118
- catch (err) {
119
- this.logger.error(err);
120
- failed.push(( vsix.toString()));
121
- }
122
- })));
123
- }
124
- if (installExtensionInfos.length) {
125
- const failedGalleryExtensions = await this.installGalleryExtensions(installExtensionInfos, installed, force);
126
- failed.push(...failedGalleryExtensions);
127
- }
128
- }
129
- catch (error) {
130
- this.logger.error(( localizeWithPath(
131
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
132
- 'error while installing extensions',
133
- "Error while installing extensions: {0}",
134
- getErrorMessage(error)
135
- )));
136
- throw error;
137
- }
138
- if (failed.length) {
139
- throw new Error(localizeWithPath('vs/platform/extensionManagement/common/extensionManagementCLI', 'installation failed', "Failed Installing Extensions: {0}", failed.join(', ')));
140
- }
141
- }
142
- async updateExtensions(profileLocation) {
143
- const installedExtensions = await this.extensionManagementService.getInstalled(1 , profileLocation);
144
- const installedExtensionsQuery = [];
145
- for (const extension of installedExtensions) {
146
- if (!!extension.identifier.uuid) {
147
- installedExtensionsQuery.push({ ...extension.identifier, preRelease: extension.preRelease });
148
- }
149
- }
150
- this.logger.trace(( localizeWithPath(
151
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
152
- { key: 'updateExtensionsQuery', comment: ['Placeholder is for the count of extensions'] },
153
- "Fetching latest versions for {0} extensions",
154
- installedExtensionsQuery.length
155
- )));
156
- const availableVersions = await this.extensionGalleryService.getExtensions(installedExtensionsQuery, { compatible: true }, CancellationToken.None);
157
- const extensionsToUpdate = [];
158
- for (const newVersion of availableVersions) {
159
- for (const oldVersion of installedExtensions) {
160
- if (areSameExtensions(oldVersion.identifier, newVersion.identifier) && semverExports.gt(newVersion.version, oldVersion.manifest.version)) {
161
- extensionsToUpdate.push({
162
- extension: newVersion,
163
- options: { operation: 3 , installPreReleaseVersion: oldVersion.isPreReleaseVersion }
164
- });
165
- }
166
- }
167
- }
168
- if (!extensionsToUpdate.length) {
169
- this.logger.info(( localizeWithPath(
170
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
171
- 'updateExtensionsNoExtensions',
172
- "No extension to update"
173
- )));
174
- return;
175
- }
176
- this.logger.info(( localizeWithPath(
177
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
178
- 'updateExtensionsNewVersionsAvailable',
179
- "Updating extensions: {0}",
180
- ( extensionsToUpdate.map(ext => ext.extension.identifier.id)).join(', ')
181
- )));
182
- const installationResult = await this.extensionManagementService.installGalleryExtensions(extensionsToUpdate);
183
- for (const extensionResult of installationResult) {
184
- if (extensionResult.error) {
185
- this.logger.error(( localizeWithPath(
186
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
187
- 'errorUpdatingExtension',
188
- "Error while updating extension {0}: {1}",
189
- extensionResult.identifier.id,
190
- getErrorMessage(extensionResult.error)
191
- )));
192
- }
193
- else {
194
- this.logger.info(( localizeWithPath(
195
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
196
- 'successUpdate',
197
- "Extension '{0}' v{1} was successfully updated.",
198
- extensionResult.identifier.id,
199
- extensionResult.local?.manifest.version
200
- )));
201
- }
202
- }
203
- }
204
- async installGalleryExtensions(installExtensionInfos, installed, force) {
205
- installExtensionInfos = installExtensionInfos.filter(({ id, version }) => {
206
- const installedExtension = installed.find(i => areSameExtensions(i.identifier, { id }));
207
- if (installedExtension) {
208
- if (!force && (!version || (version === 'prerelease' && installedExtension.preRelease))) {
209
- this.logger.info(( localizeWithPath(
210
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
211
- 'alreadyInstalled-checkAndUpdate',
212
- "Extension '{0}' v{1} is already installed. Use '--force' option to update to latest version or provide '@<version>' to install a specific version, for example: '{2}@1.2.3'.",
213
- id,
214
- installedExtension.manifest.version,
215
- id
216
- )));
217
- return false;
218
- }
219
- if (version && installedExtension.manifest.version === version) {
220
- this.logger.info(( localizeWithPath(
221
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
222
- 'alreadyInstalled',
223
- "Extension '{0}' is already installed.",
224
- `${id}@${version}`
225
- )));
226
- return false;
227
- }
228
- }
229
- return true;
230
- });
231
- if (!installExtensionInfos.length) {
232
- return [];
233
- }
234
- const failed = [];
235
- const extensionsToInstall = [];
236
- const galleryExtensions = await this.getGalleryExtensions(installExtensionInfos);
237
- await Promise.all(( installExtensionInfos.map(async ({ id, version, installOptions }) => {
238
- const gallery = galleryExtensions.get(id.toLowerCase());
239
- if (!gallery) {
240
- this.logger.error(`${notFound(version ? `${id}@${version}` : id)}\n${useId}`);
241
- failed.push(id);
242
- return;
243
- }
244
- try {
245
- const manifest = await this.extensionGalleryService.getManifest(gallery, CancellationToken.None);
246
- if (manifest && !this.validateExtensionKind(manifest)) {
247
- return;
248
- }
249
- }
250
- catch (err) {
251
- this.logger.error(err.message || err.stack || err);
252
- failed.push(id);
253
- return;
254
- }
255
- const installedExtension = installed.find(e => areSameExtensions(e.identifier, gallery.identifier));
256
- if (installedExtension) {
257
- if (gallery.version === installedExtension.manifest.version) {
258
- this.logger.info(( localizeWithPath(
259
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
260
- 'alreadyInstalled',
261
- "Extension '{0}' is already installed.",
262
- version ? `${id}@${version}` : id
263
- )));
264
- return;
265
- }
266
- this.logger.info(( localizeWithPath(
267
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
268
- 'updateMessage',
269
- "Updating the extension '{0}' to the version {1}",
270
- id,
271
- gallery.version
272
- )));
273
- }
274
- if (installOptions.isBuiltin) {
275
- this.logger.info(version ? ( localizeWithPath(
276
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
277
- 'installing builtin with version',
278
- "Installing builtin extension '{0}' v{1}...",
279
- id,
280
- version
281
- )) : ( localizeWithPath(
282
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
283
- 'installing builtin ',
284
- "Installing builtin extension '{0}'...",
285
- id
286
- )));
287
- }
288
- else {
289
- this.logger.info(version ? ( localizeWithPath(
290
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
291
- 'installing with version',
292
- "Installing extension '{0}' v{1}...",
293
- id,
294
- version
295
- )) : ( localizeWithPath(
296
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
297
- 'installing',
298
- "Installing extension '{0}'...",
299
- id
300
- )));
301
- }
302
- extensionsToInstall.push({
303
- extension: gallery,
304
- options: { ...installOptions, installGivenVersion: !!version },
305
- });
306
- })));
307
- if (extensionsToInstall.length) {
308
- const installationResult = await this.extensionManagementService.installGalleryExtensions(extensionsToInstall);
309
- for (const extensionResult of installationResult) {
310
- if (extensionResult.error) {
311
- this.logger.error(( localizeWithPath(
312
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
313
- 'errorInstallingExtension',
314
- "Error while installing extension {0}: {1}",
315
- extensionResult.identifier.id,
316
- getErrorMessage(extensionResult.error)
317
- )));
318
- failed.push(extensionResult.identifier.id);
319
- }
320
- else {
321
- this.logger.info(( localizeWithPath(
322
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
323
- 'successInstall',
324
- "Extension '{0}' v{1} was successfully installed.",
325
- extensionResult.identifier.id,
326
- extensionResult.local?.manifest.version
327
- )));
328
- }
329
- }
330
- }
331
- return failed;
332
- }
333
- async installVSIX(vsix, installOptions, force, installedExtensions) {
334
- const manifest = await this.extensionManagementService.getManifest(vsix);
335
- if (!manifest) {
336
- throw new Error('Invalid vsix');
337
- }
338
- const valid = await this.validateVSIX(manifest, force, installOptions.profileLocation, installedExtensions);
339
- if (valid) {
340
- try {
341
- await this.extensionManagementService.install(vsix, installOptions);
342
- this.logger.info(( localizeWithPath(
343
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
344
- 'successVsixInstall',
345
- "Extension '{0}' was successfully installed.",
346
- basename(vsix)
347
- )));
348
- }
349
- catch (error) {
350
- if (isCancellationError(error)) {
351
- this.logger.info(( localizeWithPath(
352
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
353
- 'cancelVsixInstall',
354
- "Cancelled installing extension '{0}'.",
355
- basename(vsix)
356
- )));
357
- }
358
- else {
359
- throw error;
360
- }
361
- }
362
- }
363
- }
364
- async getGalleryExtensions(extensions) {
365
- const galleryExtensions = ( new Map());
366
- const preRelease = ( extensions.some(e => e.installOptions.installPreReleaseVersion));
367
- const targetPlatform = await this.extensionManagementService.getTargetPlatform();
368
- const extensionInfos = [];
369
- for (const extension of extensions) {
370
- if (EXTENSION_IDENTIFIER_REGEX.test(extension.id)) {
371
- extensionInfos.push({ ...extension, preRelease });
372
- }
373
- }
374
- if (extensionInfos.length) {
375
- const result = await this.extensionGalleryService.getExtensions(extensionInfos, { targetPlatform }, CancellationToken.None);
376
- for (const extension of result) {
377
- galleryExtensions.set(extension.identifier.id.toLowerCase(), extension);
378
- }
379
- }
380
- return galleryExtensions;
381
- }
382
- validateExtensionKind(_manifest) {
383
- return true;
384
- }
385
- async validateVSIX(manifest, force, profileLocation, installedExtensions) {
386
- if (!force) {
387
- const extensionIdentifier = { id: getGalleryExtensionId(manifest.publisher, manifest.name) };
388
- const newer = installedExtensions.find(local => areSameExtensions(extensionIdentifier, local.identifier) && semverExports.gt(local.manifest.version, manifest.version));
389
- if (newer) {
390
- this.logger.info(( localizeWithPath(
391
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
392
- 'forceDowngrade',
393
- "A newer version of extension '{0}' v{1} is already installed. Use '--force' option to downgrade to older version.",
394
- newer.identifier.id,
395
- newer.manifest.version,
396
- manifest.version
397
- )));
398
- return false;
399
- }
400
- }
401
- return this.validateExtensionKind(manifest);
402
- }
403
- async uninstallExtensions(extensions, force, profileLocation) {
404
- const getId = async (extensionDescription) => {
405
- if (extensionDescription instanceof URI) {
406
- const manifest = await this.extensionManagementService.getManifest(extensionDescription);
407
- return getExtensionId(manifest.publisher, manifest.name);
408
- }
409
- return extensionDescription;
410
- };
411
- for (const extension of extensions) {
412
- const id = await getId(extension);
413
- const installed = await this.extensionManagementService.getInstalled(undefined, profileLocation);
414
- const extensionsToUninstall = installed.filter(e => areSameExtensions(e.identifier, { id }));
415
- if (!extensionsToUninstall.length) {
416
- throw new Error(`${this.notInstalled(id)}\n${useId}`);
417
- }
418
- if (( extensionsToUninstall.some(e => e.type === 0 ))) {
419
- this.logger.info(( localizeWithPath(
420
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
421
- 'builtin',
422
- "Extension '{0}' is a Built-in extension and cannot be uninstalled",
423
- id
424
- )));
425
- return;
426
- }
427
- if (!force && ( extensionsToUninstall.some(e => e.isBuiltin))) {
428
- this.logger.info(( localizeWithPath(
429
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
430
- 'forceUninstall',
431
- "Extension '{0}' is marked as a Built-in extension by user. Please use '--force' option to uninstall it.",
432
- id
433
- )));
434
- return;
435
- }
436
- this.logger.info(( localizeWithPath(
437
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
438
- 'uninstalling',
439
- "Uninstalling {0}...",
440
- id
441
- )));
442
- for (const extensionToUninstall of extensionsToUninstall) {
443
- await this.extensionManagementService.uninstall(extensionToUninstall, { profileLocation });
444
- }
445
- if (this.location) {
446
- this.logger.info(( localizeWithPath(
447
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
448
- 'successUninstallFromLocation',
449
- "Extension '{0}' was successfully uninstalled from {1}!",
450
- id,
451
- this.location
452
- )));
453
- }
454
- else {
455
- this.logger.info(( localizeWithPath(
456
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
457
- 'successUninstall',
458
- "Extension '{0}' was successfully uninstalled!",
459
- id
460
- )));
461
- }
462
- }
463
- }
464
- async locateExtension(extensions) {
465
- const installed = await this.extensionManagementService.getInstalled();
466
- extensions.forEach(e => {
467
- installed.forEach(i => {
468
- if (i.identifier.id === e) {
469
- if (i.location.scheme === Schemas.file) {
470
- this.logger.info(i.location.fsPath);
471
- return;
472
- }
473
- }
474
- });
475
- });
476
- }
477
- notInstalled(id) {
478
- return this.location ? ( localizeWithPath(
479
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
480
- 'notInstalleddOnLocation',
481
- "Extension '{0}' is not installed on {1}.",
482
- id,
483
- this.location
484
- )) : ( localizeWithPath(
485
- 'vs/platform/extensionManagement/common/extensionManagementCLI',
486
- 'notInstalled',
487
- "Extension '{0}' is not installed.",
488
- id
489
- ));
490
- }
491
- };
492
- ExtensionManagementCLI = ( __decorate([
493
- ( __param(1, IExtensionManagementService)),
494
- ( __param(2, IExtensionGalleryService))
495
- ], ExtensionManagementCLI));
496
-
497
- export { ExtensionManagementCLI };
@@ -1,44 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
3
- import { FileAccess, Schemas } from 'vscode/vscode/vs/base/common/network';
4
- import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
5
- import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
6
- import { IEnvironmentService } from 'vscode/vscode/vs/platform/environment/common/environment';
7
- import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
8
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
9
- import { AbstractExtensionResourceLoaderService } from 'vscode/vscode/vs/platform/extensionResourceLoader/common/extensionResourceLoader';
10
-
11
- let ExtensionResourceLoaderService = class ExtensionResourceLoaderService extends AbstractExtensionResourceLoaderService {
12
- constructor(fileService, storageService, productService, environmentService, configurationService, _logService) {
13
- super(fileService, storageService, productService, environmentService, configurationService);
14
- this._logService = _logService;
15
- }
16
- async readExtensionResource(uri) {
17
- uri = FileAccess.uriToBrowserUri(uri);
18
- if (uri.scheme !== Schemas.http && uri.scheme !== Schemas.https && uri.scheme !== Schemas.data) {
19
- const result = await this._fileService.readFile(uri);
20
- return ( result.value.toString());
21
- }
22
- const requestInit = {};
23
- if (this.isExtensionGalleryResource(uri)) {
24
- requestInit.headers = await this.getExtensionGalleryRequestHeaders();
25
- requestInit.mode = 'cors';
26
- }
27
- const response = await fetch(( uri.toString(true)), requestInit);
28
- if (response.status !== 200) {
29
- this._logService.info(`Request to '${( uri.toString(true))}' failed with status code ${response.status}`);
30
- throw new Error(response.statusText);
31
- }
32
- return response.text();
33
- }
34
- };
35
- ExtensionResourceLoaderService = ( __decorate([
36
- ( __param(0, IFileService)),
37
- ( __param(1, IStorageService)),
38
- ( __param(2, IProductService)),
39
- ( __param(3, IEnvironmentService)),
40
- ( __param(4, IConfigurationService)),
41
- ( __param(5, ILogService))
42
- ], ExtensionResourceLoaderService));
43
-
44
- export { ExtensionResourceLoaderService };
@@ -1,27 +0,0 @@
1
- import { isThenable, Promises } from 'vscode/vscode/vs/base/common/async';
2
-
3
- function handleVetos(vetos, onError) {
4
- if (vetos.length === 0) {
5
- return Promise.resolve(false);
6
- }
7
- const promises = [];
8
- let lazyValue = false;
9
- for (const valueOrPromise of vetos) {
10
- if (valueOrPromise === true) {
11
- return Promise.resolve(true);
12
- }
13
- if (isThenable(valueOrPromise)) {
14
- promises.push(valueOrPromise.then(value => {
15
- if (value) {
16
- lazyValue = true;
17
- }
18
- }, err => {
19
- onError(err);
20
- lazyValue = true;
21
- }));
22
- }
23
- }
24
- return Promises.settled(promises).then(() => lazyValue);
25
- }
26
-
27
- export { handleVetos };