@codingame/monaco-vscode-extensions-service-override 1.83.13 → 1.83.15-next.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.
- package/extensions.d.ts +3 -9
- package/extensions.js +28 -197
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/localExtensionHost.d.ts +40 -0
- package/package.json +3 -3
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +44 -0
- package/tools.js +0 -5
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +0 -14
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +0 -236
- package/vscode/src/vs/workbench/api/common/extHostConfiguration.d.ts +0 -43
- package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +0 -33
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +0 -138
- package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +0 -21
- package/vscode/src/vs/workbench/api/common/extHostInitDataService.d.ts +0 -9
- package/vscode/src/vs/workbench/api/common/extHostLocalizationService.d.ts +0 -29
- package/vscode/src/vs/workbench/api/common/extHostManagedSockets.d.ts +0 -11
- package/vscode/src/vs/workbench/api/common/extHostRpcService.d.ts +0 -9
- package/vscode/src/vs/workbench/api/common/extHostStoragePaths.d.ts +0 -14
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +0 -53
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +0 -19
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +0 -12
- package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +0 -9
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +0 -91
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +0 -21
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +0 -35
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +0 -5
package/extensions.d.ts
CHANGED
|
@@ -21,21 +21,16 @@ import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/servi
|
|
|
21
21
|
import { ExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/browser/extensionService';
|
|
22
22
|
import { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
23
23
|
export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
24
|
-
import { ExtHostExtensionService } from './vscode/src/vs/workbench/api/worker/extHostExtensionService.js';
|
|
25
|
-
import * as vscode from 'vscode';
|
|
26
24
|
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
|
|
27
25
|
import { IWorkspaceTrustManagementService } from 'vscode/vscode/vs/platform/workspace/common/workspaceTrust';
|
|
28
26
|
import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
|
|
27
|
+
import { LocalExtensionHost } from './localExtensionHost.js';
|
|
29
28
|
|
|
30
|
-
declare class LocalExtHostExtensionService extends ExtHostExtensionService {
|
|
31
|
-
private _defaultApiImpl?;
|
|
32
|
-
private readonly _extApiImpl;
|
|
33
|
-
getApi(extensionId?: string): Promise<typeof vscode>;
|
|
34
|
-
}
|
|
35
29
|
interface WorkerConfig {
|
|
36
30
|
url: string;
|
|
37
31
|
options?: WorkerOptions;
|
|
38
32
|
}
|
|
33
|
+
declare function setLocalExtensionHost(_localExtensionHost: typeof LocalExtensionHost): void;
|
|
39
34
|
interface IExtensionWithExtHostKind extends IExtension {
|
|
40
35
|
extHostKind?: ExtensionHostKind;
|
|
41
36
|
}
|
|
@@ -45,6 +40,5 @@ declare class ExtensionServiceOverride extends ExtensionService implements IExte
|
|
|
45
40
|
protected _scanSingleExtension(extension: IExtension): Promise<Readonly<IRelaxedExtensionDescription> | null>;
|
|
46
41
|
}
|
|
47
42
|
declare function getServiceOverride(workerConfig?: WorkerConfig, _iframeAlternateDomains?: string): IEditorOverrideServices;
|
|
48
|
-
declare function getLocalExtHostExtensionService(): Promise<LocalExtHostExtensionService>;
|
|
49
43
|
|
|
50
|
-
export { ExtensionServiceOverride, type IExtensionWithExtHostKind,
|
|
44
|
+
export { ExtensionServiceOverride, type IExtensionWithExtHostKind, type WorkerConfig, getServiceOverride as default, setLocalExtensionHost };
|
package/extensions.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { __decorate, __param } from './external/tslib/tslib.es6.js';
|
|
2
2
|
import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
|
|
3
3
|
import { ILifecycleService } from 'vscode/vscode/vs/workbench/services/lifecycle/common/lifecycle';
|
|
4
|
-
import {
|
|
4
|
+
import { toExtensionDescription, IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
5
5
|
import { ILogService, ILoggerService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
6
|
-
import { ExtensionIdentifierMap } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
|
|
7
6
|
import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
8
7
|
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
9
8
|
import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
|
|
10
9
|
import { DeltaExtensionsQueueItem } from './vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js';
|
|
11
10
|
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
12
|
-
import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
13
11
|
import './override/vs/platform/dialogs/common/dialogs.js';
|
|
14
12
|
import { IRemoteAuthorityResolverService } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
|
|
15
13
|
import { IRemoteExtensionsScannerService } from 'vscode/vscode/vs/platform/remote/common/remoteExtensionsScanner';
|
|
@@ -24,19 +22,7 @@ import { IUserDataInitializationService } from 'vscode/vscode/vs/workbench/servi
|
|
|
24
22
|
import { ExtensionsProposedApi } from './vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js';
|
|
25
23
|
import { ExtensionService, BrowserExtensionHostFactory, BrowserExtensionHostKindPicker } from './vscode/src/vs/workbench/services/extensions/browser/extensionService.js';
|
|
26
24
|
export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
27
|
-
import { IExtHostExtensionService } from 'vscode/vscode/vs/workbench/api/common/extHostExtensionService';
|
|
28
|
-
import { ExtHostExtensionService } from 'vscode/vscode/vs/workbench/api/worker/extHostExtensionService';
|
|
29
|
-
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
30
|
-
import * as platform from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
31
|
-
import { registerSingleton } from 'monaco-editor/esm/vs/platform/instantiation/common/extensions.js';
|
|
32
|
-
import { IExtensionStoragePaths, ExtensionStoragePaths } from 'vscode/vscode/vs/workbench/api/common/extHostStoragePaths';
|
|
33
25
|
import { WebWorkerExtensionHost } from './vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js';
|
|
34
|
-
import { ExtensionHostMain } from 'vscode/vscode/vs/workbench/api/common/extensionHostMain';
|
|
35
|
-
import { BufferedEmitter } from 'vscode/vscode/vs/base/parts/ipc/common/ipc.net';
|
|
36
|
-
import { isLoggingOnly } from 'vscode/vscode/vs/platform/telemetry/common/telemetryUtils';
|
|
37
|
-
import { joinPath } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
38
|
-
import { DeferredPromise } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
39
|
-
import { UIKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostProtocol';
|
|
40
26
|
import { IUserDataProfilesService } from 'monaco-editor/esm/vs/platform/userDataProfile/common/userDataProfile.js';
|
|
41
27
|
import { ILayoutService } from 'monaco-editor/esm/vs/platform/layout/browser/layoutService.js';
|
|
42
28
|
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
@@ -44,12 +30,13 @@ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.
|
|
|
44
30
|
import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
|
|
45
31
|
import { IWorkspaceTrustManagementService } from 'monaco-editor/esm/vs/platform/workspace/common/workspaceTrust.js';
|
|
46
32
|
import { IRemoteExplorerService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
|
|
33
|
+
import { ExtensionResourceLoaderService } from './vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js';
|
|
34
|
+
import { IExtensionResourceLoaderService } from 'vscode/vscode/vs/platform/extensionResourceLoader/common/extensionResourceLoader';
|
|
47
35
|
import { changeUrlDomain } from './tools/url.js';
|
|
48
36
|
import { CustomSchemas } from '@codingame/monaco-vscode-files-service-override';
|
|
49
37
|
import { registerAssets } from 'vscode/assets';
|
|
50
|
-
import { unsupported } from './tools.js';
|
|
51
38
|
import 'vscode/vscode/vs/workbench/services/themes/common/colorExtensionPoint';
|
|
52
|
-
import '
|
|
39
|
+
import 'vscode/vscode/vs/workbench/services/themes/common/iconExtensionPoint';
|
|
53
40
|
import 'vscode/vscode/vs/workbench/services/extensions/common/extensionsRegistry';
|
|
54
41
|
import 'vscode/vscode/vs/platform/theme/common/tokenClassificationRegistry';
|
|
55
42
|
import 'vscode/vscode/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint';
|
|
@@ -125,178 +112,8 @@ import './vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js
|
|
|
125
112
|
import './vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js';
|
|
126
113
|
import './vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js';
|
|
127
114
|
import './vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js';
|
|
128
|
-
import 'vscode/missing-services';
|
|
129
|
-
import 'vscode/vscode/vs/workbench/api/common/extHost.common.services';
|
|
130
115
|
import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
|
|
131
116
|
|
|
132
|
-
function createMessagePassingProtocolPair() {
|
|
133
|
-
const emitterA = new BufferedEmitter();
|
|
134
|
-
const emitterB = new BufferedEmitter();
|
|
135
|
-
class SimpleMessagePassingProtocol {
|
|
136
|
-
constructor(emitterIn, emitterOut) {
|
|
137
|
-
this.emitterIn = emitterIn;
|
|
138
|
-
this.emitterOut = emitterOut;
|
|
139
|
-
this.onMessage = this.emitterIn.event;
|
|
140
|
-
}
|
|
141
|
-
send(buffer) {
|
|
142
|
-
this.emitterOut.fire(buffer);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return [new SimpleMessagePassingProtocol(emitterA, emitterB), new SimpleMessagePassingProtocol(emitterB, emitterA)];
|
|
146
|
-
}
|
|
147
|
-
class LocalExtHostExtensionService extends ExtHostExtensionService {
|
|
148
|
-
constructor() {
|
|
149
|
-
super(...arguments);
|
|
150
|
-
this._extApiImpl = new ExtensionIdentifierMap();
|
|
151
|
-
}
|
|
152
|
-
async getApi(extensionId) {
|
|
153
|
-
const [myRegistry, configProvider] = await Promise.all([
|
|
154
|
-
this.getExtensionRegistry(),
|
|
155
|
-
this._extHostConfiguration.getConfigProvider()
|
|
156
|
-
]);
|
|
157
|
-
const extensionRegistry = { mine: myRegistry, all: this._globalRegistry };
|
|
158
|
-
const ext = extensionId != null ? myRegistry.getExtensionDescription(extensionId) : undefined;
|
|
159
|
-
if (ext != null) {
|
|
160
|
-
let apiImpl = this._extApiImpl.get(ext.identifier);
|
|
161
|
-
if (apiImpl == null) {
|
|
162
|
-
apiImpl = this._apiFactory(ext, extensionRegistry, configProvider);
|
|
163
|
-
this._extApiImpl.set(ext.identifier, apiImpl);
|
|
164
|
-
}
|
|
165
|
-
return apiImpl;
|
|
166
|
-
}
|
|
167
|
-
if (this._defaultApiImpl == null) {
|
|
168
|
-
this._defaultApiImpl = this._apiFactory(nullExtensionDescription, extensionRegistry, configProvider);
|
|
169
|
-
}
|
|
170
|
-
return this._defaultApiImpl;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
registerSingleton(IExtHostExtensionService, LocalExtHostExtensionService, 0 );
|
|
174
|
-
registerSingleton(IExtensionStoragePaths, ExtensionStoragePaths, 0 );
|
|
175
|
-
const hostUtil = new class {
|
|
176
|
-
constructor() {
|
|
177
|
-
this.pid = undefined;
|
|
178
|
-
this.exit = unsupported;
|
|
179
|
-
}
|
|
180
|
-
async exists(_path) {
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
async realpath(path) {
|
|
184
|
-
return path;
|
|
185
|
-
}
|
|
186
|
-
}();
|
|
187
|
-
const localExtHostDeferred = new DeferredPromise();
|
|
188
|
-
const localExtHostPromise = localExtHostDeferred.p;
|
|
189
|
-
let LocalExtensionHost = class LocalExtensionHost {
|
|
190
|
-
constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _productService, _userDataProfilesService) {
|
|
191
|
-
this.runningLocation = runningLocation;
|
|
192
|
-
this.startup = startup;
|
|
193
|
-
this._initDataProvider = _initDataProvider;
|
|
194
|
-
this._telemetryService = _telemetryService;
|
|
195
|
-
this._contextService = _contextService;
|
|
196
|
-
this._labelService = _labelService;
|
|
197
|
-
this._logService = _logService;
|
|
198
|
-
this._loggerService = _loggerService;
|
|
199
|
-
this._environmentService = _environmentService;
|
|
200
|
-
this._productService = _productService;
|
|
201
|
-
this._userDataProfilesService = _userDataProfilesService;
|
|
202
|
-
this.remoteAuthority = null;
|
|
203
|
-
this.extensions = null;
|
|
204
|
-
this.onExit = Event.None;
|
|
205
|
-
this._protocolPromise = null;
|
|
206
|
-
this._extensionHostLogsLocation = joinPath(this._environmentService.extHostLogsPath, 'local');
|
|
207
|
-
}
|
|
208
|
-
async start() {
|
|
209
|
-
if (this._protocolPromise == null) {
|
|
210
|
-
this._protocolPromise = this._start();
|
|
211
|
-
}
|
|
212
|
-
return this._protocolPromise;
|
|
213
|
-
}
|
|
214
|
-
async _start() {
|
|
215
|
-
const [mainThreadMessagePassingProtocol, extHostMessagePassingProtocol] = createMessagePassingProtocolPair();
|
|
216
|
-
const initData = await this._createExtHostInitData();
|
|
217
|
-
const hostMain = new ExtensionHostMain(extHostMessagePassingProtocol, initData, hostUtil, null);
|
|
218
|
-
await localExtHostDeferred.complete(hostMain.getExtHostExtensionService());
|
|
219
|
-
return mainThreadMessagePassingProtocol;
|
|
220
|
-
}
|
|
221
|
-
async _createExtHostInitData() {
|
|
222
|
-
const initData = await this._initDataProvider.getInitData();
|
|
223
|
-
this.extensions = initData.extensions;
|
|
224
|
-
const workspace = this._contextService.getWorkspace();
|
|
225
|
-
const nlsBaseUrl = this._productService.extensionsGallery?.nlsBaseUrl;
|
|
226
|
-
let nlsUrlWithDetails;
|
|
227
|
-
if (nlsBaseUrl != null && this._productService.commit != null && !platform.Language.isDefaultVariant()) {
|
|
228
|
-
nlsUrlWithDetails = URI.joinPath(( URI.parse(nlsBaseUrl)), this._productService.commit, this._productService.version, platform.Language.value());
|
|
229
|
-
}
|
|
230
|
-
return {
|
|
231
|
-
commit: this._productService.commit,
|
|
232
|
-
version: this._productService.version,
|
|
233
|
-
quality: this._productService.quality,
|
|
234
|
-
parentPid: 0,
|
|
235
|
-
environment: {
|
|
236
|
-
isExtensionDevelopmentDebug: this._environmentService.debugRenderer,
|
|
237
|
-
appName: this._productService.nameLong,
|
|
238
|
-
appHost: this._productService.embedderIdentifier ?? (platform.isWeb ? 'web' : 'desktop'),
|
|
239
|
-
appUriScheme: this._productService.urlProtocol,
|
|
240
|
-
appLanguage: platform.language,
|
|
241
|
-
extensionTelemetryLogResource: this._environmentService.extHostTelemetryLogFile,
|
|
242
|
-
isExtensionTelemetryLoggingOnly: isLoggingOnly(this._productService, this._environmentService),
|
|
243
|
-
extensionDevelopmentLocationURI: this._environmentService.extensionDevelopmentLocationURI,
|
|
244
|
-
extensionTestsLocationURI: this._environmentService.extensionTestsLocationURI,
|
|
245
|
-
globalStorageHome: this._userDataProfilesService.defaultProfile.globalStorageHome,
|
|
246
|
-
workspaceStorageHome: this._environmentService.workspaceStorageHome,
|
|
247
|
-
extensionLogLevel: this._environmentService.extensionLogLevel
|
|
248
|
-
},
|
|
249
|
-
workspace: this._contextService.getWorkbenchState() === 1
|
|
250
|
-
? undefined
|
|
251
|
-
: {
|
|
252
|
-
configuration: workspace.configuration ?? undefined,
|
|
253
|
-
id: workspace.id,
|
|
254
|
-
name: this._labelService.getWorkspaceLabel(workspace),
|
|
255
|
-
transient: workspace.transient
|
|
256
|
-
},
|
|
257
|
-
consoleForward: {
|
|
258
|
-
includeStack: false,
|
|
259
|
-
logNative: this._environmentService.debugRenderer
|
|
260
|
-
},
|
|
261
|
-
extensions: initData.extensions.toSnapshot(),
|
|
262
|
-
nlsBaseUrl: nlsUrlWithDetails,
|
|
263
|
-
telemetryInfo: {
|
|
264
|
-
sessionId: this._telemetryService.sessionId,
|
|
265
|
-
machineId: this._telemetryService.machineId,
|
|
266
|
-
firstSessionDate: this._telemetryService.firstSessionDate,
|
|
267
|
-
msftInternal: this._telemetryService.msftInternal
|
|
268
|
-
},
|
|
269
|
-
logLevel: this._logService.getLevel(),
|
|
270
|
-
loggers: [...this._loggerService.getRegisteredLoggers()],
|
|
271
|
-
logsLocation: this._extensionHostLogsLocation,
|
|
272
|
-
autoStart: ((this.startup === 1) ),
|
|
273
|
-
remote: {
|
|
274
|
-
authority: this._environmentService.remoteAuthority,
|
|
275
|
-
connectionData: null,
|
|
276
|
-
isRemote: false
|
|
277
|
-
},
|
|
278
|
-
uiKind: platform.isWeb ? UIKind.Web : UIKind.Desktop
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
getInspectPort() {
|
|
282
|
-
return undefined;
|
|
283
|
-
}
|
|
284
|
-
enableInspectPort() {
|
|
285
|
-
return Promise.resolve(false);
|
|
286
|
-
}
|
|
287
|
-
dispose() {
|
|
288
|
-
}
|
|
289
|
-
};
|
|
290
|
-
LocalExtensionHost = __decorate([
|
|
291
|
-
( __param(3, ITelemetryService)),
|
|
292
|
-
( __param(4, IWorkspaceContextService)),
|
|
293
|
-
( __param(5, ILabelService)),
|
|
294
|
-
( __param(6, ILogService)),
|
|
295
|
-
( __param(7, ILoggerService)),
|
|
296
|
-
( __param(8, IBrowserWorkbenchEnvironmentService)),
|
|
297
|
-
( __param(9, IProductService)),
|
|
298
|
-
( __param(10, IUserDataProfilesService))
|
|
299
|
-
], LocalExtensionHost);
|
|
300
117
|
let EsmWebWorkerExtensionHost = class EsmWebWorkerExtensionHost extends WebWorkerExtensionHost {
|
|
301
118
|
constructor(workerConfig, runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService) {
|
|
302
119
|
super(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _userDataProfilesService, _productService, _layoutService, _storageService);
|
|
@@ -324,7 +141,11 @@ EsmWebWorkerExtensionHost = __decorate([
|
|
|
324
141
|
( __param(12, ILayoutService)),
|
|
325
142
|
( __param(13, IStorageService))
|
|
326
143
|
], EsmWebWorkerExtensionHost);
|
|
327
|
-
let
|
|
144
|
+
let localExtensionHost;
|
|
145
|
+
function setLocalExtensionHost(_localExtensionHost) {
|
|
146
|
+
localExtensionHost = _localExtensionHost;
|
|
147
|
+
}
|
|
148
|
+
let BrowserExtensionHostFactoryOverride = class BrowserExtensionHostFactoryOverride extends BrowserExtensionHostFactory {
|
|
328
149
|
constructor(workerConfig, _extensionsProposedApi, _scanWebExtensions, _getExtensionRegistrySnapshotWhenReady, _instantiationService, _remoteAgentService, _remoteAuthorityResolverService, _extensionEnablementService, _logService) {
|
|
329
150
|
super(_extensionsProposedApi, _scanWebExtensions, _getExtensionRegistrySnapshotWhenReady, _instantiationService, _remoteAgentService, _remoteAuthorityResolverService, _extensionEnablementService, _logService);
|
|
330
151
|
this.workerConfig = workerConfig;
|
|
@@ -332,7 +153,10 @@ let LocalBrowserExtensionHostFactory = class LocalBrowserExtensionHostFactory ex
|
|
|
332
153
|
createExtensionHost(runningLocations, runningLocation, isInitialStart) {
|
|
333
154
|
switch (runningLocation.kind) {
|
|
334
155
|
case 1 : {
|
|
335
|
-
|
|
156
|
+
if (localExtensionHost == null) {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
return this._instantiationService.createInstance(localExtensionHost, runningLocation, 1 , this._createLocalExtensionHostDataProvider(runningLocations, runningLocation, isInitialStart));
|
|
336
160
|
}
|
|
337
161
|
case 2 : {
|
|
338
162
|
if (this.workerConfig == null) {
|
|
@@ -347,13 +171,13 @@ let LocalBrowserExtensionHostFactory = class LocalBrowserExtensionHostFactory ex
|
|
|
347
171
|
}
|
|
348
172
|
}
|
|
349
173
|
};
|
|
350
|
-
|
|
174
|
+
BrowserExtensionHostFactoryOverride = __decorate([
|
|
351
175
|
( __param(4, IInstantiationService)),
|
|
352
176
|
( __param(5, IRemoteAgentService)),
|
|
353
177
|
( __param(6, IRemoteAuthorityResolverService)),
|
|
354
178
|
( __param(7, IWorkbenchExtensionEnablementService)),
|
|
355
179
|
( __param(8, ILogService))
|
|
356
|
-
],
|
|
180
|
+
], BrowserExtensionHostFactoryOverride);
|
|
357
181
|
let LocalBrowserExtensionHostKindPicker = class LocalBrowserExtensionHostKindPicker extends BrowserExtensionHostKindPicker {
|
|
358
182
|
constructor(allowedExtHostKinds, _logService) {
|
|
359
183
|
super(_logService);
|
|
@@ -384,7 +208,7 @@ LocalBrowserExtensionHostKindPicker = __decorate([
|
|
|
384
208
|
let ExtensionServiceOverride = class ExtensionServiceOverride extends ExtensionService {
|
|
385
209
|
constructor(workerConfig, instantiationService, notificationService, browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, webExtensionsScannerService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, userDataInitializationService, userDataProfileService, workspaceTrustManagementService, remoteExplorerService, dialogService) {
|
|
386
210
|
const extensionsProposedApi = instantiationService.createInstance(ExtensionsProposedApi);
|
|
387
|
-
const extensionHostFactory = new
|
|
211
|
+
const extensionHostFactory = new BrowserExtensionHostFactoryOverride(workerConfig, extensionsProposedApi, async () => this._scanWebExtensions(), () => this._getExtensionRegistrySnapshotWhenReady(), instantiationService, remoteAgentService, remoteAuthorityResolverService, extensionEnablementService, logService);
|
|
388
212
|
super(extensionsProposedApi, extensionHostFactory, new LocalBrowserExtensionHostKindPicker(workerConfig != null ? [2 , 1 , 3 ] : [1 , 3 ], logService), instantiationService, notificationService, browserEnvironmentService, telemetryService, extensionEnablementService, fileService, productService, extensionManagementService, contextService, configurationService, extensionManifestPropertiesService, webExtensionsScannerService, logService, remoteAgentService, remoteExtensionsScannerService, lifecycleService, remoteAuthorityResolverService, userDataInitializationService, userDataProfileService, workspaceTrustManagementService, remoteExplorerService, dialogService);
|
|
389
213
|
}
|
|
390
214
|
async deltaExtensions(toAdd, toRemove) {
|
|
@@ -430,6 +254,15 @@ ExtensionServiceOverride = __decorate([
|
|
|
430
254
|
( __param(21, IRemoteExplorerService)),
|
|
431
255
|
( __param(22, IDialogService))
|
|
432
256
|
], ExtensionServiceOverride);
|
|
257
|
+
class ExtensionResourceLoaderServiceOverride extends ExtensionResourceLoaderService {
|
|
258
|
+
async readExtensionResource(uri) {
|
|
259
|
+
if (uri.scheme === CustomSchemas.extensionFile) {
|
|
260
|
+
const result = await this._fileService.readFile(uri);
|
|
261
|
+
return ( result.value.toString());
|
|
262
|
+
}
|
|
263
|
+
return super.readExtensionResource(uri);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
433
266
|
let iframeAlternateDomains;
|
|
434
267
|
registerAssets({
|
|
435
268
|
'vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html': () => changeUrlDomain(new URL('./assets/webWorkerExtensionHostIframe.html', import.meta.url).href, iframeAlternateDomains)
|
|
@@ -446,11 +279,9 @@ function getServiceOverride(workerConfig, _iframeAlternateDomains) {
|
|
|
446
279
|
: undefined;
|
|
447
280
|
return {
|
|
448
281
|
[( IExtensionService.toString())]: new SyncDescriptor(ExtensionServiceOverride, [_workerConfig], false),
|
|
449
|
-
[( IExtensionManifestPropertiesService.toString())]: new SyncDescriptor(ExtensionManifestPropertiesService, [], true)
|
|
282
|
+
[( IExtensionManifestPropertiesService.toString())]: new SyncDescriptor(ExtensionManifestPropertiesService, [], true),
|
|
283
|
+
[( IExtensionResourceLoaderService.toString())]: new SyncDescriptor(ExtensionResourceLoaderServiceOverride, [], true)
|
|
450
284
|
};
|
|
451
285
|
}
|
|
452
|
-
function getLocalExtHostExtensionService() {
|
|
453
|
-
return localExtHostPromise;
|
|
454
|
-
}
|
|
455
286
|
|
|
456
|
-
export { ExtensionServiceOverride,
|
|
287
|
+
export { ExtensionServiceOverride, getServiceOverride as default, setLocalExtensionHost };
|
package/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ExtensionServiceOverride, IExtensionWithExtHostKind,
|
|
1
|
+
export { ExtensionServiceOverride, IExtensionWithExtHostKind, WorkerConfig, default, setLocalExtensionHost } from './extensions.js';
|
|
2
2
|
export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ExtensionServiceOverride,
|
|
1
|
+
export { ExtensionServiceOverride, default, setLocalExtensionHost } from './extensions.js';
|
|
2
2
|
export { ExtensionHostKind } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionHostKind';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IMessagePassingProtocol } from 'vscode/vscode/vs/base/parts/ipc/common/ipc';
|
|
2
|
+
import { LocalProcessRunningLocation } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionRunningLocation';
|
|
3
|
+
import { IExtensionHost, ExtensionHostStartup, ExtensionHostExtensions } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
4
|
+
import { IWebWorkerExtensionHostDataProvider } from 'vscode/vscode/vs/workbench/services/extensions/browser/webWorkerExtensionHost';
|
|
5
|
+
import { ITelemetryService } from 'vscode/vscode/vs/platform/telemetry/common/telemetry';
|
|
6
|
+
import { IWorkspaceContextService } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
7
|
+
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label';
|
|
8
|
+
import { ILogService, ILoggerService } from 'vscode/vscode/vs/platform/log/common/log';
|
|
9
|
+
import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
|
|
10
|
+
import { IProductService } from 'vscode/vscode/vs/platform/product/common/productService';
|
|
11
|
+
import { IUserDataProfilesService } from 'vscode/vscode/vs/platform/userDataProfile/common/userDataProfile';
|
|
12
|
+
import { Event } from 'vscode/vscode/vs/base/common/event';
|
|
13
|
+
|
|
14
|
+
declare class LocalExtensionHost implements IExtensionHost {
|
|
15
|
+
readonly runningLocation: LocalProcessRunningLocation;
|
|
16
|
+
readonly startup: ExtensionHostStartup;
|
|
17
|
+
private readonly _initDataProvider;
|
|
18
|
+
private readonly _telemetryService;
|
|
19
|
+
private readonly _contextService;
|
|
20
|
+
private readonly _labelService;
|
|
21
|
+
private readonly _logService;
|
|
22
|
+
private readonly _loggerService;
|
|
23
|
+
private readonly _environmentService;
|
|
24
|
+
private readonly _productService;
|
|
25
|
+
private readonly _userDataProfilesService;
|
|
26
|
+
readonly remoteAuthority: null;
|
|
27
|
+
extensions: ExtensionHostExtensions | null;
|
|
28
|
+
private readonly _extensionHostLogsLocation;
|
|
29
|
+
private _protocolPromise;
|
|
30
|
+
constructor(runningLocation: LocalProcessRunningLocation, startup: ExtensionHostStartup, _initDataProvider: IWebWorkerExtensionHostDataProvider, _telemetryService: ITelemetryService, _contextService: IWorkspaceContextService, _labelService: ILabelService, _logService: ILogService, _loggerService: ILoggerService, _environmentService: IBrowserWorkbenchEnvironmentService, _productService: IProductService, _userDataProfilesService: IUserDataProfilesService);
|
|
31
|
+
onExit: Event<any>;
|
|
32
|
+
start(): Promise<IMessagePassingProtocol>;
|
|
33
|
+
_start(): Promise<IMessagePassingProtocol>;
|
|
34
|
+
private _createExtHostInitData;
|
|
35
|
+
getInspectPort(): number | undefined;
|
|
36
|
+
enableInspectPort(): Promise<boolean>;
|
|
37
|
+
dispose(): void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { LocalExtensionHost };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-extensions-service-override",
|
|
3
|
-
"version": "1.83.
|
|
3
|
+
"version": "1.83.15-next.0",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"module": "index.js",
|
|
19
19
|
"types": "index.d.ts",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"vscode": "npm:@codingame/monaco-vscode-api@1.83.
|
|
21
|
+
"vscode": "npm:@codingame/monaco-vscode-api@1.83.15-next.0",
|
|
22
22
|
"monaco-editor": "0.44.0",
|
|
23
23
|
"vscode-semver": "npm:semver@=5.5.0",
|
|
24
|
-
"@codingame/monaco-vscode-files-service-override": "1.83.
|
|
24
|
+
"@codingame/monaco-vscode-files-service-override": "1.83.15-next.0"
|
|
25
25
|
}
|
|
26
26
|
}
|
package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
|
|
3
|
+
import { FileAccess, Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
4
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
5
|
+
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
6
|
+
import { IEnvironmentService } from 'monaco-editor/esm/vs/platform/environment/common/environment.js';
|
|
7
|
+
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
8
|
+
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
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 };
|
package/tools.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ExtHostConfigProvider } from './extHostConfiguration.js';
|
|
2
|
-
import { ExtensionDescriptionRegistry } from 'vscode/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry';
|
|
3
|
-
import * as vscode from 'vscode';
|
|
4
|
-
import { IExtensionDescription } from 'vscode/vscode/vs/platform/extensions/common/extensions';
|
|
5
|
-
|
|
6
|
-
interface IExtensionRegistries {
|
|
7
|
-
mine: ExtensionDescriptionRegistry;
|
|
8
|
-
all: ExtensionDescriptionRegistry;
|
|
9
|
-
}
|
|
10
|
-
interface IExtensionApiFactory {
|
|
11
|
-
(extension: IExtensionDescription, extensionInfo: IExtensionRegistries, configProvider: ExtHostConfigProvider): typeof vscode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export type { IExtensionApiFactory, IExtensionRegistries };
|