diff --git a/cli/npm/resolvers/local.rs b/cli/npm/resolvers/local.rs index f5385c2f10e896..b4cf5af275543c 100644 --- a/cli/npm/resolvers/local.rs +++ b/cli/npm/resolvers/local.rs @@ -91,7 +91,11 @@ impl LocalNpmPackageResolver { specifier: &ModuleSpecifier, ) -> Result { match self.maybe_resolve_folder_for_specifier(specifier) { - Some(path) => Ok(path), + // Canonicalize the path so it's not pointing to the symlinked directory + // in `node_modules` directory of the referrer. + Some(path) => { + Ok(deno_core::strip_unc_prefix(self.fs.canonicalize(&path)?)) + } None => bail!("could not find npm package for '{}'", specifier), } } diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index 8f6ac752831d69..d4f2d3e455fcf0 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -156,6 +156,16 @@ itest!(mixed_case_package_name_local_dir { temp_cwd: true, }); +itest!(local_dir_resolves_symlinks { + args: "run -A index.js", + output: "npm/local_dir_resolves_symlinks/index.out", + exit_code: 0, + envs: env_vars_for_npm_tests(), + cwd: Some("npm/local_dir_resolves_symlinks/"), + copy_temp_dir: Some("npm/local_dir_resolves_symlinks/"), + http_server: true, +}); + // FIXME(bartlomieju): npm: specifiers are not handled in dynamic imports // at the moment // itest!(dynamic_import { diff --git a/cli/tests/testdata/npm/local_dir_resolves_symlinks/index.js b/cli/tests/testdata/npm/local_dir_resolves_symlinks/index.js new file mode 100644 index 00000000000000..72d8913f5184f5 --- /dev/null +++ b/cli/tests/testdata/npm/local_dir_resolves_symlinks/index.js @@ -0,0 +1,3 @@ +import * as d from "define-properties"; + +console.log(typeof d.default === "function", "it works"); diff --git a/cli/tests/testdata/npm/local_dir_resolves_symlinks/index.out b/cli/tests/testdata/npm/local_dir_resolves_symlinks/index.out new file mode 100644 index 00000000000000..25d44c6b8e12c6 --- /dev/null +++ b/cli/tests/testdata/npm/local_dir_resolves_symlinks/index.out @@ -0,0 +1,2 @@ +Download [WILDCARD] +true it works diff --git a/cli/tests/testdata/npm/local_dir_resolves_symlinks/package.json b/cli/tests/testdata/npm/local_dir_resolves_symlinks/package.json new file mode 100644 index 00000000000000..4c974022e3c8fd --- /dev/null +++ b/cli/tests/testdata/npm/local_dir_resolves_symlinks/package.json @@ -0,0 +1,7 @@ +{ + "name": "foo", + "type": "module", + "dependencies": { + "define-properties": "^1.2.0" + } +} diff --git a/cli/tests/testdata/npm/registry/define-properties/define-properties-1.2.0.tgz b/cli/tests/testdata/npm/registry/define-properties/define-properties-1.2.0.tgz new file mode 100644 index 00000000000000..69b5e18756c7f4 Binary files /dev/null and b/cli/tests/testdata/npm/registry/define-properties/define-properties-1.2.0.tgz differ diff --git a/cli/tests/testdata/npm/registry/define-properties/registry.json b/cli/tests/testdata/npm/registry/define-properties/registry.json new file mode 100644 index 00000000000000..f25eb5f053cac6 --- /dev/null +++ b/cli/tests/testdata/npm/registry/define-properties/registry.json @@ -0,0 +1 @@ +{"_id":"define-properties","_rev":"14-e04f5ef4661f8b1d79616533f98271b2","name":"define-properties","description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"define-properties","version":"1.0.0","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"~2.0.5","object-keys":"~1.0.2"},"devDependencies":{"tape":"~3.0.3","covert":"1.0.0","jscs":"~1.9.0","editorconfig-tools":"~0.0.1","nsp":"~0.5.2","eslint":"~0.11.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"7f59dd1723500ba6390a2a6fc330e20ad7a1f58c","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties","_id":"define-properties@1.0.0","_shasum":"64e04df26f37a219a4467b2cde19eb075de9d004","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"64e04df26f37a219a4467b2cde19eb075de9d004","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.0.0.tgz","integrity":"sha512-vxfdDa3w7qextqSHUtH08ZxQKucIvu/QONdqv/h4HsQiDfE8wHXphVySR3Lgvut1LbDCwHQkP1DzcWRSuZlqKw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDibzfFKtipNe9VvTEnT7z/PNhXuZHIUf9fGk1Ij4U4GgIhAITZsMW1GBzwfg0SO7hIIJg5bwPxUL7dapWUOR+PC20b"}]},"directories":{}},"1.0.1":{"name":"define-properties","version":"1.0.1","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"~2.0.5","object-keys":"~1.0.3"},"devDependencies":{"tape":"~3.0.3","covert":"1.0.0","jscs":"~1.9.0","editorconfig-tools":"~0.0.1","nsp":"~0.5.2","eslint":"~0.11.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"0fc836602486b1360bb54f430c18cebba25a0288","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties","_id":"define-properties@1.0.1","_shasum":"aa2f1a1d38cc4ebaabf314ac1e77e024060e0ec0","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"aa2f1a1d38cc4ebaabf314ac1e77e024060e0ec0","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.0.1.tgz","integrity":"sha512-+Kc8DhpxT9gYggrcyv63MbFDXIH4ye6xzvqXStvojl74Vo2V4BqfRNWZZaeuUhmcqywFdD11Giex2COwC6AMdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOuXmwoDIJrWyXnymCBygPxhzg0zJH+pxNwd+4vkxvzgIhAJS2CGZSNENNLJ8taCSARD6vD7VS4nJ6Bgy8Ae5lvboN"}]},"directories":{}},"1.0.2":{"name":"define-properties","version":"1.0.2","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.4"},"devDependencies":{"tape":"^4.0.0","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.1","eslint":"^0.21.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"37dd7335f8ec75f93ffb0768a321a8f277a2bc94","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.0.2","_shasum":"6999cad02fd97bd62b06a9eb121d8d6966d48d37","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.2","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"6999cad02fd97bd62b06a9eb121d8d6966d48d37","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.0.2.tgz","integrity":"sha512-pUaWgaSuCBbnAvTEFLT4+9plxRT02eXu7cRA0kwj8vjoGD+w4/uL5wLDSy+JcqTNd0kpP3/rWgPxhqylW+i7PQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnniPlNMiOhsQ880VdcxE/tovPeXpMr8s6cWnlHCDcGAiEAmkMc+1/WBZot0JId8bk3G0NB/vROPenRp0l+8fNj21c="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.0":{"name":"define-properties","version":"1.1.0","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.4"},"devDependencies":{"tape":"^4.0.0","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^0.24.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"0855002376afdcbc6c6c5d56cdb207cc69231535","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.0","_shasum":"e445de572ba03584e707e6e7fa7757bcb61e2688","_from":".","_npmVersion":"2.11.1","_nodeVersion":"2.3.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"e445de572ba03584e707e6e7fa7757bcb61e2688","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.1.0.tgz","integrity":"sha512-o/M7oAJDcb9Q4BNA03OmiPpAqFcka0CAhdmF9er4P7I8PX9CLqyHLjLMJOOTjj6N/LF8/0nMaVKTbth0ouSffw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaR4GU49eGjoyJ/nR8fT33SeiCnT4lsFkQpjyWiwENEwIhAL7HgxI6iRVZ/g2reGdHTbXfS19mULx+Npark1W4fdrr"}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.1":{"name":"define-properties","version":"1.1.1","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.7"},"devDependencies":{"tape":"^4.0.1","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^1.0.0-rc-1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"4647949f0b4da52f9968977a9be754e5e11c5ac4","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.1","_shasum":"ac04abba5d32847f912cfbe41aed932faa14061f","_from":".","_npmVersion":"2.13.0","_nodeVersion":"2.4.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"ac04abba5d32847f912cfbe41aed932faa14061f","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.1.1.tgz","integrity":"sha512-rVN/zTp+R6Tiu0GP2GYkLPZax/F5b2uh3VQnIdsfVsKHDz1yfNsUWiy367ytlDjaYzMYOhIkGLUm1PtypHMTnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIATKnr2USfTV+5IMhzkLImZlpy7AHG9ACf8oVwUhzuSNAiEA1hXotlSI/6a6Y1Z8uBOcKELWeXHjDXXFx0uC3uEVPMs="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.2":{"name":"define-properties","version":"1.1.2","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"foreach":"^2.0.5","object-keys":"^1.0.8"},"devDependencies":{"tape":"^4.2.1","covert":"^1.1.0","jscs":"^2.3.1","editorconfig-tools":"^0.1.1","nsp":"^1.1.0","eslint":"^1.6.0","@ljharb/eslint-config":"^1.3.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"6467a10e6f493d8a1a4f6ec8442ffee137aab7ba","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.2","_shasum":"83a73f2fea569898fb737193c8f873caf6d45c94","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"83a73f2fea569898fb737193c8f873caf6d45c94","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.1.2.tgz","integrity":"sha512-hpr5VSFXGamODSCN6P2zdSBY6zJT7DlcBAHiPIa2PWDvfBqJQntSK0ehUoHoS6HGeSS19dgj7E+1xOjfG3zEtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFmYfFegTKCrSnO8+YFjg0SZr5jYybWblLiyd9f62pdBAiEAhGGfud/YdiL+CoxNQRaOwOT2Ft26BF3U16av4Qj/by8="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.1.3":{"name":"define-properties","version":"1.1.3","author":{"name":"Jordan Harband"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent security","tests-only":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run --silent jscs && npm run --silent eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","security":"nsp check"},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"object-keys":"^1.0.12"},"devDependencies":{"@ljharb/eslint-config":"^13.0.0","covert":"^1.1.0","eslint":"^5.3.0","jscs":"^3.0.7","nsp":"^3.2.1","tape":"^4.9.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"e5478e3d2880b90a97daa62d76abed34d91154dd","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.3","_npmVersion":"6.2.0","_nodeVersion":"10.8.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"integrity":"sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==","shasum":"cf88da6cbee26fe6db7094f61d870cbd84cee9f1","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.1.3.tgz","fileCount":10,"unpackedSize":23025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbc67HCRA9TVsSAnZWagAAiLUP/3CxQIzm2kQKyFeL6rHJ\nHrqG2U6H8UXQbVjxAgTa4gli6BZSzIk6WkooZ1INWKJdfApxKfWJAVbRYCwD\nhXIB8rzI/kcsQPO+I1CVZvUmSdFwhtX7Wc2bzWmH5KN0m8LclaX8ddYZXXi3\nhtDIFXTVYIEam4fTdrBREO59hRopvcYBsR0QM3yjcD74FY7ugPxqzIrhhd/w\nlnbSUcFww2UKubiQX2YmNp+boJ74oEGoq7rA8L4PUdU1ffOPRZ47pAlGPVxu\noHKTk/KViS69KD1eChpS1z+ptPgZWIYobziluafItmX+A4XNFrHuaizF6s6r\no2lJWdT2DAABZlMLPaBBuiXM9U/STYLj+THpBlqSqNxXAP/c1tBIG70R0EHy\nSVnSAUcclxKQ5PfAeLBiR6sux49MvmX/Aq5ykC2OxAzgbknOQb4DSh7oOuFE\nsMxIiErRJ9gpTXVrgvlMwy6on+XqAGMhJZHDPvPrb0lw6Sv/wNwvxrd13bF9\nxKVEywS6OBgZ1Ag0+tgt+Iqp+1h7ZFMxWSzlWzJIlLwVAGKqeaCI0cDnvHaT\nB6I0PxC9mHMCBRMi9zjfGgYhzOOf+QlxthaM9fB0BDVraf4s1FIEUVfMDvCa\nGkPb86BE6dnLzCsIdt+aWbxW+lwRVwLu+QrPFFGTE44KNR3YuLG8eEEWEHpN\nHZZs\r\n=7SxH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0rdupohHcNiPth5mboCDG22vQVDBbBkyKmpxYVwkAfQIhAN3GX6Q+b29wDdOkUdmUxnjGUuzPsyLMftGxNeNEznj1"}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/define-properties_1.1.3_1534308039180_0.8446271629420612"},"_hasShrinkwrap":false},"1.1.4":{"name":"define-properties","version":"1.1.4","author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"prepublish":"not-in-publish || npm run prepublishOnly","prepublishOnly":"safe-publish-latest","pretest":"npm run lint","test":"npm run tests-only","posttest":"aud --production","tests-only":"nyc tape 'test/**/*.js'","lint":"eslint --ext=js,mjs ."},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"has-property-descriptors":"^1.0.0","object-keys":"^1.1.1"},"devDependencies":{"@ljharb/eslint-config":"^21.0.0","aud":"^2.0.0","eslint":"=8.8.0","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.5.3"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"08fa234e22964a179aad624bed13eca44ad8c6b4","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.1.4","_nodeVersion":"17.9.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==","shasum":"0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.1.4.tgz","fileCount":9,"unpackedSize":10361,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXsYGCvtExg9J1AGDfmtzB2pJPElyT+JVZGkuBGXJoXQIgHdeuoUI0aLNb+B+05UiELF99rRCn/kSrjgMoWoBzNvc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWQ2PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqpiw//bqOxAELjon6L7lB1w+12phuunCilvX1V98bYW2u+29Uh95oi\r\nNfYzb4AsnaDvXu5WjqOa3wlHxBMl9k8UAe5/C6KbzyiZzRuHTpLXCwHFpi9x\r\nXbvOxmG/KTeFH6QJ66PPj2B7mDDCKBdvicdOQWLlYSomngmBdE+xiBZC9vyl\r\n72VClJN4lFb92B1Bi9iak4J+jUYby8IuWTXSIksjzwBBgpw80JqBTKJ5gZAi\r\nGWFl3TmV8H0tWfmwM2RaYxUcCIka/PSsJZU22OQqncm2z9VggbGN3zL3OQe1\r\nTpPDnaC/QIC+ZYNpkP530ArtS5DKSuxiqNtgySO/uMNtdvHBBGsLs4mslwo4\r\nHGsUumHGGAcDsbN6nOfI6BlkEb5sVxmJkFm5PJcHQOVnP54e8IJjvxA1qWkM\r\nO49WMu3sbPPXjxiO60aybNXUIMdBNeuUqX96BW5kJQr83mhbW4dOIsI1k5XP\r\nbekhqLFp4tIHCoXcZg+kWTibjNoiAK9stFf0gWMWrjmQNu6m3umv8uxmH3kc\r\nC+RQCemUghhQHkJtCh9KiekYhZVIweqvyK4sUlgYE2Ev3zsA+VWllk1/rh9I\r\n/9y6V8q7IbfKC6kd3VOKgLEOG9aYNPiy23/1u9XGY29YJl7zzR7e/nnu9Iwp\r\nR2ureEUvrygxBbF7SNx7muKKBfs3Sy7Xo2g=\r\n=RjYF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/define-properties_1.1.4_1650003343480_0.7576999598646093"},"_hasShrinkwrap":false},"1.2.0":{"name":"define-properties","version":"1.2.0","author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"description":"Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.","license":"MIT","main":"index.js","scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublish":"not-in-publish || npm run prepublishOnly","prepublishOnly":"safe-publish-latest","pretest":"npm run lint","test":"npm run tests-only","posttest":"aud --production","tests-only":"nyc tape 'test/**/*.js'","lint":"eslint --ext=js,mjs .","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"dependencies":{"has-property-descriptors":"^1.0.0","object-keys":"^1.1.1"},"devDependencies":{"@ljharb/eslint-config":"^21.0.1","aud":"^2.0.2","auto-changelog":"^2.4.0","eslint":"=8.8.0","in-publish":"^2.0.1","npmignore":"^0.3.0","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.6.3"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true,"startingVersion":"1.1.5"},"publishConfig":{"ignore":[".github/workflows","test/"]},"gitHead":"aa5afa274d736c1ebd59e403b5b3b5b404689a57","bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"homepage":"https://github.com/ljharb/define-properties#readme","_id":"define-properties@1.2.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==","shasum":"52988570670c9eacedd8064f4a990f2405849bd5","tarball":"http://localhost:4545/npm/registry/define-properties/define-properties-1.2.0.tgz","fileCount":9,"unpackedSize":12453,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2R6SBVZWJCCg7Z1PkTr8TYLGBpk5aQNaXmqzjLJml2QIgJipbNCmGIXHgvp4vOv0L/SBkYkerCHZ2PyQBAVjAScQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5niKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcWBAAgCes8tVtZ6ORE3V+bO+EyPBU76QcCa52bvve/uQKu2DvcSJz\r\nnvnC1aIUlDkR8/ZHI8LC5ONJOos5nIvVwC9cjqjXekk9Y1pXtdmNmplQms04\r\njWnZGp23RWhR0RkghJT7c33Zt+6o0f0RokC/pXheR37qRTclwtx/QXHc3U15\r\nqWb8fQbotRHSnoo7bMAM6DVmEeGQD8KIPd5NtoLx6qL0IWP0kQzo1LUs8Cif\r\nE6Y6jkrknPhptz9aVOIj2H0AVtj7NzjSSxtk4qjg3v3Vw35dSj1vC5UuoT65\r\nn6bBMSk2uS7ISTcKJJsYvRHbfk06XQJdO0/LXPlzqLDjt34tA7M91l+Wmvbz\r\nJNuuoo0jmnMk0PLK4PCvAGLBnPUiBH+02iPwLL0EfrGSRaBIOEi+ZNrAqu2M\r\n8kb58GjN4qtfBwobdq2AIDSJKJ3tkss0KV7a8j54+sKyDHEoAXD/XziI4Q4v\r\nNtZCiFF4xtmphCOgj04j1Bp26gB0c6SRTXm7Glsw7vm4bpwsxxdL5GIoIQAA\r\np3laNAtXOOgVDguFoGHwfJTkL2d2lCpfiY66YpemYptsA0lQEEjvVhyrkHpO\r\nesbdlZi8EiZcZTNdto2Gj5iFr8Pqd764Z9+DLH/DaVGFcX+z6NgNRN1Ia49L\r\nLOetyEJ8/3fa4D+k3b531EH/iXJl8zQu9q0=\r\n=oqSW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/define-properties_1.2.0_1676048522165_0.7917569075351913"},"_hasShrinkwrap":false}},"readme":"# define-properties [![Version Badge][npm-version-svg]][package-url]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![dependency status][deps-svg]][deps-url]\n[![dev dependency status][dev-deps-svg]][dev-deps-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\nDefine multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.\nExisting properties are not overridden. Accepts a map of property names to a predicate that, when true, force-overrides.\n\n## Example\n\n```js\nvar define = require('define-properties');\nvar assert = require('assert');\n\nvar obj = define({ a: 1, b: 2 }, {\n\ta: 10,\n\tb: 20,\n\tc: 30\n});\nassert(obj.a === 1);\nassert(obj.b === 2);\nassert(obj.c === 30);\nif (define.supportsDescriptors) {\n\tassert.deepEqual(Object.keys(obj), ['a', 'b']);\n\tassert.deepEqual(Object.getOwnPropertyDescriptor(obj, 'c'), {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tvalue: 30,\n\t\twritable: false\n\t});\n}\n```\n\nThen, with predicates:\n```js\nvar define = require('define-properties');\nvar assert = require('assert');\n\nvar obj = define({ a: 1, b: 2, c: 3 }, {\n\ta: 10,\n\tb: 20,\n\tc: 30\n}, {\n\ta: function () { return false; },\n\tb: function () { return true; }\n});\nassert(obj.a === 1);\nassert(obj.b === 20);\nassert(obj.c === 3);\nif (define.supportsDescriptors) {\n\tassert.deepEqual(Object.keys(obj), ['a', 'c']);\n\tassert.deepEqual(Object.getOwnPropertyDescriptor(obj, 'b'), {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tvalue: 20,\n\t\twritable: false\n\t});\n}\n```\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/define-properties\n[npm-version-svg]: https://versionbadg.es/ljharb/define-properties.svg\n[deps-svg]: https://david-dm.org/ljharb/define-properties.svg\n[deps-url]: https://david-dm.org/ljharb/define-properties\n[dev-deps-svg]: https://david-dm.org/ljharb/define-properties/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/define-properties#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/define-properties.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/define-properties.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/define-properties.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=define-properties\n[codecov-image]: https://codecov.io/gh/ljharb/define-properties/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/ljharb/define-properties/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/define-properties\n[actions-url]: https://github.com/ljharb/define-properties/actions\n","maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"time":{"modified":"2023-02-10T17:02:02.425Z","created":"2015-01-04T08:34:45.318Z","1.0.0":"2015-01-04T08:34:45.318Z","1.0.1":"2015-01-06T22:29:12.451Z","1.0.2":"2015-05-24T03:26:06.197Z","1.1.0":"2015-07-02T06:52:56.628Z","1.1.1":"2015-07-21T07:17:08.897Z","1.1.2":"2015-10-14T22:28:41.286Z","1.1.3":"2018-08-15T04:40:39.246Z","1.1.4":"2022-04-15T06:15:43.631Z","1.2.0":"2023-02-10T17:02:02.316Z"},"homepage":"https://github.com/ljharb/define-properties#readme","keywords":["Object.defineProperty","Object.defineProperties","object","property descriptor","descriptor","define","ES5"],"repository":{"type":"git","url":"git://github.com/ljharb/define-properties.git"},"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"bugs":{"url":"https://github.com/ljharb/define-properties/issues"},"license":"MIT","readmeFilename":"README.md"} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/function-bind/function-bind-1.1.1.tgz b/cli/tests/testdata/npm/registry/function-bind/function-bind-1.1.1.tgz new file mode 100644 index 00000000000000..44bef1635cf625 Binary files /dev/null and b/cli/tests/testdata/npm/registry/function-bind/function-bind-1.1.1.tgz differ diff --git a/cli/tests/testdata/npm/registry/function-bind/registry.json b/cli/tests/testdata/npm/registry/function-bind/registry.json new file mode 100644 index 00000000000000..b606d42f599a1b --- /dev/null +++ b/cli/tests/testdata/npm/registry/function-bind/registry.json @@ -0,0 +1 @@ +{"_id":"function-bind","_rev":"19-f9e851d54b1bc584b06b6fcd450e232e","name":"function-bind","description":"Implementation of Function.prototype.bind","dist-tags":{"latest":"1.1.1"},"versions":{"0.1.0":{"name":"function-bind","version":"0.1.0","description":"Implementation of function.prototype.bind","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/function-bind.git"},"main":"index","homepage":"https://github.com/Raynos/function-bind","contributors":[{"name":"Raynos"}],"bugs":{"url":"https://github.com/Raynos/function-bind/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{"tape":"~1.0.2"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/function-bind/raw/master/LICENSE"}],"scripts":{"test":"node ./test/index.js","start":"node ./index.js","watch":"nodemon -w ./index.js index.js","travis-test":"istanbul cover ./test/index.js && ((cat coverage/lcov.info | coveralls) || exit 0)","cover":"istanbul cover --report none --print detail ./test/index.js","view-cover":"istanbul report html && google-chrome ./coverage/index.html","test-browser":"testem-browser ./test/browser/index.js","testem":"testem-both -b=./test/browser/index.js"},"testling":{"files":"test/index.js","browsers":["ie/8..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"_id":"function-bind@0.1.0","dist":{"shasum":"4d356a3bbea3a1226d0dde4749a8a80087cda3e2","tarball":"http://localhost:4545/npm/registry/function-bind/function-bind-0.1.0.tgz","integrity":"sha512-4UP4tXl/2KpwfhzRR9vtQ3Ft5QG4om3n1QDCq5FkqnODDd2ca/qqXFiBdf/RHxjlDcjzpGL1ocTUyXrfXci1NQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNXonyKvW3aq2Dt5dDse7duLKV9Wq8jSqVk/93L6VErQIgPkMu0ju/ZNrI843cZj06HKkUJVzoM6j8ggH8kOZ75do="}]},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"1.0.0":{"name":"function-bind","version":"1.0.0","description":"Implementation of function.prototype.bind","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/function-bind.git"},"main":"index","homepage":"https://github.com/Raynos/function-bind","contributors":[{"name":"Raynos"}],"bugs":{"url":"https://github.com/Raynos/function-bind/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{"tape":"~2.14.0","covert":"~0.4.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/function-bind/raw/master/LICENSE"}],"scripts":{"test":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet"},"testling":{"files":"test/index.js","browsers":["ie/8..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"2e324165faafc0211bea7ddc5ec54b97f884e350","_id":"function-bind@1.0.0","_shasum":"00e4e206738ad45ec0017d62a7ef77d9917ab2a2","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"00e4e206738ad45ec0017d62a7ef77d9917ab2a2","tarball":"http://localhost:4545/npm/registry/function-bind/function-bind-1.0.0.tgz","integrity":"sha512-ZdHaPFa9xBJ0eBlxf+Ia/NQ7DQfEq26SruzXjpHJ1Et5uLsWnEGoHBD6LSaxshBfNTEGK0zAxCrHdABRcgo3dA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5TMzEEuM2k3O29zQ/UDd4+YD0KJfV32UbGTlV4fL1iAIhAJvp8l4cCyTdxZdMmTEQIWhA18n5q+sdSFuLnrCVXcEP"}]}},"1.0.2":{"name":"function-bind","version":"1.0.2","description":"Implementation of Function.prototype.bind","keywords":["function","bind","shim","es5"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/function-bind.git"},"main":"index","homepage":"https://github.com/Raynos/function-bind","contributors":[{"name":"Raynos"},{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"bugs":{"url":"https://github.com/Raynos/function-bind/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{"tape":"~3.0.0","covert":"~1.0.0","jscs":"~1.6.2"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/function-bind/raw/master/LICENSE"}],"scripts":{"test":"npm run lint && node test/index.js && npm run coverage-quiet","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"jscs *.js */*.js"},"testling":{"files":"test/index.js","browsers":["ie/8..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"71784cd83079ccd7f20684e959e1958936a0e3ff","_id":"function-bind@1.0.2","_shasum":"c2873b69c5e6d7cefae47d2555172926c8c2e05e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"c2873b69c5e6d7cefae47d2555172926c8c2e05e","tarball":"http://localhost:4545/npm/registry/function-bind/function-bind-1.0.2.tgz","integrity":"sha512-v2124bSW+kLVmfLEHDpsTeQy+sLEg9gdD/1aVTO7jolX/EmBEq9+atKWYEV3w791Os5USi8yNyuUtiVEXMWiAw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/fb09LXqi/S/XCiGGR80GFQWGnlb//2iDXvrTilfDrAIhAI7izsP+giJBxJFL5uX/9k+Uwe75W26i1/oIUkjTnwEg"}]}},"1.1.0":{"name":"function-bind","version":"1.1.0","description":"Implementation of Function.prototype.bind","keywords":["function","bind","shim","es5"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/function-bind.git"},"main":"index","homepage":"https://github.com/Raynos/function-bind","contributors":[{"name":"Raynos"},{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"bugs":{"url":"https://github.com/Raynos/function-bind/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{"tape":"^4.4.0","covert":"^1.1.0","jscs":"^2.9.0","eslint":"^2.0.0","@ljharb/eslint-config":"^2.1.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/function-bind/raw/master/LICENSE"}],"scripts":{"test":"npm run lint && npm run tests-only && npm run coverage-quiet","tests-only":"node test","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs *.js */*.js","eslint":"eslint *.js */*.js"},"testling":{"files":"test/index.js","browsers":["ie/8..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"cb5057f2a0018ac48c812ccee86934a5af30efdb","_id":"function-bind@1.1.0","_shasum":"16176714c801798e4e8f2cf7f7529467bb4a5771","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.6.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"16176714c801798e4e8f2cf7f7529467bb4a5771","tarball":"http://localhost:4545/npm/registry/function-bind/function-bind-1.1.0.tgz","integrity":"sha512-rdjNZR1BePD6g5bTgalqkSN9eMuHgB2KHOBupLM8f5TblXwiV8nSY31dygkdwLNFn1m2KAkjFsREUuLNcU1rdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChAIxsZ/Z+Uf2sKfvL7vSYyvIua0IhoERa8wsDlRDMpAiEAzdZkw5K770jnn0pTnBbjF5h9dkklqX/QJaDMU5+nPHY="}]},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/function-bind-1.1.0.tgz_1455438520627_0.822420896962285"}},"1.1.1":{"name":"function-bind","version":"1.1.1","description":"Implementation of Function.prototype.bind","keywords":["function","bind","shim","es5"],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/function-bind.git"},"main":"index","homepage":"https://github.com/Raynos/function-bind","contributors":[{"name":"Raynos"},{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"bugs":{"url":"https://github.com/Raynos/function-bind/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{"@ljharb/eslint-config":"^12.2.1","covert":"^1.1.0","eslint":"^4.5.0","jscs":"^3.0.7","tape":"^4.8.0"},"license":"MIT","scripts":{"pretest":"npm run lint","test":"npm run tests-only","posttest":"npm run coverage -- --quiet","tests-only":"node test","coverage":"covert test/*.js","lint":"npm run jscs && npm run eslint","jscs":"jscs *.js */*.js","eslint":"eslint *.js */*.js"},"testling":{"files":"test/index.js","browsers":["ie/8..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"gitHead":"1213f807066d1cb8d39a0592d5118f4b1f03de4a","_id":"function-bind@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"integrity":"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==","shasum":"a56899d3ea3c9bab874bb9773b7c5ede92f4895d","tarball":"http://localhost:4545/npm/registry/function-bind/function-bind-1.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsVxPdBe+3LZpIF8YZMP7chLM+i5RVRwvtzCd5Yx7zigIgHw6sg2uwy+ItJamfc9+b+XTQOi93JrtZ+8F6YNq3Jz8="}]},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/function-bind-1.1.1.tgz_1503906695005_0.1665907499846071"}}},"readme":"# function-bind\n\n\n\n\n\nImplementation of function.prototype.bind\n\n## Example\n\nI mainly do this for unit tests I run on phantomjs.\nPhantomJS does not have Function.prototype.bind :(\n\n```js\nFunction.prototype.bind = require(\"function-bind\")\n```\n\n## Installation\n\n`npm install function-bind`\n\n## Contributors\n\n - Raynos\n\n## MIT Licenced\n\n [travis-svg]: https://travis-ci.org/Raynos/function-bind.svg\n [travis-url]: https://travis-ci.org/Raynos/function-bind\n [npm-badge-svg]: https://badge.fury.io/js/function-bind.svg\n [npm-url]: https://npmjs.org/package/function-bind\n [5]: https://coveralls.io/repos/Raynos/function-bind/badge.png\n [6]: https://coveralls.io/r/Raynos/function-bind\n [7]: https://gemnasium.com/Raynos/function-bind.png\n [8]: https://gemnasium.com/Raynos/function-bind\n [deps-svg]: https://david-dm.org/Raynos/function-bind.svg\n [deps-url]: https://david-dm.org/Raynos/function-bind\n [dev-deps-svg]: https://david-dm.org/Raynos/function-bind/dev-status.svg\n [dev-deps-url]: https://david-dm.org/Raynos/function-bind#info=devDependencies\n [11]: https://ci.testling.com/Raynos/function-bind.png\n [12]: https://ci.testling.com/Raynos/function-bind\n","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"ljharb","email":"ljharb@gmail.com"}],"time":{"modified":"2022-06-18T04:14:28.973Z","created":"2013-06-16T23:25:41.232Z","0.1.0":"2013-06-16T23:25:42.888Z","1.0.0":"2014-08-09T17:02:51.069Z","1.0.1":"2014-10-03T07:38:13.045Z","1.0.2":"2014-10-05T07:23:52.930Z","1.1.0":"2016-02-14T08:28:42.411Z","1.1.1":"2017-08-28T07:51:35.937Z"},"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/function-bind.git"},"homepage":"https://github.com/Raynos/function-bind","keywords":["function","bind","shim","es5"],"contributors":[{"name":"Raynos"},{"name":"Jordan Harband","url":"https://github.com/ljharb"}],"bugs":{"url":"https://github.com/Raynos/function-bind/issues","email":"raynos2@gmail.com"},"readmeFilename":"README.md","users":{},"license":"MIT"} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/get-intrinsic/get-intrinsic-1.2.0.tgz b/cli/tests/testdata/npm/registry/get-intrinsic/get-intrinsic-1.2.0.tgz new file mode 100644 index 00000000000000..b55e814a0a5aa1 Binary files /dev/null and b/cli/tests/testdata/npm/registry/get-intrinsic/get-intrinsic-1.2.0.tgz differ diff --git a/cli/tests/testdata/npm/registry/get-intrinsic/registry.json b/cli/tests/testdata/npm/registry/get-intrinsic/registry.json new file mode 100644 index 00000000000000..b09a472f65acc3 --- /dev/null +++ b/cli/tests/testdata/npm/registry/get-intrinsic/registry.json @@ -0,0 +1 @@ +{"_id":"get-intrinsic","_rev":"8-56a236fdf4f8cc6cb2833aa6d5ee81d7","name":"get-intrinsic","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"get-intrinsic","version":"1.0.0","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"]},"scripts":{"lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"tape 'test/*'","coverage":"nyc npm run tests-only","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^17.2.0","aud":"^1.1.2","auto-changelog":"^2.2.1","es-abstract":"^1.18.0-next.1","eslint":"^7.12.1","foreach":"^2.0.5","has-bigints":"^1.0.0","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","nyc":"^10.3.2","object-inspect":"^1.8.0","tape":"^5.0.1"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"gitHead":"516f403fe75287a2a80a8d48c2061f6b3238ec0c","_id":"get-intrinsic@1.0.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-EMuu0ud8uAP4Zs6tQqMeHiY1PbIBDcZ92QVxqeLfqTMbyvqcDbrtHjfu0RWh8QaUNJ3lP1DSX3J2okgj9JE47g==","shasum":"035ccf14a00ae2eb3d110a00fcd10e74706a8fe7","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.0.0.tgz","fileCount":11,"unpackedSize":25104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnCtMCRA9TVsSAnZWagAAwm0P/0h8E1pcOVKKP6XQ6No4\n9tdWqfwRUlG8RTYs8sXW8g2qL3PxQdM1ql5GztOTUSstrtEE2sux290V6w1B\n829I8YHJbw667RuqIOuUBnXjaFm3Eb6S1Tvhvlbff0MtEoP9dZwgvqHn6yLx\niIBIRDCEJhuqrfVmjbpy6hLDEsxhaWsSxPj81gm+aHY6xVb4f/dZvrDp8R9j\nlaEwsE7EK+cEn3ifTQYYHlv8an9QkPFTHDLjeZ+wdWBnut+tepMeFM+ZjG+d\ngdTg2IeNfXFw/QSU5eDQtjqHZ2Fv2T4fFn2blhkrIbEMmwxczzM6QuQiOGc8\n1suIs9vDdt8qq6h8ESs9hr5I2hgE3M4Xxt5ziZ95TifSDRNyyQGbMy5vj3CY\n0z2e5M6zr5b2mkiWm0A5tZI4Mdy/2XrpJxTE6/opYgvA5mQ0GIYzO7r1Zt+G\nmHD/MDeTe2WxBWizo3nv0IGRvZeHZ/JjcRHdHeRAq+rqJ6o4hvYanxfoGlGA\njCUXYsZzR2XLfxBiTeSUO9VQ5YSBtsfU+egeRNwOw5PwxpGwfW4VUVOPHwHJ\n5dHlRGuWHDOn+4uF+09o5B70By6rcGZsHV62jX5ci5JclHswBdrvcftucfyG\nyR2qyuEnxq7O+S2D/uMylQLqTdCdJ6Bf58TKGSzpsp45oWrSmIsSTdiVWIsG\nz7pB\r\n=DQ3f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEehDACke//ohQCAy5pJo/R/9J5UGrufkNBiQJqe3y2DAiBC7txNPrBmQB4PjK/Ydow1627eRDEIl0wz1IkhWkBAkw=="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.0.0_1604070219549_0.3039159077605891"},"_hasShrinkwrap":false},"1.0.1":{"name":"get-intrinsic","version":"1.0.1","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"]},"scripts":{"lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/*'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^17.2.0","aud":"^1.1.2","auto-changelog":"^2.2.1","es-abstract":"^1.18.0-next.1","es-value-fixtures":"^1.0.0","eslint":"^7.12.1","foreach":"^2.0.5","has-bigints":"^1.0.0","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","nyc":"^10.3.2","object-inspect":"^1.8.0","tape":"^5.0.1"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.1"},"gitHead":"1802957d1ff6a04965505f54c3d354ad7fa31034","_id":"get-intrinsic@1.0.1","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==","shasum":"94a9768fcbdd0595a1c9273aacf4c89d075631be","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.0.1.tgz","fileCount":12,"unpackedSize":26012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnPbUCRA9TVsSAnZWagAAO2UP/37xSp1p1f50Pt6yyL4k\n1BKcgA+OfPCEhFnJA1AKqYeL8rVBLr7VoSvMzTQ9JonFIIXLlnlVe8P91KWE\n1AXoYJr/dW8ZG7vHs37jK7aiEweyYlgLebWPOM2T2bU0WFoaaIws1fa+TwTS\neCqY8Q7XysXV3syWXX1El/2TIXzSVa8g8gOVJy/j8j+fthSAPD0H6ZTCvYQ6\nPSWIFAYhRIWXLGel3T/TE1p61AWZuEtf8B+e6K8hPiMuzhNjODCBqJQV246D\nPznhAbJV81wNIdM0ohuT19+t7GqjjKbKKMpU0LZzSCjZF3Q+zLI4H+qMY0Bl\nHFiqspAfS0r/wHWoBkzODoHWMduJ/JPtE/uee8ae92iC9fR9Y8fSOWXTt07W\nFWSGyLyJ6CQS7d+dJwFb+2cQNckV/9VKu+y58z+i6x6/FExmHNBdYt4ps3ju\nH89DQEmfq5wyLcceng9K0a7A6vfLM6MvEk8FugXVhGORioFOkscE3f8gS7Sc\nIzbl739iiG3oGvNzRgF229t2xwUZXVNqGJ4Sg3AQM/RX75+Mu1Jlx52z0ECY\nLZGX16A+J3N955DxJktRA1l7RA+zihIs1fZKHm+fErP547biV5p+TNocKrrn\nwghypBweNbcNkzNds6qczoB/3Vsc2OxHaVUBWNleqmlrQ6Qk1AA4ZRIdhQZ8\njWu7\r\n=BhVO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFzb1R9CMnRu3GNwT893R3yms0wnrxROjmNn7s1aWEdLAiEAgP3VkUFew7/H+j05N3mW3XntPRU+Smw2z+q8kZl3CC4="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.0.1_1604122323843_0.022947285149020447"},"_hasShrinkwrap":false},"1.0.2":{"name":"get-intrinsic","version":"1.0.2","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"]},"scripts":{"lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/*'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^17.3.0","aud":"^1.1.3","auto-changelog":"^2.2.1","es-abstract":"^1.18.0-next.1","es-value-fixtures":"^1.0.0","eslint":"^7.15.0","foreach":"^2.0.5","has-bigints":"^1.0.1","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","nyc":"^10.3.2","object-inspect":"^1.9.0","tape":"^5.0.1"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.1"},"gitHead":"eec980691af2fafb4e0d9207e473c9e1eb7995e6","_id":"get-intrinsic@1.0.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==","shasum":"6820da226e50b24894e08859469dc68361545d49","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.0.2.tgz","fileCount":13,"unpackedSize":92891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3FiZCRA9TVsSAnZWagAAhqwP/ApVcuwN67ClrOqU4sXI\nq1LZjlVXwkM54mRbfqChOsZUZsxW1V8xCpeaaZE0h2JKH+PnzS/GUvAcd0iA\nXbyjsIfvc66lu0bBIMKrP/zLMQ7LIm3q9Vr7iLIWi7LXXCGNqhtNx0rGgPVi\npk6c0o6MUK6Tr1RGtdpQZVnJqF9veFC6RVApu+xFYt8QWXuYDTGKrS093aRU\noI3SmbrjLSlskjXSVREGFja/L5JsiHbds7meSHPWdF57AhatrEb9X8h93fdy\n4Pz1yUKjd1QFXoAg4Pw+TLRPO0VN4JYeHWwaQ+mmOl5RViz+Yiq6joR+Fo1r\nsdSWHdijgx3XzGH4nbiP9mjR/TcypqZQeEP1H5TDZfDSSRSg9Eus0BQuHwOa\n9kNLDQywTsBBsB8S5tlJ4QSrTSn6Y8q5RsQIl9IIHwAUW/0GyiAUfCJMYCiE\n9A13GnS6ZPJEdJu960P7ZlbvnfpPbiQaMOMyC6kXOfACBkcxhhc4SofQkMZw\n5v7Xjg3Nz6inEnpbXuuU3Tj3WmDMMWoyX06sDbv50X/gzciNSy6ptcJgultt\n8aGrP+i/QWfHzGdguIVlz+2wf5kYG1jRyvbKsVZKJ2wvnnxUC8Ji0yjFO6j/\nKuwcsva60yDyaAjpy4Sbw7WSE1etufVa0rXf96788xqPhAhvFcGzzVKiOigr\nUP2R\r\n=SifI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLO/WsMu1yogrwHBInw7hC3MUpX9G+E/a0CiaubHBZGAIhAOSWmWgEOV39qmGn7YkvbHgzc+IxhjCPiTch0LAig1NA"}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.0.2_1608276120877_0.84071357918607"},"_hasShrinkwrap":false},"1.1.0":{"name":"get-intrinsic","version":"1.1.0","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"]},"scripts":{"lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^17.5.0","aud":"^1.1.3","auto-changelog":"^2.2.1","call-bind":"^1.0.2","es-abstract":"^1.18.0-next.2","es-value-fixtures":"^1.0.0","eslint":"^7.18.0","foreach":"^2.0.5","has-bigints":"^1.0.1","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","nyc":"^10.3.2","object-inspect":"^1.9.0","tape":"^5.1.1"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.1"},"gitHead":"aaaaa0d5cd17d4b0b274cdaa1f7f3e6007fc9e59","_id":"get-intrinsic@1.1.0","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==","shasum":"892e62931e6938c8a23ea5aaebcfb67bd97da97e","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.1.0.tgz","fileCount":10,"unpackedSize":29482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD0SqCRA9TVsSAnZWagAAVjQP/276R/hJLC3r7gUvPhUj\n8mwJCVpdCjIzaf4fBVvu0mB4cXe4G+t+N1w3JG9wkBqTpoHjNRzUUxhcFYeX\nnos9b4CeNftDFVgwixFHcRS0Nk0A6SUSj7jdmLiyrM3Lc0KVrMfe7G7ECeSV\nKGWViXtP8oEZJ6FZURMS9yMraQzeh5ChjcGKXsX0Jf0IpUXlDaib0ElChkLr\nN6iXsGveM9tYf15JjBW/gyJXhMPQLGE37jdCBkoW6WeOT7twWr0KDcmn6QHg\n775CZxPl1VJpEiXIoSk0PnAxRN95MIRZvdQ9k1ctSuE5kpErrTZk7j7i4i2T\n5bbOOcLvxX+StCvNtOh7M52RyDxPaagFSoKaNHxmW4e2muDDuvWRPA3n/FI4\nuXw1J1Lb1lvbhx/L9wLNN9SdPFcFOA2+t23SJE/F8abLHNsdhoBlCyoCmULL\nIKdrVXWxFbopnQF3n18ajCIDJ9E4J1vr6XU7+xYc7Pl1Nuel9AfQU5PuLAFy\nj0ziiUntUOuYWC0xHuhnYVHDWmU+1UB5IoxlQi9uAYp0/RBWg4mmAcQ2dK9B\nJDxOaa/Rmkp1F/5htSqD6hvfAH8Pv/SpEglGRUPH4mmHF183iLEwls2GfOAJ\nh2Baw9u2yX7COfPYqDG2MVbwB6wafDPgUKNNCZ+FjMRgLCt9VrzwVjPu9QF/\n5V7l\r\n=QaDr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+e/mSh+QgkqBLYqQTWcVvq5FQ05WbdMfaLjOMgM3N5AiB29JZnuXxh8SsBV17yu9nizQr5iwkWwK5HPPpe9Dx8Vg=="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.1.0_1611613354056_0.8648044903277086"},"_hasShrinkwrap":false},"1.1.1":{"name":"get-intrinsic","version":"1.1.1","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package.json":"./package.json"},"scripts":{"prelint":"evalmd README.md","lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^17.5.0","aud":"^1.1.3","auto-changelog":"^2.2.1","call-bind":"^1.0.2","es-abstract":"^1.18.0-next.2","es-value-fixtures":"^1.0.0","eslint":"^7.19.0","evalmd":"^0.0.19","foreach":"^2.0.5","has-bigints":"^1.0.1","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","nyc":"^10.3.2","object-inspect":"^1.9.0","tape":"^5.1.1"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.1"},"gitHead":"efa0daa5166f1a06658001e34f49b5f1185786eb","_id":"get-intrinsic@1.1.1","_nodeVersion":"14.15.4","_npmVersion":"6.14.10","dist":{"integrity":"sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==","shasum":"15f59f376f855c446963948f0d24cd3637b4abc6","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.1.1.tgz","fileCount":10,"unpackedSize":32513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGroRCRA9TVsSAnZWagAAAaMP/1kYGifz/BvcSYhnlVk+\nSnCwbyuOaTefaIpH15yyWb9sjo+1fgUw4Ej3GmVdpmyW45Tj0WePwRWhbpok\n1aKIx3P8/q8m95HymXcR50VRByFyxpNFxtWuo674yTzvYxN1+QqXVSO7xeLI\nL+bRYOScvb+f5DI8t5LqhZlvQgfiqyWXZI4L+gbwfIIrE7EUg5DZJZrzIBOY\n5SExvgueChcIptQgu8ppE5kADlGqmTHUBt3P68EU5HRc5Z/LN5csgTu63VkJ\nxx3pTXa/Q672C9qj1CqedmughzgkfBjSuKOhbQWgILCbNy0A6TKKVirpc2fB\nuI0f4vWTf1ImGrspsfIH2IR4SQqMmVy8qpgwG/YtU3q9Si9pOcXQ1q+JnyD6\nDoLaiTEVPC8ks/bKGjtNBDUmlnEuyluaaFuK3cfJQMGp2n+FNLXI5LBz9uoR\nkpqUHNJBFJ9HbbMfBUmTS3K3duAkgOR+izFQgAJJWzYbuAvM7GGAoy1eQUrY\nuD1tAQglMbB0YwsjnDxvGcV32iFoMttrcXb5xKUOlVaFMD2D9PDryeO/gu0N\nm3wDWCKhmMjGNWV6WA9q0mD6YRCPHZUwmb4xSFdz/i1MP4iVjVKc1tz6RAiT\nLqxKnm4uPjTsPPGrXWYdRs5EEF2/QHcmCex2kwk5Ul4fsVayaNOAzB3F+iSp\nbWf1\r\n=5aSN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNo13JEcIXzNTEsjtVSMSsBL9CAqU56ZzTh56ilFAwmgIgCFy2IWS7fXyDYWF1/aSqiRCTW9wVIONaN0YUk7J0diM="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.1.1_1612364304893_0.18784978138621788"},"_hasShrinkwrap":false},"1.1.2":{"name":"get-intrinsic","version":"1.1.2","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublish":"not-in-publish || npm run prepublishOnly","prepublishOnly":"safe-publish-latest","prelint":"evalmd README.md","lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^21.0.0","aud":"^2.0.0","auto-changelog":"^2.4.0","call-bind":"^1.0.2","es-abstract":"^1.20.1","es-value-fixtures":"^1.4.1","eslint":"=8.8.0","evalmd":"^0.0.19","for-each":"^0.3.3","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","mock-property":"^1.0.0","npmignore":"^0.3.0","nyc":"^10.3.2","object-inspect":"^1.12.2","safe-publish-latest":"^2.0.0","tape":"^5.5.3"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.3"},"publishConfig":{"ignore":[".github/workflows"]},"gitHead":"1692762305146cdee0bd0a31cb0a57ffd9240c8c","_id":"get-intrinsic@1.1.2","_nodeVersion":"18.3.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==","shasum":"336975123e05ad0b7ba41f152ee4aadbea6cf598","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.1.2.tgz","fileCount":9,"unpackedSize":36671,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGk690kzjXZ7zcAng4wWyvMEdoQ4xPaEtBm2SQIm48nMAiBm4P1A9nW2MVt9ngQfwiaKLc6wAZZBcdlpzlq8Br1v2Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioLxOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs3A//RY5KjVotePADUXDnTk/obYp33AmFt7aXnVRafoQNIhvDC7Ya\r\nMj9g+8NGAG2D1xBgD+Q/dhvvfZQlpuLRzkfQg4V92liFmgpoEB0ue6BP0TD8\r\n37S9yioBWG6LTJkqbvjc68V3gi3t5jWTqHJeYPW4mxJF6MMCx7m9EYWGtqUR\r\n0AnVNqH9j4SJ/X3qHach0vgsI8hnb8iXeTg8X7465MmQke+tygQbT3rYLN/L\r\nSni+uwm6EMybJ8Lh5GKq5U6aKr+inAYm/h47js4D7/A+tvfzYfWvLjr1l4J5\r\n+cMKLskFEP6g/Xz9jaYCCRxe7YGaiTmH/sUgT+kTzo2oJaYh6xd/6bgvGCut\r\nPFBBxh0lknSR1wbiQz3hcdHu42D0a9jiOmtc3DlkiRzrez6pEJMDnKu+Pbck\r\nkqhrBMLYyLYkLHJzeB07aN+KuspIZgjMJ/rSsgqla8JHv6TqWx0BbaoZ53VA\r\nPzf3fs73zh7IhNLznCQVNHR9iM0w+dUMI2n6c0QlOaimFkJ+61cHA13zU20x\r\nllmejv9s5XEkvuVSU/ibuYEkbnqDg62sWcm0HgGuL6k+RKe7Mj/gOds/Zn9n\r\ngvMIl1y7zeaIrEmQHfj6ndXAB1Mv9eIySBA4//nd+oVZLibt4pkAJIIy8xY1\r\nnHBGLFN4jrtJBI6I36xrNfrC0DVumPnTh8A=\r\n=ZCcH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.1.2_1654701133878_0.7209001100988714"},"_hasShrinkwrap":false},"1.1.3":{"name":"get-intrinsic","version":"1.1.3","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublish":"not-in-publish || npm run prepublishOnly","prepublishOnly":"safe-publish-latest","prelint":"evalmd README.md","lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^21.0.0","aud":"^2.0.0","auto-changelog":"^2.4.0","call-bind":"^1.0.2","es-abstract":"^1.20.2","es-value-fixtures":"^1.4.2","eslint":"=8.8.0","evalmd":"^0.0.19","for-each":"^0.3.3","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","mock-property":"^1.0.0","npmignore":"^0.3.0","nyc":"^10.3.2","object-inspect":"^1.12.2","safe-publish-latest":"^2.0.0","tape":"^5.6.0"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.3"},"testling":{"files":"test/GetIntrinsic.js"},"publishConfig":{"ignore":[".github/workflows"]},"gitHead":"65cac0bca7cf7db4d1594bd1f7c68e921adedb5b","_id":"get-intrinsic@1.1.3","_nodeVersion":"18.9.0","_npmVersion":"8.19.1","dist":{"integrity":"sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==","shasum":"063c84329ad93e83893c7f4f243ef63ffa351385","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.1.3.tgz","fileCount":9,"unpackedSize":37128,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFx7EpcX7UchnW1MjTW4LY/IDpL1jl3H+M29ezR+WSHQAiEA7sXR/8EoSjeBOAK0Z3he//k1OtgvYgkt6hGAGtrHojM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIACSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAuA//URHhCHAEO247jjMd3BcpIpNWgbXTtnIEpHqbGulxZuzwd8hD\r\n7a9fqywLrEQq10reRxRNeS6Zk7BSv9QqwtZx7dTmi95ZxPETZvF2khJ6ggyj\r\nhAMonDjaP79Ki5Dwz/JH2WxsefDcAAPRRftEmm73oSJgt9EEdssmmAXgG5JS\r\n5OU3tCLGb4ricSaPNv2g2QDDLuLh/j6axKGn5bsQZFCvK87PV1vR/9Q6EVUz\r\nNDgWOxcgQTXgpVJYPsd6j8FiB3PiuFmd7/aLiqUMncStQDzklRHd8zUcxay3\r\n+0NplukrzPQPRDjMLuLeIX6WX+145sPZcThc7s9nrfmk2ODpDmLUYPZdki6U\r\nUBBa9aK3kDBIocvwVrleIzyY53SKvmmZ6jqmP5wS9pEWPa1gdD+VugZGazEK\r\noYK1MH77WG9fJb/2n27AWhJ/Tm9m177G+9rYQKIA+Q9JmZom+qNQviXkSkHL\r\n9MhOdjGzH0hnhX25ml81l6I2a/spKuN6RsHKNruUEUUxAyQYxIm6ZJs6D2Hy\r\nDjd+LklfZnCUsJUIJarqkB8XnRYsrKR+zrcTjxuRS0vQMBs+t/DYyXaS1k73\r\n4SR/biyt43/SOVtwZ25ThMxfGBZ+gwIqsoih3Rovs18QsrZNDyeU3fzfcTCM\r\nRioeF4ejfq26VnL5JSIEvGDWBNihLZhCw5U=\r\n=Yum9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.1.3_1663041682205_0.23362607287463288"},"_hasShrinkwrap":false},"1.2.0":{"name":"get-intrinsic","version":"1.2.0","description":"Get and robustly cache all JS language-level intrinsics at first require time","main":"index.js","exports":{".":[{"default":"./index.js"},"./index.js"],"./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublish":"not-in-publish || npm run prepublishOnly","prepublishOnly":"safe-publish-latest","prelint":"evalmd README.md","lint":"eslint --ext=.js,.mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"homepage":"https://github.com/ljharb/get-intrinsic#readme","devDependencies":{"@ljharb/eslint-config":"^21.0.1","aud":"^2.0.2","auto-changelog":"^2.4.0","call-bind":"^1.0.2","es-abstract":"^1.21.1","es-value-fixtures":"^1.4.2","eslint":"=8.8.0","evalmd":"^0.0.19","for-each":"^0.3.3","gopd":"^1.0.1","make-async-function":"^1.0.0","make-async-generator-function":"^1.0.0","make-generator-function":"^2.0.0","mock-property":"^1.0.0","npmignore":"^0.3.0","nyc":"^10.3.2","object-inspect":"^1.12.3","safe-publish-latest":"^2.0.0","tape":"^5.6.3"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"dependencies":{"function-bind":"^1.1.1","has":"^1.0.3","has-symbols":"^1.0.3"},"testling":{"files":"test/GetIntrinsic.js"},"publishConfig":{"ignore":[".github/workflows"]},"gitHead":"0b60d7ac9d93e8824a36ddd52635be1fc13758d1","_id":"get-intrinsic@1.2.0","_nodeVersion":"19.4.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==","shasum":"7ad1dc0535f3a2904bba075772763e5051f6d05f","tarball":"http://localhost:4545/npm/registry/get-intrinsic/get-intrinsic-1.2.0.tgz","fileCount":9,"unpackedSize":38691,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb29OYVbJKfex+ljyYg1fRxZiHvAcbeMgBRIcq6cP6MgIhAMPAotqdPrJxkwnAeSq+RDK//aoFWESiSJuvWBmlhUAH"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjykKtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUEQ/+PfWdGnewUZa86B0H4haSxBRBlwuFGg7GpdoEhJ3Ll1A9p3Jb\r\nvU2+9RyeNp1p2LNrktOAenAcs7I3dLl0dAspHjjL3uLNhPkrlpeVqOktXs+H\r\n7l0VaAOrLZVi1f+akY117IO0OO6FwRLV42VdM7QIH2BcfXuCyDDke41rq5oS\r\nR9I+8C2SCW2/OxXcMG9nYOpW494hmHRRYh9mpovJUOpAerMUgy334rK72ArR\r\nNsgnAu4luu/7RmC5BNPS26Q7NVCVf7THdx2v3OSkgFvTrdS+wu0NhqkakppS\r\nfGTYkR1m+7vX9YLHIokoIDjHtHaNPMUb7e51OxegjtPEh7FBacfRs0bxfx7Z\r\nJLhYAbjSanGci/gfC2gT1YIPUgydWbx1Ejmol9j7QmA9BQuHSxHu+SiaRA46\r\n+F/Fzbkp1sC0gqo4qGN04Lw8+2g2DHGfBygd6vcUtnaHMz2coCF4rlvcW2fN\r\nz6tT4pcE/AWtC6l9yCWzAWDjEZjF2kBycuiY36IlhhPjtj3qiGQqnTPLL10d\r\nUWA9ZTqFH2k+o4tKhz8g1kQeBApgpRgr9FfukaNq/TZi2tguQ2MlHQ+0R0ZC\r\nZZRtnin4nEpjZ+GkAcfnm9QCrripiWwDtSgXsKvgSICOdp9urrSgfcEAuEvM\r\nrTjOosJAUVohG06+klaUIe6mIssavg3AgjU=\r\n=CxS4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/get-intrinsic_1.2.0_1674199725115_0.9427568240984563"},"_hasShrinkwrap":false}},"time":{"created":"2020-10-30T15:03:39.549Z","1.0.0":"2020-10-30T15:03:39.692Z","modified":"2023-01-20T07:28:45.383Z","1.0.1":"2020-10-31T05:32:03.992Z","1.0.2":"2020-12-18T07:22:01.056Z","1.1.0":"2021-01-25T22:22:34.211Z","1.1.1":"2021-02-03T14:58:25.007Z","1.1.2":"2022-06-08T15:12:14.076Z","1.1.3":"2022-09-13T04:01:22.362Z","1.2.0":"2023-01-20T07:28:45.291Z"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"description":"Get and robustly cache all JS language-level intrinsics at first require time","homepage":"https://github.com/ljharb/get-intrinsic#readme","keywords":["javascript","ecmascript","es","js","intrinsic","getintrinsic","es-abstract"],"repository":{"type":"git","url":"git+https://github.com/ljharb/get-intrinsic.git"},"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"bugs":{"url":"https://github.com/ljharb/get-intrinsic/issues"},"license":"MIT","readme":"# get-intrinsic [![Version Badge][npm-version-svg]][package-url]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![dependency status][deps-svg]][deps-url]\n[![dev dependency status][dev-deps-svg]][dev-deps-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\nGet and robustly cache all JS language-level intrinsics at first require time.\n\nSee the syntax described [in the JS spec](https://tc39.es/ecma262/#sec-well-known-intrinsic-objects) for reference.\n\n## Example\n\n```js\nvar GetIntrinsic = require('get-intrinsic');\nvar assert = require('assert');\n\n// static methods\nassert.equal(GetIntrinsic('%Math.pow%'), Math.pow);\nassert.equal(Math.pow(2, 3), 8);\nassert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8);\ndelete Math.pow;\nassert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8);\n\n// instance methods\nvar arr = [1];\nassert.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push);\nassert.deepEqual(arr, [1]);\n\narr.push(2);\nassert.deepEqual(arr, [1, 2]);\n\nGetIntrinsic('%Array.prototype.push%').call(arr, 3);\nassert.deepEqual(arr, [1, 2, 3]);\n\ndelete Array.prototype.push;\nGetIntrinsic('%Array.prototype.push%').call(arr, 4);\nassert.deepEqual(arr, [1, 2, 3, 4]);\n\n// missing features\ndelete JSON.parse; // to simulate a real intrinsic that is missing in the environment\nassert.throws(() => GetIntrinsic('%JSON.parse%'));\nassert.equal(undefined, GetIntrinsic('%JSON.parse%', true));\n```\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n## Security\n\nPlease email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.\n\n[package-url]: https://npmjs.org/package/get-intrinsic\n[npm-version-svg]: https://versionbadg.es/ljharb/get-intrinsic.svg\n[deps-svg]: https://david-dm.org/ljharb/get-intrinsic.svg\n[deps-url]: https://david-dm.org/ljharb/get-intrinsic\n[dev-deps-svg]: https://david-dm.org/ljharb/get-intrinsic/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/get-intrinsic#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/get-intrinsic.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/get-intrinsic.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/get-intrinsic.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=get-intrinsic\n[codecov-image]: https://codecov.io/gh/ljharb/get-intrinsic/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/ljharb/get-intrinsic/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/get-intrinsic\n[actions-url]: https://github.com/ljharb/get-intrinsic/actions\n","readmeFilename":"README.md"} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/has-property-descriptors/has-property-descriptors-1.0.0.tgz b/cli/tests/testdata/npm/registry/has-property-descriptors/has-property-descriptors-1.0.0.tgz new file mode 100644 index 00000000000000..ee60a4f9e021ce Binary files /dev/null and b/cli/tests/testdata/npm/registry/has-property-descriptors/has-property-descriptors-1.0.0.tgz differ diff --git a/cli/tests/testdata/npm/registry/has-property-descriptors/registry.json b/cli/tests/testdata/npm/registry/has-property-descriptors/registry.json new file mode 100644 index 00000000000000..6cc2fae107911b --- /dev/null +++ b/cli/tests/testdata/npm/registry/has-property-descriptors/registry.json @@ -0,0 +1 @@ +{"_id":"has-property-descriptors","name":"has-property-descriptors","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"has-property-descriptors","version":"1.0.0","description":"Does the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD.","main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"sideEffects":false,"scripts":{"prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","pretest":"npm run lint","prelint":"evalmd README.md","lint":"eslint --ext=js,mjs .","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/inspect-js/has-property-descriptors.git"},"keywords":["property","descriptors","has","environment","env","defineProperty","getOwnPropertyDescriptor"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/inspect-js/has-property-descriptors/issues"},"homepage":"https://github.com/inspect-js/has-property-descriptors#readme","devDependencies":{"@ljharb/eslint-config":"^21.0.0","aud":"^2.0.0","auto-changelog":"^2.4.0","eslint":"=8.8.0","in-publish":"^2.0.1","evalmd":"^0.0.19","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.5.3"},"dependencies":{"get-intrinsic":"^1.1.1"},"testling":{"files":"test/index.js"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"gitHead":"3771c8b4f20e963d3a64b101b3233c20791c32ae","_id":"has-property-descriptors@1.0.0","_nodeVersion":"17.9.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==","shasum":"610708600606d36961ed04c196193b6a607fa861","tarball":"http://localhost:4545/npm/registry/has-property-descriptors/has-property-descriptors-1.0.0.tgz","fileCount":9,"unpackedSize":9308,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGu4gOEZPx0AUfM6YuqldUOElOureYihKd6CDr1Dpv9gAiBYuTEkAw8K4moKvJ7BXTohQQAJNKNWCnAJlOEyg06yYg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWQgoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuEhAAlWpOnMjEOy8ZCmrOUmE82lejonXdgy/c0+t609UYz2VO0nKr\r\n0RqhNm3xSvSU/0wMa1LOKb0rcNnRNk9YFffxDMWi6xE84n7jjWbf1vcZ1xEb\r\nFLb5T7MGEveF6lNeeMLOZPJVyQ3WDEwio5meyayWVRzEBrJq5yT+e5/hgFwz\r\nLDxMfil2CosRkDeqr+YHJC5s57qcTOkM0SKLv7pfvtVymnFPuVjTkZfwb26g\r\nwRu7oVkZFjIBf6bG0wCxj9fMCMsHpKI27rU9O3K+U0DCJLtSG92bTyvDJ0ig\r\nNLBiX5zwelnLHUEGmvIwt3/V2ZxFvK5Soymnk4COvCI3QgJkGAKoBJDgsLmP\r\nDcvHe5NEidZqvh/8kfiqwHqQ0tAUImPGQoQ3j+Sx6oN3+q+6d9RWkUyfv69I\r\n0268s/Mf2Rf7Ow0PbgkQn3qq/dxR/PvPKDSTz53gpmiDd79Hqjv9KTNTawBG\r\nHF/Nga5rVOUZHQgvhaOoXrGDsIVLfKeda+UrFwKHN4zkbvO58LaBoIMjHKz3\r\nLB8Qddh4Cqm4QdK6fBgmrDyCI79AIICCeETfQCGU/gitLcS0mQTCIHFSdwtR\r\nwt0t85krp1lpjhKA8HfHgwj5Ky9A/KdFPI1DrbbqjJiRCAnsSJzdJuw0eXcn\r\nUai87G82D9Q2HmEpEgBhWKsa8PQU4pO18E0=\r\n=iq2o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/has-property-descriptors_1.0.0_1650001960160_0.19595316522875494"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-15T05:52:40.160Z","1.0.0":"2022-04-15T05:52:40.310Z","modified":"2022-04-15T05:52:40.433Z"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"description":"Does the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD.","homepage":"https://github.com/inspect-js/has-property-descriptors#readme","keywords":["property","descriptors","has","environment","env","defineProperty","getOwnPropertyDescriptor"],"repository":{"type":"git","url":"git+https://github.com/inspect-js/has-property-descriptors.git"},"author":{"name":"Jordan Harband","email":"ljharb@gmail.com"},"bugs":{"url":"https://github.com/inspect-js/has-property-descriptors/issues"},"license":"MIT","readme":"# has-property-descriptors [![Version Badge][npm-version-svg]][package-url]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![dependency status][deps-svg]][deps-url]\n[![dev dependency status][dev-deps-svg]][dev-deps-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\nDoes the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD.\n\n## Example\n\n```js\nvar hasPropertyDescriptors = require('has-property-descriptors');\nvar assert = require('assert');\n\nassert.equal(hasPropertyDescriptors(), true); // will be `false` in IE 6-8, and ES5 engines\n\n// Arrays can not have their length `[[Defined]]` in some engines\nassert.equal(hasPropertyDescriptors.hasArrayLengthDefineBug(), false); // will be `true` in Firefox 4-22, and node v0.6\n```\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/has-property-descriptors\n[npm-version-svg]: https://versionbadg.es/inspect-js/has-property-descriptors.svg\n[deps-svg]: https://david-dm.org/inspect-js/has-property-descriptors.svg\n[deps-url]: https://david-dm.org/inspect-js/has-property-descriptors\n[dev-deps-svg]: https://david-dm.org/inspect-js/has-property-descriptors/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/has-property-descriptors#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/has-property-descriptors.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/has-property-descriptors.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/has-property-descriptors.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=has-property-descriptors\n[codecov-image]: https://codecov.io/gh/inspect-js/has-property-descriptors/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/inspect-js/has-property-descriptors/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-property-descriptors\n[actions-url]: https://github.com/inspect-js/has-property-descriptors/actions\n","readmeFilename":"README.md"} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/has-symbols/has-symbols-1.0.3.tgz b/cli/tests/testdata/npm/registry/has-symbols/has-symbols-1.0.3.tgz new file mode 100644 index 00000000000000..a5f34be724d2aa Binary files /dev/null and b/cli/tests/testdata/npm/registry/has-symbols/has-symbols-1.0.3.tgz differ diff --git a/cli/tests/testdata/npm/registry/has-symbols/registry.json b/cli/tests/testdata/npm/registry/has-symbols/registry.json new file mode 100644 index 00000000000000..c8602cac7cdeaf --- /dev/null +++ b/cli/tests/testdata/npm/registry/has-symbols/registry.json @@ -0,0 +1 @@ +{"_id":"has-symbols","_rev":"9-4d7f5f8fd9b1e0675ff88a8f88b1f511","name":"has-symbols","description":"Determine if the JS environment has Symbol support. Supports spec, or shams.","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"has-symbols","version":"1.0.0","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"description":"Determine if the JS environment has Symbol support. Supports spec, or shams.","license":"MIT","main":"index.js","scripts":{"prepublish":"safe-publish-latest","pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent security","tests-only":"npm run --silent test:stock && npm run --silent test:staging && npm run --silent test:shams","test:stock":"node test","test:staging":"node --harmony --es-staging test","test:shams":"npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs","test:shams:corejs":"node test/shams/core-js.js","test:shams:getownpropertysymbols":"node test/shams/get-own-property-symbols.js","lint":"eslint *.js","security":"nsp check"},"repository":{"type":"git","url":"git://github.com/ljharb/has-symbols.git"},"keywords":["Symbol","symbols","typeof","sham","polyfill","native","core-js","ES6"],"dependencies":{},"devDependencies":{"tape":"^4.6.0","nsp":"^2.6.1","safe-publish-latest":"^1.0.1","eslint":"^3.5.0","@ljharb/eslint-config":"^8.0.0","get-own-property-symbols":"^0.9.2","core-js":"^2.4.1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"e4a5e7028c87d509902ff292f4da3ea45c7c50cf","bugs":{"url":"https://github.com/ljharb/has-symbols/issues"},"homepage":"https://github.com/ljharb/has-symbols#readme","_id":"has-symbols@1.0.0","_shasum":"ba1a8f1af2a0fc39650f5c850367704122063b44","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"ba1a8f1af2a0fc39650f5c850367704122063b44","tarball":"http://localhost:4545/npm/registry/has-symbols/has-symbols-1.0.0.tgz","integrity":"sha512-QfcgWpH8qn5qhNMg3wfXf2FD/rSA4TwNiDDthKqXe7v6oBW0YKWcnfwMAApgWq9Lh+Yu+fQWVhHPohlD/S6uoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCraijP8TUgset3RP/0apBanH6US79uNIP6cuXhcXO2XAIgcC1SUirdAx9l8oZX/ALh1KkxopaC+SvsCad2NUwNfMs="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/has-symbols-1.0.0.tgz_1474328796481_0.2780582248233259"},"directories":{}},"1.0.1":{"name":"has-symbols","version":"1.0.1","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"funding":{"url":"https://github.com/sponsors/ljharb"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"description":"Determine if the JS environment has Symbol support. Supports spec, or shams.","license":"MIT","main":"index.js","scripts":{"prepublish":"safe-publish-latest","pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npx aud","tests-only":"npm run --silent test:stock && npm run --silent test:staging && npm run --silent test:shams","test:stock":"node test","test:staging":"node --harmony --es-staging test","test:shams":"npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs","test:shams:corejs":"node test/shams/core-js.js","test:shams:getownpropertysymbols":"node test/shams/get-own-property-symbols.js","lint":"eslint *.js","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git://github.com/ljharb/has-symbols.git"},"keywords":["Symbol","symbols","typeof","sham","polyfill","native","core-js","ES6"],"dependencies":{},"devDependencies":{"@ljharb/eslint-config":"^15.0.1","auto-changelog":"^1.16.2","core-js":"^2.6.10","eslint":"^6.6.0","get-own-property-symbols":"^0.9.4","safe-publish-latest":"^1.1.4","tape":"^4.11.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false},"gitHead":"132fe9ce5c2e443e0570606d4568a242eb86b5f5","bugs":{"url":"https://github.com/ljharb/has-symbols/issues"},"homepage":"https://github.com/ljharb/has-symbols#readme","_id":"has-symbols@1.0.1","_nodeVersion":"13.1.0","_npmVersion":"6.12.1","dist":{"integrity":"sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==","shasum":"9f5214758a44196c406d9bd76cebf81ec2dd31e8","tarball":"http://localhost:4545/npm/registry/has-symbols/has-symbols-1.0.1.tgz","fileCount":14,"unpackedSize":15474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0I28CRA9TVsSAnZWagAAt2AP/jan/+oerqF7TJJ1/7C0\nDib5YuePKj9dBimLNNxyNbDCo9+XGPPXoDd5OuGVQ8hePAe0pFxsenbtyT+Y\n+empPCZMrgUJfP7Umo6FYPE7EChp7ES7pPua2oeoKzMhK3xH+sBXj9MQ60Al\nunwIhq1k0idyeHT/9iJegP+wGF5pDe/EZUVbzt9r6JU4WhCNopdta+BZwIRP\nmE/NCdPjZ2jHbjYVJlT7b7uFrA4KXtRXtaJKhy97biek3xfgP4WLKvRaPTKo\nlTXtw/UXk8L42RYfJFlIJ2nyLeorwS6QObZPi9tB8BmIogvrSjthvcVL6DSN\nWJTjxpu43zbRS6mHK5nBAnXcshB/mvM9E8hTxrhG2jfSwAR3RexMLsOqgEsH\nTUTxRdB4Zox0nUD7rSahulvEtjl0bCRwo+oeuNfNDgf34sAjhIsaBMzH1rQY\nuTI8DKB4s1wKbth7YWUvacPay0+vvIbJnq4AMjoIDXezAKdDVIG6zB5rt5vN\nPxaAnRkB2htFP8MEHbqAvhk2ibqGdQvdVW2QPeTjDc7bXeymiXI93nrZyiw6\nq5alXDWN8ubB8A9A7HvKa+XU3dsOoYW/Ypx/h/ca17m0Gc0LwfJ2o0lC4sLQ\n3akrlFDjuBdlt2tWWzCRD5e7av8jJZ5C5ZKBeRkL2Xod4iyMFAD5wtefsXvR\nELxD\r\n=shCA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCFSo29lhXirX0Rs+Cuj11qyhheYjpANIVYXAMEcNrhwIgGt53b4yRyWBuEHwcnk8h23iA8dpWARLe+Ojp9kyWxO8="}]},"maintainers":[{"email":"ljharb@gmail.com","name":"ljharb"}],"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/has-symbols_1.0.1_1573948860346_0.7408930604026625"},"_hasShrinkwrap":false},"1.0.2":{"name":"has-symbols","version":"1.0.2","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"funding":{"url":"https://github.com/sponsors/ljharb"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"description":"Determine if the JS environment has Symbol support. Supports spec, or shams.","license":"MIT","main":"index.js","scripts":{"prepublish":"safe-publish-latest","pretest":"npm run --silent lint","test":"npm run tests-only","posttest":"aud --production","tests-only":"npm run test:stock && npm run test:staging && npm run test:shams","test:stock":"nyc node test","test:staging":"nyc node --harmony --es-staging test","test:shams":"npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs","test:shams:corejs":"nyc node test/shams/core-js.js","test:shams:getownpropertysymbols":"nyc node test/shams/get-own-property-symbols.js","lint":"eslint --ext=js,mjs .","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git://github.com/inspect-js/has-symbols.git"},"keywords":["Symbol","symbols","typeof","sham","polyfill","native","core-js","ES6"],"devDependencies":{"@ljharb/eslint-config":"^17.5.1","aud":"^1.1.4","auto-changelog":"^2.2.1","core-js":"^2.6.12","eslint":"^7.20.0","get-own-property-symbols":"^0.9.5","nyc":"^10.3.2","safe-publish-latest":"^1.1.4","tape":"^5.2.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"greenkeeper":{"ignore":["core-js"]},"gitHead":"32b16a3809db3bbb463df501c3984a333f1979f3","bugs":{"url":"https://github.com/inspect-js/has-symbols/issues"},"homepage":"https://github.com/inspect-js/has-symbols#readme","_id":"has-symbols@1.0.2","_nodeVersion":"15.10.0","_npmVersion":"7.5.6","dist":{"integrity":"sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==","shasum":"165d3070c00309752a1236a479331e3ac56f1423","tarball":"http://localhost:4545/npm/registry/has-symbols/has-symbols-1.0.2.tgz","fileCount":14,"unpackedSize":18056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOnPHCRA9TVsSAnZWagAA+tEP/296p4+KYc4qJLrX0uxY\nDA8r08WOCWwnIEHw6X1O12XSFB4d0bMTA1vIZEAl/GosbM4wvVdO4JWYaxL+\nAe8m2GxNjz3KXswq4SELhwf8c6xk3Q294qHiUeByfvxK4OwfyKyZ7iI4YnV/\n4jT/FE+AOlNqdAO3izGfm94UW8X1g/6S2X82JTxKngl1/YoAOraEjtD+XF2f\nPTcL4SmyoL7xTTMtPEOSXRAB73Y2KeNbFC8Ee1r/vU0C62MscsFD6Whc3lH4\naxT1ccSUO8YUftLzdMJY3R6jqF8ZKAx7rYdPPDEkm4fJ/MAsw9pQKKf71Dnf\nDAYBAGsFByUVGraRgWXx01w6NnVNbHqBBbLlTK1e0JpCvrSpkFpX/kfERpEB\nhaFUc8n7SDIeAFgBidagI5HYHwbUmlPkZ46NXZcL0xLMx8SNXyRvImsXOR5m\nnV6ReVLSJP/VmTFYjOVuFsteXU2Ot7ZtnHy/eOP8WXYuWn02CuqFC+i8xFxn\nEXCqT3wC1ObdFkV9E2WGVQpB6U2UoJCiRQJO0KjP+arqcS22zL+IXDgGxr/a\nw8f4erWtCTSJquDY9+P7VCSbjGTxfmkunAXUcwMCEiVfLc8wwrg+vHJF3Sgi\n2QqXRdNu1JKHGXfnpnJm1rj2oZV9/5ZjYQFB+CeWM70TyKrYeTgysG0pa8y5\nc8++\r\n=JCcn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICmk/GnP0bgLMLKwOsqmi85pgPZF8i7IN0E1zAWz8kQIAiEA7agW7tNwD7vJ3WADcThU+35O/hHKm2DzykwgXewNWdU="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/has-symbols_1.0.2_1614443462507_0.38046500905605685"},"_hasShrinkwrap":false},"1.0.3":{"name":"has-symbols","version":"1.0.3","description":"Determine if the JS environment has Symbol support. Supports spec, or shams.","main":"index.js","scripts":{"prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","pretest":"npm run --silent lint","test":"npm run tests-only","posttest":"aud --production","tests-only":"npm run test:stock && npm run test:staging && npm run test:shams","test:stock":"nyc node test","test:staging":"nyc node --harmony --es-staging test","test:shams":"npm run --silent test:shams:getownpropertysymbols && npm run --silent test:shams:corejs","test:shams:corejs":"nyc node test/shams/core-js.js","test:shams:getownpropertysymbols":"nyc node test/shams/get-own-property-symbols.js","lint":"eslint --ext=js,mjs .","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git://github.com/inspect-js/has-symbols.git"},"keywords":["Symbol","symbols","typeof","sham","polyfill","native","core-js","ES6"],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"funding":{"url":"https://github.com/sponsors/ljharb"},"license":"MIT","bugs":{"url":"https://github.com/ljharb/has-symbols/issues"},"homepage":"https://github.com/ljharb/has-symbols#readme","devDependencies":{"@ljharb/eslint-config":"^20.2.3","aud":"^2.0.0","auto-changelog":"^2.4.0","core-js":"^2.6.12","eslint":"=8.8.0","get-own-property-symbols":"^0.9.5","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.5.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"greenkeeper":{"ignore":["core-js"]},"gitHead":"444dc14d035df9891743a28cbc5d6ecdb0cb3b01","_id":"has-symbols@1.0.3","_nodeVersion":"17.6.0","_npmVersion":"8.5.2","dist":{"integrity":"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==","shasum":"bb7b2c4349251dce87b125f7bdf874aa7c8b39f8","tarball":"http://localhost:4545/npm/registry/has-symbols/has-symbols-1.0.3.tgz","fileCount":13,"unpackedSize":20603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHo7dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJTg//VKZyTT/GxVMPZNQFC6Q05AQ+zwFmm1ePSsyP3+hebhjz0KMZ\r\nZh8Z3oaFj53lk6p6hl6wJgJh8v+4H8tYi90zewuk2/sv/r4gS8KKOJkEU5hS\r\nExpiO/FlpW1EBW0kHcPOLiYkyvhm5iNX17o0qUXw62EVu9pFdzLuMLtoVch9\r\n0RC3armyFU5YXjpr4lQCbHCAK6okYFFh6BGQYB0k/to/o1YZ3QijFZ7cDlyl\r\nUSH33b6VFsD9gVT6pVYGmhwPfbxrUzvgpmMeJqdL940V3BgVDu9h/lXFDpvC\r\nyf9vmUEiVkcxeiIbJuusCQjMbPT31uYDaAYY+W+v4pbD552jb/7Gm2ttl1uV\r\n1yx9J3M5aKbjZWMVfRinlfGoyUIs0rpxhSsQTp84skwPLkXC1YfODYNhy4+o\r\nVR5GNTIDDOB4i4y7lGVvx7Vd4ySP+Tz9YpmFI9ZrCnEVXggUn9y+PU8R19UJ\r\nrOVAYikVzsyC5PT9PKr2lvITXDb8siGUNt8YmJhZupzv3K+I5sEojmpqCGvP\r\nW748lmzXQAFYUY/BL1/zChahtp6w5mBaX79uF/xO7h/owukFCK2Y1Seyz4HP\r\nFzn6kDQM+TcUD9GlOhy1OsSLVhuK+gbGupNtSG52OaR9JVtmxSzd83TujaTF\r\ncDmeevwmNQi4Gnt70AILlnaCxXanGrp0epk=\r\n=B5Gh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwzczMy98ycY151XrPoURp8chFzfXRYegRhpOydLT8UgIgb/6c33xTl81h3biIUwEWPJAVPlOf6E2AEaWCvLmPOck="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/has-symbols_1.0.3_1646169820978_0.6668045837242529"},"_hasShrinkwrap":false}},"readme":"# has-symbols [![Version Badge][2]][1]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![dependency status][5]][6]\n[![dev dependency status][7]][8]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][11]][1]\n\nDetermine if the JS environment has Symbol support. Supports spec, or shams.\n\n## Example\n\n```js\nvar hasSymbols = require('has-symbols');\n\nhasSymbols() === true; // if the environment has native Symbol support. Not polyfillable, not forgeable.\n\nvar hasSymbolsKinda = require('has-symbols/shams');\nhasSymbolsKinda() === true; // if the environment has a Symbol sham that mostly follows the spec.\n```\n\n## Supported Symbol shams\n - get-own-property-symbols [npm](https://www.npmjs.com/package/get-own-property-symbols) | [github](https://github.com/WebReflection/get-own-property-symbols)\n - core-js [npm](https://www.npmjs.com/package/core-js) | [github](https://github.com/zloirock/core-js)\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[1]: https://npmjs.org/package/has-symbols\n[2]: https://versionbadg.es/inspect-js/has-symbols.svg\n[5]: https://david-dm.org/inspect-js/has-symbols.svg\n[6]: https://david-dm.org/inspect-js/has-symbols\n[7]: https://david-dm.org/inspect-js/has-symbols/dev-status.svg\n[8]: https://david-dm.org/inspect-js/has-symbols#info=devDependencies\n[11]: https://nodei.co/npm/has-symbols.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/has-symbols.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/has-symbols.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=has-symbols\n[codecov-image]: https://codecov.io/gh/inspect-js/has-symbols/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/inspect-js/has-symbols/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-symbols\n[actions-url]: https://github.com/inspect-js/has-symbols/actions\n","maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"time":{"modified":"2022-06-18T19:26:17.135Z","created":"2016-09-19T23:46:36.740Z","1.0.0":"2016-09-19T23:46:36.740Z","1.0.1":"2019-11-17T00:01:00.460Z","1.0.2":"2021-02-27T16:31:02.668Z","1.0.3":"2022-03-01T21:23:41.133Z"},"homepage":"https://github.com/ljharb/has-symbols#readme","keywords":["Symbol","symbols","typeof","sham","polyfill","native","core-js","ES6"],"repository":{"type":"git","url":"git://github.com/inspect-js/has-symbols.git"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"bugs":{"url":"https://github.com/ljharb/has-symbols/issues"},"license":"MIT","readmeFilename":"README.md"} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/has/has-1.0.3.tgz b/cli/tests/testdata/npm/registry/has/has-1.0.3.tgz new file mode 100644 index 00000000000000..90c33297e278b4 Binary files /dev/null and b/cli/tests/testdata/npm/registry/has/has-1.0.3.tgz differ diff --git a/cli/tests/testdata/npm/registry/has/registry.json b/cli/tests/testdata/npm/registry/has/registry.json new file mode 100644 index 00000000000000..137122e4a7c539 --- /dev/null +++ b/cli/tests/testdata/npm/registry/has/registry.json @@ -0,0 +1 @@ +{"_id":"has","_rev":"28-a7978fcc3beffd13dd518b65fdb20142","name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","dist-tags":{"latest":"1.0.3"},"versions":{"0.0.1":{"name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","version":"0.0.1","homepage":"https://github.com/tarruda/has","author":{"name":"Thiago de Arruda","email":"tpadilha84@gmail.com"},"repository":{"type":"git","url":"git://github.com/tarruda/has.git"},"bugs":{"url":"https://github.com/tarruda/has/issues"},"licenses":[{"type":"MIT","url":"https://github.com/tarruda/has/blob/master/LICENSE-MIT"}],"main":"./src/index","devDependencies":{"chai":"~1.7.2","grunt":"~0.4.1","grunt-contrib-watch":"~0.5.3","grunt-mocha-debug":"~0.0.6","grunt-exec-jshint":"~0.0.0","grunt-release":"~0.5.1","grunt-newer":"~0.5.4"},"engines":{"node":">= 0.8.0"},"_id":"has@0.0.1","dist":{"shasum":"66639c14eaf559f139da2be0e438910ef3fd5b1b","tarball":"http://localhost:4545/npm/registry/has/has-0.0.1.tgz","integrity":"sha512-Ulo9uG05SN7r55LqJxpU84yWzVPfJGv+GZSaEnm5mKO/jtwV5KODce9bPEDJh1uoYGJpsy5pKi4dQOdDSFzCvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfgu84CAfHIBVCPe26sam0TSBJ85TxQTylJ60gIU80NgIgf47PIcgnILXdcQJnGDT+j5EpCT2kN392mwWhJQz21gg="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"tarruda","email":"tpadilha84@gmail.com"},"maintainers":[{"name":"tarruda","email":"tpadilha84@gmail.com"}],"directories":{}},"1.0.0":{"name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","version":"1.0.0","homepage":"https://github.com/tarruda/has","author":{"name":"Thiago de Arruda","email":"tpadilha84@gmail.com"},"repository":{"type":"git","url":"git://github.com/tarruda/has.git"},"bugs":{"url":"https://github.com/tarruda/has/issues"},"licenses":[{"type":"MIT","url":"https://github.com/tarruda/has/blob/master/LICENSE-MIT"}],"main":"./src/index","devDependencies":{"chai":"~1.7.2","mocha":"^1.21.4"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"node_modules/mocha/bin/mocha"},"gitHead":"3113c5ff93ec8befffd9cf23c4dbab7a9d429c20","_id":"has@1.0.0","_shasum":"56c6582d23b40f3a5458f68ba79bc6c4bef203b3","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"tarruda","email":"tpadilha84@gmail.com"},"maintainers":[{"name":"tarruda","email":"tpadilha84@gmail.com"}],"dist":{"shasum":"56c6582d23b40f3a5458f68ba79bc6c4bef203b3","tarball":"http://localhost:4545/npm/registry/has/has-1.0.0.tgz","integrity":"sha512-pZW9uw/9635RZCMUO1nIiZ8Ue8fJP6GlegyXWsFmqp1asx44TMS+K+ffoKnhdFt/piqIpvHG1h6qXmyVEiXCfg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFCoV79Swa7ogDk0FPLZ8kwt4fygO2aUdChkivfxg5juAiAjZm1GE4R6dpMqLcAafe1QcBaMYvhuK5jkjQfoULHq/A=="}]},"directories":{}},"1.0.1":{"name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","version":"1.0.1","homepage":"https://github.com/tarruda/has","author":{"name":"Thiago de Arruda","email":"tpadilha84@gmail.com"},"repository":{"type":"git","url":"git://github.com/tarruda/has.git"},"bugs":{"url":"https://github.com/tarruda/has/issues"},"licenses":[{"type":"MIT","url":"https://github.com/tarruda/has/blob/master/LICENSE-MIT"}],"main":"./src/index","dependencies":{"function-bind":"^1.0.2"},"devDependencies":{"chai":"~1.7.2","mocha":"^1.21.4"},"engines":{"node":">= 0.8.0"},"scripts":{"test":"node_modules/mocha/bin/mocha"},"gitHead":"535c5c8ed1dc255c9e223829e702548dd514d2a5","_id":"has@1.0.1","_shasum":"8461733f538b0837c9361e39a9ab9e9704dc2f28","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"tarruda","email":"tpadilha84@gmail.com"},"dist":{"shasum":"8461733f538b0837c9361e39a9ab9e9704dc2f28","tarball":"http://localhost:4545/npm/registry/has/has-1.0.1.tgz","integrity":"sha512-8wpov6mGFPJ/SYWGQIFo6t0yuNWoO9MkSq3flX8LhiGmbIUhDETp9knPMcIm0Xig1ybWsw6gq2w0gCz1JHD+Qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGwsArRhXrhj+qjKhTjYer8IcOloz5NSf90mKsSbjDTCAiEAikyzkXCsz1Xr2d+L0/QJVYD+vLNZUGu/gQpngIRstPM="}]},"maintainers":[{"name":"tarruda","email":"tpadilha84@gmail.com"}],"directories":{}},"1.0.2":{"name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","version":"1.0.2","homepage":"https://github.com/tarruda/has","author":{"name":"Thiago de Arruda","email":"tpadilha84@gmail.com"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"repository":{"type":"git","url":"git://github.com/tarruda/has.git"},"bugs":{"url":"https://github.com/tarruda/has/issues"},"license":"MIT","licenses":[{"type":"MIT","url":"https://github.com/tarruda/has/blob/master/LICENSE-MIT"}],"main":"./src","dependencies":{"function-bind":"^1.1.1"},"devDependencies":{"@ljharb/eslint-config":"^12.2.1","eslint":"^4.19.1","tape":"^4.9.0"},"engines":{"node":">= 0.4.0"},"scripts":{"lint":"eslint .","pretest":"npm run lint","test":"tape test"},"gitHead":"5becaf997373b548e790e8c5ec0b718e20da6097","_id":"has@1.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"integrity":"sha512-D5/WxwX+SrGfs/fiQn34RAoIZkCLJBDEfBWS1kmTI6G/1mtjhxTBiIiJi8EsKhwaQqKqj7lpKOi3i69tg3P+OQ==","shasum":"1a64bfe4b52e67fb87b9822503d97c019fb6ba42","tarball":"http://localhost:4545/npm/registry/has/has-1.0.2.tgz","fileCount":6,"unpackedSize":2854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbEwZkCRA9TVsSAnZWagAALQAP+wSiRGrAWvCQnVLAKjxZ\nYQebEuC2gpCQX1p/eG0RGxdRC+rC1+LOG2CJR41wtMtXXIcnC6wrXb2TnHMw\nyHMqSyQIjRxVAmR2CPOlh36FXAp9efcgPKyTAfXEw0/3iZMjJ0jcZCbaDckQ\ngLFB0fkv1T0uzudvjUqXVbSXihMe17qi3/vXQbQNtnrFkHfGLstp+cdXN33+\nh0Hwv6FsE+tdfRM2q2xhYzIvDbDQ3mGCe0nsMYj3nRFoSOsAnftsOrZnIGr0\n4VuFxe66oYGaokH/GI/JR9AikEj9iEizknW4TB3d9KDSHtfVbsHeptDQ/CdA\nXUpyKlALK0VZvHGC+lKQsllCb4D1uJ6isnoqL3rV20/v1X1tjKIm9/P1tBsB\nKGS7mMlR+vSFzB8iGNhYVvE5p7Du5FXJElGI8qj0AjCaCbvech30WbHyIJlx\n26/ywIE5/m+HJ+wnFAUDW3VQWakzZDPqhyc0GVo+yCixxjLGv++UslsdSncn\nx9g0k5l5bGQ2SCn8XbZRCG/jHm+bdD0NOjqvaE7bu7RvGPfniqZDpH6TzJmI\nlb55w8iPpR+GZ5vhypDdpQBT//ty33rNHb+Q9U4e9ZHnQNnwK15WaImfE7J5\nxfmA+8JRj3FBiMGpKU++NHOtI9Y+aK+CqCmVwlhlkpZT0z6oQphcsl2gqe4F\nuujs\r\n=q25B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFVCO11i1G9/dgjkto0mkv30OIZOjyqKhV8oPKebk69aAiAipxVf8Vs0ptvMfLEdGwLLLc7iQxf6hreeLjoOsrhRgg=="}]},"maintainers":[{"name":"tarruda","email":"tpadilha84@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/has_1.0.2_1527973476308_0.8578208238940064"},"_hasShrinkwrap":false},"1.0.3":{"name":"has","description":"Object.prototype.hasOwnProperty.call shortcut","version":"1.0.3","homepage":"https://github.com/tarruda/has","author":{"name":"Thiago de Arruda","email":"tpadilha84@gmail.com"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"repository":{"type":"git","url":"git://github.com/tarruda/has.git"},"bugs":{"url":"https://github.com/tarruda/has/issues"},"license":"MIT","licenses":[{"type":"MIT","url":"https://github.com/tarruda/has/blob/master/LICENSE-MIT"}],"main":"./src","dependencies":{"function-bind":"^1.1.1"},"devDependencies":{"@ljharb/eslint-config":"^12.2.1","eslint":"^4.19.1","tape":"^4.9.0"},"engines":{"node":">= 0.4.0"},"scripts":{"lint":"eslint .","pretest":"npm run lint","test":"tape test"},"gitHead":"4edf96f2dec87ad6b6e68482e8f6d7c8eb7e07e6","_id":"has@1.0.3","_npmVersion":"6.1.0","_nodeVersion":"10.3.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"integrity":"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==","shasum":"722d7cbfc1f6aa8241f16dd814e011e1f41e8796","tarball":"http://localhost:4545/npm/registry/has/has-1.0.3.tgz","fileCount":5,"unpackedSize":2770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFWeCCRA9TVsSAnZWagAAGqoP/3/GpNmBbr2IzYG0v9Rg\n0jDcyA0p95I8Tc1GbOsB0YWMY+VMs5I3tggHG4yjB8OskeR7GyItfcZpe9b5\nEGNr2Yq/eOKI602MTnWzHaAczxF887EVcXDISg1qDlzjTYWFMNms5jDxH6OT\nKD0SLHE1qRCASPxNZsJLoxT/dPaVfRC5QMIz8msEaI+qUu8p54cO0/DSLSlT\n5kCGKA5CfbfIODAmyvddsKgOW0at16XJ97f+qHhrI5q6HoYdM2jcLzPXxPiw\nSgPKXICus5TjFvRdBoOXa2diz9urPjQGzVsGoKs8W0Z9EeoxpiJInVRN1Hec\nabW1NzLvINbuFcG1I/CvNVXKGKwIafKg25ba/T/PHa/5rHY2+S4Y9Mj0SLFv\n8V7HWSQMGaG86kZjH9vgd7MPP39lBZXw5msjftiRVxiDiZYutbGzBymwHcYd\nzPVrzCfdNg9o2OsG8mjIBGntCwz9/Yrx7npK9mP97nZQ4EDDoDoCga5efkMP\nmT02Vru1cCdHOfRnM/tlr4Onf0umRhgzUfsbjdSsrGapGCTeVvBvnm6XKznZ\nw9HWfGyNaZiT1J0/pmnRMwxEp/xcKMaAOa1c2pisTGpjkbQloGQx77IwfBiO\nAVBfV3yBDWCgutiwEb4zg0RPPjlS1RCJDMzg+CsXT1u9H6St8MUtuBikkNr4\ndlxV\r\n=Dlp+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi2aj8+sqrebhyEkv7F23LOzXMTe0zUrFZqtxhj4ubhQIhAM8njQhxRA7zu5nYQHE3+EN4rJa5+9EpwlJiBeEkLn54"}]},"maintainers":[{"name":"tarruda","email":"tpadilha84@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/has_1.0.3_1528129409940_0.08921093934264301"},"_hasShrinkwrap":false}},"readme":"# has\n\n> Object.prototype.hasOwnProperty.call shortcut\n\n## Installation\n\n```sh\nnpm install --save has\n```\n\n## Usage\n\n```js\nvar has = require('has');\n\nhas({}, 'hasOwnProperty'); // false\nhas(Object.prototype, 'hasOwnProperty'); // true\n```\n","maintainers":[{"email":"tpadilha84@gmail.com","name":"tarruda"},{"email":"ljharb@gmail.com","name":"ljharb"}],"time":{"modified":"2022-11-08T10:38:33.269Z","created":"2013-10-08T00:54:01.609Z","0.0.1":"2013-10-08T00:54:07.309Z","1.0.0":"2014-10-07T18:41:58.615Z","1.0.1":"2015-07-24T08:49:30.633Z","1.0.2":"2018-06-02T21:04:36.393Z","1.0.3":"2018-06-04T16:23:29.998Z"},"author":{"name":"Thiago de Arruda","email":"tpadilha84@gmail.com"},"repository":{"type":"git","url":"git://github.com/tarruda/has.git"},"users":{"getify":true,"bradleymeck":true,"akiva":true,"rsp":true,"nickeltobias":true,"tobiasnickel":true,"ahmed-dinar":true,"maximusx":true,"tjfwalker":true,"iori20091101":true},"homepage":"https://github.com/tarruda/has","bugs":{"url":"https://github.com/tarruda/has/issues"},"readmeFilename":"README.md","contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"}],"license":"MIT"} \ No newline at end of file diff --git a/cli/tests/testdata/npm/registry/object-keys/object-keys-1.1.1.tgz b/cli/tests/testdata/npm/registry/object-keys/object-keys-1.1.1.tgz new file mode 100644 index 00000000000000..3e52f10dfe268a Binary files /dev/null and b/cli/tests/testdata/npm/registry/object-keys/object-keys-1.1.1.tgz differ diff --git a/cli/tests/testdata/npm/registry/object-keys/registry.json b/cli/tests/testdata/npm/registry/object-keys/registry.json new file mode 100644 index 00000000000000..bbfedec12be39b --- /dev/null +++ b/cli/tests/testdata/npm/registry/object-keys/registry.json @@ -0,0 +1 @@ +{"_id":"object-keys","_rev":"104-fff9f09b12add81f4389e3e50a2ff098","name":"object-keys","description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","dist-tags":{"latest":"1.1.1"},"versions":{"0.0.1":{"name":"object-keys","version":"0.0.1","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/objectkeys.git"},"keywords":["Object.keys","keys","ES5","shim"],"devDependencies":{"tap":"~0.4.1"},"testling":{"files":"test/index.js","browsers":["ie/6..latest","firefox/3..latest","firefox/nightly","chrome/4..latest","chrome/canary","opera/10..latest","opera/next","safari/5..latest","ipad/6..latest","iphone/6..latest"]},"_id":"object-keys@0.0.1","dist":{"shasum":"ab917307b1042981453e094c41049246e99602d6","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.0.1.tgz","integrity":"sha512-/aM4V/OT388JOkoQJ57Gxeg43O8qI89rybO5CgLo1i4Z1rI/LXnC8RTdZZxmpxC273gOECNPb2qW9jerijQAwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHpOEk4wRRe8+XOD49ps98iZzl4U4078lTFmqufTj3eQAiBw262wqFt1AZUWcLtoA6F+KvHVEkwE97aLaycw/EDPYw=="}]},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.0":{"name":"object-keys","version":"0.1.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"devDependencies":{"tap":"~0.4.1","tape":"~0.3.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0","firefox/15.0..latest","firefox/nightly","chrome/4.0","chrome/22.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/5.0.5..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.0","dist":{"shasum":"f60a5d0b3f878089a4b9645b26e43df09436dbb8","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.0.tgz","integrity":"sha512-nmv/hFMWJmfEUuMUjE2m2ZDmwi4Q9RDeZto0S04PfD8wnwINgJT5Raib18UT/EAa/A3tIhpEPHewLX83OCRSzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvuUuQtK1x8psnRhTMpgczIFTWOSlTu0hV+851vuWrKQIgYdB+mrlzs3w/Bw74j9ju2BZEFbhiDMpRVvbTsHBJodc="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.1":{"name":"object-keys","version":"0.1.1","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"indexof":"~0.0.1","is-extended":"~0.0.4"},"devDependencies":{"tap":"~0.4.1","tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0","firefox/15.0..latest","firefox/nightly","chrome/4.0","chrome/22.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/5.0.5..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.1","dist":{"shasum":"e35f1c8d9cbc5fe503c1b13ad57c334e3f637b3e","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.1.tgz","integrity":"sha512-0YAQMhYdszhy3qw0CZHKp2/+pw0VIBSbb5G5oMItAXW384Qbi6XRg4J8Q9O8kg43WVcFyFUT+GCCTt/rz6890w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBRuwzoWqmGMBA4CCDak783BfOsQ6ycfmHlEnZqC5gWnAiAKsWT0JVhP/+dBICcDXulO75XJTJjG4yGibvL1UpxT6A=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.2":{"name":"object-keys","version":"0.1.2","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"indexof":"~0.0.1","is-extended":"~0.0.5"},"devDependencies":{"tap":"~0.4.1","tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0","firefox/15.0..latest","firefox/nightly","chrome/4.0","chrome/22.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/5.0.5..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.2","dist":{"shasum":"df74e8662eb0e8b5ee64fc8eda750c2db4debc7b","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.2.tgz","integrity":"sha512-WMWSee5aYXB5Iu7bfsD3wSdO9TaYqwrIfqHWoQQHIx3XbvhslTBAyqY+tOp9DpaNGjE75vM9IhwMFbDcEs0Ntw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHy+GeOlh7SUtU0NRAUk02ZvdJF+bUX7/XN9IrbewUc3AiEAmkuTbEEx+bYIAsEWhbMxFynWo+j5mtMl0weHc2vIqvE="}]},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.3":{"name":"object-keys","version":"0.1.3","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is-extended":"~0.0.5"},"devDependencies":{"tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0","firefox/15.0..latest","firefox/nightly","chrome/4.0","chrome/22.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/5.0.5..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.3","dist":{"shasum":"201972597dfdbaef2512144a969351b67340966d","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.3.tgz","integrity":"sha512-P40wNJQL4FoACelJjjI0N0iO3oRfiy0Pvym34FvBmJbArXAmIj0u8p8dLPFjKtN3Bikqb2I3kYJLjS2RnIP2KQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEr/gqaTEuK7tXhDHdY5SxqAScNngeW1qXRGkAYdsqLEAiEAtFJBjZIJKSFL9yK6M4lUIVRqPyeLc4o5JBFufjryS9A="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.4":{"name":"object-keys","version":"0.1.4","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is":"~0.2.0"},"devDependencies":{"tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0","firefox/15.0..latest","firefox/nightly","chrome/4.0","chrome/22.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/5.0.5..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.4","dist":{"shasum":"094b203cdc23c0d61b04f13cc8135fe964cc314a","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.4.tgz","integrity":"sha512-EhLn1BDThRMKDUnB4a9Pu99R0V7FvciLi4M2Y7fyoa/qnl202sd4RhLuYCL6IfR0f133TaWpP4JgNPRpMBac6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCCt8XSKs0l1ykra1eRaTbBjfgyO/RAqXJZUWBu0LmewIhAP0IMkVWwACYSzm5FboLyb096r0WXAhEQaQS2m74C3E7"}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.5":{"name":"object-keys","version":"0.1.5","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is":"~0.2.1"},"devDependencies":{"tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.5","dist":{"shasum":"ff9b7518e468804c4066ac553c5d452ec8ffbb27","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.5.tgz","integrity":"sha512-FWlklzi/z7zzTVU/hnBrUUyiMRw894gIwpgUCkeFqWSXD/m3y7KUzbcWe6oJWPr+PEZ/ACLa/lDWLIQsYmY0ng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdydC523dr2nuIF2D77vsdvVS6m7etNCltX7XRKBrgKAiAzGtetgYZd9SXs1ixPt+EqqAMeabvo92SNOZHVRFqXbQ=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.6":{"name":"object-keys","version":"0.1.6","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is":"~0.2.2"},"devDependencies":{"tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.6","dist":{"shasum":"2d8d2c3e3f57979d08e56c5a72532750e8fc9aae","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.6.tgz","integrity":"sha512-0EVnJ1F9QV4PMwv/hVwr1Ww/4AmGuHC4Wk1TlkWzUjvxZOZsD/I3jYrP3Cj1wX0C4i5fmAlopJdnQ0XiHOup+Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB42TE8/g3tYNAcNlrGjmxVF0slnQzgQqHN6Ozb32j5cAiAb8eJ+WLFiVR5jEpIgg7FddzSK6CcDOrZS7fhOEaEVAA=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.7":{"name":"object-keys","version":"0.1.7","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is":"~0.2.3"},"devDependencies":{"tape":"~0.3.3"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.7","dist":{"shasum":"fefce99868aeb040f357b3d3aa29ad26ec30bbd2","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.7.tgz","integrity":"sha512-q2+Sfmxqz5jDT7Ri0GZmZog2DCmsYzUo39+ESQFgE6AYSTITCZnrhp5thlTTWKxP0ilN23pvE5voVH2SAQp73Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0ZbU1lhEEgxMCvgRZhnhW4CeB2kRvMvEeAQGqoxfxHgIgHu6pVbufE1cs9nnihYjZrfi6oEN4sQDd1+IVeMnv9us="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.1.8":{"name":"object-keys","version":"0.1.8","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is":"~0.2.6"},"devDependencies":{"tape":"~1.0.2"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.1.8","dist":{"shasum":"d40164df81104b0da49edfa6aba9dd29eb480293","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.1.8.tgz","integrity":"sha512-QVLwfAl2DJtsOVW8BXxa8g9gjzqwAJijFj/hTCOknQ5uIfonbZIEeX+asYCgq93HYkfcMkWL51H6z3XLwALVaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEstxBPiFXo98Vg3f5JaR5PY3HzLTVOKyPP3xJxIHeCHAiAJIjSWZJuR7zKuGcfALY9bv20LttxAEtWMngbhCcVELA=="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.2.0":{"name":"object-keys","version":"0.2.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.1","indexof":"~0.0.1","is":"~0.2.6"},"devDependencies":{"tape":"~1.0.2"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest"]},"_id":"object-keys@0.2.0","dist":{"shasum":"cddec02998b091be42bf1035ae32e49f1cb6ea67","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.2.0.tgz","integrity":"sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHqI4i8TCwYU0W7hvKd5jX2WFPHuJ0kESFyw/as3++xgIgaKT/CU6g2wUXjGaGccKcj5U4akUaDasKizs8P3yDewE="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.3.0":{"name":"object-keys","version":"0.3.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{"foreach":"~2.0.3","is":"~0.2.6"},"devDependencies":{"tape":"~1.0.2","indexof":"~0.0.1"},"testling":{"files":"test.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest"]},"bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"_id":"object-keys@0.3.0","dist":{"shasum":"4ce2945fee6669cf98424bbaa0f59c244ff97f1d","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.3.0.tgz","integrity":"sha512-5NWmqk9N0NPSzhUAjJwjA1fbpYkmCyc3DRpIObOIsOTEz98JZg8fiJUbnxKofPrRXXW/J5Sh0M4pku7my7KHWw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDt2X4Q2m0E/f+ITcYDQdhb9WZQobOe3l/s8X+WttvWEAiAn0ThWjlLuWOUW3FrAinp3k15grW86MXXMLNCLKBiOpg=="}]},"_from":".","_npmVersion":"1.2.21","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":"Please update to the latest object-keys"},"0.4.0":{"name":"object-keys","version":"0.4.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/kriskowal/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test/index.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.3","is":"~0.2.6","tape":"~1.0.4","indexof":"~0.0.1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"_id":"object-keys@0.4.0","dist":{"shasum":"28a6aae7428dd2c3a92f3d95f21335dd204e0336","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.4.0.tgz","integrity":"sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUDMLh3fWS5OpydQINZqo8WFrJ3lqEJiDuN+YFRsxG3AiBbbYCG5+dD0UXyu+R6+L4BfEXZJeODELgzbKLRDEEWOw=="}]},"_from":".","_npmVersion":"1.3.5","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"deprecated":""},"0.5.0":{"name":"object-keys","version":"0.5.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test/index.js","coverage":"covert test/index.js","coverage-quiet":"covert test/index.js --quiet"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.4","is":"~0.2.7","tape":"~2.3.2","indexof":"~0.0.1","covert":"~0.3.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@0.5.0","dist":{"shasum":"09e211f3e00318afc4f592e36e7cdc10d9ad7293","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.5.0.tgz","integrity":"sha512-2GU36PPj0BVaGl9JDw1zY5vkLMV1hQ1QtI+PoBq7f5bZKY2j/7IO0uQDv0UcuBhimMYnditq7dz+uO9C1TXV4w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMwauwpEiIxU1RlG+eAIRnOLrboadeDQRORnvEQufqswIhANVI50TQxUwOhs2291FQ2NIdlE1uCKDjOx8jTVsGXZEn"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"0.5.1":{"name":"object-keys","version":"0.5.1","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"node test/index.js","coverage":"covert test/index.js","coverage-quiet":"covert test/index.js --quiet"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.4","is":"~0.3.0","tape":"~2.10.2","indexof":"~0.0.1","covert":"~0.3.1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@0.5.1","dist":{"shasum":"0eb20ffa0ce7c01977648681b42c515f297d2cc1","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.5.1.tgz","integrity":"sha512-VVh5OqHlY0N4Hueq9KteojSoj8BmEZeKC+nFyAmQFGF37dJSbcFB4jNhV7+6Xnn6t4t3jh0P0Cuy0hEA+xq+Mg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoseRCnmntQ8ISi56+7YstplMr/rq01BE5OsLrcg/b6gIhAJKIVTCp4DmdXm8LavjKRr4lG/KH6m/RyVA72NGkvDSc"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"0.6.0":{"name":"object-keys","version":"0.6.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"jscs test/*.js *.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.4","is":"~0.3.0","tape":"~2.13.3","indexof":"~0.0.1","covert":"~0.4.0","jscs":"~1.5.8"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"3cbf74b330bb04f263a96d59925db5704c08968c","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@0.6.0","_shasum":"4638690dfaf1e65a63d43b5855d2f6ce04aeef6d","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"4638690dfaf1e65a63d43b5855d2f6ce04aeef6d","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.6.0.tgz","integrity":"sha512-NwTyBxMHbTVCd46WsQlY4WMwYoJ+PXkIkU6x/S22usMJQewtKMrwPAV9jtB6HBXnL4+EzaXQrtllK0MPl+V4PQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAekrpsVGBhFATo6EM1rcjVMSHjzwnEm8OSWZY5YhYqAiEA1YnRXNwRpg9sHlQweTFu1/6zpLR4rTQ50u+odWruJ+o="}]},"directories":{}},"0.6.1":{"name":"object-keys","version":"0.6.1","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"jscs test/*.js *.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.4","is":"~2.0.0","tape":"~2.14.0","indexof":"~0.0.1","covert":"~1.0.0","jscs":"~1.5.8"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"cfa534edc801eef5a3fd01512b30b025d177a79a","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@0.6.1","_shasum":"ed8d052b3662b093c9ee00152c259815c0db4d3c","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"ed8d052b3662b093c9ee00152c259815c0db4d3c","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-0.6.1.tgz","integrity":"sha512-yFH+vVBczUKglNkPAb96wIWXv1AqdR4PCdoL8fYt6+uqm/Ucn4G7NVOgI54GG6Pai8yswIqzZIz0kLq4/3egQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhFPCvJ7VZ/jc+5VfjHDrTEIbXXMDA+p7qQPbB7D7QhgIhAIpfJj4sqHZfgrQO3bYBRwxqahD1d23Zea/rSaIZhqJ+"}]},"directories":{}},"1.0.0":{"name":"object-keys","version":"1.0.0","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"jscs test/*.js *.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.4","is":"~2.0.0","tape":"~2.14.0","indexof":"~0.0.1","covert":"~1.0.0","jscs":"~1.5.8"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"f78356a5eda9b059acdc841607edbd3940aed477","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@1.0.0","_shasum":"1b66cc8cafc27391944098216726f746b15c2a30","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"1b66cc8cafc27391944098216726f746b15c2a30","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.0.tgz","integrity":"sha512-7zE2Pyy6jZ30PT8LSB/J+WfBvd8gw6PClm9Ilhq/S42rZ32NiDgBD0GtBDcmeObLtRIAC087WNyCW4QLAF/F1A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4P78vN3qENInRoJidkqsanNRVgDGq1o1IDbclEaeAugIgGF9eS40md3HbBTo2TP+LbsCZhL+mjAqG91O7hwXfVPY="}]},"directories":{}},"1.0.1":{"name":"object-keys","version":"1.0.1","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"jscs test/*.js *.js"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.4","is":"~2.0.1","tape":"~2.14.0","indexof":"~0.0.1","covert":"~1.0.0","jscs":"~1.6.1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"2ecbaaa0405c2f03e8b669ccf4b70376318a8f8b","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@1.0.1","_shasum":"55802e85842c26bbb5ebbc157abf3be302569ba8","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"55802e85842c26bbb5ebbc157abf3be302569ba8","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.1.tgz","integrity":"sha512-DsJ69TA3wPICBmxYj6rij6uGKvKb9s2mtebzhuN/eI1GabJ3xC7fZ7PWjW0GS06hSclD0GxKGGAHQo5P7R2ZTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4gYBznqPY/77jmrmzAiN5nRqHR25mrZuveDAAkyBi/wIhANnwIwT2H5eNkTIWUt3c+j4p5ovDyUM83vj0pvCHuFBL"}]},"directories":{}},"1.0.2":{"name":"object-keys","version":"1.0.2","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.5","is":"~2.2.0","tape":"~3.0.3","indexof":"~0.0.1","covert":"1.0.0","jscs":"~1.9.0","editorconfig-tools":"~0.0.1","nsp":"~0.5.2","eslint":"~0.10.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"06f2d46a85a0be12fc9e0377e3ce7bef32be5eb3","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@1.0.2","_shasum":"810205bc58367a1d9dcf9e8b7b8c099ef2503c6c","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"810205bc58367a1d9dcf9e8b7b8c099ef2503c6c","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.2.tgz","integrity":"sha512-QaJ3L+WfJ2mCirdIvDbXRW8q76+WnsITenRbpAAJ2Z/fPcKaXvRAn94rv1YzwUGqxj/m08vu3HBvR6WdxXXRsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAh4SRfmAsWSFsJGW/zwtEkL5i6WpjFvxOkmwnfDW/LTAiBr8+G5luLEkszDkl+ANwlTeCyO/PceL8aRv/UO/XqUtw=="}]},"directories":{}},"1.0.3":{"name":"object-keys","version":"1.0.3","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"~2.0.5","is":"~2.2.0","tape":"~3.0.3","indexof":"~0.0.1","covert":"1.0.0","jscs":"~1.9.0","editorconfig-tools":"~0.0.1","nsp":"~0.5.2","eslint":"~0.11.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"f0fc8ccdf81843fa7aa88c85777cf717c3ead129","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys","_id":"object-keys@1.0.3","_shasum":"1b679dbec65103da488edb32f782bd9a15e3de0a","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"dist":{"shasum":"1b679dbec65103da488edb32f782bd9a15e3de0a","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.3.tgz","integrity":"sha512-C9AHglIN4DeikXJitZAmcls7Ics4QJr0QnVXFtK4wVly8zo0udlW96Hfw0kLQ0LqiE21Z2HgBMIS7C6/s4L2Tg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGYBo/Zp8ilkQTBiGuDQvrpFHmLCZGxdimx6CQPuVK4PAiEAofwl6l/SVKlk89+QpAy6VRVczBPULX48M5hGH78V7Vc="}]},"directories":{}},"1.0.4":{"name":"object-keys","version":"1.0.4","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.0.1","tape":"^4.0.0","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.1","eslint":"^0.21.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"fc869b3088d6047bcbf42e534304ffe034b06cb0","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.4","_shasum":"b115f96a7ee837df1517fbc5bd91ea965e37685c","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.2","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"b115f96a7ee837df1517fbc5bd91ea965e37685c","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.4.tgz","integrity":"sha512-+MtQIw3zdFntcjAKeWGPRbCj0SZeCSN1Yhp1jAI1GmPgF6wCHTJkhJgfPE3kHgryFpX2MgFWQLcKsqHlSlPD9A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKrpjpmWkxUnjvqfhVyWqDoQh7rExWokqaM7GWI3do6wIhAONj4OP7k0W21ye/Mzi92MX8ageuQydTsWFK4cB75Zik"}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.0.5":{"name":"object-keys","version":"1.0.5","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.0.1","tape":"^4.0.0","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^0.24.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"a6fb624febfdbde087b5637bedd5233054520b18","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.5","_shasum":"84fe12516867496e97796a49db0a89399053fe06","_from":".","_npmVersion":"2.11.3","_nodeVersion":"2.3.2","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"84fe12516867496e97796a49db0a89399053fe06","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.5.tgz","integrity":"sha512-ads8edXgDSXcILPLzQa0i8HaXMSPoCj1SYW8C+W+fL8cTIcpxp8M3/wFu4ODfegdiKP9LEatqLbcd7noEtoL2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdMlFebBqVB9aq9/VQPFrEI72Ai91euXsNekOZS67lKAiB6/Y3cE8bKzOVtc/erkWzyFt9rjyc4HBMVfRy2SN9V2A=="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.0.6":{"name":"object-keys","version":"1.0.6","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.0.1","tape":"^4.0.0","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^0.24.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"3b0fbe74b40b5d78661461339f09a82f45a0a345","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.6","_shasum":"f910c99bb3f57d8ba29b6580e1508eb0ebbfc177","_from":".","_npmVersion":"2.11.3","_nodeVersion":"2.3.3","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"f910c99bb3f57d8ba29b6580e1508eb0ebbfc177","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.6.tgz","integrity":"sha512-JFO9tB3N/R17IA/IVKb3K0amIIpaR5T7CSg9z47uRXOFv9Kw1LOm1t3NB6FjosNIuKqNwpExODZqNnJb8zIZgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHoYa/sXYRU7F0BxiOvK1r/U1E2lj0iXpqZwIHQMjc29AiA66y8fVi2dNIyHyihDxm0gL/8pAm04MHpq25c6K5c33g=="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.0.7":{"name":"object-keys","version":"1.0.7","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.0.1","tape":"^4.0.0","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^1.13.1","editorconfig-tools":"^0.1.1","nsp":"^1.0.3","eslint":"^1.0.0-rc-1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"c0c183e0aaed86487218f46127fcebec9258e84e","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.7","_shasum":"e7d117261139d6acac8f0afabf261d700ebb0b93","_from":".","_npmVersion":"2.13.0","_nodeVersion":"2.4.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"e7d117261139d6acac8f0afabf261d700ebb0b93","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.7.tgz","integrity":"sha512-SLdJAA8lTumufd2VJDOEXwfb81eE/ujQccVmFsofTnoPv1RvHqSlrMjDkq06lTaqnJxCDaY3d8rUwUJIeFk5sA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkZcFwsc8+AngNfDPYrHnGBGkQHFSyW+hmnv8O33Ng3AIgSwHqYxg+rHqOlyoYbs/OqwzctpcSXfGjgbwpsa34dDw="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.0.8":{"name":"object-keys","version":"1.0.8","author":{"name":"Jordan Harband"},"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.1.0","tape":"^4.2.1","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^2.3.1","editorconfig-tools":"^0.1.1","nsp":"^1.1.0","eslint":"^1.6.0","@ljharb/eslint-config":"^1.3.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"f094a4832583959d0a0a132ea80efa2f44a5d58e","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.8","_shasum":"9a71ce236e200a943d7fbddba25332fba057c205","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"9a71ce236e200a943d7fbddba25332fba057c205","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.8.tgz","integrity":"sha512-yMyMdHyEjnPMnRpKnwOQLtTcS/2DQCItvwFh/A0RFvorh1aWqsIO46ZzfkaT0CmPXcKjCtrq7DhZo+unsR99hA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHd2Fd8fYxiukgf0PCCQ4pAuKxhEwsecMScXYwTs/ntAiEA4b6t2m3zTXFek1FJZm3TEuhYZFwPhYCknyORUWHNXXo="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.0.9":{"name":"object-keys","version":"1.0.9","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}],"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"test":"npm run lint && node test/index.js && npm run security","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run jscs && npm run eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","eccheck":"editorconfig-tools check *.js **/*.js > /dev/null","security":"nsp package"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.1.0","tape":"^4.2.1","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^2.3.4","editorconfig-tools":"^0.1.1","nsp":"^1.1.0","eslint":"^1.7.2","@ljharb/eslint-config":"^1.4.1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"e4331f920ff49824ad999b3449005349e31139f9","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.9","_shasum":"cabb1202d9a7af29b50edface8094bb46da5ea21","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"cabb1202d9a7af29b50edface8094bb46da5ea21","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.9.tgz","integrity":"sha512-xRGFTKkyFuP9AilRkEw4KfMPqaD9spcc6PVVPiOxAau61l+m/4zHUW6crXGtSt8lBfXD2vgnqNFFY8cr8NOBTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJQxUXhh6hPZURj6mH0fOxfW7ePLUq0TXl/tfNBFT3aAiAsoqWESRjpTfRmFkKnYvuJgqI1ovXv42EHD2LzxAs71A=="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{}},"1.0.10":{"name":"object-keys","version":"1.0.10","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}],"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent security","tests-only":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run --silent jscs && npm run --silent eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","security":"nsp check"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.1.0","tape":"^4.6.0","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^3.0.6","nsp":"^2.5.0","eslint":"^3.0.0","@ljharb/eslint-config":"^6.0.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"a12ae2c01a443afb43414ab844175d2b6d5cd50a","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.10","_shasum":"57e67f7041b66d145c45136fa8040a32717f7465","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"57e67f7041b66d145c45136fa8040a32717f7465","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.10.tgz","integrity":"sha512-fKnqZ/+BvdAsCto14RQRo1q0W9ObXswVgq2Vc/y/OQXfGVom9jEJ193KpHjgkO7QJNCxy8hBWTDBYUsSBExYFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUJa2v4dH/fEuWBmVFTYGyt6k+uRH9k63SnIhS07UPggIgarq6DuufB4ttn5xtTjnxChN0qzqHsyhVN2mhkaF1IBk="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/object-keys-1.0.10.tgz_1467655315616_0.8326317083556205"},"directories":{}},"1.0.11":{"name":"object-keys","version":"1.0.11","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}],"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent security","tests-only":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run --silent jscs && npm run --silent eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","security":"nsp check"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"foreach":"^2.0.5","is":"^3.1.0","tape":"^4.6.0","indexof":"^0.0.1","covert":"^1.1.0","jscs":"^3.0.6","nsp":"^2.5.0","eslint":"^3.0.0","@ljharb/eslint-config":"^6.0.0"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"3f869cc4b9f0f0489b2af7e80964f90d6c4403a4","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.11","_shasum":"c54601778ad560f1142ce0e01bcca8b56d13426d","_from":".","_npmVersion":"3.9.5","_nodeVersion":"6.2.2","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"shasum":"c54601778ad560f1142ce0e01bcca8b56d13426d","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.11.tgz","integrity":"sha512-I0jUsqFqmQFOIhQQFlW8QDuX3pVqUWkiiavYj8+TBiS7m+pM9hPCxSnYWqL1hHMBb7BbQ2HidT+6CZ8/BT/ilw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVatYL5nqFjnyTPO0/FYHebFDZUNL6H4evuOwJXOd20AiAVQtHX+GpfjVa90v7F8y+Z0Nkf/bKGSVeNf/Sqys+gRg=="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/object-keys-1.0.11.tgz_1467740975903_0.8028358130250126"},"directories":{}},"1.0.12":{"name":"object-keys","version":"1.0.12","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}],"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent security","tests-only":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"npm run --silent jscs && npm run --silent eslint","jscs":"jscs test/*.js *.js","eslint":"eslint test/*.js *.js","security":"nsp check"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"@ljharb/eslint-config":"^12.2.1","covert":"^1.1.0","eslint":"^4.19.1","foreach":"^2.0.5","indexof":"^0.0.1","is":"^3.2.1","jscs":"^3.0.7","nsp":"^3.2.1","tape":"^4.9.1"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"e3acd057c5b7be1029b3b9f6f69133292d77d558","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.0.12","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"integrity":"sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==","shasum":"09c53855377575310cca62f55bb334abff7b3ed2","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.0.12.tgz","fileCount":11,"unpackedSize":28233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKChkCRA9TVsSAnZWagAAVoIP/1jqNQKOVOx4jOpaSivw\nSRxdpzt236t7t9D5YnDgXhT5hrfbfajBz59CVtikezyYS3+ccurC/M2fTHno\nAT8VGxLmemptEoH7woqX27cFdWDFqyMlyfYZkC29w59+cXq44+J3+VFtyd8s\nV09lwj934D/DxdSCKZ/BVuZoffigow37yg7kIC9+VVS0em2XG3W633V8LQAF\nrRiUVSk0ne/BlO1TWV5fTmPQwranmUMnodZAqarVn2/vl0wN8rCTM9qGHdGH\nYWJNQC0ed73ZWOJN+C+OeQqtRdmjS/s5MbLrnMC7JdSQqEDFr6cuLf6TXYa8\nQmy4MCwN7IN1+XeUbDLsOQ1NdjIg9TVlybL5HjKiBjL5FYcjiZQHvtLYTOLa\n/x4eteDcVF8WObCLsUfrB3XuwH2sJX1tACds7IalOS0WLR2bHeBGjejQFyKK\n6k8strtCWMxaWt/nRSTOpZZfMz/HMtHmqVJ3C/VZGYvoexpt6EXqZm4Yemtx\n7AS82sEnfnKF92m/EXZbdP5Gz0fnAksKtzOncsFCOk7qomkD0PLNZkhIadfX\nWTOz9FW+gQNA+im76POpLk8EwQBFYIfTQesLVYB243Z3jH6O5EuTTkzclkWU\nVNXHIoouGL3S+1gPactA2lr6PM4G0hTkco98HSEvHMZpdgoHtz4Jx8xMtX6N\nGJLk\r\n=/f2l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBTqK5jg1fMSZC7viYJn8AgFqfaNKFJrUlPYMQVnIReQIgUtgVmrbrFyXy3Qupn7eBPqwBkzKQXN6D+aQtkn5/tEk="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-keys_1.0.12_1529358434802_0.4383878957043432"},"_hasShrinkwrap":false},"1.1.0":{"name":"object-keys","version":"1.1.0","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}],"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent audit","tests-only":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"eslint .","preaudit":"npm install --package-lock --package-lock-only","audit":"npm audit","postaudit":"rm package-lock.json"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"@ljharb/eslint-config":"^13.1.1","covert":"^1.1.1","eslint":"^5.13.0","foreach":"^2.0.5","indexof":"^0.0.1","is":"^3.3.0","tape":"^4.9.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"abd4ff039708a0166a57388b348730cbda4a1593","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.1.0","_npmVersion":"6.5.0","_nodeVersion":"11.8.0","_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"dist":{"integrity":"sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==","shasum":"11bd22348dd2e096a045ab06f6c85bcc340fa032","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.1.0.tgz","fileCount":11,"unpackedSize":26395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYQZGCRA9TVsSAnZWagAAu9oP/3ed1S6D9BtHLFImT804\nudV4Mm/anfUE0jBXkJXLab4+qVIgkkqQOnEIg/Wl1ea/UHN/r21cRAaxVcdx\nqH6c5bcRpIr5gWNpcXnCgUVzOZHz2woa0jgZ4YQsAvt67m1lPAZBSppp98tx\nvw//RLPRQB0MNppFXRMLQEMABvIyP7bvNy6wK/SHp21hLuxzKdEmkwYwgKDN\nlhKdtpJQDrRjAmD6w2i8GW71S4K+Kis/ugzDGYX5eM4iwxJYQaKhtsgRJe34\nohUKHsVDe54wAYo4ZfJp+oJFLdJoY5DtYZM8VRkFlIya8X339oietwezlVoB\n0t3/8LuwJJZrG3tprTl6ek4d2AFL2Mf/xJhxSwKLY8B6UpFD+yNn4PuUt70u\ndea9T4zC9KE0swRdxLNRkKDTexCMlq3I3LZ28rH5MyPfcgdZMs1v9tGlaWhL\n7lXxQ5DIq/MSoMDKgOh8T0OBbvapnIfb6f1cqJgreZ0W0mpTm2Fu6joBfJKp\n7rp4erjunUXk4vNTsUxB9R/DMJgiefPRf7XPMG7evhO+MLlh3380Hf5DTf6E\nAqLqOZnAYLBzjigMxK8C3F0jxLVTFuwjA0Z3qejpWgwdl7RF7qyxekeSI1/g\n02ewe6HLdJilSbcev4i1zF8IKjGXFMoCWkVhpiz/q4DlNJbIv25C1482NbrF\nw+qE\r\n=/QeE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICDx3IvajHE/2cYYP/a/E25efhfP7DH10u0fg5s8927jAiEAmE9cIJNUB1ec8+cg2AkIDXhtz8ipkE80rlnTC4g6Pps="}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-keys_1.1.0_1549862469286_0.18723271962423693"},"_hasShrinkwrap":false},"1.1.1":{"name":"object-keys","version":"1.1.1","author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}],"description":"An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim","license":"MIT","main":"index.js","scripts":{"pretest":"npm run --silent lint","test":"npm run --silent tests-only","posttest":"npm run --silent audit","tests-only":"node test/index.js","coverage":"covert test/*.js","coverage-quiet":"covert test/*.js --quiet","lint":"eslint .","preaudit":"npm install --package-lock --package-lock-only","audit":"npm audit","postaudit":"rm package-lock.json"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"keywords":["Object.keys","keys","ES5","shim"],"dependencies":{},"devDependencies":{"@ljharb/eslint-config":"^13.1.1","covert":"^1.1.1","eslint":"^5.13.0","foreach":"^2.0.5","indexof":"^0.0.1","is":"^3.3.0","tape":"^4.9.2"},"testling":{"files":"test/index.js","browsers":["iexplore/6.0..latest","firefox/3.0..6.0","firefox/15.0..latest","firefox/nightly","chrome/4.0..10.0","chrome/20.0..latest","chrome/canary","opera/10.0..latest","opera/next","safari/4.0..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2"]},"engines":{"node":">= 0.4"},"gitHead":"ba2c1989270c7de969aa8498fc3b7c8e677806f3","bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"homepage":"https://github.com/ljharb/object-keys#readme","_id":"object-keys@1.1.1","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==","shasum":"1c47f272df277f3b1daf061677d9c82e2322c60e","tarball":"http://localhost:4545/npm/registry/object-keys/object-keys-1.1.1.tgz","fileCount":11,"unpackedSize":26544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcqWC7CRA9TVsSAnZWagAApOoQAIGgpq1xnaDCEe3hqJFt\n1fjwFbEKHTyK59hA/zVmvvR4ikMeltZc5KAIKNt5XyDBO4NtuRcA7E1b3D7C\nFX/IMtPwIq5OvZLWhEnGBNTmwlVq8PI9DwZ6AE2hWM4JAmkT5tay7QtjDAur\nYRdTEEB3eqWETNiaybnF9d1GLKuH4dKcM/v9yiHMp+qa9Ivpe9VtWRj7WTr+\nkxc39JZdSVGFbVYNCFkZ8oyj5VbLOtyMB++6JxbR9fYlZ06ibmT+XrFsz7CF\nr7hQ/XFHlyodg0pi34+YhlyDAsPIvk8DOxDoKGs4aFZ6EqZm3hVnWaAlKqgX\n3ikZAT9Z/4d9icoRkEhVMj7INySL4bSd7lFDIlwGruc4j6U6b6phhwgIlhQE\nMsnWmnLL7/AAaPB8oiNhb8Lt/9/jRJsAHwRBRH9NN/DH2VyP0F2hzp66L5dF\niIVw9YUIBCOzfRg5Gr0qd0GCGbIefcq4AomxsJEdBbV+3AFkJvj7dibMrSb7\nJcBVC/TwJCjNv+Ols7VZE+Yj6ZYbNrsuh5KbPkdFchg6qNgds1Dh1tH8GwrJ\nULdSyACz/0stHNGr8p+Boa85mDseApgozr42UUHdEQyohO1/meNonjDGJl9w\ncLlcHMcR7hnLzp4v54jcv+q74EDZa15iEk/ckLdYFoUXXhRhBJo0XyG43zf8\nEO6O\r\n=PzOq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEXnivOzyezLnJgG1VUzWQj/PurnTkz1ZGYX4uYuK0JgIhAKKg/wGdPhn67UneiElcVANcbwapE+3GGhHJftwDOncL"}]},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"}],"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/object-keys_1.1.1_1554604218505_0.17078310534837748"},"_hasShrinkwrap":false}},"readme":"#object-keys [![Version Badge][npm-version-svg]][package-url]\n\n[![Build Status][travis-svg]][travis-url]\n[![dependency status][deps-svg]][deps-url]\n[![dev dependency status][dev-deps-svg]][dev-deps-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\n[![browser support][testling-svg]][testling-url]\n\nAn Object.keys shim. Invoke its \"shim\" method to shim Object.keys if it is unavailable.\n\nMost common usage:\n```js\nvar keys = Object.keys || require('object-keys');\n```\n\n## Example\n\n```js\nvar keys = require('object-keys');\nvar assert = require('assert');\nvar obj = {\n\ta: true,\n\tb: true,\n\tc: true\n};\n\nassert.deepEqual(keys(obj), ['a', 'b', 'c']);\n```\n\n```js\nvar keys = require('object-keys');\nvar assert = require('assert');\n/* when Object.keys is not present */\ndelete Object.keys;\nvar shimmedKeys = keys.shim();\nassert.equal(shimmedKeys, keys);\nassert.deepEqual(Object.keys(obj), keys(obj));\n```\n\n```js\nvar keys = require('object-keys');\nvar assert = require('assert');\n/* when Object.keys is present */\nvar shimmedKeys = keys.shim();\nassert.equal(shimmedKeys, Object.keys);\nassert.deepEqual(Object.keys(obj), keys(obj));\n```\n\n## Source\nImplementation taken directly from [es5-shim][es5-shim-url], with modifications, including from [lodash][lodash-url].\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/object-keys\n[npm-version-svg]: http://versionbadg.es/ljharb/object-keys.svg\n[travis-svg]: https://travis-ci.org/ljharb/object-keys.svg\n[travis-url]: https://travis-ci.org/ljharb/object-keys\n[deps-svg]: https://david-dm.org/ljharb/object-keys.svg\n[deps-url]: https://david-dm.org/ljharb/object-keys\n[dev-deps-svg]: https://david-dm.org/ljharb/object-keys/dev-status.svg\n[dev-deps-url]: https://david-dm.org/ljharb/object-keys#info=devDependencies\n[testling-svg]: https://ci.testling.com/ljharb/object-keys.png\n[testling-url]: https://ci.testling.com/ljharb/object-keys\n[es5-shim-url]: https://github.com/es-shims/es5-shim/blob/master/es5-shim.js#L542-589\n[lodash-url]: https://github.com/lodash/lodash\n[npm-badge-png]: https://nodei.co/npm/object-keys.png?downloads=true&stars=true\n[license-image]: http://img.shields.io/npm/l/object-keys.svg\n[license-url]: LICENSE\n[downloads-image]: http://img.shields.io/npm/dm/object-keys.svg\n[downloads-url]: http://npm-stat.com/charts.html?package=object-keys\n\n","maintainers":[{"email":"ljharb@gmail.com","name":"ljharb"}],"time":{"modified":"2022-06-22T16:42:21.741Z","created":"2013-03-29T20:44:12.281Z","0.0.1":"2013-03-29T20:44:12.881Z","0.0.2":"2013-03-30T16:13:52.880Z","0.1.0":"2013-03-30T20:58:48.065Z","0.1.1":"2013-04-02T06:16:54.290Z","0.1.2":"2013-04-03T16:43:21.243Z","0.1.3":"2013-04-08T01:18:51.713Z","0.1.4":"2013-04-09T00:47:37.900Z","0.1.5":"2013-04-14T12:27:20.913Z","0.1.6":"2013-04-17T07:18:02.522Z","0.1.7":"2013-04-18T02:23:24.367Z","0.1.8":"2013-05-10T17:32:12.476Z","0.2.0":"2013-05-10T18:52:03.655Z","0.3.0":"2013-05-18T22:06:13.036Z","0.4.0":"2013-08-14T08:10:10.483Z","0.5.0":"2014-01-30T09:28:17.465Z","0.5.1":"2014-03-10T06:43:32.469Z","0.6.0":"2014-08-01T07:22:33.482Z","0.6.1":"2014-08-26T05:51:23.007Z","1.0.0":"2014-08-26T19:21:11.757Z","1.0.1":"2014-09-03T07:19:08.654Z","1.0.2":"2014-12-28T09:03:12.859Z","1.0.3":"2015-01-06T22:27:00.343Z","1.0.4":"2015-05-23T20:19:48.735Z","1.0.5":"2015-07-03T23:43:33.872Z","1.0.6":"2015-07-09T15:41:54.153Z","1.0.7":"2015-07-18T19:23:11.235Z","1.0.8":"2015-10-14T22:21:16.304Z","1.0.9":"2015-10-19T22:07:23.370Z","1.0.10":"2016-07-04T18:01:59.134Z","1.0.11":"2016-07-05T17:49:39.399Z","1.0.12":"2018-06-18T21:47:14.916Z","1.1.0":"2019-02-11T05:21:09.393Z","1.1.1":"2019-04-07T02:30:18.674Z"},"author":{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},"repository":{"type":"git","url":"git://github.com/ljharb/object-keys.git"},"users":{"claudiopro":true,"brostoch":true,"rocket0191":true},"readmeFilename":"README.md","homepage":"https://github.com/ljharb/object-keys#readme","keywords":["Object.keys","keys","ES5","shim"],"bugs":{"url":"https://github.com/ljharb/object-keys/issues"},"license":"MIT","contributors":[{"name":"Jordan Harband","email":"ljharb@gmail.com","url":"http://ljharb.codes"},{"name":"Raynos","email":"raynos2@gmail.com"},{"name":"Nathan Rajlich","email":"nathan@tootallnate.net"},{"name":"Ivan Starkov","email":"istarkov@gmail.com"},{"name":"Gary Katsevman","email":"git@gkatsev.com"}]} \ No newline at end of file diff --git a/cli/util/fs.rs b/cli/util/fs.rs index 7cfd0ced79f0af..9d3c6fccbd4feb 100644 --- a/cli/util/fs.rs +++ b/cli/util/fs.rs @@ -81,11 +81,7 @@ pub fn write_file_2>( /// Similar to `std::fs::canonicalize()` but strips UNC prefixes on Windows. pub fn canonicalize_path(path: &Path) -> Result { - let path = path.canonicalize()?; - #[cfg(windows)] - return Ok(strip_unc_prefix(path)); - #[cfg(not(windows))] - return Ok(path); + Ok(deno_core::strip_unc_prefix(path.canonicalize()?)) } /// Canonicalizes a path which might be non-existent by going up the @@ -117,47 +113,6 @@ pub fn canonicalize_path_maybe_not_exists( } } -#[cfg(windows)] -fn strip_unc_prefix(path: PathBuf) -> PathBuf { - use std::path::Component; - use std::path::Prefix; - - let mut components = path.components(); - match components.next() { - Some(Component::Prefix(prefix)) => { - match prefix.kind() { - // \\?\device - Prefix::Verbatim(device) => { - let mut path = PathBuf::new(); - path.push(format!(r"\\{}\", device.to_string_lossy())); - path.extend(components.filter(|c| !matches!(c, Component::RootDir))); - path - } - // \\?\c:\path - Prefix::VerbatimDisk(_) => { - let mut path = PathBuf::new(); - path.push(prefix.as_os_str().to_string_lossy().replace(r"\\?\", "")); - path.extend(components); - path - } - // \\?\UNC\hostname\share_name\path - Prefix::VerbatimUNC(hostname, share_name) => { - let mut path = PathBuf::new(); - path.push(format!( - r"\\{}\{}\", - hostname.to_string_lossy(), - share_name.to_string_lossy() - )); - path.extend(components.filter(|c| !matches!(c, Component::RootDir))); - path - } - _ => path, - } - } - _ => path, - } -} - pub fn resolve_from_cwd(path: &Path) -> Result { let resolved_path = if path.is_absolute() { path.to_owned() @@ -921,41 +876,6 @@ mod tests { assert_eq!(result, expected); } - #[cfg(windows)] - #[test] - fn test_strip_unc_prefix() { - run_test(r"C:\", r"C:\"); - run_test(r"C:\test\file.txt", r"C:\test\file.txt"); - - run_test(r"\\?\C:\", r"C:\"); - run_test(r"\\?\C:\test\file.txt", r"C:\test\file.txt"); - - run_test(r"\\.\C:\", r"\\.\C:\"); - run_test(r"\\.\C:\Test\file.txt", r"\\.\C:\Test\file.txt"); - - run_test(r"\\?\UNC\localhost\", r"\\localhost"); - run_test(r"\\?\UNC\localhost\c$\", r"\\localhost\c$"); - run_test( - r"\\?\UNC\localhost\c$\Windows\file.txt", - r"\\localhost\c$\Windows\file.txt", - ); - run_test(r"\\?\UNC\wsl$\deno.json", r"\\wsl$\deno.json"); - - run_test(r"\\?\server1", r"\\server1"); - run_test(r"\\?\server1\e$\", r"\\server1\e$\"); - run_test( - r"\\?\server1\e$\test\file.txt", - r"\\server1\e$\test\file.txt", - ); - - fn run_test(input: &str, expected: &str) { - assert_eq!( - strip_unc_prefix(PathBuf::from(input)), - PathBuf::from(expected) - ); - } - } - #[tokio::test] async fn lax_fs_lock() { let temp_dir = TempDir::new(); diff --git a/core/lib.rs b/core/lib.rs index cb16c265489796..1b2841a661ada3 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -17,6 +17,7 @@ mod ops; mod ops_builtin; mod ops_builtin_v8; mod ops_metrics; +mod path; mod realm; mod resources; mod runtime; @@ -101,6 +102,7 @@ pub use crate::ops_builtin::op_resources; pub use crate::ops_builtin::op_void_async; pub use crate::ops_builtin::op_void_sync; pub use crate::ops_metrics::OpsTracker; +pub use crate::path::strip_unc_prefix; pub use crate::realm::JsRealm; pub use crate::resources::AsyncResult; pub use crate::resources::Resource; diff --git a/core/path.rs b/core/path.rs new file mode 100644 index 00000000000000..fd8b1a9b642e2d --- /dev/null +++ b/core/path.rs @@ -0,0 +1,91 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +use std::path::PathBuf; + +#[cfg(not(windows))] +#[inline] +pub fn strip_unc_prefix(path: PathBuf) -> PathBuf { + path +} + +/// Strips the unc prefix (ex. \\?\) from Windows paths. +#[cfg(windows)] +pub fn strip_unc_prefix(path: PathBuf) -> PathBuf { + use std::path::Component; + use std::path::Prefix; + + let mut components = path.components(); + match components.next() { + Some(Component::Prefix(prefix)) => { + match prefix.kind() { + // \\?\device + Prefix::Verbatim(device) => { + let mut path = PathBuf::new(); + path.push(format!(r"\\{}\", device.to_string_lossy())); + path.extend(components.filter(|c| !matches!(c, Component::RootDir))); + path + } + // \\?\c:\path + Prefix::VerbatimDisk(_) => { + let mut path = PathBuf::new(); + path.push(prefix.as_os_str().to_string_lossy().replace(r"\\?\", "")); + path.extend(components); + path + } + // \\?\UNC\hostname\share_name\path + Prefix::VerbatimUNC(hostname, share_name) => { + let mut path = PathBuf::new(); + path.push(format!( + r"\\{}\{}\", + hostname.to_string_lossy(), + share_name.to_string_lossy() + )); + path.extend(components.filter(|c| !matches!(c, Component::RootDir))); + path + } + _ => path, + } + } + _ => path, + } +} + +#[cfg(test)] +mod test { + #[cfg(windows)] + #[test] + fn test_strip_unc_prefix() { + use std::path::PathBuf; + + run_test(r"C:\", r"C:\"); + run_test(r"C:\test\file.txt", r"C:\test\file.txt"); + + run_test(r"\\?\C:\", r"C:\"); + run_test(r"\\?\C:\test\file.txt", r"C:\test\file.txt"); + + run_test(r"\\.\C:\", r"\\.\C:\"); + run_test(r"\\.\C:\Test\file.txt", r"\\.\C:\Test\file.txt"); + + run_test(r"\\?\UNC\localhost\", r"\\localhost"); + run_test(r"\\?\UNC\localhost\c$\", r"\\localhost\c$"); + run_test( + r"\\?\UNC\localhost\c$\Windows\file.txt", + r"\\localhost\c$\Windows\file.txt", + ); + run_test(r"\\?\UNC\wsl$\deno.json", r"\\wsl$\deno.json"); + + run_test(r"\\?\server1", r"\\server1"); + run_test(r"\\?\server1\e$\", r"\\server1\e$\"); + run_test( + r"\\?\server1\e$\test\file.txt", + r"\\server1\e$\test\file.txt", + ); + + fn run_test(input: &str, expected: &str) { + assert_eq!( + super::strip_unc_prefix(PathBuf::from(input)), + PathBuf::from(expected) + ); + } + } +} diff --git a/ext/fs/std_fs.rs b/ext/fs/std_fs.rs index 49d113c011eed7..4bdbf49432207c 100644 --- a/ext/fs/std_fs.rs +++ b/ext/fs/std_fs.rs @@ -647,15 +647,7 @@ fn metadata_to_fsstat(metadata: fs::Metadata) -> FsStat { } fn realpath(path: impl AsRef) -> FsResult { - let canonicalized_path = path.as_ref().canonicalize()?; - #[cfg(windows)] - let canonicalized_path = PathBuf::from( - canonicalized_path - .display() - .to_string() - .trim_start_matches("\\\\?\\"), - ); - Ok(canonicalized_path) + Ok(deno_core::strip_unc_prefix(path.as_ref().canonicalize()?)) } fn read_dir(path: impl AsRef) -> FsResult> { diff --git a/ext/node/ops/require.rs b/ext/node/ops/require.rs index 34eac84759af5a..1c8647bab7d835 100644 --- a/ext/node/ops/require.rs +++ b/ext/node/ops/require.rs @@ -287,15 +287,7 @@ where let path = PathBuf::from(request); ensure_read_permission::(state, &path)?; let fs = state.borrow::>(); - let mut canonicalized_path = fs.canonicalize(&path)?; - if cfg!(windows) { - canonicalized_path = PathBuf::from( - canonicalized_path - .display() - .to_string() - .trim_start_matches("\\\\?\\"), - ); - } + let canonicalized_path = deno_core::strip_unc_prefix(fs.canonicalize(&path)?); Ok(canonicalized_path.to_string_lossy().to_string()) } diff --git a/ext/node/polyfills/01_require.js b/ext/node/polyfills/01_require.js index 8fbe5078cf234a..ce7312ee857ff7 100644 --- a/ext/node/polyfills/01_require.js +++ b/ext/node/polyfills/01_require.js @@ -861,9 +861,11 @@ Module.prototype.load = function (filename) { throw Error("Module already loaded"); } - this.filename = filename; + // Canonicalize the path so it's not pointing to the symlinked directory + // in `node_modules` directory of the referrer. + this.filename = ops.op_require_real_path(filename); this.paths = Module._nodeModulePaths( - pathDirname(filename), + pathDirname(this.filename), ); const extension = findLongestRegisteredExtension(filename); // allow .mjs to be overriden diff --git a/runtime/fs_util.rs b/runtime/fs_util.rs index a29a57b3977028..eb4a2f89972851 100644 --- a/runtime/fs_util.rs +++ b/runtime/fs_util.rs @@ -10,16 +10,7 @@ use std::path::PathBuf; /// Similar to `std::fs::canonicalize()` but strips UNC prefixes on Windows. pub fn canonicalize_path(path: &Path) -> Result { - let mut canonicalized_path = path.canonicalize()?; - if cfg!(windows) { - canonicalized_path = PathBuf::from( - canonicalized_path - .display() - .to_string() - .trim_start_matches("\\\\?\\"), - ); - } - Ok(canonicalized_path) + Ok(deno_core::strip_unc_prefix(path.canonicalize()?)) } #[inline]