Strict null check VS Code

Fixes #60565
Fixes #70417
This commit is contained in:
Matt Bierner 2019-03-19 10:51:31 -07:00
parent c51f04c97a
commit 7d0e64f5ec
15 changed files with 19 additions and 444 deletions

19
.vscode/tasks.json vendored
View file

@ -28,23 +28,6 @@
}
}
},
{
"type": "npm",
"script": "strict-null-check-watch",
"label": "TS - Strict Null Checks",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"problemMatcher": {
"base": "$tsc-watch",
"owner": "typescript-strict-null",
"applyTo": "allDocuments"
},
"runOptions": {
"runOn": "folderOpen"
}
},
{
"type": "gulp",
"task": "tslint",
@ -86,4 +69,4 @@
"problemMatcher": []
}
]
}
}

View file

@ -30,9 +30,6 @@ steps:
- script: |
yarn monaco-compile-check
displayName: Run Monaco Editor Checks
- script: |
yarn strict-null-check
displayName: Run Strict Null Checks
- script: |
yarn compile
displayName: Compile Sources

View file

@ -22,7 +22,6 @@ steps:
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" yarn gulp -- mixin
yarn gulp -- hygiene
yarn monaco-compile-check
yarn strict-null-check
node build/azure-pipelines/common/installDistro.js
node build/lib/builtInExtensions.js
displayName: Prepare build

View file

@ -38,9 +38,6 @@ steps:
- script: |
yarn monaco-compile-check
displayName: Run Monaco Editor Checks
- script: |
yarn strict-null-check
displayName: Run Strict Null Checks
- script: |
yarn compile
displayName: Compile Sources

View file

@ -26,7 +26,6 @@ steps:
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" npm run gulp -- mixin
npm run gulp -- hygiene
npm run monaco-compile-check
npm run strict-null-check
node build/azure-pipelines/common/installDistro.js
node build/lib/builtInExtensions.js

View file

@ -34,9 +34,6 @@ steps:
- powershell: |
yarn monaco-compile-check
displayName: Run Monaco Editor Checks
- script: |
yarn strict-null-check
displayName: Run Strict Null Checks
- powershell: |
yarn compile
displayName: Compile Sources

View file

@ -23,7 +23,6 @@ steps:
exec { npm run gulp -- mixin }
exec { npm run gulp -- hygiene }
exec { npm run monaco-compile-check }
exec { npm run strict-null-check }
exec { node build/azure-pipelines/common/installDistro.js }
exec { node build/lib/builtInExtensions.js }

View file

