Skip to content

Commit bb14cfc

Browse files
committed
go back to internal module
1 parent 6b27a32 commit bb14cfc

File tree

9 files changed

+218
-272
lines changed

9 files changed

+218
-272
lines changed

.vscode/settings.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
"**/yarn.lock": true,
6363
"**/package-lock.json": true,
6464
"**/Cargo.lock": true,
65-
"src/vs/workbench/workbench.web.main.internal.ts": true,
6665
"out/**": true,
6766
"out-build/**": true,
6867
"out-vscode/**": true,
@@ -108,7 +107,6 @@
108107
"@xterm/headless",
109108
"node-pty",
110109
"vscode-notebook-renderer",
111-
"src/vs/workbench/workbench.web.main.ts",
112110
"src/vs/workbench/workbench.web.main.internal.ts"
113111
],
114112

build/azure-pipelines/web/product-build-web.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -156,17 +156,8 @@ jobs:
156156
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
157157
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
158158
AZURE_ID_TOKEN="$(AZURE_ID_TOKEN)" \
159-
node build/azure-pipelines/upload-sourcemaps.ts out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.js.map
160-
displayName: Upload sourcemaps (Web Main)
161-
162-
# - script: |
163-
# set -e
164-
# AZURE_STORAGE_ACCOUNT="vscodeweb" \
165-
# AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
166-
# AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
167-
# AZURE_ID_TOKEN="$(AZURE_ID_TOKEN)" \
168-
# node build/azure-pipelines/upload-sourcemaps.ts out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.internal.js.map
169-
# displayName: Upload sourcemaps (Web Internal)
159+
node build/azure-pipelines/upload-sourcemaps.ts out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.internal.js.map
160+
displayName: Upload sourcemaps (Web)
170161
171162
- script: |
172163
set -e

build/buildfile.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export const workbenchDesktop = [
2828
createModuleDescription('vs/workbench/workbench.desktop.main')
2929
];
3030

31-
export const workbenchWeb = createModuleDescription('vs/workbench/workbench.web.main');
31+
export const workbenchWeb = createModuleDescription('vs/workbench/workbench.web.main.internal');
3232

