diff --git a/.pnp.js b/.pnp.js index c0cadc2fb999..ca31118e463c 100755 --- a/.pnp.js +++ b/.pnp.js @@ -265,7 +265,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest-environment-node", "npm:24.5.0"], ["jest-junit", "npm:5.2.0"], ["micromatch", "npm:4.0.2"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "linkType": "SOFT", }] @@ -4919,7 +4919,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-typescript-npm-2.0.0-4639092a54-2.zip/node_modules/@types/typescript/", "packageDependencies": [ ["@types/typescript", "npm:2.0.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "linkType": "HARD", }] @@ -5049,7 +5049,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["regexpp", "npm:2.0.1"], ["requireindex", "npm:1.2.0"], ["tsutils", "virtual:45cefb3a778deece82fc842b2b72f0afc757b6c0484407b9caa29c093b750350155ac2abd0f56e4ac93885a167aa5c99574da658766a7bf001a0aae00168eb82#npm:3.10.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "eslint", @@ -5083,7 +5083,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint", "npm:5.16.0"], ["eslint-scope", "npm:4.0.0"], ["eslint-visitor-keys", "npm:1.0.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "eslint", @@ -5100,7 +5100,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/typescript-estree", "virtual:be22e969588e5b9bb01154245a30a1bfa2fad15f08a9f0d7874afa09a4651ae4fe9cd0600afa10932b5dfe007f9b520145319057e59f92e2d7a8fb54b87c1da9#npm:2.13.0"], ["eslint", "npm:5.16.0"], ["eslint-visitor-keys", "npm:1.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "eslint", @@ -5116,7 +5116,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/typescript-estree", "virtual:45cefb3a778deece82fc842b2b72f0afc757b6c0484407b9caa29c093b750350155ac2abd0f56e4ac93885a167aa5c99574da658766a7bf001a0aae00168eb82#npm:1.7.0"], ["lodash.unescape", "npm:4.0.1"], ["semver", "npm:5.5.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "typescript" @@ -5152,7 +5152,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash.unescape", "npm:4.0.1"], ["semver", "npm:6.3.0"], ["tsutils", "virtual:faf413bcdf63d4ba216a03af4562f5428e636501de9fdbe6a8290b289fd010181647b2e3f557d4967e3d32c0e2e93d138ad4315d4b6048c665fd19f5d4a4f89d#npm:3.17.1"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "typescript" @@ -5585,7 +5585,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["semver", "npm:5.6.0"], ["terser-webpack-plugin", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:2.1.3"], ["ts-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:6.2.1"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["val-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:1.1.1"], ["webpack", "npm:4.41.2"], ["webpack-merge", "npm:4.2.1"], @@ -5669,7 +5669,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5712,7 +5712,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5755,7 +5755,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5798,7 +5798,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5841,7 +5841,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5884,7 +5884,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5927,7 +5927,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -5970,7 +5970,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6013,7 +6013,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6056,7 +6056,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6099,7 +6099,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6142,7 +6142,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6185,7 +6185,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6228,7 +6228,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6271,7 +6271,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6314,7 +6314,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6357,7 +6357,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6400,7 +6400,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6443,7 +6443,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6486,7 +6486,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6529,7 +6529,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["promise.prototype.finally", "npm:3.1.1"], ["semver", "npm:5.6.0"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -6599,7 +6599,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["globby", "npm:10.0.1"], ["micromatch", "npm:4.0.2"], ["p-limit", "npm:2.2.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "linkType": "SOFT", }] @@ -6760,7 +6760,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest-environment-node", "npm:24.5.0"], ["jest-junit", "npm:5.2.0"], ["micromatch", "npm:4.0.2"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "linkType": "SOFT", }] @@ -7080,7 +7080,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7103,7 +7103,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7126,7 +7126,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7149,7 +7149,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7172,7 +7172,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7195,7 +7195,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7218,7 +7218,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7241,7 +7241,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7264,7 +7264,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7287,7 +7287,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7310,7 +7310,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7333,7 +7333,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7356,7 +7356,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7379,7 +7379,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7402,7 +7402,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7425,7 +7425,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7448,7 +7448,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7471,7 +7471,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7494,7 +7494,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7517,7 +7517,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7540,7 +7540,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -7563,7 +7563,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], ["tau-prolog", "npm:0.2.66"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -8558,7 +8558,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["tmp", "npm:0.1.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "core" @@ -9090,7 +9090,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["diff", "npm:4.0.1"], ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11658,7 +11658,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11675,7 +11675,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11692,7 +11692,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11709,7 +11709,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11726,7 +11726,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11743,7 +11743,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11760,7 +11760,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11777,7 +11777,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11794,7 +11794,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11811,7 +11811,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11828,7 +11828,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11845,7 +11845,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11862,7 +11862,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11879,7 +11879,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11896,7 +11896,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11913,7 +11913,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11930,7 +11930,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11947,7 +11947,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11964,7 +11964,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11981,7 +11981,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -11998,7 +11998,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12015,7 +12015,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12032,7 +12032,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12049,7 +12049,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12066,7 +12066,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12083,7 +12083,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12100,7 +12100,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12117,7 +12117,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12134,7 +12134,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12155,7 +12155,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/plugin-essentials", "virtual:27ebb8cf1fa70157f710b4926b6d25c44192e74dbac3a766c8dc6505a59ebc433221bfb4b5aabc8cca814bbe95fcb6e1ecffcf94ba96ee6112a57c89364571ac#workspace:packages/plugin-essentials"], ["@yarnpkg/plugin-pack", "virtual:27ebb8cf1fa70157f710b4926b6d25c44192e74dbac3a766c8dc6505a59ebc433221bfb4b5aabc8cca814bbe95fcb6e1ecffcf94ba96ee6112a57c89364571ac#workspace:packages/plugin-pack"], ["algoliasearch", "npm:4.0.0-beta.14"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "cli", @@ -12184,7 +12184,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12212,7 +12212,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12240,7 +12240,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12268,7 +12268,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12296,7 +12296,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12324,7 +12324,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12352,7 +12352,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12380,7 +12380,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12408,7 +12408,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12436,7 +12436,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12464,7 +12464,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12492,7 +12492,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12520,7 +12520,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12548,7 +12548,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12576,7 +12576,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12604,7 +12604,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12632,7 +12632,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12660,7 +12660,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12688,7 +12688,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12716,7 +12716,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12744,7 +12744,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12772,7 +12772,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ink", "virtual:58c6a160e6d00ccf90867e4b527877bcde337a320c79277ab938543a3cd2ca12d5ecbaf449b71356276a2c24db742e5ae759512bae3689b4ef8ec896c616a6e2#npm:2.3.0"], ["react", "npm:16.8.4"], ["semver", "npm:5.6.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12795,7 +12795,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["clipanion", "npm:2.1.5"], ["p-limit", "npm:2.2.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["yup", "npm:0.27.0"] ], "packagePeers": [ @@ -12815,7 +12815,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/libzip", "workspace:packages/yarnpkg-libzip"], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["webpack", "npm:4.41.2"], ["webpack-cli", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#npm:3.3.2"], ["webpack-sources", "npm:1.3.0"] @@ -12836,7 +12836,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["comment-json", "npm:2.2.0"], ["cross-spawn", "npm:6.0.5"], ["eslint", "npm:5.16.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "typescript" @@ -12855,7 +12855,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["comment-json", "npm:2.2.0"], ["cross-spawn", "npm:6.0.5"], ["eslint", "npm:5.16.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "eslint", @@ -15569,7 +15569,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["chokidar", "npm:1.7.0"], ["anymatch", "npm:1.3.2"], ["async-each", "npm:1.0.1"], - ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6"], ["glob-parent", "npm:2.0.0"], ["inherits", "npm:2.0.3"], ["is-binary-path", "npm:1.0.1"], @@ -15586,7 +15586,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["anymatch", "npm:2.0.0"], ["async-each", "npm:1.0.1"], ["braces", "npm:2.3.2"], - ["fsevents", "patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=77dfe6"], ["glob-parent", "npm:3.1.0"], ["inherits", "npm:2.0.3"], ["is-binary-path", "npm:1.0.1"], @@ -15606,7 +15606,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["anymatch", "npm:2.0.0"], ["async-each", "npm:1.0.1"], ["braces", "npm:2.3.2"], - ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6"], ["glob-parent", "npm:3.1.0"], ["inherits", "npm:2.0.3"], ["is-binary-path", "npm:1.0.1"], @@ -15625,7 +15625,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["anymatch", "npm:2.0.0"], ["async-each", "npm:1.0.1"], ["braces", "npm:2.3.2"], - ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6"], ["glob-parent", "npm:3.1.0"], ["inherits", "npm:2.0.3"], ["is-binary-path", "npm:1.0.1"], @@ -19940,19 +19940,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["fsevents", [ - ["patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=e8cd9e", { - "packageLocation": "./.yarn/unplugged/fsevents-patch-0e5d215591/node_modules/fsevents/", + ["patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=77dfe6", { + "packageLocation": "./.yarn/unplugged/fsevents-patch-5e62e4f342/node_modules/fsevents/", "packageDependencies": [ - ["fsevents", "patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=77dfe6"], ["nan", "npm:2.12.1"], ["node-pre-gyp", "npm:0.10.3"] ], "linkType": "HARD", }], - ["patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e", { - "packageLocation": "./.yarn/unplugged/fsevents-patch-5e63278d20/node_modules/fsevents/", + ["patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6", { + "packageLocation": "./.yarn/unplugged/fsevents-patch-98e6a97fcf/node_modules/fsevents/", "packageDependencies": [ - ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6"], ["nan", "npm:2.12.1"], ["node-pre-gyp", "npm:0.10.3"] ], @@ -23851,7 +23851,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/types", "npm:24.9.0"], ["anymatch", "npm:2.0.0"], ["fb-watchman", "npm:2.0.0"], - ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e"], + ["fsevents", "patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6"], ["graceful-fs", "npm:4.1.15"], ["invariant", "npm:2.2.4"], ["jest-serializer", "npm:24.9.0"], @@ -33226,7 +33226,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["loader-utils", "npm:1.2.3"], ["micromatch", "npm:4.0.2"], ["semver", "npm:6.3.0"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "typescript" @@ -33273,7 +33273,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["tsutils", "virtual:45cefb3a778deece82fc842b2b72f0afc757b6c0484407b9caa29c093b750350155ac2abd0f56e4ac93885a167aa5c99574da658766a7bf001a0aae00168eb82#npm:3.10.0"], ["tslib", "npm:1.9.3"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "typescript" @@ -33297,7 +33297,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["tsutils", "virtual:faf413bcdf63d4ba216a03af4562f5428e636501de9fdbe6a8290b289fd010181647b2e3f557d4967e3d32c0e2e93d138ad4315d4b6048c665fd19f5d4a4f89d#npm:3.17.1"], ["tslib", "npm:1.9.3"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "packagePeers": [ "typescript" @@ -33416,10 +33416,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["typescript", [ - ["patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1", { - "packageLocation": "./.yarn/cache/typescript-patch-89d1c6c12a-2.zip/node_modules/typescript/", + ["patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569", { + "packageLocation": "./.yarn/cache/typescript-patch-87b00092d4-2.zip/node_modules/typescript/", "packageDependencies": [ - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"] + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"] ], "linkType": "HARD", }] @@ -34358,7 +34358,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["pnp-webpack-plugin", "npm:1.4.3"], ["ts-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:6.2.1"], - ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1"], + ["typescript", "patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569"], ["vsce", "npm:1.61.0"], ["webpack", "npm:4.41.2"], ["webpack-cli", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#npm:3.3.2"] diff --git a/.yarn/cache/fsevents-patch-0e5d215591-2.zip b/.yarn/cache/fsevents-patch-5e62e4f342-2.zip similarity index 100% rename from .yarn/cache/fsevents-patch-0e5d215591-2.zip rename to .yarn/cache/fsevents-patch-5e62e4f342-2.zip diff --git a/.yarn/cache/fsevents-patch-5e63278d20-2.zip b/.yarn/cache/fsevents-patch-98e6a97fcf-2.zip similarity index 100% rename from .yarn/cache/fsevents-patch-5e63278d20-2.zip rename to .yarn/cache/fsevents-patch-98e6a97fcf-2.zip diff --git a/.yarn/cache/typescript-patch-89d1c6c12a-2.zip b/.yarn/cache/typescript-patch-87b00092d4-2.zip similarity index 61% rename from .yarn/cache/typescript-patch-89d1c6c12a-2.zip rename to .yarn/cache/typescript-patch-87b00092d4-2.zip index fc04d501efbb..0f477572b90f 100644 Binary files a/.yarn/cache/typescript-patch-89d1c6c12a-2.zip and b/.yarn/cache/typescript-patch-87b00092d4-2.zip differ diff --git a/.yarn/versions/9fd024b1.yml b/.yarn/versions/9fd024b1.yml new file mode 100644 index 000000000000..6b05d4177493 --- /dev/null +++ b/.yarn/versions/9fd024b1.yml @@ -0,0 +1,21 @@ +releases: + "@yarnpkg/cli": prerelease + "@yarnpkg/plugin-compat": prerelease + +declined: + - "@yarnpkg/plugin-constraints" + - "@yarnpkg/plugin-dlx" + - "@yarnpkg/plugin-essentials" + - "@yarnpkg/plugin-init" + - "@yarnpkg/plugin-interactive-tools" + - "@yarnpkg/plugin-node-modules" + - "@yarnpkg/plugin-npm-cli" + - "@yarnpkg/plugin-pack" + - "@yarnpkg/plugin-patch" + - "@yarnpkg/plugin-pnp" + - "@yarnpkg/plugin-stage" + - "@yarnpkg/plugin-typescript" + - "@yarnpkg/plugin-version" + - "@yarnpkg/plugin-workspace-tools" + - "@yarnpkg/core" + - "@yarnpkg/doctor" diff --git a/packages/plugin-compat/extra/fsevents/2.1.2.patch b/packages/plugin-compat/extra/fsevents/2.1.2.patch index f7cc03cb5aec..a99cf4811bfc 100644 --- a/packages/plugin-compat/extra/fsevents/2.1.2.patch +++ b/packages/plugin-compat/extra/fsevents/2.1.2.patch @@ -1,5 +1,5 @@ diff --git a/fsevents.js b/fsevents.js -semver exclusivity ^2 +semver exclusivity ^2.1 --- a/fsevents.js +++ b/fsevents.js @@ -21,5 +21,7 @@ function watch(path, handler) { diff --git a/packages/plugin-compat/extra/typescript/gen-typescript-patch.sh b/packages/plugin-compat/extra/typescript/gen-typescript-patch.sh index a1a29e1b2702..c27d5f3d15cc 100644 --- a/packages/plugin-compat/extra/typescript/gen-typescript-patch.sh +++ b/packages/plugin-compat/extra/typescript/gen-typescript-patch.sh @@ -35,6 +35,7 @@ rm -f "$PATCHFILE" && touch "$PATCHFILE" echo 'export const patch =' \ >> "$PATCHFILE" git diff --no-index "$TEMP_DIR"/orig "$TEMP_DIR"/patched \ + | perl -p -e"s#^--- #semver exclusivity >=3\n--- #" \ | perl -p -e"s#$TEMP_DIR/orig##" \ | perl -p -e"s#$TEMP_DIR/patched##" \ | perl -p -e"s#__spreadArrays#[].concat#" \ diff --git a/packages/plugin-compat/sources/patches/fsevents.patch.ts b/packages/plugin-compat/sources/patches/fsevents.patch.ts index 5b61a26363e9..c312bfa55b09 100644 --- a/packages/plugin-compat/sources/patches/fsevents.patch.ts +++ b/packages/plugin-compat/sources/patches/fsevents.patch.ts @@ -1,3 +1,3 @@ export const patch = -"diff --git a/fsevents.js b/fsevents.js\nsemver exclusivity ^1\n--- a/fsevents.js\n+++ b/fsevents.js\n@@ -36,11 +36,15 @@ module.exports.Constants = Native.Constants;\n var defer = global.setImmediate || process.nextTick;\n\n function watch(path) {\n- var fse = new FSEvents(String(path || ''), handler);\n+ var VFS = require('./vfs');\n+ var vfs = new VFS(String(path || ''));\n+\n+ var fse = new FSEvents(vfs.resolvedPath, handler);\n EventEmitter.call(fse);\n return fse;\n\n function handler(path, flags, id) {\n+ path = vfs.transpose(path);\n defer(function() {\n fse.emit('fsevent', path, flags, id);\n var info = getInfo(path, flags);\ndiff --git a/fsevents.js b/fsevents.js\nsemver exclusivity ^2\n--- a/fsevents.js\n+++ b/fsevents.js\n@@ -21,5 +21,7 @@ function watch(path, handler) {\n throw new TypeError(`fsevents argument 2 must be a function and not a ${typeof handler}`);\n }\n\n- let instance = Native.start(path, handler);\n+ let VFS = require('./vfs');\n+ let vfs = new VFS(path);\n+ let instance = Native.start(vfs.resolvedPath, vfs.wrap(handler));\n if (!instance) throw new Error(`could not watch: ${path}`);\ndiff --git a/vfs.js b/vfs.js\nnew file mode 100644\n--- /dev/null\n+++ b/vfs.js\n@@ -0,0 +1,41 @@\n+const path = require(`path`);\n+\n+const NUMBER_REGEXP = /^[0-9]+$/;\n+const VIRTUAL_REGEXP = /^(\\/(?:[^\\/]+\\/)*?\\$\\$virtual)((?:\\/([^\\/]+)(?:\\/([^\\/]+))?)?((?:\\/.*)?))$/;\n+\n+function resolveVirtual(p) {\n+ const match = p.match(VIRTUAL_REGEXP);\n+ if (!match)\n+ return p;\n+\n+ const target = path.dirname(match[1]);\n+ if (!match[3] || !match[4])\n+ return target;\n+\n+ const isnum = NUMBER_REGEXP.test(match[4]);\n+ if (!isnum)\n+ return p;\n+\n+ const depth = Number(match[4]);\n+ const backstep = `../`.repeat(depth);\n+ const subpath = (match[5] || `.`);\n+\n+ return resolveVirtual(path.join(target, backstep, subpath));\n+}\n+\n+module.exports = class FsePnp {\n+ constructor(p) {\n+ this.normalizedPath = path.resolve(p);\n+ this.resolvedPath = resolveVirtual(this.normalizedPath);\n+ }\n+\n+ transpose(p) {\n+ return this.normalizedPath + p.substr(this.resolvedPath.length);\n+ }\n+\n+ wrap(fn) {\n+ return (path, ...args) => {\n+ return fn(this.transpose(path), ...args);\n+ };\n+ }\n+};\n" +"diff --git a/fsevents.js b/fsevents.js\nsemver exclusivity ^1\n--- a/fsevents.js\n+++ b/fsevents.js\n@@ -36,11 +36,15 @@ module.exports.Constants = Native.Constants;\n var defer = global.setImmediate || process.nextTick;\n\n function watch(path) {\n- var fse = new FSEvents(String(path || ''), handler);\n+ var VFS = require('./vfs');\n+ var vfs = new VFS(String(path || ''));\n+\n+ var fse = new FSEvents(vfs.resolvedPath, handler);\n EventEmitter.call(fse);\n return fse;\n\n function handler(path, flags, id) {\n+ path = vfs.transpose(path);\n defer(function() {\n fse.emit('fsevent', path, flags, id);\n var info = getInfo(path, flags);\ndiff --git a/fsevents.js b/fsevents.js\nsemver exclusivity ^2.1\n--- a/fsevents.js\n+++ b/fsevents.js\n@@ -21,5 +21,7 @@ function watch(path, handler) {\n throw new TypeError(`fsevents argument 2 must be a function and not a ${typeof handler}`);\n }\n\n- let instance = Native.start(path, handler);\n+ let VFS = require('./vfs');\n+ let vfs = new VFS(path);\n+ let instance = Native.start(vfs.resolvedPath, vfs.wrap(handler));\n if (!instance) throw new Error(`could not watch: ${path}`);\ndiff --git a/vfs.js b/vfs.js\nnew file mode 100644\n--- /dev/null\n+++ b/vfs.js\n@@ -0,0 +1,41 @@\n+const path = require(`path`);\n+\n+const NUMBER_REGEXP = /^[0-9]+$/;\n+const VIRTUAL_REGEXP = /^(\\/(?:[^\\/]+\\/)*?\\$\\$virtual)((?:\\/([^\\/]+)(?:\\/([^\\/]+))?)?((?:\\/.*)?))$/;\n+\n+function resolveVirtual(p) {\n+ const match = p.match(VIRTUAL_REGEXP);\n+ if (!match)\n+ return p;\n+\n+ const target = path.dirname(match[1]);\n+ if (!match[3] || !match[4])\n+ return target;\n+\n+ const isnum = NUMBER_REGEXP.test(match[4]);\n+ if (!isnum)\n+ return p;\n+\n+ const depth = Number(match[4]);\n+ const backstep = `../`.repeat(depth);\n+ const subpath = (match[5] || `.`);\n+\n+ return resolveVirtual(path.join(target, backstep, subpath));\n+}\n+\n+module.exports = class FsePnp {\n+ constructor(p) {\n+ this.normalizedPath = path.resolve(p);\n+ this.resolvedPath = resolveVirtual(this.normalizedPath);\n+ }\n+\n+ transpose(p) {\n+ return this.normalizedPath + p.substr(this.resolvedPath.length);\n+ }\n+\n+ wrap(fn) {\n+ return (path, ...args) => {\n+ return fn(this.transpose(path), ...args);\n+ };\n+ }\n+};\n" ; diff --git a/packages/plugin-compat/sources/patches/typescript.patch.ts b/packages/plugin-compat/sources/patches/typescript.patch.ts index e2f483eed06e..c3797a8e406f 100644 --- a/packages/plugin-compat/sources/patches/typescript.patch.ts +++ b/packages/plugin-compat/sources/patches/typescript.patch.ts @@ -1,3 +1,3 @@ export const patch = -"diff --git a/lib/tsc.js b/lib/tsc.js\nindex d7f749f633..3b98f164c2 100644\n--- a/lib/tsc.js\n+++ b/lib/tsc.js\n@@ -22576,21 +22576,47 @@ var ts;\n }\n }\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference) {\n var traceEnabled = isTraceEnabled(options, host);\n if (redirectedReference) {\n@@ -22670,7 +22696,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -23043,9 +23071,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -23487,6 +23518,45 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), false, state, true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), false, state, true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n var ts;\n (function (ts) {\ndiff --git a/lib/tsserver.js b/lib/tsserver.js\nindex 4ea67ecd85..41c335a9e6 100644\n--- a/lib/tsserver.js\n+++ b/lib/tsserver.js\n@@ -27790,24 +27790,50 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -27894,7 +27920,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28378,9 +28406,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -28876,6 +28907,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js\nindex 2897a22620..da04c7066d 100644\n--- a/lib/tsserverlibrary.js\n+++ b/lib/tsserverlibrary.js\n@@ -27940,24 +27940,50 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -28044,7 +28070,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28528,9 +28556,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29026,6 +29057,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typescript.js b/lib/typescript.js\nindex 548ceea966..5e0e8970dc 100644\n--- a/lib/typescript.js\n+++ b/lib/typescript.js\n@@ -27929,24 +27929,50 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28059,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,9 +28545,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29015,6 +29046,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typescriptServices.js b/lib/typescriptServices.js\nindex 9046c6f907..7d0d7a9c00 100644\n--- a/lib/typescriptServices.js\n+++ b/lib/typescriptServices.js\n@@ -27929,24 +27929,50 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28059,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,9 +28545,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29015,6 +29046,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js\nindex 776a2e0a9b..26e5510fa1 100644\n--- a/lib/typingsInstaller.js\n+++ b/lib/typingsInstaller.js\n@@ -27779,24 +27779,50 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -27883,7 +27909,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28367,9 +28395,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -28865,6 +28896,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n" +"diff --git a/lib/tsc.js b/lib/tsc.js\nindex d7f749f633..c4a080b2c8 100644\nsemver exclusivity >=3\n--- a/lib/tsc.js\n+++ b/lib/tsc.js\n@@ -22576,21 +22576,48 @@ var ts;\n }\n }\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference) {\n var traceEnabled = isTraceEnabled(options, host);\n if (redirectedReference) {\n@@ -22670,7 +22697,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -23043,9 +23072,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -23487,6 +23519,45 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), false, state, true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), false, state, true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n var ts;\n (function (ts) {\ndiff --git a/lib/tsserver.js b/lib/tsserver.js\nindex 4ea67ecd85..057ea079ad 100644\nsemver exclusivity >=3\n--- a/lib/tsserver.js\n+++ b/lib/tsserver.js\n@@ -27790,24 +27790,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren't normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -27894,7 +27922,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28378,9 +28408,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -28876,6 +28909,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js\nindex 2897a22620..cf3e054327 100644\nsemver exclusivity >=3\n--- a/lib/tsserverlibrary.js\n+++ b/lib/tsserverlibrary.js\n@@ -27940,24 +27940,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren't normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -28044,7 +28072,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28528,9 +28558,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29026,6 +29059,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typescript.js b/lib/typescript.js\nindex 548ceea966..92c195a616 100644\nsemver exclusivity >=3\n--- a/lib/typescript.js\n+++ b/lib/typescript.js\n@@ -27929,24 +27929,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren't normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28061,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,9 +28547,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29015,6 +29048,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typescriptServices.js b/lib/typescriptServices.js\nindex 9046c6f907..0f0db98cbb 100644\nsemver exclusivity >=3\n--- a/lib/typescriptServices.js\n+++ b/lib/typescriptServices.js\n@@ -27929,24 +27929,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren't normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28061,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,9 +28547,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29015,6 +29048,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js\nindex 776a2e0a9b..cfa1e84496 100644\nsemver exclusivity >=3\n--- a/lib/typingsInstaller.js\n+++ b/lib/typingsInstaller.js\n@@ -27779,24 +27779,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn't exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths(\"node_modules\", \"@types\");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren't normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + \"/\");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = \"@types/\";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups\n@@ -27883,7 +27911,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28367,9 +28397,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -28865,6 +28898,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don't execute potentially malicious code that didn't already have a\n+ * chance to be executed (if we're running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require(\"pnpapi\");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + \"/\", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n" ; diff --git a/yarn.lock b/yarn.lock index 5b3ed0e728f7..a1f855d97f40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11944,7 +11944,7 @@ fsevents@^1.2.2: "fsevents@patch:fsevents@^1.0.0#builtin, fsevents@patch:fsevents@^1.2.7#builtin": version: 1.2.7 - resolution: "fsevents@patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=e8cd9e" + resolution: "fsevents@patch:fsevents@npm%3A1.2.7#builtin::version=1.2.7&hash=77dfe6" dependencies: nan: ^2.9.2 node-pre-gyp: ^0.10.0 @@ -11954,7 +11954,7 @@ fsevents@^1.2.2: "fsevents@patch:fsevents@^1.2.2#builtin": version: 1.2.6 - resolution: "fsevents@patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=e8cd9e" + resolution: "fsevents@patch:fsevents@npm%3A1.2.6#builtin::version=1.2.6&hash=77dfe6" dependencies: nan: ^2.9.2 node-pre-gyp: ^0.10.0 @@ -24308,11 +24308,11 @@ resolve@^1.10.1: "typescript@patch:typescript@*#builtin, typescript@patch:typescript@^3.7.4#builtin": version: 3.7.4 - resolution: "typescript@patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=226bd1" + resolution: "typescript@patch:typescript@npm%3A3.7.4#builtin::version=3.7.4&hash=273569" bin: tsc: ./bin/tsc tsserver: ./bin/tsserver - checksum: 2/f39de68fea020f03929159a25aefcb7194eb4a5ee85ade1b76733f99f009e3e3d46790778d6b700cd8ad30b0baade750a2f5fafbc71f75c1286b0e637e305aed + checksum: 2/783bad1234fd466f8b481e9d1d6fd2286af993731eb59c23e48a091805b8687cf0d68f992061da0f721b6f09b63e8da7e4f5d9f724c25c91cecbb8f53a643e47 languageName: node linkType: hard