diff --git a/build/lib/fetch.js b/build/lib/fetch.js index 2fed63bca0e..b7da65f4af2 100644 --- a/build/lib/fetch.js +++ b/build/lib/fetch.js @@ -33,7 +33,7 @@ function fetchUrls(urls, options) { })); } async function fetchUrl(url, options, retries = 10, retryDelay = 1000) { - const verbose = !!options.verbose ?? (!!process.env['CI'] || !!process.env['BUILD_ARTIFACTSTAGINGDIRECTORY']); + const verbose = !!options.verbose || !!process.env['CI'] || !!process.env['BUILD_ARTIFACTSTAGINGDIRECTORY']; try { let startTime = 0; if (verbose) { diff --git a/build/lib/fetch.ts b/build/lib/fetch.ts index dc1de777e04..0c44b8e567f 100644 --- a/build/lib/fetch.ts +++ b/build/lib/fetch.ts @@ -42,7 +42,7 @@ export function fetchUrls(urls: string[] | string, options: IFetchOptions): es.T } export async function fetchUrl(url: string, options: IFetchOptions, retries = 10, retryDelay = 1000): Promise { - const verbose = !!options.verbose ?? (!!process.env['CI'] || !!process.env['BUILD_ARTIFACTSTAGINGDIRECTORY']); + const verbose = !!options.verbose || !!process.env['CI'] || !!process.env['BUILD_ARTIFACTSTAGINGDIRECTORY']; try { let startTime = 0; if (verbose) { diff --git a/build/lib/layersChecker.js b/build/lib/layersChecker.js index 7494b71bb66..7c7fd3bc5fd 100644 --- a/build/lib/layersChecker.js +++ b/build/lib/layersChecker.js @@ -69,7 +69,9 @@ const CORE_TYPES = [ 'RequestInit', 'Headers', 'Response', - '__global' + '__global', + 'PerformanceMark', + 'PerformanceObserver', ]; // Types that are defined in a common layer but are known to be only // available in native environments should not be allowed in browser diff --git a/build/lib/layersChecker.ts b/build/lib/layersChecker.ts index 4861fa6d86e..60939fe2750 100644 --- a/build/lib/layersChecker.ts +++ b/build/lib/layersChecker.ts @@ -70,7 +70,9 @@ const CORE_TYPES = [ 'RequestInit', 'Headers', 'Response', - '__global' + '__global', + 'PerformanceMark', + 'PerformanceObserver', ]; // Types that are defined in a common layer but are known to be only diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts index af2cf22724f..c9f0a8c07d5 100644 --- a/extensions/github-authentication/src/githubServer.ts +++ b/extensions/github-authentication/src/githubServer.ts @@ -197,7 +197,7 @@ export class GitHubServer implements IGitHubServer { throw new Error(`${result.status} ${result.statusText}`); } } catch (e) { - this._logger.warn('Failed to delete token from server.' + e.message ?? e); + this._logger.warn('Failed to delete token from server.' + (e.message ?? e)); } } diff --git a/package.json b/package.json index 65c061a1caa..8ece407a58c 100644 --- a/package.json +++ b/package.json @@ -209,7 +209,7 @@ "ts-loader": "^9.4.2", "ts-node": "^10.9.1", "tsec": "0.2.7", - "typescript": "^5.6.0-dev.20240715", + "typescript": "^5.6.0-dev.20240729", "util": "^0.12.4", "vscode-nls-dev": "^3.3.1", "webpack": "^5.91.0", diff --git a/src/vs/editor/standalone/test/browser/monarch.test.ts b/src/vs/editor/standalone/test/browser/monarch.test.ts index fbe58b62169..7a1ba1d9d75 100644 --- a/src/vs/editor/standalone/test/browser/monarch.test.ts +++ b/src/vs/editor/standalone/test/browser/monarch.test.ts @@ -233,7 +233,7 @@ suite('Monarch', () => { uselessReplaceKey2: '@uselessReplaceKey3', uselessReplaceKey3: '@uselessReplaceKey4', uselessReplaceKey4: '@uselessReplaceKey5', - uselessReplaceKey5: '@ham' || '', + uselessReplaceKey5: '@ham', tokenizer: { root: [ { diff --git a/src/vs/platform/files/test/browser/indexedDBFileService.integrationTest.ts b/src/vs/platform/files/test/browser/indexedDBFileService.integrationTest.ts index c5f542918ba..0ee13e7c991 100644 --- a/src/vs/platform/files/test/browser/indexedDBFileService.integrationTest.ts +++ b/src/vs/platform/files/test/browser/indexedDBFileService.integrationTest.ts @@ -189,7 +189,7 @@ flakySuite('IndexedDBFileSystemProvider', function () { assert.strictEqual(value.mtime, undefined); assert.strictEqual(value.ctime, undefined); } else { - assert.ok(!'Unexpected value ' + basename(value.resource)); + assert.fail('Unexpected value ' + basename(value.resource)); } }); }); diff --git a/src/vs/platform/files/test/node/diskFileService.integrationTest.ts b/src/vs/platform/files/test/node/diskFileService.integrationTest.ts index c3c271abbdd..681e390ec64 100644 --- a/src/vs/platform/files/test/node/diskFileService.integrationTest.ts +++ b/src/vs/platform/files/test/node/diskFileService.integrationTest.ts @@ -273,7 +273,7 @@ flakySuite('Disk File Service', function () { assert.strictEqual(value.mtime, undefined); assert.strictEqual(value.ctime, undefined); } else { - assert.ok(!'Unexpected value ' + basename(value.resource.fsPath)); + assert.fail('Unexpected value ' + basename(value.resource.fsPath)); } }); }); @@ -317,7 +317,7 @@ flakySuite('Disk File Service', function () { assert.ok(value.mtime > 0); assert.ok(value.ctime > 0); } else { - assert.ok(!'Unexpected value ' + basename(value.resource.fsPath)); + assert.fail('Unexpected value ' + basename(value.resource.fsPath)); } }); }); diff --git a/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.ts b/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.ts index 71bf49903a3..532fa6f5401 100644 --- a/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.ts +++ b/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.ts @@ -145,7 +145,7 @@ export class SimpleCommentEditor extends CodeEditorWidget { export function calculateEditorHeight(parentEditor: LayoutableEditor, editor: ICodeEditor, currentHeight: number): number { const layoutInfo = editor.getLayoutInfo(); const lineHeight = editor.getOption(EditorOption.lineHeight); - const contentHeight = (editor._getViewModel()?.getLineCount()! * lineHeight) ?? editor.getContentHeight(); // Can't just call getContentHeight() because it returns an incorrect, large, value when the editor is first created. + const contentHeight = (editor._getViewModel()?.getLineCount()! * lineHeight); // Can't just call getContentHeight() because it returns an incorrect, large, value when the editor is first created. if ((contentHeight > layoutInfo.height) || (contentHeight < layoutInfo.height && currentHeight > MIN_EDITOR_HEIGHT)) { const linesToAdd = Math.ceil((contentHeight - layoutInfo.height) / lineHeight); diff --git a/src/vs/workbench/contrib/customEditor/browser/customEditors.ts b/src/vs/workbench/contrib/customEditor/browser/customEditors.ts index 04b79c589ec..e2fa81aee13 100644 --- a/src/vs/workbench/contrib/customEditor/browser/customEditors.ts +++ b/src/vs/workbench/contrib/customEditor/browser/customEditors.ts @@ -132,7 +132,7 @@ export class CustomEditorService extends Disposable implements ICustomEditorServ priority: contributedEditor.priority, }, { - singlePerResource: () => !this.getCustomEditorCapabilities(contributedEditor.id)?.supportsMultipleEditorsPerDocument ?? true + singlePerResource: () => !(this.getCustomEditorCapabilities(contributedEditor.id)?.supportsMultipleEditorsPerDocument ?? false) }, { createEditorInput: ({ resource }, group) => { diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts index 3c5c95800c6..a96ced57ced 100644 --- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts +++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts @@ -615,7 +615,7 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer // We need to first wait for extensions to be registered because we might read // the `TaskDefinitionRegistry` in case `type` is `undefined` await this._extensionService.whenInstalledExtensionsRegistered(); - this._log('Activating task providers ' + type ?? 'all'); + this._log('Activating task providers ' + (type ?? 'all')); await raceTimeout( Promise.all(this._getActivationEvents(type).map(activationEvent => this._extensionService.activateByEvent(activationEvent))), 5000, diff --git a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts index a4be6d7a1b4..6a07e839bdd 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @@ -1637,7 +1637,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { id: TerminalStatus.ShellIntegrationAttentionNeeded, severity: Severity.Warning, icon: Codicon.warning, - tooltip: (`${exitMessage} ` ?? '') + nls.localize('launchFailed.exitCodeOnlyShellIntegration', 'Disabling shell integration in user settings might help.'), + tooltip: `${exitMessage} ` + nls.localize('launchFailed.exitCodeOnlyShellIntegration', 'Disabling shell integration in user settings might help.'), hoverActions: [{ commandId: TerminalCommandId.ShellIntegrationLearnMore, label: nls.localize('shellIntegration.learnMore', "Learn more about shell integration"), diff --git a/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.ts b/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.ts index ca60f6c987a..b1b2b5ad1c9 100644 --- a/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.ts +++ b/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.ts @@ -274,7 +274,7 @@ export class TerminalChatController extends Disposable implements ITerminalContr } hasFocus(): boolean { - return !!this._chatWidget?.rawValue?.hasFocus() ?? false; + return this._chatWidget?.rawValue?.hasFocus() ?? false; } populateHistory(up: boolean) { diff --git a/src/vs/workbench/contrib/testing/browser/testingExplorerView.ts b/src/vs/workbench/contrib/testing/browser/testingExplorerView.ts index 6999356c9ad..ad41181bde0 100644 --- a/src/vs/workbench/contrib/testing/browser/testingExplorerView.ts +++ b/src/vs/workbench/contrib/testing/browser/testingExplorerView.ts @@ -136,7 +136,7 @@ export class TestingExplorerView extends ViewPane { } public override shouldShowWelcome() { - return this.viewModel?.welcomeExperience === WelcomeExperience.ForWorkspace ?? true; + return this.viewModel?.welcomeExperience === WelcomeExperience.ForWorkspace; } public override focus() { diff --git a/src/vs/workbench/contrib/timeline/browser/timelinePane.ts b/src/vs/workbench/contrib/timeline/browser/timelinePane.ts index fc317f8104a..b803711c85d 100644 --- a/src/vs/workbench/contrib/timeline/browser/timelinePane.ts +++ b/src/vs/workbench/contrib/timeline/browser/timelinePane.ts @@ -67,7 +67,7 @@ function isLoadMoreCommand(item: TreeElement | undefined): item is LoadMoreComma } function isTimelineItem(item: TreeElement | undefined): item is TimelineItem { - return !item?.handle.startsWith('vscode-command:') ?? false; + return !!item && !item.handle.startsWith('vscode-command:'); } function updateRelativeTime(item: TimelineItem, lastRelativeTime: string | undefined): string | undefined { diff --git a/test/automation/tsconfig.json b/test/automation/tsconfig.json index 96db334b97b..3e1fd8d8541 100644 --- a/test/automation/tsconfig.json +++ b/test/automation/tsconfig.json @@ -8,6 +8,7 @@ "outDir": "out", "sourceMap": true, "declaration": true, + "skipLibCheck": true, "lib": [ "esnext", // for #201187 "dom" diff --git a/test/integration/browser/tsconfig.json b/test/integration/browser/tsconfig.json index 012f1223559..02cd3a44d7c 100644 --- a/test/integration/browser/tsconfig.json +++ b/test/integration/browser/tsconfig.json @@ -10,6 +10,7 @@ "noUnusedLocals": true, "outDir": "out", "sourceMap": true, + "skipLibCheck": true, "lib": [ "esnext", // for #201187 "dom" diff --git a/test/monaco/tsconfig.json b/test/monaco/tsconfig.json index 411320d8100..dcc46d24c5a 100644 --- a/test/monaco/tsconfig.json +++ b/test/monaco/tsconfig.json @@ -7,6 +7,7 @@ "noUnusedLocals": true, "outDir": "out", "sourceMap": true, + "skipLibCheck": true, "declaration": true, "lib": [ "esnext", // for #201187 diff --git a/test/smoke/tsconfig.json b/test/smoke/tsconfig.json index 012f1223559..02cd3a44d7c 100644 --- a/test/smoke/tsconfig.json +++ b/test/smoke/tsconfig.json @@ -10,6 +10,7 @@ "noUnusedLocals": true, "outDir": "out", "sourceMap": true, + "skipLibCheck": true, "lib": [ "esnext", // for #201187 "dom" diff --git a/yarn.lock b/yarn.lock index 99ae72bb08e..cf89ab6047c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1241,10 +1241,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-4.2.22.tgz#cf488a0f6b4a9c245d09927f4f757ca278b9c8ce" integrity sha512-LXRap3bb4AjtLZ5NOFc4ssVZrQPTgdPcNm++0SEJuJZaOA+xHkojJNYqy33A5q/94BmG5tA6yaMeD4VdCv5aSA== -"@types/node@20.x", "@types/node@^20.9.0": - version "20.11.24" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.24.tgz#cc207511104694e84e9fb17f9a0c4c42d4517792" - integrity sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long== +"@types/node@20.x": + version "20.14.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.13.tgz#bf4fe8959ae1c43bc284de78bd6c01730933736b" + integrity sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w== dependencies: undici-types "~5.26.4" @@ -1253,6 +1253,13 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== +"@types/node@^20.9.0": + version "20.11.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.24.tgz#cc207511104694e84e9fb17f9a0c4c42d4517792" + integrity sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long== + dependencies: + undici-types "~5.26.4" + "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" @@ -9569,7 +9576,7 @@ streamx@^2.18.0: optionalDependencies: bare-events "^2.2.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -9604,6 +9611,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -9666,7 +9682,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -9694,6 +9710,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -10305,10 +10328,10 @@ typescript@^4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== -typescript@^5.6.0-dev.20240715: - version "5.6.0-dev.20240715" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.0-dev.20240715.tgz#18b9e994f99916b90917943d5de8e78f781d1d70" - integrity sha512-CLF8WFoqLgHgxQqjklkEOw3gT99Y2YNU4+TfkJurX5bfejAUYpb2jBjiYOn5Rq9HCew6ceZlRaG7Q++6/fBvVA== +typescript@^5.6.0-dev.20240729: + version "5.6.0-dev.20240729" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.0-dev.20240729.tgz#ef2ea4fe3ffc6796843e15edd432d14991c4ffff" + integrity sha512-gkoeeiVub1uQcqWMcSlQWFJnbDkF1Hm316iUdGatuIo7O8q0Vis7zM1G3orXxjmoxJSWjuq0ENPM8GdYJAVikQ== typical@^4.0.0: version "4.0.0" @@ -10858,7 +10881,7 @@ workerpool@6.2.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -10893,6 +10916,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"