@ -21,10 +21,7 @@
"update-grammars": "node build/npm/update-all-grammars.js",
"update-localization-extension": "node build/npm/update-localization-extension.js",
"smoketest": "cd test/smoke && node test/index.js",
"monaco-compile-check": "tsc -p src/tsconfig.monaco.json --noEmit",
"download-builtin-extensions": "node build/lib/builtInExtensions.js",
"strict-null-check": "tsc -p src/tsconfig.strictNullChecks.json",
"strict-null-check-watch": "tsc -p src/tsconfig.strictNullChecks.json --watch"
"monaco-compile-check": "tsc -p src/tsconfig.monaco.json --noEmit"
},
"dependencies": {
"applicationinsights": "1.0.8",

View file

@ -10,6 +10,7 @@
"noImplicitThis": true,
"alwaysStrict": true,
"strictBindCallApply": true,
"strictNullChecks": true,
"baseUrl": ".",
"paths": {
"vs/*": [

View file

@ -19,4 +19,4 @@
"exclude": [
"./typings/require-monaco.d.ts"
]
}
}

View file

@ -1,400 +0,0 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"noEmit": true,
"strictNullChecks": true
},
"include": [
"./typings",
"./vs/base/**/*.ts",
"./vs/code/**/*.ts",
"./vs/editor/**/*.ts",
"./vs/platform/**/*.ts",
"./vs/workbench/common/**/*",
"./vs/workbench/browser/**/*",
"./vs/workbench/electron-browser/**/*",
"./vs/workbench/contrib/callHierarchy/**/*",
"./vs/workbench/contrib/emmet/**/*",
"./vs/workbench/contrib/extensions/**/*",
"./vs/workbench/contrib/externalTerminal/**/*",
"./vs/workbench/contrib/localizations/**/*.ts",
"./vs/workbench/contrib/logs/**/*.ts",
"./vs/workbench/contrib/logs/**/*.ts",
"./vs/workbench/contrib/markers/**/*.ts",
"./vs/workbench/contrib/output/**/*.ts",
"./vs/workbench/contrib/preferences/**/*.ts",
"./vs/workbench/contrib/scm/**/*.ts",
"./vs/workbench/contrib/snippets/**/*.ts",
"./vs/workbench/contrib/outline/**/*.ts",
"./vs/workbench/contrib/performance/**/*.ts",
"./vs/workbench/contrib/welcome/**/*.ts",
"./vs/workbench/contrib/issue/**/*",
"./vs/workbench/contrib/splash/**/*.ts",
"./vs/workbench/contrib/tasks/**/*.ts",
"./vs/workbench/services/commands/**/*",
"./vs/workbench/services/configuration/common/**/*",
"./vs/workbench/services/configurationResolver/**/*.ts",
"./vs/workbench/services/files/node/watcher/**/*",
"./vs/workbench/services/themes/**/*.ts",
"./vs/workbench/services/bulkEdit/**/*.ts",
"./vs/workbench/services/search/**/*.ts",
"./vs/workbench/services/output/**/*.ts",
"./vs/workbench/services/preferences/**/*.ts",
"./vs/workbench/services/timer/**/*.ts",
"./vs/workbench/contrib/debug/**/*.ts",
"./vs/workbench/contrib/files/**/*.ts",
"./vs/workbench/contrib/webview/**/*.ts",
"./vs/workbench/contrib/search/**/*.ts",
"./vs/workbench/contrib/terminal/**/*",
"./vs/workbench/services/files2/**/*.ts"
],
"files": [
"./vs/monaco.d.ts",
"./vs/nls.d.ts",
"./vs/nls.mock.ts",
"./vs/vscode.d.ts",
"./vs/vscode.proposed.d.ts",
"./vs/workbench/api/browser/mainThreadClipboard.ts",
"./vs/workbench/api/browser/mainThreadCommands.ts",
"./vs/workbench/api/browser/mainThreadConfiguration.ts",
"./vs/workbench/api/browser/mainThreadDebugService.ts",
"./vs/workbench/api/browser/mainThreadDecorations.ts",
"./vs/workbench/api/browser/mainThreadDiagnostics.ts",
"./vs/workbench/api/browser/mainThreadDialogs.ts",
"./vs/workbench/api/browser/mainThreadDocumentContentProviders.ts",
"./vs/workbench/api/browser/mainThreadErrors.ts",
"./vs/workbench/api/browser/mainThreadFileSystem.ts",
"./vs/workbench/api/browser/mainThreadFileSystemEventService.ts",
"./vs/workbench/api/browser/mainThreadLanguages.ts",
"./vs/workbench/api/browser/mainThreadLogService.ts",
"./vs/workbench/api/browser/mainThreadMessageService.ts",
"./vs/workbench/api/browser/mainThreadOutputService.ts",
"./vs/workbench/api/browser/mainThreadProgress.ts",
"./vs/workbench/api/browser/mainThreadQuickOpen.ts",
"./vs/workbench/api/browser/mainThreadSaveParticipant.ts",
"./vs/workbench/api/browser/mainThreadSCM.ts",
"./vs/workbench/api/browser/mainThreadSearch.ts",
"./vs/workbench/api/browser/mainThreadStatusBar.ts",
"./vs/workbench/api/browser/mainThreadStorage.ts",
"./vs/workbench/api/browser/mainThreadTelemetry.ts",
"./vs/workbench/api/browser/mainThreadTerminalService.ts",
"./vs/workbench/api/browser/mainThreadTreeViews.ts",
"./vs/workbench/api/browser/mainThreadWindow.ts",
"./vs/workbench/api/browser/mainThreadWorkspace.ts",
"./vs/workbench/api/browser/viewsExtensionPoint.ts",
"./vs/workbench/api/common/configurationExtensionPoint.ts",
"./vs/workbench/api/common/extHost.protocol.ts",
"./vs/workbench/api/common/extHostCustomers.ts",
"./vs/workbench/api/common/jsonValidationExtensionPoint.ts",
"./vs/workbench/api/common/menusExtensionPoint.ts",
"./vs/workbench/api/electron-browser/mainThreadConsole.ts",
"./vs/workbench/api/electron-browser/mainThreadDocuments.ts",
"./vs/workbench/api/electron-browser/mainThreadDocuments.ts",
"./vs/workbench/api/electron-browser/mainThreadDocumentsAndEditors.ts",
"./vs/workbench/api/electron-browser/mainThreadEditor.ts",
"./vs/workbench/api/electron-browser/mainThreadEditors.ts",
"./vs/workbench/api/electron-browser/mainThreadExtensionService.ts",
"./vs/workbench/api/electron-browser/mainThreadHeapService.ts",
"./vs/workbench/api/electron-browser/mainThreadLanguageFeatures.ts",
"./vs/workbench/api/electron-browser/mainThreadTask.ts",
"./vs/workbench/api/electron-browser/mainThreadUrls.ts",
"./vs/workbench/api/electron-browser/mainThreadWebview.ts",
"./vs/workbench/api/node/apiCommands.ts",
"./vs/workbench/api/node/extHostApiCommands.ts",
"./vs/workbench/api/node/extHostClipboard.ts",
"./vs/workbench/api/node/extHostCLIServer.ts",
"./vs/workbench/api/node/extHostCommands.ts",
"./vs/workbench/api/node/extHostComments.ts",
"./vs/workbench/api/node/extHostConfiguration.ts",
// "./vs/workbench/api/node/extHostDebugService.ts",
"./vs/workbench/api/node/extHostDecorations.ts",
"./vs/workbench/api/node/extHostDiagnostics.ts",
"./vs/workbench/api/node/extHostDialogs.ts",
"./vs/workbench/api/node/extHostDocumentContentProviders.ts",
"./vs/workbench/api/node/extHostDocumentData.ts",
"./vs/workbench/api/node/extHostDocumentSaveParticipant.ts",
"./vs/workbench/api/node/extHostDocuments.ts",
"./vs/workbench/api/node/extHostDocumentsAndEditors.ts",
"./vs/workbench/api/node/extHostExtensionActivator.ts",
"./vs/workbench/api/node/extHostFileSystem.ts",
"./vs/workbench/api/node/extHostFileSystemEventService.ts",
"./vs/workbench/api/node/extHostHeapService.ts",
"./vs/workbench/api/node/extHostLanguageFeatures.ts",
"./vs/workbench/api/node/extHostLanguages.ts",
"./vs/workbench/api/node/extHostLogService.ts",
"./vs/workbench/api/node/extHostMessageService.ts",
"./vs/workbench/api/node/extHostOutputService.ts",
"./vs/workbench/api/node/extHostProgress.ts",
"./vs/workbench/api/node/extHostQuickOpen.ts",
"./vs/workbench/api/node/extHostSCM.ts",
"./vs/workbench/api/node/extHostSearch.ts",
"./vs/workbench/api/node/extHostStatusBar.ts",
"./vs/workbench/api/node/extHostStorage.ts",
// "./vs/workbench/api/node/extHostTask.ts",
"./vs/workbench/api/node/extHostTerminalService.ts",
"./vs/workbench/api/node/extHostTextEditor.ts",
"./vs/workbench/api/node/extHostTextEditors.ts",
"./vs/workbench/api/node/extHostTreeViews.ts",
"./vs/workbench/test/electron-browser/api/extHostTreeViews.test.ts",
"./vs/workbench/api/node/extHostTypeConverters.ts",
"./vs/workbench/api/node/extHostTypes.ts",
"./vs/workbench/api/node/extHostUrls.ts",
"./vs/workbench/api/node/extHostWebview.ts",
"./vs/workbench/api/node/extHostWindow.ts",
"./vs/workbench/api/node/extHostWorkspace.ts",
"./vs/workbench/api/common/shared/editor.ts",
"./vs/workbench/api/common/shared/tasks.ts",
"./vs/workbench/contrib/backup/common/backup.contribution.ts",
"./vs/workbench/contrib/backup/common/backupModelTracker.ts",
"./vs/workbench/contrib/backup/common/backupRestorer.ts",
"./vs/workbench/contrib/cli/node/cli.contribution.ts",
"./vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.ts",
"./vs/workbench/contrib/codeEditor/browser/codeEditor.contribution.ts",
"./vs/workbench/contrib/codeEditor/browser/inspectKeybindings.ts",
"./vs/workbench/contrib/codeEditor/browser/inspectTMScopes/inspectTMScopes.ts",
"./vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.ts",
"./vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.ts",
"./vs/workbench/contrib/codeEditor/browser/menuPreventer.ts",
"./vs/workbench/contrib/codeEditor/browser/selectionClipboard.ts",
"./vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.ts",
"./vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.ts",
"./vs/workbench/contrib/codeEditor/browser/toggleMinimap.ts",
"./vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.ts",
"./vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.ts",
"./vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.ts",
"./vs/workbench/contrib/codeEditor/browser/toggleWordWrap.ts",
"./vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/codeEditor.contribution.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/sleepResumeRepaintMinimap.ts",
"./vs/workbench/contrib/codeinset/common/codeInset.ts",
"./vs/workbench/contrib/codeinset/electron-browser/codeInset.contribution.ts",
"./vs/workbench/contrib/codeinset/electron-browser/codeInsetWidget.ts",
"./vs/workbench/contrib/comments/common/commentModel.ts",
"./vs/workbench/contrib/comments/common/commentThreadWidget.ts",
"./vs/workbench/contrib/comments/electron-browser/commentGlyphWidget.ts",
"./vs/workbench/contrib/comments/electron-browser/commentsTreeViewer.ts",
"./vs/workbench/contrib/comments/electron-browser/reactionsAction.ts",
"./vs/workbench/contrib/comments/electron-browser/simpleCommentEditor.ts",
"./vs/workbench/contrib/experiments/electron-browser/experimentalPrompt.ts",
"./vs/workbench/contrib/experiments/electron-browser/experiments.contribution.ts",
"./vs/workbench/contrib/experiments/node/experimentService.ts",
"./vs/workbench/contrib/experiments/test/electron-browser/experimentService.test.ts",
"./vs/workbench/contrib/experiments/test/electron-browser/experimentalPrompts.test.ts",
"./vs/workbench/contrib/feedback/electron-browser/feedback.contribution.ts",
"./vs/workbench/contrib/feedback/electron-browser/feedback.ts",
"./vs/workbench/contrib/feedback/electron-browser/feedbackStatusbarItem.ts",
"./vs/workbench/contrib/format/browser/format.contribution.ts",
"./vs/workbench/contrib/quickopen/browser/commandsHandler.ts",
"./vs/workbench/contrib/quickopen/browser/gotoLineHandler.ts",
"./vs/workbench/contrib/quickopen/browser/gotoSymbolHandler.ts",
"./vs/workbench/contrib/quickopen/browser/helpHandler.ts",
"./vs/workbench/contrib/quickopen/browser/quickopen.contribution.ts",
"./vs/workbench/contrib/quickopen/browser/viewPickerHandler.ts",
"./vs/workbench/contrib/relauncher/electron-browser/relauncher.contribution.ts",
"./vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts",
"./vs/workbench/contrib/scm/browser/scmActivity.ts",
"./vs/workbench/contrib/scm/browser/scmMenus.ts",
"./vs/workbench/contrib/scm/browser/scmUtil.ts",
"./vs/workbench/contrib/scm/common/scm.ts",
"./vs/workbench/contrib/scm/common/scmService.ts",
"./vs/workbench/contrib/search/browser/openAnythingHandler.ts",
"./vs/workbench/contrib/search/browser/openFileHandler.ts",
"./vs/workbench/contrib/search/browser/openSymbolHandler.ts",
"./vs/workbench/contrib/search/browser/patternInputWidget.ts",
"./vs/workbench/contrib/search/browser/replaceContributions.ts",
"./vs/workbench/contrib/search/browser/replaceService.ts",
"./vs/workbench/contrib/search/common/constants.ts",
"./vs/workbench/contrib/search/common/queryBuilder.ts",
"./vs/workbench/contrib/search/common/replace.ts",
"./vs/workbench/contrib/search/common/search.ts",
"./vs/workbench/contrib/search/common/searchHistoryService.ts",
"./vs/workbench/contrib/search/common/searchModel.ts",
"./vs/workbench/contrib/search/test/browser/mockSearchTree.ts",
"./vs/workbench/contrib/search/test/browser/openFileHandler.test.ts",
"./vs/workbench/contrib/search/test/browser/searchViewlet.test.ts",
"./vs/workbench/contrib/search/test/common/queryBuilder.test.ts",
"./vs/workbench/contrib/search/test/common/searchModel.test.ts",
"./vs/workbench/contrib/search/test/common/searchResult.test.ts",
"./vs/workbench/contrib/stats/node/workspaceStats.ts",
"./vs/workbench/contrib/stats/test/workspaceStats.test.ts",
"./vs/workbench/contrib/surveys/electron-browser/languageSurveys.contribution.ts",
"./vs/workbench/contrib/surveys/electron-browser/nps.contribution.ts",
"./vs/workbench/contrib/telemetry/browser/telemetry.contribution.ts",
"./vs/workbench/contrib/themes/browser/themes.contribution.ts",
"./vs/workbench/contrib/themes/test/electron-browser/themes.test.contribution.ts",
"./vs/workbench/contrib/update/electron-browser/releaseNotesEditor.ts",
"./vs/workbench/contrib/update/electron-browser/update.contribution.ts",
"./vs/workbench/contrib/update/electron-browser/update.ts",
"./vs/workbench/contrib/url/common/url.contribution.ts",
"./vs/workbench/contrib/watermark/browser/watermark.ts",
"./vs/workbench/services/activity/browser/activityService.ts",
"./vs/workbench/services/activity/common/activity.ts",
"./vs/workbench/services/activityBar/browser/activityBarService.ts",
"./vs/workbench/services/backup/common/backup.ts",
"./vs/workbench/services/backup/node/backupFileService.ts",
"./vs/workbench/services/backup/test/electron-browser/backupFileService.test.ts",
"./vs/workbench/services/broadcast/electron-browser/broadcastService.ts",
"./vs/workbench/services/configuration/common/configurationEditingService.ts",
"./vs/workbench/services/configuration/common/jsonEditingService.ts",
"./vs/workbench/services/configuration/node/configuration.ts",
"./vs/workbench/services/configuration/node/configurationService.ts",
"./vs/workbench/services/configuration/test/common/configurationModels.test.ts",
"./vs/workbench/services/configuration/test/electron-browser/configurationEditingService.test.ts",
"./vs/workbench/services/configuration/test/electron-browser/configurationService.test.ts",
"./vs/workbench/services/configurationResolver/common/configurationResolver.ts",
"./vs/workbench/services/configurationResolver/common/configurationResolverSchema.ts",
"./vs/workbench/services/configurationResolver/common/configurationResolverUtils.ts",
"./vs/workbench/services/contextmenu/electron-browser/contextmenuService.ts",
"./vs/workbench/services/decorations/browser/decorations.ts",
"./vs/workbench/services/decorations/browser/decorationsService.ts",
"./vs/workbench/services/decorations/test/browser/decorationsService.test.ts",
"./vs/workbench/services/dialogs/browser/remoteFileDialog.ts",
"./vs/workbench/services/dialogs/browser/fileDialogService.ts",
"./vs/workbench/services/dialogs/electron-browser/dialogService.ts",
"./vs/workbench/services/editor/browser/codeEditorService.ts",
"./vs/workbench/services/editor/browser/editorService.ts",
"./vs/workbench/services/editor/common/editorGroupsService.ts",
"./vs/workbench/services/editor/common/editorService.ts",
"./vs/workbench/services/editor/test/browser/editorGroupsService.test.ts",
"./vs/workbench/services/editor/test/browser/editorService.test.ts",
"./vs/workbench/services/extensionManagement/node/multiExtensionManagement.ts",
"./vs/workbench/services/extensions/common/extensions.ts",
"./vs/workbench/services/extensions/common/extensionsRegistry.ts",
"./vs/workbench/services/extensions/electron-browser/cachedExtensionScanner.ts",
"./vs/workbench/services/extensions/electron-browser/extensionHost.ts",
"./vs/workbench/services/extensions/electron-browser/extensionHostProcessManager.ts",
"./vs/workbench/services/extensions/electron-browser/extensionHostProfiler.ts",
"./vs/workbench/services/extensions/electron-browser/extensionManagementServerService.ts",
"./vs/workbench/services/extensions/electron-browser/extensionService.ts",
"./vs/workbench/services/extensions/electron-browser/inactiveExtensionUrlHandler.ts",
"./vs/workbench/services/extensions/node/extensionDescriptionRegistry.ts",
"./vs/workbench/services/extensions/node/extensionHostProtocol.ts",
"./vs/workbench/services/extensions/node/extensionPoints.ts",
"./vs/workbench/services/extensions/node/extensionsUtil.ts",
"./vs/workbench/services/extensions/node/lazyPromise.ts",
"./vs/workbench/services/extensions/common/proxyIdentifier.ts",
"./vs/workbench/services/extensions/node/rpcProtocol.ts",
"./vs/workbench/services/extensions/test/node/rpcProtocol.test.ts",
"./vs/workbench/services/files/node/encoding.ts",
"./vs/workbench/services/files/node/fileService.ts",
"./vs/workbench/services/files/node/remoteFileService.ts",
"./vs/workbench/services/files/node/streams.ts",
"./vs/workbench/services/files/test/electron-browser/fileService.test.ts",
"./vs/workbench/services/files/test/electron-browser/resolver.test.ts",
"./vs/workbench/services/files/test/electron-browser/utils.ts",
"./vs/workbench/services/files/test/electron-browser/watcher.test.ts",
"./vs/workbench/services/hash/common/hashService.ts",
"./vs/workbench/services/hash/node/hashService.ts",
"./vs/workbench/services/hash/test/hashService.test.ts",
"./vs/workbench/services/history/browser/history.ts",
"./vs/workbench/services/history/common/history.ts",
"./vs/workbench/services/integrity/common/integrity.ts",
"./vs/workbench/services/integrity/node/integrityService.ts",
"./vs/workbench/services/keybinding/common/keybindingEditing.ts",
"./vs/workbench/services/keybinding/common/keybindingIO.ts",
"./vs/workbench/services/keybinding/common/keyboardMapper.ts",
"./vs/workbench/services/keybinding/common/macLinuxFallbackKeyboardMapper.ts",
"./vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.ts",
"./vs/workbench/services/keybinding/common/windowsKeyboardMapper.ts",
"./vs/workbench/services/keybinding/electron-browser/keybindingService.ts",
"./vs/workbench/services/keybinding/test/electron-browser/keybindingEditing.test.ts",
"./vs/workbench/services/keybinding/test/keybindingIO.test.ts",
"./vs/workbench/services/keybinding/test/keyboardMapperTestUtils.ts",
"./vs/workbench/services/keybinding/test/macLinuxFallbackKeyboardMapper.test.ts",
"./vs/workbench/services/keybinding/test/macLinuxKeyboardMapper.test.ts",
"./vs/workbench/services/keybinding/test/windowsKeyboardMapper.test.ts",
"./vs/workbench/services/label/common/labelService.ts",
"./vs/workbench/services/label/test/label.test.ts",
"./vs/workbench/services/layout/browser/layoutService.ts",
"./vs/workbench/services/mode/common/workbenchModeService.ts",
"./vs/workbench/services/notification/common/notificationService.ts",
"./vs/workbench/services/panel/common/panelService.ts",
"./vs/workbench/services/preferences/common/preferencesModels.ts",
"./vs/workbench/services/preferences/common/keybindingsEditorModel.ts",
"./vs/workbench/services/preferences/test/common/keybindingsEditorModel.test.ts",
"./vs/workbench/services/progress/browser/progressService.ts",
"./vs/workbench/services/progress/browser/progressService2.ts",
"./vs/workbench/services/progress/test/progressService.test.ts",
"./vs/workbench/services/remote/common/remoteAgentService.ts",
"./vs/workbench/services/remote/common/remoteEnvironmentService.ts",
"./vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl.ts",
"./vs/workbench/services/remote/node/remoteAgentEnvironmentChannel.ts",
"./vs/workbench/services/textMate/common/TMGrammars.ts",
"./vs/workbench/services/textMate/common/TMHelper.ts",
"./vs/workbench/services/textMate/common/textMateService.ts",
"./vs/workbench/services/textMate/electron-browser/textMateService.ts",
"./vs/workbench/services/textfile/common/textFileEditorModel.ts",
"./vs/workbench/services/textfile/common/textFileEditorModelManager.ts",
"./vs/workbench/services/textfile/common/textFileService.ts",
"./vs/workbench/services/textfile/common/textfiles.ts",
"./vs/workbench/services/textfile/node/textResourcePropertiesService.ts",
"./vs/workbench/services/textfile/test/textFileEditorModel.test.ts",
"./vs/workbench/services/textfile/test/textFileEditorModelManager.test.ts",
"./vs/workbench/services/textfile/test/textFileService.test.ts",
"./vs/workbench/services/textmodelResolver/common/textModelResolverService.ts",
"./vs/workbench/services/textmodelResolver/test/textModelResolverService.test.ts",
"./vs/workbench/services/timer/electron-browser/timerService.ts",
"./vs/workbench/services/title/common/titleService.ts",
"./vs/workbench/services/untitled/common/untitledEditorService.ts",
"./vs/workbench/services/viewlet/browser/viewlet.ts",
"./vs/workbench/services/workspace/common/workspaceEditing.ts",
"./vs/workbench/services/configurationResolver/common/variableResolver.ts",
"./vs/workbench/services/workspace/node/workspaceEditingService.ts",
"./vs/workbench/test/browser/actionRegistry.test.ts",
"./vs/workbench/test/browser/part.test.ts",
"./vs/workbench/test/browser/parts/editor/baseEditor.test.ts",
"./vs/workbench/test/browser/parts/editor/breadcrumbModel.test.ts",
"./vs/workbench/test/browser/parts/editor/rangeDecorations.test.ts",
"./vs/workbench/test/browser/parts/views/views.test.ts",
"./vs/workbench/test/browser/quickopen.test.ts",
"./vs/workbench/test/browser/viewlet.test.ts",
"./vs/workbench/test/common/editor/dataUriEditorInput.test.ts",
"./vs/workbench/test/common/editor/editor.test.ts",
"./vs/workbench/test/common/editor/editorDiffModel.test.ts",
"./vs/workbench/test/common/editor/editorGroups.test.ts",
"./vs/workbench/test/common/editor/editorInput.test.ts",
"./vs/workbench/test/common/editor/editorModel.test.ts",
"./vs/workbench/test/common/editor/editorOptions.test.ts",
"./vs/workbench/test/common/editor/resourceEditorInput.test.ts",
"./vs/workbench/test/common/editor/untitledEditor.test.ts",
"./vs/workbench/test/common/memento.test.ts",
"./vs/workbench/test/common/notifications.test.ts",
"./vs/workbench/test/electron-browser/api/extHost.api.impl.test.ts",
"./vs/workbench/test/electron-browser/api/extHostApiCommands.test.ts",
"./vs/workbench/test/electron-browser/api/extHostCommands.test.ts",
"./vs/workbench/test/electron-browser/api/extHostConfiguration.test.ts",
"./vs/workbench/test/electron-browser/api/extHostDiagnostics.test.ts",
"./vs/workbench/test/electron-browser/api/extHostDocumentData.test.ts",
"./vs/workbench/test/electron-browser/api/extHostDocumentSaveParticipant.test.ts",
"./vs/workbench/test/electron-browser/api/extHostDocumentsAndEditors.test.ts",
"./vs/workbench/test/electron-browser/api/extHostFileSystemEventService.test.ts",
"./vs/workbench/test/electron-browser/api/extHostLanguageFeatures.test.ts",
"./vs/workbench/test/electron-browser/api/extHostMessagerService.test.ts",
"./vs/workbench/test/electron-browser/api/extHostSearch.test.ts",
"./vs/workbench/test/electron-browser/api/extHostTextEditor.test.ts",
"./vs/workbench/test/electron-browser/api/extHostTextEditors.test.ts",
"./vs/workbench/test/electron-browser/api/extHostTypeConverter.test.ts",
"./vs/workbench/test/electron-browser/api/extHostTypes.test.ts",
"./vs/workbench/test/electron-browser/api/extHostWebview.test.ts",
"./vs/workbench/test/electron-browser/api/extHostWorkspace.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadCommands.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadConfiguration.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadDiagnostics.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadDocumentContentProviders.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadDocuments.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadDocumentsAndEditors.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadEditors.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadSaveParticipant.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadWorkspace.test.ts",
"./vs/workbench/test/electron-browser/api/mock.ts",
"./vs/workbench/test/electron-browser/api/testRPCProtocol.ts",
"./vs/workbench/test/electron-browser/colorRegistry.releaseTest.ts",
"./vs/workbench/test/electron-browser/quickopen.perf.integrationTest.ts",
"./vs/workbench/test/electron-browser/textsearch.perf.integrationTest.ts",
"./vs/workbench/test/workbenchTestServices.ts"
],
"exclude": [
"./typings/require-monaco.d.ts",
"./vs/workbench/contrib/comments/electron-browser/commentThreadWidget.ts"
]
}