3333
export const keyboardMaps = [
3434
createModuleDescription('vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux'),

build/gulpfile.vscode.web.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import vfs from 'vinyl-fs';
1919
import packageJson from '../package.json' with { type: 'json' };
2020
import { compileBuildWithManglingTask } from './gulpfile.compile.ts';
2121
import * as extensions from './lib/extensions.ts';
22-
import VinylFile from 'vinyl';
2322
import jsonEditor from 'gulp-json-editor';
2423
import buildfile from './buildfile.ts';
2524

@@ -143,20 +142,7 @@ function packageTask(sourceFolderName: string, destinationFolderName: string) {
143142
const extensions = gulp.src('.build/web/extensions/**', { base: '.build/web', dot: true });
144143

145144
const sources = es.merge(src, extensions)
146-
.pipe(filter(['**', '!**/*.{js,css}.map'], { dot: true }))
147-
.pipe(es.through(function (file) {
148-
// Our embedders expect a copy of `workbench.web.main.js` named `workbench.web.main.internal.js`
149-
// so we provide it here and remove the original file from the stream because it is not needed.
150-
if (file.relative === 'out/vs/workbench/workbench.web.main.js') {
151-
this.emit('data', new VinylFile({
152-
contents: file.contents,
153-
path: file.path.replace('workbench.web.main.js', 'workbench.web.main.internal.js'),
154-
base: file.base
155-
}));
156-
} else {
157-
this.emit('data', file);
158-
}
159-
}));
145+
.pipe(filter(['**', '!**/*.{js,css}.map'], { dot: true }));
160146

161147
const name = product.nameShort;
162148
const packageJsonStream = gulp.src(['remote/web/package.json'], { base: 'remote/web' })

eslint.config.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1757,10 +1757,6 @@ export default tseslint.config(
17571757
'vs/editor/~',
17581758
'vs/editor/contrib/*/~',
17591759
'vs/code/~',
1760-
{
1761-
'when': 'hasBrowser',
1762-
'pattern': 'vs/workbench/workbench.web.main.js'
1763-
},
17641760
{
17651761
'when': 'hasBrowser',
17661762
'pattern': 'vs/workbench/workbench.web.main.internal.js'
@@ -1828,7 +1824,7 @@ export default tseslint.config(
18281824
]
18291825
},
18301826
{
1831-
'target': 'src/vs/workbench/workbench.web.main.ts',
1827+
'target': 'src/vs/workbench/workbench.web.main.internal.ts',
18321828
'layer': 'browser',
18331829
'restrictions': [
18341830
'vs/base/~',
@@ -1844,13 +1840,6 @@ export default tseslint.config(
18441840
'vs/workbench/workbench.common.main.js'
18451841
]
18461842
},
1847-
{
1848-
'target': 'src/vs/workbench/workbench.web.main.internal.ts',
1849-
'layer': 'browser',
1850-
'restrictions': [
1851-
'vs/workbench/workbench.web.main.js'
1852-
]
1853-
},
18541843
{
18551844
'target': 'src/vs/workbench/workbench.desktop.main.ts',
18561845
'layer': 'electron-browser',

src/vs/code/browser/workbench/workbench.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { isFolderToOpen, isWorkspaceToOpen } from '../../../platform/window/comm
2121
import type { IWorkbenchConstructionOptions, IWorkspace, IWorkspaceProvider } from '../../../workbench/browser/web.api.js';
2222
import { AuthenticationSessionInfo } from '../../../workbench/services/authentication/browser/authenticationService.js';
2323
import type { IURLCallbackProvider } from '../../../workbench/services/url/browser/urlService.js';
24-
import { create } from '../../../workbench/workbench.web.main.js';
24+
import { create } from '../../../workbench/workbench.web.main.internal.js';
2525

2626
interface ISecretStorageCrypto {
2727
seal(data: string): Promise<string>;

src/vs/workbench/browser/web.main.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ export class BrowserMain extends Disposable {
262262
//
263263
// NOTE: Please do NOT register services here. Use `registerSingleton()`
264264
// from `workbench.common.main.ts` if the service is shared between
265-
// desktop and web or `workbench.web.main.ts` if the service
265+
// desktop and web or `workbench.web.main.internal.ts` if the service
266266
// is web only.
267267
//
268268
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -321,7 +321,7 @@ export class BrowserMain extends Disposable {
321321
//
322322
// NOTE: Please do NOT register services here. Use `registerSingleton()`
323323
// from `workbench.common.main.ts` if the service is shared between
324-
// desktop and web or `workbench.web.main.ts` if the service
324+
// desktop and web or `workbench.web.main.internal.ts` if the service
325325
// is web only.
326326
//
327327
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -382,7 +382,7 @@ export class BrowserMain extends Disposable {
382382
//
383383
// NOTE: Please do NOT register services here. Use `registerSingleton()`
384384
// from `workbench.common.main.ts` if the service is shared between
385-
// desktop and web or `workbench.web.main.ts` if the service
385+
// desktop and web or `workbench.web.main.internal.ts` if the service
386386
// is web only.
387387
//
388388
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -412,7 +412,7 @@ export class BrowserMain extends Disposable {
412412
//
413413
// NOTE: Please do NOT register services here. Use `registerSingleton()`
414414
// from `workbench.common.main.ts` if the service is shared between
415-
// desktop and web or `workbench.web.main.ts` if the service
415+
// desktop and web or `workbench.web.main.internal.ts` if the service
416416
// is web only.
417417
//
418418
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

src/vs/workbench/workbench.web.main.internal.ts

Lines changed: 208 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,219 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6+
7+
// #######################################################################
8+
// ### ###
9+
// ### !!! PLEASE ADD COMMON IMPORTS INTO WORKBENCH.COMMON.MAIN.TS !!! ###
10+
// ### ###
11+
// #######################################################################
12+
13+
14+
//#region --- workbench common
15+
16+
import './workbench.common.main.js';
17+
18+
//#endregion
19+
20+
21+
//#region --- workbench parts
22+
23+
import './browser/parts/dialogs/dialog.web.contribution.js';
24+
25+
//#endregion
26+
27+
28+
//#region --- workbench (web main)
29+
30+
import './browser/web.main.js';
31+
32+
//#endregion
33+
34+
35+
//#region --- workbench services
36+
37+
import './services/integrity/browser/integrityService.js';
38+
import './services/search/browser/searchService.js';
39+
import './services/textfile/browser/browserTextFileService.js';
40+
import './services/keybinding/browser/keyboardLayoutService.js';
41+
import './services/extensions/browser/extensionService.js';
42+
import './services/extensionManagement/browser/extensionsProfileScannerService.js';
43+
import './services/extensions/browser/extensionsScannerService.js';
44+
import './services/extensionManagement/browser/webExtensionsScannerService.js';
45+
import './services/extensionManagement/common/extensionManagementServerService.js';
46+
import './services/mcp/browser/mcpWorkbenchManagementService.js';
47+
import './services/extensionManagement/browser/extensionGalleryManifestService.js';
48+
import './services/telemetry/browser/telemetryService.js';
49+
import './services/url/browser/urlService.js';
50+
import './services/update/browser/updateService.js';
51+
import './services/workspaces/browser/workspacesService.js';
52+
import './services/workspaces/browser/workspaceEditingService.js';
53+
import './services/dialogs/browser/fileDialogService.js';
54+
import './services/host/browser/browserHostService.js';
55+
import './services/lifecycle/browser/lifecycleService.js';
56+
import './services/clipboard/browser/clipboardService.js';
57+
import './services/localization/browser/localeService.js';
58+
import './services/path/browser/pathService.js';
59+
import './services/themes/browser/browserHostColorSchemeService.js';
60+
import './services/encryption/browser/encryptionService.js';
61+
import './services/imageResize/browser/imageResizeService.js';
62+
import './services/secrets/browser/secretStorageService.js';
63+
import './services/workingCopy/browser/workingCopyBackupService.js';
64+
import './services/tunnel/browser/tunnelService.js';
65+
import './services/files/browser/elevatedFileService.js';
66+
import './services/workingCopy/browser/workingCopyHistoryService.js';
67+
import './services/userDataSync/browser/webUserDataSyncEnablementService.js';
68+
import './services/userDataProfile/browser/userDataProfileStorageService.js';
69+
import './services/configurationResolver/browser/configurationResolverService.js';
70+
import '../platform/extensionResourceLoader/browser/extensionResourceLoaderService.js';
71+
import './services/auxiliaryWindow/browser/auxiliaryWindowService.js';
72+
import './services/browserElements/browser/webBrowserElementsService.js';
73+
74+
import { InstantiationType, registerSingleton } from '../platform/instantiation/common/extensions.js';
75+
import { IAccessibilityService } from '../platform/accessibility/common/accessibility.js';
76+
import { IContextMenuService } from '../platform/contextview/browser/contextView.js';
77+
import { ContextMenuService } from '../platform/contextview/browser/contextMenuService.js';
78+
import { IExtensionTipsService } from '../platform/extensionManagement/common/extensionManagement.js';
79+
import { ExtensionTipsService } from '../platform/extensionManagement/common/extensionTipsService.js';
80+
import { IWorkbenchExtensionManagementService } from './services/extensionManagement/common/extensionManagement.js';
81+
import { ExtensionManagementService } from './services/extensionManagement/common/extensionManagementService.js';
82+
import { LogLevel } from '../platform/log/common/log.js';
83+
import { UserDataSyncMachinesService, IUserDataSyncMachinesService } from '../platform/userDataSync/common/userDataSyncMachines.js';
84+
import { IUserDataSyncStoreService, IUserDataSyncService, IUserDataAutoSyncService, IUserDataSyncLocalStoreService, IUserDataSyncResourceProviderService } from '../platform/userDataSync/common/userDataSync.js';
85+
import { UserDataSyncStoreService } from '../platform/userDataSync/common/userDataSyncStoreService.js';
86+
import { UserDataSyncLocalStoreService } from '../platform/userDataSync/common/userDataSyncLocalStoreService.js';
87+
import { UserDataSyncService } from '../platform/userDataSync/common/userDataSyncService.js';
88+
import { IUserDataSyncAccountService, UserDataSyncAccountService } from '../platform/userDataSync/common/userDataSyncAccount.js';
89+
import { UserDataAutoSyncService } from '../platform/userDataSync/common/userDataAutoSyncService.js';
90+
import { AccessibilityService } from '../platform/accessibility/browser/accessibilityService.js';
91+
import { ICustomEndpointTelemetryService } from '../platform/telemetry/common/telemetry.js';
92+
import { NullEndpointTelemetryService } from '../platform/telemetry/common/telemetryUtils.js';
93+
import { ITitleService } from './services/title/browser/titleService.js';
94+
import { BrowserTitleService } from './browser/parts/titlebar/titlebarPart.js';
95+
import { ITimerService, TimerService } from './services/timer/browser/timerService.js';
96+
import { IDiagnosticsService, NullDiagnosticsService } from '../platform/diagnostics/common/diagnostics.js';
97+
import { ILanguagePackService } from '../platform/languagePacks/common/languagePacks.js';
98+
import { WebLanguagePacksService } from '../platform/languagePacks/browser/languagePacks.js';
99+
import { IWebContentExtractorService, NullWebContentExtractorService, ISharedWebContentExtractorService, NullSharedWebContentExtractorService } from '../platform/webContentExtractor/common/webContentExtractor.js';
100+
import { IMcpGalleryManifestService } from '../platform/mcp/common/mcpGalleryManifest.js';
101+
import { WorkbenchMcpGalleryManifestService } from './services/mcp/browser/mcpGalleryManifestService.js';
102+
103+
registerSingleton(IWorkbenchExtensionManagementService, ExtensionManagementService, InstantiationType.Delayed);
104+
registerSingleton(IAccessibilityService, AccessibilityService, InstantiationType.Delayed);
105+
registerSingleton(IContextMenuService, ContextMenuService, InstantiationType.Delayed);
106+
registerSingleton(IUserDataSyncStoreService, UserDataSyncStoreService, InstantiationType.Delayed);
107+
registerSingleton(IUserDataSyncMachinesService, UserDataSyncMachinesService, InstantiationType.Delayed);
108+
registerSingleton(IUserDataSyncLocalStoreService, UserDataSyncLocalStoreService, InstantiationType.Delayed);
109+
registerSingleton(IUserDataSyncAccountService, UserDataSyncAccountService, InstantiationType.Delayed);
110+
registerSingleton(IUserDataSyncService, UserDataSyncService, InstantiationType.Delayed);
111+
registerSingleton(IUserDataSyncResourceProviderService, UserDataSyncResourceProviderService, InstantiationType.Delayed);
112+
registerSingleton(IUserDataAutoSyncService, UserDataAutoSyncService, InstantiationType.Eager /* Eager to start auto sync */);
113+
registerSingleton(ITitleService, BrowserTitleService, InstantiationType.Eager);
114+
registerSingleton(IExtensionTipsService, ExtensionTipsService, InstantiationType.Delayed);
115+
registerSingleton(ITimerService, TimerService, InstantiationType.Delayed);
116+
registerSingleton(ICustomEndpointTelemetryService, NullEndpointTelemetryService, InstantiationType.Delayed);
117+
registerSingleton(IDiagnosticsService, NullDiagnosticsService, InstantiationType.Delayed);
118+
registerSingleton(ILanguagePackService, WebLanguagePacksService, InstantiationType.Delayed);
119+
registerSingleton(IWebContentExtractorService, NullWebContentExtractorService, InstantiationType.Delayed);
120+
registerSingleton(ISharedWebContentExtractorService, NullSharedWebContentExtractorService, InstantiationType.Delayed);
121+
registerSingleton(IMcpGalleryManifestService, WorkbenchMcpGalleryManifestService, InstantiationType.Delayed);
122+
123+
//#endregion
124+
125+
126+
//#region --- workbench contributions
127+
128+
// Logs
129+
import './contrib/logs/browser/logs.contribution.js';
130+
131+
// Localization
132+
import './contrib/localization/browser/localization.contribution.js';
133+
134+
// Performance
135+
import './contrib/performance/browser/performance.web.contribution.js';
136+
137+
// Preferences
138+
import './contrib/preferences/browser/keyboardLayoutPicker.js';
139+
140+
// Debug
141+
import './contrib/debug/browser/extensionHostDebugService.js';
142+
143+
// Welcome Banner
144+
import './contrib/welcomeBanner/browser/welcomeBanner.contribution.js';
145+
146+
// Webview
147+
import './contrib/webview/browser/webview.web.contribution.js';
148+
149+
// Extensions Management
150+
import './contrib/extensions/browser/extensions.web.contribution.js';
151+
152+
// Terminal
153+
import './contrib/terminal/browser/terminal.web.contribution.js';
154+
import './contrib/externalTerminal/browser/externalTerminal.contribution.js';
155+
import './contrib/terminal/browser/terminalInstanceService.js';
156+
157+
// Tasks
158+
import './contrib/tasks/browser/taskService.js';
159+
160+
// Tags
161+
import './contrib/tags/browser/workspaceTagsService.js';
162+
163+
// Issues
164+
import './contrib/issue/browser/issue.contribution.js';
165+
166+
// Splash
167+
import './contrib/splash/browser/splash.contribution.js';
168+
169+
// Remote Start Entry for the Web
170+
import './contrib/remote/browser/remoteStartEntry.contribution.js';
171+
172+
// Process Explorer
173+
import './contrib/processExplorer/browser/processExplorer.web.contribution.js';
174+
175+
//#endregion
176+
177+
178+
//#region --- export workbench factory
179+
6180
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7181
//
8182
// Do NOT change these exports in a way that something is removed unless
9183
// intentional. These exports are used by web embedders and thus require
10184
// an adoption when something changes.
11185
//
12-
// Specifically we provide this module for legacy reasons because it used
13-
// to be the main entry point for web as long as we supported both ESM and
14-
// AMD loading.
15-
//
16186
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17187

18-
export * from './workbench.web.main.js';
188+
import { create, commands, env, window, workspace, logger } from './browser/web.factory.js';
189+
import { Menu } from './browser/web.api.js';
190+
import { URI } from '../base/common/uri.js';
191+
import { Event, Emitter } from '../base/common/event.js';
192+
import { Disposable } from '../base/common/lifecycle.js';
193+
import { GroupOrientation } from './services/editor/common/editorGroupsService.js';
194+
import { UserDataSyncResourceProviderService } from '../platform/userDataSync/common/userDataSyncResourceProvider.js';
195+
import { RemoteAuthorityResolverError, RemoteAuthorityResolverErrorCode } from '../platform/remote/common/remoteAuthorityResolver.js';
196+
197+
export {
198+
199+
// Factory
200+
create,
201+
202+
// Basic Types
203+
URI,
204+
Event,
205+
Emitter,
206+
Disposable,
207+
GroupOrientation,
208+
LogLevel,
209+
RemoteAuthorityResolverError,
210+
RemoteAuthorityResolverErrorCode,
211+
212+
// Facade API
213+
env,
214+
window,
215+
workspace,
216+
commands,
217+
logger,
218+
Menu
219+
};
220+
221+
//#endregion

0 commit comments

Comments
 (0)