diff --git a/.pnp.cjs b/.pnp.cjs index c97602eb..bbe6c9ee 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -81,7 +81,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ts-jest", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:27.0.7"], ["ts-loader", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:9.2.6"], ["ts-node", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:10.4.0"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"], + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"], ["webpack", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:5.64.2"], ["webpack-cli", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:4.9.1"], ["yargs", "npm:17.2.1"] @@ -2767,7 +2767,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["regexpp", "npm:3.2.0"], ["semver", "npm:7.3.5"], ["tsutils", "virtual:b0af3b66993b259ab58ac42a6280ebee8f4f69d9f14dd4562d28abe19abe8d4477d2e4240d65abbd539f365a1ef1c6c0de58e415b47250cd948a9d2576b3b025#npm:3.21.0"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"] + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"] ], "packagePeers": [ "@types/eslint", @@ -2853,7 +2853,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/typescript-estree", "virtual:4ecd64522a2ed61eedd49155e8814b41c913643bd1326686f57354d3fd0fbe32464cb4268680e6364bc51ee8423ab5bc603257fc17262eeb2c847a0d28e23ad7#npm:5.4.0"], ["debug", "virtual:d2b8ff4ca946871ce9c51afc08080842081037f97234326c5de214ae28f53dca6ac6f476930dda3959c7e5dd3099dbfed23e86d5461423e43cc737463b435caa#npm:4.3.2"], ["eslint", "npm:8.3.0"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"] + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"] ], "packagePeers": [ "@types/eslint", @@ -2967,7 +2967,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["is-glob", "npm:4.0.3"], ["semver", "npm:7.3.5"], ["tsutils", "virtual:b0af3b66993b259ab58ac42a6280ebee8f4f69d9f14dd4562d28abe19abe8d4477d2e4240d65abbd539f365a1ef1c6c0de58e415b47250cd948a9d2576b3b025#npm:3.21.0"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"] + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"] ], "packagePeers": [ "@types/typescript", @@ -3936,7 +3936,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ts-jest", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:27.0.7"], ["ts-loader", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:9.2.6"], ["ts-node", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:10.4.0"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"], + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"], ["webpack", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:5.64.2"], ["webpack-cli", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:4.9.1"], ["yargs", "npm:17.2.1"] @@ -13642,7 +13642,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash.memoize", "npm:4.1.2"], ["make-error", "npm:1.3.6"], ["semver", "npm:7.3.5"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"], + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"], ["yargs-parser", "npm:20.2.9"] ], "packagePeers": [ @@ -13676,7 +13676,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["enhanced-resolve", "npm:5.8.0"], ["micromatch", "npm:4.0.2"], ["semver", "npm:7.3.4"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"], + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"], ["webpack", "virtual:4bc879ee8766b5c64a944ba0314247e9ed208a36cde6f3dfba54d4d0d0819032f13bd0f310835cb3c506c634c8bd0ab2b4fed2c45686f55fb51dc017ab534de4#npm:5.64.2"] ], "packagePeers": [ @@ -13724,7 +13724,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["create-require", "npm:1.1.1"], ["diff", "npm:4.0.2"], ["make-error", "npm:1.3.6"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"], + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"], ["yn", "npm:3.1.1"] ], "packagePeers": [ @@ -13826,7 +13826,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["tsutils", "virtual:b0af3b66993b259ab58ac42a6280ebee8f4f69d9f14dd4562d28abe19abe8d4477d2e4240d65abbd539f365a1ef1c6c0de58e415b47250cd948a9d2576b3b025#npm:3.21.0"], ["@types/typescript", null], ["tslib", "npm:1.14.1"], - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"] + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"] ], "packagePeers": [ "@types/typescript", @@ -13956,13 +13956,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"] ], "linkType": "HARD", - }], - ["patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8", { - "packageLocation": "./.yarn/cache/typescript-patch-04b86b0e5c-24a439e062.zip/node_modules/typescript/", - "packageDependencies": [ - ["typescript", "patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8"] - ], - "linkType": "HARD", }] ]], ["uglify-js", [ diff --git a/.yarn/sdks/eslint/lib/api.js b/.yarn/sdks/eslint/lib/api.js index 97a05244..fc728d95 100644 --- a/.yarn/sdks/eslint/lib/api.js +++ b/.yarn/sdks/eslint/lib/api.js @@ -11,10 +11,10 @@ const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); if (existsSync(absPnpApiPath)) { if (!process.versions.pnp) { - // Setup the environment to be able to require eslint/lib/api.js + // Setup the environment to be able to require eslint require(absPnpApiPath).setup(); } } -// Defer to the real eslint/lib/api.js your application uses -module.exports = absRequire(`eslint/lib/api.js`); +// Defer to the real eslint your application uses +module.exports = absRequire(`eslint`); diff --git a/.yarn/sdks/eslint/package.json b/.yarn/sdks/eslint/package.json index 744a7732..919527c3 100644 --- a/.yarn/sdks/eslint/package.json +++ b/.yarn/sdks/eslint/package.json @@ -1,6 +1,6 @@ { "name": "eslint", - "version": "7.32.0-sdk", + "version": "8.3.0-sdk", "main": "./lib/api.js", "type": "commonjs" } diff --git a/.yarn/sdks/typescript/lib/tsserver.js b/.yarn/sdks/typescript/lib/tsserver.js index 4d90f387..71e35cf6 100644 --- a/.yarn/sdks/typescript/lib/tsserver.js +++ b/.yarn/sdks/typescript/lib/tsserver.js @@ -30,7 +30,7 @@ const moduleWrapper = tsserver => { function toEditorPath(str) { // We add the `zip:` prefix to both `.zip/` paths and virtual paths - if (isAbsolute(str) && !str.match(/^\^zip:/) && (str.match(/\.zip\//) || isVirtual(str))) { + if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { // We also take the opportunity to turn virtual paths into physical ones; // this makes it much easier to work with workspaces that list peer // dependencies, since otherwise Ctrl+Click would bring us to the virtual @@ -60,10 +60,18 @@ const moduleWrapper = tsserver => { // // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 // - case `vscode`: { + // Update Oct 8 2021: VSCode changed their format in 1.61. + // Before | ^zip:/c:/foo/bar.zip/package.json + // After | ^/zip//c:/foo/bar.zip/package.json + // + case `vscode <1.61`: { str = `^zip:${str}`; } break; + case `vscode`: { + str = `^/zip/${str}`; + } break; + // To make "go to definition" work, // We have to resolve the actual file system path from virtual path // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) @@ -91,9 +99,25 @@ const moduleWrapper = tsserver => { } function fromEditorPath(str) { - return process.platform === `win32` - ? str.replace(/^\^?zip:\//, ``) - : str.replace(/^\^?zip:/, ``); + switch (hostInfo) { + case `coc-nvim`: + case `neovim`: { + str = str.replace(/\.zip::/, `.zip/`); + // The path for coc-nvim is in format of //zipfile://.yarn/... + // So in order to convert it back, we use .* to match all the thing + // before `zipfile:` + return process.platform === `win32` + ? str.replace(/^.*zipfile:\//, ``) + : str.replace(/^.*zipfile:/, ``); + } break; + + case `vscode`: + default: { + return process.platform === `win32` + ? str.replace(/^\^?(zip:|\/zip)\/+/, ``) + : str.replace(/^\^?(zip:|\/zip)\/+/, `/`); + } break; + } } // Force enable 'allowLocalPluginLoads' @@ -129,6 +153,9 @@ const moduleWrapper = tsserver => { typeof parsedMessage.arguments.hostInfo === `string` ) { hostInfo = parsedMessage.arguments.hostInfo; + if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK && process.env.VSCODE_IPC_HOOK.match(/Code\/1\.([1-5][0-9]|60)\./)) { + hostInfo += ` <1.61`; + } } return originalOnMessage.call(this, JSON.stringify(parsedMessage, (key, value) => { diff --git a/.yarn/sdks/typescript/lib/tsserverlibrary.js b/.yarn/sdks/typescript/lib/tsserverlibrary.js index c3de4ff5..7a2d65ea 100644 --- a/.yarn/sdks/typescript/lib/tsserverlibrary.js +++ b/.yarn/sdks/typescript/lib/tsserverlibrary.js @@ -30,7 +30,7 @@ const moduleWrapper = tsserver => { function toEditorPath(str) { // We add the `zip:` prefix to both `.zip/` paths and virtual paths - if (isAbsolute(str) && !str.match(/^\^zip:/) && (str.match(/\.zip\//) || isVirtual(str))) { + if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { // We also take the opportunity to turn virtual paths into physical ones; // this makes it much easier to work with workspaces that list peer // dependencies, since otherwise Ctrl+Click would bring us to the virtual @@ -60,10 +60,18 @@ const moduleWrapper = tsserver => { // // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 // - case `vscode`: { + // Update Oct 8 2021: VSCode changed their format in 1.61. + // Before | ^zip:/c:/foo/bar.zip/package.json + // After | ^/zip//c:/foo/bar.zip/package.json + // + case `vscode <1.61`: { str = `^zip:${str}`; } break; + case `vscode`: { + str = `^/zip/${str}`; + } break; + // To make "go to definition" work, // We have to resolve the actual file system path from virtual path // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) @@ -91,9 +99,25 @@ const moduleWrapper = tsserver => { } function fromEditorPath(str) { - return process.platform === `win32` - ? str.replace(/^\^?zip:\//, ``) - : str.replace(/^\^?zip:/, ``); + switch (hostInfo) { + case `coc-nvim`: + case `neovim`: { + str = str.replace(/\.zip::/, `.zip/`); + // The path for coc-nvim is in format of //zipfile://.yarn/... + // So in order to convert it back, we use .* to match all the thing + // before `zipfile:` + return process.platform === `win32` + ? str.replace(/^.*zipfile:\//, ``) + : str.replace(/^.*zipfile:/, ``); + } break; + + case `vscode`: + default: { + return process.platform === `win32` + ? str.replace(/^\^?(zip:|\/zip)\/+/, ``) + : str.replace(/^\^?(zip:|\/zip)\/+/, `/`); + } break; + } } // Force enable 'allowLocalPluginLoads' @@ -129,6 +153,9 @@ const moduleWrapper = tsserver => { typeof parsedMessage.arguments.hostInfo === `string` ) { hostInfo = parsedMessage.arguments.hostInfo; + if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK && process.env.VSCODE_IPC_HOOK.match(/Code\/1\.([1-5][0-9]|60)\./)) { + hostInfo += ` <1.61`; + } } return originalOnMessage.call(this, JSON.stringify(parsedMessage, (key, value) => { diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json index 1a105129..03b3aa3d 100644 --- a/.yarn/sdks/typescript/package.json +++ b/.yarn/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "typescript", - "version": "4.4.3-sdk", + "version": "4.4.4-sdk", "main": "./lib/typescript.js", "type": "commonjs" } diff --git a/package.json b/package.json index a8a582b6..4bbb01d5 100644 --- a/package.json +++ b/package.json @@ -156,7 +156,7 @@ "ts-jest": "27.0.7", "ts-loader": "9.2.6", "ts-node": "10.4.0", - "typescript": "4.5.2", + "typescript": "4.4.4", "webpack": "5.64.2", "webpack-cli": "4.9.1", "yargs": "17.2.1" diff --git a/yarn.lock b/yarn.lock index bdd4b035..a91c42bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2944,7 +2944,7 @@ __metadata: ts-jest: 27.0.7 ts-loader: 9.2.6 ts-node: 10.4.0 - typescript: 4.5.2 + typescript: 4.4.4 webpack: 5.64.2 webpack-cli: 4.9.1 yargs: 17.2.1 @@ -11825,7 +11825,7 @@ typescript@^3.2.4: languageName: node linkType: hard -typescript@^4.4.3: +"typescript@^4.4.3, typescript@npm:4.4.4": version: 4.4.4 resolution: "typescript@npm:4.4.4" bin: @@ -11835,23 +11835,13 @@ typescript@^4.4.3: languageName: node linkType: hard -"typescript@npm:4.5.2": - version: 4.5.2 - resolution: "typescript@npm:4.5.2" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 74f9ce65d532bdf5d0214b3f60cf37992180023388c87a11ee6f838a803067ef0b63c600fa501b0deb07f989257dce1e244c9635ed79feca40bbccf6e0aa1ebc - languageName: node - linkType: hard - -"typescript@patch:typescript@4.5.2#~builtin": - version: 4.5.2 - resolution: "typescript@patch:typescript@npm%3A4.5.2#~builtin::version=4.5.2&hash=ddd1e8" +"typescript@patch:typescript@4.4.4#~builtin, typescript@patch:typescript@^4.4.3#~builtin": + version: 4.4.4 + resolution: "typescript@patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 24a439e062a05e3285a4f0e8a40644116ecdca89f3e908bed01e5a01b9aee747e3bcf0e85fe9e017e5ebf0c0863437c39479f2616f55a244c2d82d37022cdc4f + checksum: bd629ad0da4a15d79aaad56baf3ee7d96f6a181760d430ae77f8c5325df7bffd9edee57544a3970e3651e8b796fe03a5838a7eb39c6d46cc3866c0b23d36a0dd languageName: node linkType: hard @@ -11865,16 +11855,6 @@ typescript@^4.4.3: languageName: node linkType: hard -"typescript@patch:typescript@^4.4.3#~builtin": - version: 4.4.4 - resolution: "typescript@patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: bd629ad0da4a15d79aaad56baf3ee7d96f6a181760d430ae77f8c5325df7bffd9edee57544a3970e3651e8b796fe03a5838a7eb39c6d46cc3866c0b23d36a0dd - languageName: node - linkType: hard - "uglify-js@npm:^3.1.4": version: 3.13.0 resolution: "uglify-js@npm:3.13.0"