View file

@ -29,6 +29,7 @@ import * as vscode from 'vscode';
import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
import { IWorkspace } from 'vs/platform/workspace/common/workspace';
import { Schemas } from 'vs/base/common/network';
import { withNullAsUndefined } from 'vs/base/common/types';
class ExtensionMemento implements IExtensionMemento {
@ -201,7 +202,7 @@ export class ExtHostExtensionService implements ExtHostExtensionServiceShape {
this._readyToRunExtensions = new Barrier();
this._registry = new ExtensionDescriptionRegistry(initData.extensions);
this._storage = new ExtHostStorage(this._extHostContext);
this._storagePath = new ExtensionStoragePath(initData.workspace, initData.environment);
this._storagePath = new ExtensionStoragePath(withNullAsUndefined(initData.workspace), initData.environment);
const hostExtensions = new Set<string>();
initData.hostExtensions.forEach((extensionId) => hostExtensions.add(ExtensionIdentifier.toKey(extensionId)));

View file

@ -17,6 +17,7 @@ import { ExtHostLogService } from 'vs/workbench/api/node/extHostLogService';
import { ExtHostWorkspace } from 'vs/workbench/api/node/extHostWorkspace';
import { RPCProtocol } from 'vs/workbench/services/extensions/node/rpcProtocol';
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
import { withNullAsUndefined } from 'vs/base/common/types';
// we don't (yet) throw when extensions parse
// uris that have no scheme
@ -73,7 +74,7 @@ export class ExtensionHostMain {
this.disposables.push(this._extHostLogService);
this._searchRequestIdProvider = new Counter();
const extHostWorkspace = new ExtHostWorkspace(rpcProtocol, this._extHostLogService, this._searchRequestIdProvider, initData.workspace);
const extHostWorkspace = new ExtHostWorkspace(rpcProtocol, this._extHostLogService, this._searchRequestIdProvider, withNullAsUndefined(initData.workspace));
this._extHostLogService.info('extension host started');
this._extHostLogService.trace('initData', initData);

View file

@ -86,7 +86,9 @@ function _createExtHostProtocol(): Promise<IMessagePassingProtocol> {
// Now that we have managed to install a message listener, ask the other side to send us the socket
const req: IExtHostReadyMessage = { type: 'VSCODE_EXTHOST_IPC_READY' };
process.send(req);
if (process.send) {
process.send(req);
}
});
} else {

View file

@ -150,7 +150,7 @@ function setupProxyResolution(
return;
}
if (envNoProxy(hostname, String(parsedUrl.port || (<any>opts.agent).defaultPort))) {
if (typeof hostname === 'string' && envNoProxy(hostname, String(parsedUrl.port || (<any>opts.agent).defaultPort))) {
envNoProxyCount++;
callback('DIRECT');
extHostLogService.trace('ProxyResolver#resolveProxy envNoProxy', url, 'DIRECT');
@ -184,8 +184,10 @@ function setupProxyResolution(
const start = Date.now();
extHostWorkspace.resolveProxy(url) // Use full URL to ensure it is an actually used one.
.then(proxy => {
cacheProxy(key, proxy);
collectResult(results, proxy, parsedUrl.protocol === 'https:' ? 'HTTPS' : 'HTTP', req);
if (proxy) {
cacheProxy(key, proxy);
collectResult(results, proxy, parsedUrl.protocol === 'https:' ? 'HTTPS' : 'HTTP', req);
}
callback(proxy);
extHostLogService.debug('ProxyResolver#resolveProxy', url, proxy);
}).then(() => {
@ -314,7 +316,7 @@ function patches(originals: typeof http | typeof https, resolveProxy: ReturnType
};
function patch(original: typeof http.get) {
function patched(url: string | URL, options?: http.RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest {
function patched(url?: string | URL | null, options?: http.RequestOptions | null, callback?: (res: http.IncomingMessage) => void): http.ClientRequest {
if (typeof url !== 'string' && !(url && (<any>url).searchParams)) {
callback = <any>options;
options = url;
@ -457,10 +459,10 @@ async function readCaCertificates() {
function readWindowsCaCertificates() {
const winCA = require.__$__nodeRequire<any>('win-ca-lib');
let ders = [];
let ders: any[] = [];
const store = winCA();
try {
let der;
let der: any;
while (der = store.next()) {
ders.push(der);
}