diff --git a/.pnp.js b/.pnp.js index 702c3bf674b4..840825533149 100755 --- a/.pnp.js +++ b/.pnp.js @@ -328,7 +328,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], [ "clipanion", - "npm:2.1.5" + "npm:2.4.0" ], [ "eslint", @@ -397,7 +397,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/eslint-config", "virtual:e470d99b1e4fdf4c5db5d090ff5472cdeba0404b7ffd31cd2efab3493dd184c67bc45f60c2ef1c040e2c41afe38c6280bffc5df2fbe3aefaa2b6eacf685ab07c#workspace:packages/eslint-config"], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["babel-jest", "virtual:e470d99b1e4fdf4c5db5d090ff5472cdeba0404b7ffd31cd2efab3493dd184c67bc45f60c2ef1c040e2c41afe38c6280bffc5df2fbe3aefaa2b6eacf685ab07c#npm:24.5.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["eslint", "npm:6.8.0"], ["eslint-plugin-arca", "npm:0.9.0"], ["eslint-plugin-react", "virtual:e470d99b1e4fdf4c5db5d090ff5472cdeba0404b7ffd31cd2efab3493dd184c67bc45f60c2ef1c040e2c41afe38c6280bffc5df2fbe3aefaa2b6eacf685ab07c#npm:7.14.3"], @@ -7967,7 +7967,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["babel-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:8.0.6"], ["babel-plugin-lazy-import", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b"], ["chalk", "npm:3.0.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["filesize", "npm:4.1.2"], ["pnp-webpack-plugin", "npm:1.4.3"], ["semver", "npm:7.1.2"], @@ -8004,7 +8004,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["babel-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:8.0.6"], ["babel-plugin-lazy-import", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b"], ["chalk", "npm:3.0.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["filesize", "npm:4.1.2"], ["pnp-webpack-plugin", "npm:1.4.3"], ["semver", "npm:7.1.2"], @@ -8048,7 +8048,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["@yarnpkg/shell", "workspace:packages/yarnpkg-shell"], ["chalk", "npm:3.0.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["fromentries", "npm:1.2.0"], ["micromatch", "npm:4.0.2"], ["semver", "npm:7.1.2"], @@ -8089,7 +8089,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["@yarnpkg/shell", "workspace:packages/yarnpkg-shell"], ["chalk", "npm:3.0.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["fromentries", "npm:1.2.0"], ["micromatch", "npm:4.0.2"], ["semver", "npm:7.1.2"], @@ -8125,7 +8125,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/shell", "workspace:packages/yarnpkg-shell"], ["camelcase", "npm:5.3.1"], ["chalk", "npm:3.0.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["cross-spawn", "npm:7.0.3"], ["diff", "npm:4.0.1"], ["globby", "npm:10.0.1"], @@ -8156,7 +8156,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/monorepo", "workspace:."], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["globby", "npm:10.0.1"], ["micromatch", "npm:4.0.2"], ["p-limit", "npm:2.2.0"], @@ -8377,7 +8377,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/eslint-config", "virtual:e470d99b1e4fdf4c5db5d090ff5472cdeba0404b7ffd31cd2efab3493dd184c67bc45f60c2ef1c040e2c41afe38c6280bffc5df2fbe3aefaa2b6eacf685ab07c#workspace:packages/eslint-config"], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["babel-jest", "virtual:e470d99b1e4fdf4c5db5d090ff5472cdeba0404b7ffd31cd2efab3493dd184c67bc45f60c2ef1c040e2c41afe38c6280bffc5df2fbe3aefaa2b6eacf685ab07c#npm:24.5.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["eslint", "npm:6.8.0"], ["eslint-plugin-arca", "npm:0.9.0"], ["eslint-plugin-react", "virtual:e470d99b1e4fdf4c5db5d090ff5472cdeba0404b7ffd31cd2efab3493dd184c67bc45f60c2ef1c040e2c41afe38c6280bffc5df2fbe3aefaa2b6eacf685ab07c#npm:7.14.3"], @@ -8450,7 +8450,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["lodash", "npm:4.17.15"], ["node-emoji", "npm:1.8.1"], @@ -8469,7 +8469,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/json-proxy", "workspace:packages/yarnpkg-json-proxy"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "packagePeers": [ "@yarnpkg/cli", @@ -8485,7 +8485,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/json-proxy", "workspace:packages/yarnpkg-json-proxy"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "packagePeers": [ "@yarnpkg/cli", @@ -8501,7 +8501,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/json-proxy", "workspace:packages/yarnpkg-json-proxy"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "linkType": "SOFT", }] @@ -8520,7 +8520,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/json-proxy", "workspace:packages/yarnpkg-json-proxy"], ["@yarnpkg/parsers", "workspace:packages/yarnpkg-parsers"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["lodash", "npm:4.17.15"], ["semver", "npm:7.1.2"], @@ -8546,7 +8546,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/json-proxy", "workspace:packages/yarnpkg-json-proxy"], ["@yarnpkg/parsers", "workspace:packages/yarnpkg-parsers"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["lodash", "npm:4.17.15"], ["semver", "npm:7.1.2"], @@ -8572,7 +8572,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/json-proxy", "workspace:packages/yarnpkg-json-proxy"], ["@yarnpkg/parsers", "workspace:packages/yarnpkg-parsers"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["lodash", "npm:4.17.15"], ["semver", "npm:7.1.2"], @@ -8704,7 +8704,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "packagePeers": [ "@yarnpkg/cli", @@ -8719,7 +8719,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "packagePeers": [ "@yarnpkg/cli", @@ -8734,7 +8734,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "linkType": "SOFT", }] @@ -8752,7 +8752,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/libui", "virtual:a4e4e792796cefb4fb82f09187fa18bf4c97a9cb5b106da0eab6189e1895a4bb9bf068e5c91168fec85cee1392df48e4a120f3bae6cbbbde019ff2c21186a374#workspace:packages/yarnpkg-libui"], ["@yarnpkg/plugin-essentials", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-essentials"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["diff", "npm:4.0.1"], ["ink", "virtual:a4e4e792796cefb4fb82f09187fa18bf4c97a9cb5b106da0eab6189e1895a4bb9bf068e5c91168fec85cee1392df48e4a120f3bae6cbbbde019ff2c21186a374#npm:2.3.0"], ["react", "npm:16.13.1"], @@ -8801,7 +8801,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/pnp", "workspace:packages/yarnpkg-pnp"], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["@zkochan/cmd-shim", "npm:4.3.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["micromatch", "npm:4.0.2"] ], "packagePeers": [ @@ -8825,7 +8825,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/pnp", "workspace:packages/yarnpkg-pnp"], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["@zkochan/cmd-shim", "npm:4.3.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["micromatch", "npm:4.0.2"] ], "packagePeers": [ @@ -8849,7 +8849,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/pnp", "workspace:packages/yarnpkg-pnp"], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["@zkochan/cmd-shim", "npm:4.3.0"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["micromatch", "npm:4.0.2"] ], "linkType": "SOFT", @@ -8901,7 +8901,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-npm", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-npm"], ["@yarnpkg/plugin-pack", "virtual:4864d30fc563f2fd1b72a5e3869493c5f50bf38f98ed3886173d80c044d981c3f68220dbf17f2b5fc5b4c5fba7d0af2e003926efe3487086484049f41c449852#workspace:packages/plugin-pack"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["semver", "npm:7.1.2"], ["ssri", "npm:6.0.1"], @@ -8929,7 +8929,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-npm", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-npm"], ["@yarnpkg/plugin-pack", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-pack"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["semver", "npm:7.1.2"], ["ssri", "npm:6.0.1"], @@ -8957,7 +8957,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-npm", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-npm"], ["@yarnpkg/plugin-pack", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-pack"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["inquirer", "npm:6.2.1"], ["semver", "npm:7.1.2"], ["ssri", "npm:6.0.1"], @@ -8977,7 +8977,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-stage", "virtual:6c4ffdc97c0a8fe6a15cb1b353664a2d1556c0bef782dc06790db015a35ca3cd125eaf355368c58a3aaf6330c79507c16275fc3a3c13a847d89839cdae6b509e#workspace:packages/plugin-stage"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["micromatch", "npm:4.0.2"], ["tar-stream", "npm:2.0.1"] ], @@ -8997,7 +8997,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-stage", "virtual:9af797eaca9597d8ce3ab2f300dc3678fe1b6a7e9a9c8f1e28a40ffa76c2f3b3249454b171507aa93cb1cb92455654f3344ae77bd4a79f79fd0fbc16734faa67#workspace:packages/plugin-stage"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["micromatch", "npm:4.0.2"], ["tar-stream", "npm:2.0.1"] ], @@ -9017,7 +9017,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-stage", "virtual:9af797eaca9597d8ce3ab2f300dc3678fe1b6a7e9a9c8f1e28a40ffa76c2f3b3249454b171507aa93cb1cb92455654f3344ae77bd4a79f79fd0fbc16734faa67#workspace:packages/plugin-stage"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["micromatch", "npm:4.0.2"], ["tar-stream", "npm:2.0.1"] ], @@ -9034,7 +9034,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/libzip", "workspace:packages/yarnpkg-libzip"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "packagePeers": [ "@yarnpkg/cli", @@ -9051,7 +9051,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/libzip", "workspace:packages/yarnpkg-libzip"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "packagePeers": [ "@yarnpkg/core" @@ -9067,7 +9067,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/libzip", "workspace:packages/yarnpkg-libzip"], - ["clipanion", "npm:2.1.5"] + ["clipanion", "npm:2.4.0"] ], "linkType": "SOFT", }] @@ -9083,7 +9083,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-stage", "virtual:6c4ffdc97c0a8fe6a15cb1b353664a2d1556c0bef782dc06790db015a35ca3cd125eaf355368c58a3aaf6330c79507c16275fc3a3c13a847d89839cdae6b509e#workspace:packages/plugin-stage"], ["@yarnpkg/pnp", "workspace:packages/yarnpkg-pnp"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["semver", "npm:7.1.2"] ], "packagePeers": [ @@ -9102,7 +9102,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-stage", "virtual:9af797eaca9597d8ce3ab2f300dc3678fe1b6a7e9a9c8f1e28a40ffa76c2f3b3249454b171507aa93cb1cb92455654f3344ae77bd4a79f79fd0fbc16734faa67#workspace:packages/plugin-stage"], ["@yarnpkg/pnp", "workspace:packages/yarnpkg-pnp"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["semver", "npm:7.1.2"] ], "packagePeers": [ @@ -9121,7 +9121,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/plugin-stage", "virtual:9af797eaca9597d8ce3ab2f300dc3678fe1b6a7e9a9c8f1e28a40ffa76c2f3b3249454b171507aa93cb1cb92455654f3344ae77bd4a79f79fd0fbc16734faa67#workspace:packages/plugin-stage"], ["@yarnpkg/pnp", "workspace:packages/yarnpkg-pnp"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["semver", "npm:7.1.2"] ], "linkType": "SOFT", @@ -9136,7 +9136,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["typescript", "patch:typescript@npm%3A3.8.3#builtin::version=3.8.3&hash=0ea415"] ], "packagePeers": [ @@ -9153,7 +9153,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["typescript", "patch:typescript@npm%3A3.8.3#builtin::version=3.8.3&hash=0ea415"] ], "packagePeers": [ @@ -9170,7 +9170,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["typescript", "patch:typescript@npm%3A3.8.3#builtin::version=3.8.3&hash=0ea415"] ], "linkType": "SOFT", @@ -9210,7 +9210,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/libui", "virtual:a4e4e792796cefb4fb82f09187fa18bf4c97a9cb5b106da0eab6189e1895a4bb9bf068e5c91168fec85cee1392df48e4a120f3bae6cbbbde019ff2c21186a374#workspace:packages/yarnpkg-libui"], ["@yarnpkg/parsers", "workspace:packages/yarnpkg-parsers"], ["@yarnpkg/plugin-pack", "virtual:cd2af72718007566941ac9f5a6def4d055c38029c95c3ac065493603e6055c1d77b2f2df752588114932973488b5a566f49b00118e7e12f48aa0798ea38cc15b#workspace:packages/plugin-pack"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["ink", "virtual:a4e4e792796cefb4fb82f09187fa18bf4c97a9cb5b106da0eab6189e1895a4bb9bf068e5c91168fec85cee1392df48e4a120f3bae6cbbbde019ff2c21186a374#npm:2.3.0"], ["react", "npm:16.13.1"], ["semver", "npm:7.1.2"], @@ -9230,7 +9230,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/cli", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#workspace:packages/yarnpkg-cli"], ["@yarnpkg/core", "workspace:packages/yarnpkg-core"], ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["p-limit", "npm:2.2.0"], ["typescript", "patch:typescript@npm%3A3.8.3#builtin::version=3.8.3&hash=0ea415"], ["yup", "npm:0.27.0"] @@ -9308,7 +9308,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/fslib", "workspace:packages/yarnpkg-fslib"], ["@yarnpkg/monorepo", "workspace:."], ["@yarnpkg/parsers", "workspace:packages/yarnpkg-parsers"], - ["clipanion", "npm:2.1.5"], + ["clipanion", "npm:2.4.0"], ["cross-spawn", "npm:7.0.3"], ["fast-glob", "npm:3.2.2"], ["stream-buffers", "npm:3.0.2"] @@ -12483,11 +12483,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:2.1.5", { - "packageLocation": "./.yarn/cache/clipanion-npm-2.1.5-aef0ebbd62-70279d4cb7.zip/node_modules/clipanion/", + ["npm:2.4.0", { + "packageLocation": "./.yarn/cache/clipanion-npm-2.4.0-631d1a56dc-43030bb880.zip/node_modules/clipanion/", "packageDependencies": [ - ["clipanion", "npm:2.1.5"], - ["chalk", "npm:2.4.2"] + ["clipanion", "npm:2.4.0"] ], "linkType": "HARD", }] @@ -13208,7 +13207,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ]], ["core-js-pure", [ ["npm:3.6.5", { - "packageLocation": "./.yarn/unplugged/core-js-pure-npm-3.6.5-c634b57d82/node_modules/core-js-pure/", + "packageLocation": "./.yarn/cache/core-js-pure-npm-3.6.5-c634b57d82-91fc8e0b69.zip/node_modules/core-js-pure/", "packageDependencies": [ ["core-js-pure", "npm:3.6.5"] ], diff --git a/.yarn/cache/clipanion-npm-2.1.5-aef0ebbd62-70279d4cb7.zip b/.yarn/cache/clipanion-npm-2.1.5-aef0ebbd62-70279d4cb7.zip deleted file mode 100644 index 63429cca4aa1..000000000000 Binary files a/.yarn/cache/clipanion-npm-2.1.5-aef0ebbd62-70279d4cb7.zip and /dev/null differ diff --git a/.yarn/cache/clipanion-npm-2.4.0-631d1a56dc-43030bb880.zip b/.yarn/cache/clipanion-npm-2.4.0-631d1a56dc-43030bb880.zip new file mode 100644 index 000000000000..fc5e819b118c Binary files /dev/null and b/.yarn/cache/clipanion-npm-2.4.0-631d1a56dc-43030bb880.zip differ diff --git a/.yarn/versions/7fb81f28.yml b/.yarn/versions/7fb81f28.yml new file mode 100644 index 000000000000..e605ef4f71e0 --- /dev/null +++ b/.yarn/versions/7fb81f28.yml @@ -0,0 +1,32 @@ +releases: + "@yarnpkg/builder": prerelease + "@yarnpkg/cli": prerelease + "@yarnpkg/core": prerelease + "@yarnpkg/doctor": prerelease + "@yarnpkg/plugin-constraints": prerelease + "@yarnpkg/plugin-dlx": prerelease + "@yarnpkg/plugin-essentials": prerelease + "@yarnpkg/plugin-github": prerelease + "@yarnpkg/plugin-init": prerelease + "@yarnpkg/plugin-interactive-tools": prerelease + "@yarnpkg/plugin-node-modules": prerelease + "@yarnpkg/plugin-npm-cli": prerelease + "@yarnpkg/plugin-pack": prerelease + "@yarnpkg/plugin-patch": prerelease + "@yarnpkg/plugin-pnp": prerelease + "@yarnpkg/plugin-stage": prerelease + "@yarnpkg/plugin-version": prerelease + "@yarnpkg/plugin-workspace-tools": prerelease + "@yarnpkg/pnp": prerelease + "@yarnpkg/shell": prerelease + +declined: + - "@yarnpkg/plugin-compat" + - "@yarnpkg/plugin-exec" + - "@yarnpkg/plugin-file" + - "@yarnpkg/plugin-git" + - "@yarnpkg/plugin-http" + - "@yarnpkg/plugin-link" + - "@yarnpkg/plugin-npm" + - "@yarnpkg/plugin-typescript" + - "@yarnpkg/pnpify" diff --git a/package.json b/package.json index 0a8795de3b65..abd8e67e596f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@yarnpkg/eslint-config": "workspace:^0.0.0", "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22", "babel-jest": "^24.5.0", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "eslint": "^6.8.0", "eslint-plugin-arca": "^0.9.0", "eslint-plugin-react": "^7.14.3", @@ -44,6 +44,9 @@ "core-js": { "built": false }, + "core-js-pure": { + "built": false + }, "date-fns": { "built": false }, diff --git a/packages/gatsby/src/components/search/SearchBox.js b/packages/gatsby/src/components/search/SearchBox.js index a01877c86d28..2bea92b6e33b 100644 --- a/packages/gatsby/src/components/search/SearchBox.js +++ b/packages/gatsby/src/components/search/SearchBox.js @@ -83,7 +83,7 @@ const RawSearchBox = ({currentRefinement, refine, autoFocus}) => { e.preventDefault(); e.stopPropagation(); - navigate(`/package?${currentRefinement}`); + navigate(`/package/${currentRefinement}`); }; return ( @@ -106,7 +106,7 @@ const RawSearchBox = ({currentRefinement, refine, autoFocus}) => { size="1" /> - refine('')}> + refine(``)}> ); }; diff --git a/packages/plugin-constraints/package.json b/packages/plugin-constraints/package.json index f623c2665ffc..015588162444 100644 --- a/packages/plugin-constraints/package.json +++ b/packages/plugin-constraints/package.json @@ -9,7 +9,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "inquirer": "^6.2.0", "lodash": "^4.17.15", "node-emoji": "^1.8.1", diff --git a/packages/plugin-dlx/package.json b/packages/plugin-dlx/package.json index decc9a1170d7..7d379e7ab941 100644 --- a/packages/plugin-dlx/package.json +++ b/packages/plugin-dlx/package.json @@ -6,7 +6,7 @@ "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/json-proxy": "workspace:^2.0.0-rc.7", - "clipanion": "^2.1.5" + "clipanion": "^2.4.0" }, "peerDependencies": { "@yarnpkg/cli": "^2.0.0-rc.33", diff --git a/packages/plugin-essentials/package.json b/packages/plugin-essentials/package.json index 8c78b626ed1e..5f7b9d63270c 100644 --- a/packages/plugin-essentials/package.json +++ b/packages/plugin-essentials/package.json @@ -7,7 +7,7 @@ "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/json-proxy": "workspace:^2.0.0-rc.7", "@yarnpkg/parsers": "workspace:^2.0.0-rc.11", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "inquirer": "^6.2.0", "lodash": "^4.17.15", "semver": "^7.1.2", diff --git a/packages/plugin-github/sources/index.ts b/packages/plugin-github/sources/index.ts index 5b3277cd569e..15cf15e09a73 100644 --- a/packages/plugin-github/sources/index.ts +++ b/packages/plugin-github/sources/index.ts @@ -16,7 +16,6 @@ const plugin: Plugin = { try { return await fetcher.fetch(locator, opts); } catch (error) { - console.log(error); return null; } }, diff --git a/packages/plugin-init/package.json b/packages/plugin-init/package.json index 84ddd12aaa2c..6c08a478272d 100644 --- a/packages/plugin-init/package.json +++ b/packages/plugin-init/package.json @@ -5,7 +5,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5" + "clipanion": "^2.4.0" }, "peerDependencies": { "@yarnpkg/cli": "^2.0.0-rc.33", diff --git a/packages/plugin-interactive-tools/package.json b/packages/plugin-interactive-tools/package.json index a5c9f5c60ef5..a7666509b2a2 100644 --- a/packages/plugin-interactive-tools/package.json +++ b/packages/plugin-interactive-tools/package.json @@ -5,7 +5,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/libui": "workspace:^2.0.0-rc.7", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "diff": "^4.0.1", "ink": "^2.3.0", "react": "^16.13.1", diff --git a/packages/plugin-node-modules/package.json b/packages/plugin-node-modules/package.json index 4276ad1ad316..643de35c188c 100644 --- a/packages/plugin-node-modules/package.json +++ b/packages/plugin-node-modules/package.json @@ -10,7 +10,7 @@ "@yarnpkg/pnp": "workspace:^2.0.0-rc.20", "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22", "@zkochan/cmd-shim": "^4.3.0", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "micromatch": "^4.0.2" }, "peerDependencies": { diff --git a/packages/plugin-npm-cli/package.json b/packages/plugin-npm-cli/package.json index 4a38500d79da..02c33f85619e 100644 --- a/packages/plugin-npm-cli/package.json +++ b/packages/plugin-npm-cli/package.json @@ -5,7 +5,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "inquirer": "^6.2.0", "semver": "^7.1.2", "ssri": "^6.0.1", diff --git a/packages/plugin-pack/package.json b/packages/plugin-pack/package.json index 6665046c34a2..d9b5f644a116 100644 --- a/packages/plugin-pack/package.json +++ b/packages/plugin-pack/package.json @@ -5,7 +5,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "micromatch": "^4.0.2", "tar-stream": "^2.0.1" }, diff --git a/packages/plugin-patch/package.json b/packages/plugin-patch/package.json index f3b78f25be92..52939c3eec24 100644 --- a/packages/plugin-patch/package.json +++ b/packages/plugin-patch/package.json @@ -6,7 +6,7 @@ "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/libzip": "workspace:^2.0.0-rc.11", - "clipanion": "^2.1.5" + "clipanion": "^2.4.0" }, "peerDependencies": { "@yarnpkg/cli": "^2.0.0-rc.33", diff --git a/packages/plugin-pnp/package.json b/packages/plugin-pnp/package.json index 53240108ff66..a5f79f24e32a 100644 --- a/packages/plugin-pnp/package.json +++ b/packages/plugin-pnp/package.json @@ -8,7 +8,7 @@ "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/plugin-stage": "workspace:^2.0.0-rc.15", "@yarnpkg/pnp": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "semver": "^7.1.2" }, "peerDependencies": { diff --git a/packages/plugin-stage/package.json b/packages/plugin-stage/package.json index 7eb1f381c8aa..699dbe780e52 100644 --- a/packages/plugin-stage/package.json +++ b/packages/plugin-stage/package.json @@ -5,7 +5,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5" + "clipanion": "^2.4.0" }, "peerDependencies": { "@yarnpkg/cli": "^2.0.0-rc.33", diff --git a/packages/plugin-version/package.json b/packages/plugin-version/package.json index b2e5b1375772..a0127587118d 100644 --- a/packages/plugin-version/package.json +++ b/packages/plugin-version/package.json @@ -7,7 +7,7 @@ "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/libui": "workspace:^2.0.0-rc.7", "@yarnpkg/parsers": "workspace:^2.0.0-rc.11", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "ink": "^2.3.0", "react": "^16.13.1", "semver": "^7.1.2", diff --git a/packages/plugin-version/sources/commands/version/check.tsx b/packages/plugin-version/sources/commands/version/check.tsx index 4f6bc33347ee..1cb888f534e8 100644 --- a/packages/plugin-version/sources/commands/version/check.tsx +++ b/packages/plugin-version/sources/commands/version/check.tsx @@ -114,9 +114,9 @@ export default class VersionApplyCommand extends Command { {strategies.map(strategy => { if (strategy === decision) { - return {strategy}; + return {strategy} ; } else { - return {strategy}; + return {strategy} ; } })} diff --git a/packages/plugin-workspace-tools/package.json b/packages/plugin-workspace-tools/package.json index 8ede8138c259..f49c2d241429 100644 --- a/packages/plugin-workspace-tools/package.json +++ b/packages/plugin-workspace-tools/package.json @@ -5,7 +5,7 @@ "main": "./sources/index.ts", "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "p-limit": "^2.2.0", "yup": "^0.27.0" }, diff --git a/packages/yarnpkg-builder/package.json b/packages/yarnpkg-builder/package.json index 1b363f83154e..56e355005d00 100644 --- a/packages/yarnpkg-builder/package.json +++ b/packages/yarnpkg-builder/package.json @@ -14,7 +14,7 @@ "babel-loader": "^8.0.6", "babel-plugin-lazy-import": "arcanis/babel-plugin-lazy-import", "chalk": "^3.0.0", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "filesize": "^4.1.2", "pnp-webpack-plugin": "^1.4.3", "semver": "^7.1.2", diff --git a/packages/yarnpkg-builder/sources/commands/build/bundle.ts b/packages/yarnpkg-builder/sources/commands/build/bundle.ts index 75388d758d94..0fe36b7deaf7 100644 --- a/packages/yarnpkg-builder/sources/commands/build/bundle.ts +++ b/packages/yarnpkg-builder/sources/commands/build/bundle.ts @@ -51,7 +51,8 @@ export default class BuildBundleCommand extends Command { async execute() { const basedir = process.cwd(); const portableBaseDir = npath.toPortablePath(basedir); - const configuration = new Configuration(portableBaseDir, portableBaseDir, new Map()); + + const configuration = Configuration.create(portableBaseDir); const plugins = findPlugins({basedir, profile: this.profile, plugins: this.plugins.map(plugin => path.resolve(plugin))}); const modules = [...getDynamicLibs().keys()].concat(plugins); diff --git a/packages/yarnpkg-builder/sources/commands/build/plugin.ts b/packages/yarnpkg-builder/sources/commands/build/plugin.ts index de12dbb69fad..a743df7ed41e 100644 --- a/packages/yarnpkg-builder/sources/commands/build/plugin.ts +++ b/packages/yarnpkg-builder/sources/commands/build/plugin.ts @@ -36,7 +36,7 @@ export default class BuildPluginCommand extends Command { async execute() { const basedir = process.cwd(); const portableBaseDir = npath.toPortablePath(basedir); - const configuration = new Configuration(portableBaseDir, portableBaseDir, new Map()); + const configuration = Configuration.create(portableBaseDir); const {name: rawName} = require(`${basedir}/package.json`); const name = getNormalizedName(rawName); diff --git a/packages/yarnpkg-cli/package.json b/packages/yarnpkg-cli/package.json index ac8f55cc4d63..04560b194be1 100644 --- a/packages/yarnpkg-cli/package.json +++ b/packages/yarnpkg-cli/package.json @@ -25,7 +25,7 @@ "@yarnpkg/plugin-pnp": "workspace:^2.0.0-rc.21", "@yarnpkg/shell": "workspace:^2.0.0-rc.11", "chalk": "^3.0.0", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "fromentries": "^1.2.0", "semver": "^7.1.2", "yup": "^0.27.0" diff --git a/packages/yarnpkg-cli/sources/main.ts b/packages/yarnpkg-cli/sources/main.ts index 4f27c26fb4ea..6504ac46415f 100644 --- a/packages/yarnpkg-cli/sources/main.ts +++ b/packages/yarnpkg-cli/sources/main.ts @@ -57,6 +57,7 @@ export async function main({binaryVersion, pluginConfiguration}: {binaryVersion: // Since we only care about a few very specific settings (yarn-path and ignore-path) we tolerate extra configuration key. // If we didn't, we wouldn't even be able to run `yarn config` (which is recommended in the invalid config error message) const configuration = await Configuration.find(npath.toPortablePath(process.cwd()), pluginConfiguration, { + usePath: true, strict: false, }); diff --git a/packages/yarnpkg-core/package.json b/packages/yarnpkg-core/package.json index da2c763cd8b0..91bc8f5c419b 100644 --- a/packages/yarnpkg-core/package.json +++ b/packages/yarnpkg-core/package.json @@ -13,7 +13,7 @@ "@yarnpkg/shell": "workspace:^2.0.0-rc.11", "camelcase": "^5.3.1", "chalk": "^3.0.0", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "cross-spawn": "7.0.3", "diff": "^4.0.1", "globby": "^10.0.1", diff --git a/packages/yarnpkg-core/sources/Configuration.ts b/packages/yarnpkg-core/sources/Configuration.ts index 2012f541b5cc..a4a874a3782b 100644 --- a/packages/yarnpkg-core/sources/Configuration.ts +++ b/packages/yarnpkg-core/sources/Configuration.ts @@ -436,7 +436,7 @@ function parseSingleValue(configuration: Configuration, path: string, value: unk return parseBoolean(value); if (typeof value !== `string`) - throw new Error(`Expected value to be a string`); + throw new Error(`Expected value (${value}) to be a string`); switch (definition.type) { case SettingsType.ABSOLUTE_PATH: @@ -606,10 +606,10 @@ function getRcFilename() { const rcKey = `${ENVIRONMENT_PREFIX}rc_filename`; for (const [key, value] of Object.entries(process.env)) - if (key.toLowerCase() === rcKey) - return value; + if (key.toLowerCase() === rcKey && typeof value === `string`) + return value as Filename; - return DEFAULT_RC_FILENAME; + return DEFAULT_RC_FILENAME as Filename; } export enum ProjectLookup { @@ -618,9 +618,16 @@ export enum ProjectLookup { NONE, } +export type FindProjectOptions = { + lookup?: ProjectLookup, + strict?: boolean, + usePath?: boolean, + useRc?: boolean, +}; + export class Configuration { public startingCwd: PortablePath; - public projectCwd: PortablePath | null; + public projectCwd: PortablePath | null = null; public plugins: Map = new Map(); @@ -635,6 +642,34 @@ export class Configuration { patch: (pkg: Package) => void, }>> = new Map(); + /** + * Instantiate a new configuration object with the default values from the + * core. You typically don't want to use this, as it will ignore the values + * configured in the rc files. Instead, prefer to use `Configuration#find`. + */ + + static create(startingCwd: PortablePath, plugins?: Map): Configuration; + static create(startingCwd: PortablePath, projectCwd: PortablePath | null, plugins?: Map): Configuration; + static create(startingCwd: PortablePath, projectCwdOrPlugins?: Map | PortablePath | null, maybePlugins?: Map) { + const configuration = new Configuration(startingCwd); + + if (typeof projectCwdOrPlugins !== `undefined` && !(projectCwdOrPlugins instanceof Map)) + configuration.projectCwd = projectCwdOrPlugins; + + configuration.importSettings(coreDefinitions); + + const plugins = typeof maybePlugins !== `undefined` + ? maybePlugins + : projectCwdOrPlugins instanceof Map + ? projectCwdOrPlugins + : new Map(); + + for (const [name, plugin] of plugins) + configuration.activatePlugin(name, plugin); + + return configuration; + } + /** * Instantiate a new configuration object exposing the configuration obtained * from reading the various rc files and the environment settings. @@ -662,16 +697,83 @@ export class Configuration { * way around). */ - static async find(startingCwd: PortablePath, pluginConfiguration: PluginConfiguration | null, {lookup = ProjectLookup.LOCKFILE, strict = true, useRc = true}: {lookup?: ProjectLookup, strict?: boolean, useRc?: boolean} = {}) { + static async find(startingCwd: PortablePath, pluginConfiguration: PluginConfiguration | null, {lookup = ProjectLookup.LOCKFILE, strict = true, usePath = false, useRc = true}: FindProjectOptions = {}) { const environmentSettings = getEnvironmentSettings(); delete environmentSettings.rcFilename; const rcFiles = await Configuration.findRcFiles(startingCwd); + const homeRcFile = await Configuration.findHomeRcFile(); + + // First we will parse the `yarn-path` settings. Doing this now allows us + // to not have to load the plugins if there's a `yarn-path` configured. + + type CoreKeys = keyof typeof coreDefinitions; + type CoreFields = {[key in CoreKeys]: any}; + + const pickCoreFields = ({ignoreCwd, yarnPath, ignorePath, lockfileFilename}: CoreFields) => ({ignoreCwd, yarnPath, ignorePath, lockfileFilename}); + const excludeCoreFields = ({ignoreCwd, yarnPath, ignorePath, lockfileFilename, ...rest}: CoreFields) => rest; + + const configuration = new Configuration(startingCwd); + configuration.importSettings(pickCoreFields(coreDefinitions)); + + configuration.useWithSource(``, pickCoreFields(environmentSettings), startingCwd, {strict: false}); + for (const {path, cwd, data} of rcFiles) + configuration.useWithSource(path, pickCoreFields(data), cwd, {strict: false}); + if (homeRcFile) + configuration.useWithSource(homeRcFile.path, pickCoreFields(homeRcFile.data), homeRcFile.cwd, {strict: false}); + + if (usePath) { + const yarnPath: PortablePath = configuration.get(`yarnPath`); + const ignorePath = configuration.get(`ignorePath`); + + if (yarnPath !== null && !ignorePath) { + return configuration; + } + } + + // We need to know the project root before being able to truly instantiate + // our configuration, and to know that we need to know the lockfile name + + const lockfileFilename = configuration.get(`lockfileFilename`); + + let projectCwd: PortablePath | null; + switch (lookup) { + case ProjectLookup.LOCKFILE: { + projectCwd = await Configuration.findProjectCwd(startingCwd, lockfileFilename); + } break; + + case ProjectLookup.MANIFEST: { + projectCwd = await Configuration.findProjectCwd(startingCwd, null); + } break; + + case ProjectLookup.NONE: { + if (xfs.existsSync(ppath.join(startingCwd, `package.json` as Filename))) { + projectCwd = ppath.resolve(startingCwd); + } else { + projectCwd = null; + } + } break; + } + + // Great! We now have enough information to really start to setup the + // core configuration object. + + configuration.startingCwd = startingCwd; + configuration.projectCwd = projectCwd; + + configuration.importSettings(excludeCoreFields(coreDefinitions)); + + // Now that the configuration object is almost ready, we need to load all + // the configured plugins + const plugins = new Map([ [`@@core`, CorePlugin], ]); - const interop = (obj: any) => obj.__esModule ? obj.default : obj; + const interop = + (obj: any) => obj.__esModule + ? obj.default + : obj; if (pluginConfiguration !== null) { for (const request of pluginConfiguration.plugins.keys()) @@ -742,51 +844,14 @@ export class Configuration { } } - let lockfileFilename = DEFAULT_LOCK_FILENAME; - - // We need to know the project root before being able to truly instantiate - // our configuration, and to know that we need to know the lockfile name - if (environmentSettings.lockfileFilename) { - lockfileFilename = environmentSettings.lockfileFilename; - } else { - for (const {data} of rcFiles) { - if (data.lockfileFilename) { - lockfileFilename = data.lockfileFilename; - break; - } - } - } - - let projectCwd: PortablePath | null; - switch (lookup) { - case ProjectLookup.LOCKFILE: { - projectCwd = await Configuration.findProjectCwd(startingCwd, lockfileFilename); - } break; - - case ProjectLookup.MANIFEST: { - projectCwd = await Configuration.findProjectCwd(startingCwd, null); - } break; - - case ProjectLookup.NONE: { - if (xfs.existsSync(ppath.join(startingCwd, `package.json` as Filename))) { - projectCwd = ppath.resolve(startingCwd); - } else { - projectCwd = null; - } - } break; - } - - const configuration = new Configuration(startingCwd, projectCwd, plugins); - configuration.useWithSource(``, environmentSettings, startingCwd, {strict}); + for (const [name, plugin] of plugins) + configuration.activatePlugin(name, plugin); + configuration.useWithSource(``, excludeCoreFields(environmentSettings), startingCwd, {strict}); for (const {path, cwd, data} of rcFiles) - configuration.useWithSource(path, data, cwd, {strict}); - - const rcFilename = configuration.get(`rcFilename`); - const homeRcFile = await Configuration.findHomeRcFile(rcFilename); - + configuration.useWithSource(path, excludeCoreFields(data), cwd, {strict}); if (homeRcFile) - configuration.useWithSource(homeRcFile.path, homeRcFile.data, homeRcFile.cwd, {strict}); + configuration.useWithSource(homeRcFile.path, excludeCoreFields(homeRcFile.data), homeRcFile.cwd, {strict}); if (configuration.get(`enableGlobalCache`)) { configuration.values.set(`cacheFolder`, `${configuration.get(`globalFolder`)}/cache`); @@ -834,9 +899,11 @@ export class Configuration { return rcFiles; } - static async findHomeRcFile(rcFilename: string) { + static async findHomeRcFile() { + const rcFilename = getRcFilename(); + const homeFolder = folderUtils.getHomeFolder(); - const homeRcFilePath = ppath.join(homeFolder, rcFilename as PortablePath); + const homeRcFilePath = ppath.join(homeFolder, rcFilename); if (xfs.existsSync(homeRcFilePath)) { const content = await xfs.readFilePromise(homeRcFilePath, `utf8`); @@ -920,28 +987,25 @@ export class Configuration { return await Configuration.updateConfiguration(homeFolder, patch); } - constructor(startingCwd: PortablePath, projectCwd: PortablePath | null, plugins: Map) { + private constructor(startingCwd: PortablePath) { this.startingCwd = startingCwd; - this.projectCwd = projectCwd; - - this.plugins = plugins; + } - const importSettings = (definitions: {[name: string]: SettingsDefinition}) => { - for (const [name, definition] of Object.entries(definitions)) { - if (this.settings.has(name)) - throw new Error(`Cannot redefine settings "${name}"`); + activatePlugin(name: string, plugin: Plugin) { + this.plugins.set(name, plugin); - this.settings.set(name, definition); - this.values.set(name, getDefaultValue(this, definition)); - } - }; + if (typeof plugin.configuration !== `undefined`) { + this.importSettings(plugin.configuration); + } + } - importSettings(coreDefinitions); + private importSettings(definitions: {[name: string]: SettingsDefinition}) { + for (const [name, definition] of Object.entries(definitions)) { + if (this.settings.has(name)) + throw new Error(`Cannot redefine settings "${name}"`); - for (const plugin of this.plugins.values()) { - if (plugin.configuration) { - importSettings(plugin.configuration); - } + this.settings.set(name, definition); + this.values.set(name, getDefaultValue(this, definition)); } } @@ -956,6 +1020,10 @@ export class Configuration { use(source: string, data: {[key: string]: unknown}, folder: PortablePath, {strict = true, overwrite = false}: {strict?: boolean, overwrite?: boolean}) { for (const key of Object.keys(data)) { + const value = data[key]; + if (typeof value === `undefined`) + continue; + // The plugins have already been loaded at this point if (key === `plugins`) continue; @@ -981,7 +1049,7 @@ export class Configuration { if (this.sources.has(key) && !overwrite) continue; - this.values.set(key, parseValue(this, key, data[key], definition, folder)); + this.values.set(key, parseValue(this, key, value, definition, folder)); this.sources.set(key, source); } } diff --git a/packages/yarnpkg-core/sources/scriptUtils.ts b/packages/yarnpkg-core/sources/scriptUtils.ts index b96427de3543..497ced31a6b5 100644 --- a/packages/yarnpkg-core/sources/scriptUtils.ts +++ b/packages/yarnpkg-core/sources/scriptUtils.ts @@ -193,8 +193,10 @@ export async function prepareExternalProject(cwd: PortablePath, outputPath: Port // one instead delete env.npm_config_user_agent; - // Apparently "npm ci" is how you get npm to actually use the lockfile - const install = await execUtils.pipevp(`npm`, [`ci`], {cwd, env, stdin, stdout, stderr, end: execUtils.EndStrategy.ErrorCode}); + // We can't use `npm ci` because some projects don't have npm + // lockfiles that are up-to-date. Hopefully npm won't decide + // to change the versions randomly. + const install = await execUtils.pipevp(`npm`, [`install`], {cwd, env, stdin, stdout, stderr, end: execUtils.EndStrategy.ErrorCode}); if (install.code !== 0) return install.code; diff --git a/packages/yarnpkg-core/tests/Project.test.ts b/packages/yarnpkg-core/tests/Project.test.ts index 2565cc4eead1..86f6ef6c13f6 100644 --- a/packages/yarnpkg-core/tests/Project.test.ts +++ b/packages/yarnpkg-core/tests/Project.test.ts @@ -4,7 +4,7 @@ import LinkPlugin import PnpPlugin from '@yarnpkg/plugin-pnp'; const getConfiguration = (p: PortablePath) => { - return new Configuration(p, p, new Map([ + return Configuration.create(p, p, new Map([ [`@yarnpkg/plugin-link`, LinkPlugin], [`@yarnpkg/plugin-pnp`, PnpPlugin], ])); diff --git a/packages/yarnpkg-doctor/package.json b/packages/yarnpkg-doctor/package.json index 5de5e3d51666..0655f8626c4b 100644 --- a/packages/yarnpkg-doctor/package.json +++ b/packages/yarnpkg-doctor/package.json @@ -7,7 +7,7 @@ "@yarnpkg/cli": "workspace:^2.0.0-rc.33", "@yarnpkg/core": "workspace:^2.0.0-rc.27", "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "globby": "^10.0.1", "micromatch": "^4.0.2", "p-limit": "^2.2.0", diff --git a/packages/yarnpkg-shell/package.json b/packages/yarnpkg-shell/package.json index 88d0cdf967db..c186845eee41 100644 --- a/packages/yarnpkg-shell/package.json +++ b/packages/yarnpkg-shell/package.json @@ -7,7 +7,7 @@ "dependencies": { "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/parsers": "workspace:^2.0.0-rc.11", - "clipanion": "^2.1.5", + "clipanion": "^2.4.0", "cross-spawn": "7.0.3", "fast-glob": "^3.2.2", "stream-buffers": "^3.0.2" diff --git a/yarn.lock b/yarn.lock index 723216c57ed5..2858503bcbde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5981,7 +5981,7 @@ __metadata: babel-loader: ^8.0.6 babel-plugin-lazy-import: arcanis/babel-plugin-lazy-import chalk: ^3.0.0 - clipanion: ^2.1.5 + clipanion: ^2.4.0 filesize: ^4.1.2 pnp-webpack-plugin: ^1.4.3 semver: ^7.1.2 @@ -6027,7 +6027,7 @@ __metadata: "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22" "@yarnpkg/shell": "workspace:^2.0.0-rc.11" chalk: ^3.0.0 - clipanion: ^2.1.5 + clipanion: ^2.4.0 fromentries: ^1.2.0 micromatch: ^4.0.2 semver: ^7.1.2 @@ -6063,7 +6063,7 @@ __metadata: "@yarnpkg/shell": "workspace:^2.0.0-rc.11" camelcase: ^5.3.1 chalk: ^3.0.0 - clipanion: ^2.1.5 + clipanion: ^2.4.0 cross-spawn: 7.0.3 diff: ^4.0.1 globby: ^10.0.1 @@ -6092,7 +6092,7 @@ __metadata: "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/monorepo": "workspace:0.0.0" - clipanion: ^2.1.5 + clipanion: ^2.4.0 globby: ^10.0.1 micromatch: ^4.0.2 p-limit: ^2.2.0 @@ -6279,7 +6279,7 @@ __metadata: "@yarnpkg/eslint-config": "workspace:^0.0.0" "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22" babel-jest: ^24.5.0 - clipanion: ^2.1.5 + clipanion: ^2.4.0 eslint: ^6.8.0 eslint-plugin-arca: ^0.9.0 eslint-plugin-react: ^7.14.3 @@ -6292,6 +6292,8 @@ __metadata: dependenciesMeta: core-js: built: false + core-js-pure: + built: false date-fns: built: false fsevents: @@ -6340,7 +6342,7 @@ __metadata: "@yarnpkg/cli": "workspace:^2.0.0-rc.33" "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" - clipanion: ^2.1.5 + clipanion: ^2.4.0 inquirer: ^6.2.0 lodash: ^4.17.15 node-emoji: ^1.8.1 @@ -6360,7 +6362,7 @@ __metadata: "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/json-proxy": "workspace:^2.0.0-rc.7" - clipanion: ^2.1.5 + clipanion: ^2.4.0 peerDependencies: "@yarnpkg/cli": ^2.0.0-rc.33 "@yarnpkg/core": ^2.0.0-rc.27 @@ -6380,7 +6382,7 @@ __metadata: "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/json-proxy": "workspace:^2.0.0-rc.7" "@yarnpkg/parsers": "workspace:^2.0.0-rc.11" - clipanion: ^2.1.5 + clipanion: ^2.4.0 inquirer: ^6.2.0 lodash: ^4.17.15 semver: ^7.1.2 @@ -6461,7 +6463,7 @@ __metadata: "@yarnpkg/cli": "workspace:^2.0.0-rc.33" "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" - clipanion: ^2.1.5 + clipanion: ^2.4.0 peerDependencies: "@yarnpkg/cli": ^2.0.0-rc.33 "@yarnpkg/core": ^2.0.0-rc.27 @@ -6480,7 +6482,7 @@ __metadata: "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/libui": "workspace:^2.0.0-rc.7" "@yarnpkg/plugin-essentials": "workspace:^2.0.0-rc.27" - clipanion: ^2.1.5 + clipanion: ^2.4.0 diff: ^4.0.1 ink: ^2.3.0 react: ^16.13.1 @@ -6519,7 +6521,7 @@ __metadata: "@yarnpkg/pnp": "workspace:^2.0.0-rc.20" "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22" "@zkochan/cmd-shim": ^4.3.0 - clipanion: ^2.1.5 + clipanion: ^2.4.0 micromatch: ^4.0.2 peerDependencies: "@yarnpkg/cli": ^2.0.0-rc.33 @@ -6541,7 +6543,7 @@ __metadata: "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/plugin-npm": "workspace:^2.0.0-rc.19" "@yarnpkg/plugin-pack": "workspace:^2.0.0-rc.19" - clipanion: ^2.1.5 + clipanion: ^2.4.0 inquirer: ^6.2.0 semver: ^7.1.2 ssri: ^6.0.1 @@ -6579,7 +6581,7 @@ __metadata: "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/plugin-stage": "workspace:^2.0.0-rc.15" - clipanion: ^2.1.5 + clipanion: ^2.4.0 micromatch: ^4.0.2 tar-stream: ^2.0.1 peerDependencies: @@ -6597,7 +6599,7 @@ __metadata: "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/libzip": "workspace:^2.0.0-rc.11" - clipanion: ^2.1.5 + clipanion: ^2.4.0 peerDependencies: "@yarnpkg/cli": ^2.0.0-rc.33 "@yarnpkg/core": ^2.0.0-rc.27 @@ -6614,7 +6616,7 @@ __metadata: "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/plugin-stage": "workspace:^2.0.0-rc.15" "@yarnpkg/pnp": "workspace:^2.0.0-rc.20" - clipanion: ^2.1.5 + clipanion: ^2.4.0 semver: ^7.1.2 peerDependencies: "@yarnpkg/cli": ^2.0.0-rc.33 @@ -6630,7 +6632,7 @@ __metadata: "@yarnpkg/cli": "workspace:^2.0.0-rc.33" "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" - clipanion: ^2.1.5 + clipanion: ^2.4.0 typescript: ^3.8.3 peerDependencies: "@yarnpkg/cli": ^2.0.0-rc.33 @@ -6673,7 +6675,7 @@ __metadata: "@yarnpkg/libui": "workspace:^2.0.0-rc.7" "@yarnpkg/parsers": "workspace:^2.0.0-rc.11" "@yarnpkg/plugin-pack": "workspace:^2.0.0-rc.19" - clipanion: ^2.1.5 + clipanion: ^2.4.0 ink: ^2.3.0 react: ^16.13.1 semver: ^7.1.2 @@ -6695,7 +6697,7 @@ __metadata: "@yarnpkg/cli": "workspace:^2.0.0-rc.33" "@yarnpkg/core": "workspace:^2.0.0-rc.27" "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" - clipanion: ^2.1.5 + clipanion: ^2.4.0 p-limit: ^2.2.0 typescript: ^3.8.3 yup: ^0.27.0 @@ -6758,7 +6760,7 @@ __metadata: "@yarnpkg/fslib": "workspace:^2.0.0-rc.20" "@yarnpkg/monorepo": "workspace:0.0.0" "@yarnpkg/parsers": "workspace:^2.0.0-rc.11" - clipanion: ^2.1.5 + clipanion: ^2.4.0 cross-spawn: 7.0.3 fast-glob: ^3.2.2 stream-buffers: ^3.0.2 @@ -9583,12 +9585,10 @@ babel-plugin-lazy-import@arcanis/babel-plugin-lazy-import: languageName: node linkType: hard -"clipanion@npm:^2.1.5": - version: 2.1.5 - resolution: "clipanion@npm:2.1.5" - dependencies: - chalk: ^2.4.2 - checksum: 70279d4cb7f9dbd1f152df62c62250a8c06afd48d8034dc9a1e65adab50b7a3d9ac25673c833dacc845c2e0a1a33deb2a1b45d63cf0387ca3532e2467fd2cfa9 +"clipanion@npm:^2.4.0": + version: 2.4.0 + resolution: "clipanion@npm:2.4.0" + checksum: 43030bb880562a0bd3246299c1c613b6522fc651f2112d7509178b81e7ebb489a0b9c1ca06c239737fdee00c83a230561f7e58a2defa6039d2cb16b6f7edb847 languageName: node linkType: hard