From 856c7241eb96d0a50fd50a7527e9b016eebc7c64 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sun, 26 Nov 2023 14:16:43 -0800 Subject: [PATCH 1/8] fix(arborist): `node.target` can be `null` when it is a file dep or symlink --- workspaces/arborist/lib/arborist/load-actual.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspaces/arborist/lib/arborist/load-actual.js b/workspaces/arborist/lib/arborist/load-actual.js index 8c4e148464d33..cf3061bb55ec1 100644 --- a/workspaces/arborist/lib/arborist/load-actual.js +++ b/workspaces/arborist/lib/arborist/load-actual.js @@ -333,7 +333,7 @@ module.exports = cls => class ActualLoader extends cls { async #loadFSTree (node) { const did = this.#actualTreeLoaded - if (!did.has(node.target.realpath)) { + if (node.target && !did.has(node.target.realpath)) { did.add(node.target.realpath) await this.#loadFSChildren(node.target) return Promise.all( From f403afb47fc611b962164ec064b82a16e2f874dd Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 1 Dec 2023 12:20:45 -0800 Subject: [PATCH 2/8] `npm install` inside this dir fails --- .../arborist/test/fixtures/file-dep/.npmrc | 1 + .../test/fixtures/file-dep/fake/package.json | 113 ++++++++++++++++++ .../test/fixtures/file-dep/package.json | 11 ++ 3 files changed, 125 insertions(+) create mode 100644 workspaces/arborist/test/fixtures/file-dep/.npmrc create mode 100644 workspaces/arborist/test/fixtures/file-dep/fake/package.json create mode 100644 workspaces/arborist/test/fixtures/file-dep/package.json diff --git a/workspaces/arborist/test/fixtures/file-dep/.npmrc b/workspaces/arborist/test/fixtures/file-dep/.npmrc new file mode 100644 index 0000000000000..43c97e719a5a8 --- /dev/null +++ b/workspaces/arborist/test/fixtures/file-dep/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/workspaces/arborist/test/fixtures/file-dep/fake/package.json b/workspaces/arborist/test/fixtures/file-dep/fake/package.json new file mode 100644 index 0000000000000..06f9a8252f218 --- /dev/null +++ b/workspaces/arborist/test/fixtures/file-dep/fake/package.json @@ -0,0 +1,113 @@ +{ + "bundleDependencies": true, + "_from": "has-package-exports@^1.2.3", + "_id": "has-package-exports@1.2.3", + "_inBundle": false, + "_integrity": "sha512-lkLLwrNNaRsmwj+TylZJh1o3YlzLfgrl9fZKOAMj4MHjbvt7wy1J0icE6jD36dzkA0aQGoNuqY0hVN2uuPfPBA==", + "_location": "/has-package-exports", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "has-package-exports@^1.2.3", + "name": "has-package-exports", + "escapedName": "has-package-exports", + "rawSpec": "^1.2.3", + "saveSpec": null, + "fetchSpec": "^1.2.3" + }, + "_requiredBy": [ + "#DEV:/" + ], + "_resolved": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.3.tgz", + "_shasum": "4cd984c761140156e27aea7cae9473a3dd0cc4d9", + "_spec": "has-package-exports@^1.2.3", + "_where": "/Users/ljharb/tmp/list-exports/packages/tests", + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "bugs": { + "url": "https://github.com/inspect-js/has-package-exports/issues" + }, + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.1" + }, + "deprecated": false, + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "eslint": "^7.25.0", + "has-package-exports": "file:.", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.2.2" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "license": "MIT", + "main": "no", + "name": "has-package-exports", + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-package-exports.git" + }, + "scripts": { + "lint": "eslint .", + "posttest": "aud --production || true", + "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "version": "auto-changelog && git add CHANGELOG.md" + }, + "version": "1.2.3" +} diff --git a/workspaces/arborist/test/fixtures/file-dep/package.json b/workspaces/arborist/test/fixtures/file-dep/package.json new file mode 100644 index 0000000000000..135cc391c0dd7 --- /dev/null +++ b/workspaces/arborist/test/fixtures/file-dep/package.json @@ -0,0 +1,11 @@ +{ + "name": "list-exports-tests", + "version": "0.0.0", + "private": true, + "scripts": { + }, + "devDependencies": { + "@fixtures/has-package-exports": "file:fake", + "has-package-exports": "^1.3.0" + } +} From ed28179b52347c6ac613e899bd5317d94e460a47 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Fri, 1 Dec 2023 16:59:42 -0700 Subject: [PATCH 3/8] wip: less stuff, still fails for npm i --- .../arborist/lib/arborist/load-actual.js | 3 +- .../arborist/test/fixtures/file-dep/.npmrc | 1 - .../test/fixtures/file-dep/fake/package.json | 110 +----------------- .../test/fixtures/file-dep/package.json | 9 +- workspaces/arborist/test/fixtures/index.js | 1 + 5 files changed, 8 insertions(+), 116 deletions(-) delete mode 100644 workspaces/arborist/test/fixtures/file-dep/.npmrc diff --git a/workspaces/arborist/lib/arborist/load-actual.js b/workspaces/arborist/lib/arborist/load-actual.js index cf3061bb55ec1..48476b1bee681 100644 --- a/workspaces/arborist/lib/arborist/load-actual.js +++ b/workspaces/arborist/lib/arborist/load-actual.js @@ -333,7 +333,8 @@ module.exports = cls => class ActualLoader extends cls { async #loadFSTree (node) { const did = this.#actualTreeLoaded - if (node.target && !did.has(node.target.realpath)) { + // if (node.target && !did.has(node.target.realpath)) { + if (!did.has(node.target.realpath)) { did.add(node.target.realpath) await this.#loadFSChildren(node.target) return Promise.all( diff --git a/workspaces/arborist/test/fixtures/file-dep/.npmrc b/workspaces/arborist/test/fixtures/file-dep/.npmrc deleted file mode 100644 index 43c97e719a5a8..0000000000000 --- a/workspaces/arborist/test/fixtures/file-dep/.npmrc +++ /dev/null @@ -1 +0,0 @@ -package-lock=false diff --git a/workspaces/arborist/test/fixtures/file-dep/fake/package.json b/workspaces/arborist/test/fixtures/file-dep/fake/package.json index 06f9a8252f218..b43f8172716e3 100644 --- a/workspaces/arborist/test/fixtures/file-dep/fake/package.json +++ b/workspaces/arborist/test/fixtures/file-dep/fake/package.json @@ -1,113 +1,9 @@ { "bundleDependencies": true, - "_from": "has-package-exports@^1.2.3", - "_id": "has-package-exports@1.2.3", - "_inBundle": false, - "_integrity": "sha512-lkLLwrNNaRsmwj+TylZJh1o3YlzLfgrl9fZKOAMj4MHjbvt7wy1J0icE6jD36dzkA0aQGoNuqY0hVN2uuPfPBA==", - "_location": "/has-package-exports", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "has-package-exports@^1.2.3", - "name": "has-package-exports", - "escapedName": "has-package-exports", - "rawSpec": "^1.2.3", - "saveSpec": null, - "fetchSpec": "^1.2.3" - }, - "_requiredBy": [ - "#DEV:/" - ], - "_resolved": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.3.tgz", - "_shasum": "4cd984c761140156e27aea7cae9473a3dd0cc4d9", - "_spec": "has-package-exports@^1.2.3", - "_where": "/Users/ljharb/tmp/list-exports/packages/tests", - "author": { - "name": "Jordan Harband", - "email": "ljharb@gmail.com" - }, - "auto-changelog": { - "output": "CHANGELOG.md", - "template": "keepachangelog", - "unreleased": false, - "commitLimit": false, - "backfillLimit": false, - "hideCredit": true - }, - "browser": { - "no": "./browser.js", - "yes": "./browser.js" - }, - "bugs": { - "url": "https://github.com/inspect-js/has-package-exports/issues" - }, "dependencies": { - "@ljharb/has-package-exports-patterns": "0.0.1" + "abbrev": "2.0.0" }, - "deprecated": false, - "description": "Does the current node version have support for the \"exports\" field in package.json?", "devDependencies": { - "@ljharb/eslint-config": "^17.6.0", - "aud": "^1.1.5", - "auto-changelog": "^2.2.1", - "eslint": "^7.25.0", - "has-package-exports": "file:.", - "nyc": "^10.3.2", - "safe-publish-latest": "^1.1.4", - "semver": "^6.3.0", - "tape": "^5.2.2" - }, - "exports": { - ".": [ - { - "browser": "./browser.js", - "default": "./yes.js" - }, - "./yes.js" - ], - "./conditional": [ - { - "browser": "./browser.js", - "import": "./yes.js", - "require": "./yes.js", - "node": "./yes.js", - "default": "./no.js" - }, - "./no.js" - ], - "./pattern": "./pattern.js" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "greenkeeper": { - "ignore": [ - "semver" - ] - }, - "homepage": "https://github.com/inspect-js/has-package-exports#readme", - "keywords": [ - "package.json", - "package", - "exports", - "field" - ], - "license": "MIT", - "main": "no", - "name": "has-package-exports", - "repository": { - "type": "git", - "url": "git+https://github.com/inspect-js/has-package-exports.git" - }, - "scripts": { - "lint": "eslint .", - "posttest": "aud --production || true", - "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"", - "pretest": "npm run lint", - "test": "npm run tests-only", - "tests-only": "nyc tape 'test/**/*.js'", - "version": "auto-changelog && git add CHANGELOG.md" - }, - "version": "1.2.3" + "has-package-exports": "file:." + } } diff --git a/workspaces/arborist/test/fixtures/file-dep/package.json b/workspaces/arborist/test/fixtures/file-dep/package.json index 135cc391c0dd7..53eb00d2a3ebb 100644 --- a/workspaces/arborist/test/fixtures/file-dep/package.json +++ b/workspaces/arborist/test/fixtures/file-dep/package.json @@ -1,11 +1,6 @@ { - "name": "list-exports-tests", - "version": "0.0.0", - "private": true, - "scripts": { - }, - "devDependencies": { - "@fixtures/has-package-exports": "file:fake", + "dependencies": { + "some-fake-name": "file:fake", "has-package-exports": "^1.3.0" } } diff --git a/workspaces/arborist/test/fixtures/index.js b/workspaces/arborist/test/fixtures/index.js index fdc5592c7dd8d..3d910aea3c6c9 100644 --- a/workspaces/arborist/test/fixtures/index.js +++ b/workspaces/arborist/test/fixtures/index.js @@ -35,6 +35,7 @@ const roots = [ 'link-dep-nested', 'link-dep-nested/root', 'external-link-cached-dummy-dep/root', + 'file-dep', ] const symlinks = { From 1864538b811a8a8abe84b7326f0e4364785b0792 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Fri, 1 Dec 2023 19:55:24 -0700 Subject: [PATCH 4/8] wip: add fixtures --- .../arborist/lib/arborist/load-actual.js | 3 +- workspaces/arborist/test/arborist/reify.js | 3 + workspaces/arborist/test/fixtures/index.js | 1 - .../content/has-package-exports.json | 1392 +++++++++++++++++ .../content/has-package-exports.min.json | 383 +++++ .../-/has-package-exports-1.3.0.tgz | Bin 0 -> 6761 bytes .../ljharb/has-package-exports-patterns.json | 213 +++ .../has-package-exports-patterns.min.json | 64 + .../-/has-package-exports-patterns-0.0.2.tgz | Bin 0 -> 483 bytes .../test/fixtures/reify-cases/file-dep.js | 23 + 10 files changed, 2079 insertions(+), 3 deletions(-) create mode 100644 workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.json create mode 100644 workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.min.json create mode 100644 workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports/-/has-package-exports-1.3.0.tgz create mode 100644 workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.json create mode 100644 workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.min.json create mode 100644 workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz create mode 100644 workspaces/arborist/test/fixtures/reify-cases/file-dep.js diff --git a/workspaces/arborist/lib/arborist/load-actual.js b/workspaces/arborist/lib/arborist/load-actual.js index 48476b1bee681..def00dc74f039 100644 --- a/workspaces/arborist/lib/arborist/load-actual.js +++ b/workspaces/arborist/lib/arborist/load-actual.js @@ -333,8 +333,7 @@ module.exports = cls => class ActualLoader extends cls { async #loadFSTree (node) { const did = this.#actualTreeLoaded - // if (node.target && !did.has(node.target.realpath)) { - if (!did.has(node.target.realpath)) { + if (!node.isLink && !did.has(node.target.realpath)) { did.add(node.target.realpath) await this.#loadFSChildren(node.target) return Promise.all( diff --git a/workspaces/arborist/test/arborist/reify.js b/workspaces/arborist/test/arborist/reify.js index 1b387c45ab170..85ce63057a04f 100644 --- a/workspaces/arborist/test/arborist/reify.js +++ b/workspaces/arborist/test/arborist/reify.js @@ -160,6 +160,9 @@ const newArb = (opt) => new Arborist({ const reify = (path, opt) => newArb({ path, ...(opt || {}) }).reify(opt) +t.test('ljharb file dep', t => + t.resolveMatchSnapshot(printReified(fixture(t, 'file-dep')))) + t.test('tarball deps with transitive tarball deps', t => t.resolveMatchSnapshot(printReified(fixture(t, 'tarball-dependencies')))) diff --git a/workspaces/arborist/test/fixtures/index.js b/workspaces/arborist/test/fixtures/index.js index 3d910aea3c6c9..fdc5592c7dd8d 100644 --- a/workspaces/arborist/test/fixtures/index.js +++ b/workspaces/arborist/test/fixtures/index.js @@ -35,7 +35,6 @@ const roots = [ 'link-dep-nested', 'link-dep-nested/root', 'external-link-cached-dummy-dep/root', - 'file-dep', ] const symlinks = { diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.json b/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.json new file mode 100644 index 0000000000000..7b32e37e727bb --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.json @@ -0,0 +1,1392 @@ +{ + "_id": "has-package-exports", + "_rev": "16-f1d6bea880275ab712ab13a0d0ab6173", + "name": "has-package-exports", + "dist-tags": { + "latest": "1.3.0" + }, + "versions": { + "1.0.0": { + "name": "has-package-exports", + "version": "1.0.0", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "default": "./yes.js", + "browser": "./browser.js" + }, + "./yes.js" + ] + }, + "scripts": { + "prepublish": "safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "npx aud", + "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/has-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/has-package-exports/issues" + }, + "homepage": "https://github.com/ljharb/has-package-exports#readme", + "devDependencies": { + "@ljharb/eslint-config": "^15.1.0", + "auto-changelog": "^1.16.2", + "eslint": "^6.8.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^4.13.0" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false + }, + "gitHead": "014e96afca6d81e9623eaed8f10c226259361384", + "_id": "has-package-exports@1.0.0", + "_nodeVersion": "13.6.0", + "_npmVersion": "6.13.4", + "dist": { + "integrity": "sha512-rYAzt2OaM+mwkxAGP7cZ4KkP45O/ZEFSjwg7KmiS+uCrXxB1XepMj9L5VMuAm7tpjiL1IemcrNcn4HAZX+z4RQ==", + "shasum": "7988de73efb56862fbe277adaf857d70b37a1f07", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.0.0.tgz", + "fileCount": 12, + "unpackedSize": 8239, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFtxRCRA9TVsSAnZWagAAvuMP/30xeqzfUKH0fTpOvVyy\n5b2S3EwJP6MpvAkYOfw06l3JOBsGLpL4ihc/EQ5tf92+6Dh2mt7yS7GdedzE\ndbmNuHcwZVEoBD+bNxFqn10Awxg9iceEqKJcVE+ro/Oc11JUXfU/k7va/AMJ\n01GrFj6EhndQ7i9nPwScE9zY3qRzmPNUFZwRUIj958F+o6w455J/gTmOKIlg\n5FvCOxdjEutPLerYwgSku8x0rEd7VyDnkjt2Kc/mupEVA1oci9rTFbxGNymL\nwnCTkNobTboLBDglUJ4Lxk6IssF986npURiC26OGDxFQmnazswuuucdb7KOg\nuqXec2l1lcuc9wqYsAGI+OFxz67V4me2ItsTq7euKJuqcA8R/c+zKXFmI7Is\nQsnWrrr3rbtozgLSvXMdwPKJMycakBaLl3RAhvnbth1REuVhmTlf43BcyRvp\n+Wo1Hn4EWV4rYJ6B+aofpFlFFCnFaqVe01ZJSpKY/hJQDYHb+A1hzaFdrqE1\ne46cVwWdx9MkWMnDHKRm/Yoius7S4ZnMfVUyQxD93LlO7ehv8we7jLuP0ItI\n9/S7OuAq8kpvcFi33wZhVr/WLaaFUjKKAX8XB+TPMF7j+TWOZFDOKBAyziwo\nT+shBLy467UZWnP7PFkhdPPaNQVvcnhFr/DgvYCwuku0lqJ7/ps5lwDh3nbc\nYxeh\r\n=LDQ9\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDij+wRKhgaDHY3sg6J0mGqK0Wd7O7ouOzPCKe+ePfiUQIhALfnO1f13d9AARXyeNuIGWizOOH0gjOKUZt1UmOluk+E" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.0.0_1578556496494_0.2933720364176702" + }, + "_hasShrinkwrap": false + }, + "1.1.0": { + "name": "has-package-exports", + "version": "1.1.0", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ] + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "npx 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/has-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/ljharb/has-package-exports/issues" + }, + "homepage": "https://github.com/ljharb/has-package-exports#readme", + "devDependencies": { + "@ljharb/eslint-config": "^16.0.0", + "aud": "^1.1.1", + "auto-changelog": "^2.0.0", + "eslint": "^6.8.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.0" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false + }, + "gitHead": "ab9580b1a3ee447b11fa6802bc9774f741cbe93f", + "_id": "has-package-exports@1.1.0", + "_nodeVersion": "14.2.0", + "_npmVersion": "6.14.4", + "dist": { + "integrity": "sha512-qlaEs954Mp/B4LpzyZNlMYp4r8qVQAB4Bp8+abBVy4lg1FqcArWLHAl9BLMIWDiJ72wkqVpCNT54gX3uYBVYbw==", + "shasum": "3d9a36d3c683dba8d9c61a7fc0ece204e61ba65a", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.1.0.tgz", + "fileCount": 13, + "unpackedSize": 11980, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuHApCRA9TVsSAnZWagAAmtQP/jNRb09OUtfuF9q0DpKo\nxIXOXx5s47jZ1cyAykg23ivO9wacfuShrtYOFDVadT4tg19SRozjZiLpa9kk\nGrITrIoucWFCNyukp4yENKBge/ywSugV9+O3H4TGMxdpsPA3U2B8G7Lg8HaO\nzd2+rEdbg2QAtazCnQ3DhHNgQtl1UIleIMkKxThLYNQVnbtQCgH3xN2MIix7\nGArC58oZ3noqZ8VbdCB9zvQhXVCya4eV7+ECvRXosafhIZJ8gdnBJjIi6rxU\nBSrg7gqMhr4Bw132RTgs4NVnCvg37DIEKYDy3IEIMrExRNWovGUccDCkqNFK\n4jILgCuyVOHLxb/jpyRts4Sp3RGn3oFOQf3JozJNw15Sdq7yjzxJJpNtvthW\nN3ISR9y9MlSJX+pn7b7RoXmRDM6PuxUn1oI5tP4fSapTQKfgRxOjjt8J2zeu\n3cJBGRlJin3Wne5wwTPrao/OMWn/UTHRt2YcgtCq8q0VpQGcGywZJylT7VBY\ncRtFn42gJ90zIC140vrDpBVEcKHu2faVA8FGkcZGYmQgMjfIKN+P22IOB8UO\n0xUESk7Z7oFZAKzFv1Q/GQdCw0nFSZNBibNydpnz9xU0nkElnlm4BBJp6XRq\nn7t9ImTLgEzrG1gyDZHmqjMzc/XuitBg9A2phBcNr5qpvbnAHDDU1r1mLeKw\nm7zI\r\n=XY5n\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIFNxCw4ZZcUPip6Zgx1DIAhyMcr1WAWteosVYupXee9/AiAUj/3EGkh9HN4c4CuRXVmtFeMKCmE8ib5pscAtIzP/yA==" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.1.0_1589145640624_0.7858408887273796" + }, + "_hasShrinkwrap": false + }, + "1.2.0": { + "name": "has-package-exports", + "version": "1.2.0", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/patterns": "file:./packages/patterns" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "gitHead": "7e22f77253d61ab9b951ecb38bdc645d2bb95c81", + "_id": "has-package-exports@1.2.0", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-2SPoZNnHITtcn7OMdeYwhULqh9z0ehEQS2yaW4hyacr9rdStgyJJyEJtqekludq+WBU7Sz9o8Bi++tysCPuoxA==", + "shasum": "3a6737872630cfd8cd389d7479dd4a85475c201b", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.0.tgz", + "fileCount": 17, + "unpackedSize": 14753, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffBZ/CRA9TVsSAnZWagAAaWkQAJogsJhRDR1h4LkeTVdu\nYIC9SsfnrXtzWSCXsGAyDhWod81ebOHVd/C2Q63hUeo83iA97qtNYnSD9Ga2\nU6YUZ/+bNOrVt15yYm9ghL5HwxrFa4Ft9Whr0/ZNGlCa87nFzG/Xculq3kRT\nFQVpoh5KvonnWuG8WzYqtMbOakThbwcWgl6WN+6JfIi65PrRKy8kSidNxUcP\nwIR5ljll9idXSnaRT3xjF2UjwQsgj9gC1PN+d5AAQMwPPO1UtoD5Tt+vby2Q\nhoLx8AcJzwAK/J3T/dEqxfUKfItj+r+28SFq9aBThndtC4dlg3Hcw4xPs1tb\nNMe2U2b7wR7LPQBzQIgi886xfJGLICIphtdyQ7V/+GCWEm/K3Sw7IuszBMD8\nP6nKmyYU6lkuWgiCoOOz3TFAudN1p2pkH0+Ww1tFpS4OR6tAvV4uzkVIXEuR\nXNchb8doWr4wUWBfjWW9H2CDS3Zd2QnGHHju+F33Rc6dd+QKngMFq56qzHX4\nf88g2Z87OTc+QKwURDllcFEXez6QOp9YM9WRJ/D2DFNBsdaJpGNRgsQAoqEF\ntphS5bA0eFhqjlvbNfLkZSk1m0u/9VWsgX8zw71NnWp1PZ5OVyaTlRcagX5R\nHQtK1doayRU1W/jvcG219zFyRp0Qy2L5jxGptU2WiU0a8vzzwXsxkZ4KkiCi\nM1e9\r\n=a+jz\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDXD9bwnzrbbFAaXn8u2Fy1DO7ZIG6dAcbmg9LN+apX4AiEA1rokLOX+RAzABsMdWRlHZo/imuaYmp3i6nf55Uwjvyo=" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.0_1601967743133_0.4991118759066693" + }, + "_hasShrinkwrap": false + }, + "1.2.1-alpha.0": { + "name": "has-package-exports", + "version": "1.2.1-alpha.0", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/patterns": "file:./packages/patterns/ljharb-patterns-0.0.0.tgz" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "readme": "# has-package-exports [![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\nDoes the current node version have support for the \"exports\" field in package.json?\n\nAt the time of this writing, node v12.17+ and v13+ has support for the [\"exports\" field in package.json](https://nodejs.org/api/packages.html#packages_exports).\n\nThis library exports `true` if the current node version supports it, `false` if it does not, and `null` if it's in a browser.\n\nRequire or import `has-package-exports/conditional` to determine if the current environment supports conditional exports (as of this writing, node v12.17+ and v13.7+).\n\nRequire or import `has-package-exports/pattern` to determine if the current environment supports exports patterns (as of this writing, node v14.13+).\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/has-package-exports\n[npm-version-svg]: http://versionbadg.es/inspect-js/has-package-exports.svg\n[travis-svg]: https://travis-ci.org/inspect-js/has-package-exports.svg\n[travis-url]: https://travis-ci.org/inspect-js/has-package-exports\n[deps-svg]: https://david-dm.org/inspect-js/has-package-exports.svg\n[deps-url]: https://david-dm.org/inspect-js/has-package-exports\n[dev-deps-svg]: https://david-dm.org/inspect-js/has-package-exports/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/has-package-exports#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/has-package-exports.png?downloads=true&stars=true\n[license-image]: http://img.shields.io/npm/l/has-package-exports.svg\n[license-url]: LICENSE\n[downloads-image]: http://img.shields.io/npm/dm/has-package-exports.svg\n[downloads-url]: http://npm-stat.com/charts.html?package=has-package-exports\n", + "readmeFilename": "README.md", + "gitHead": "15d2d48c8e81ce9f69c102915c62f7b1baae7956", + "_id": "has-package-exports@1.2.1-alpha.0", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-Cus9snKzzfROWJF4fmzBmYijTdEd6jFmig+lLp4a4O/iKR8bw9YJENvaQ9ZKtBd8hIjpKVx98tnLQH3/iALJwQ==", + "shasum": "c975a0a6935cc3994b78fd98a820aad4186fb285", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.0.tgz", + "fileCount": 17, + "unpackedSize": 14827, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/bNCRA9TVsSAnZWagAAQaUP/3cB45B47OPpbhmHyZPJ\n0DzsLAcI8Gk/dWpDbQI/13r+5wZIEWbIP0ayHCGzyD/ll3nU/w4q/sdKTLG7\nbir2s/mNiY5jAN44lyB3l1yUMSRccDVdRkVUyvH+Jz3To4v5/ANQKh56QCjI\nvdDNydg3uW/B6yOsE6xLTCGflYSZ1IVVUYmiSNPuUg/ONufiewMzSlE6btis\nymKhQ6y6m/FMKgmXq2ePpMVltCzXFsuBaYgY9sfpSsQgTbTALoH/o4htcE3M\nThKF4L/WoGNB27UUvCepwvfWA+Fzhc1OMvgM2JRPpvkcOJ/QFk2Wzfo+MAnv\n/splEDLRiCTWUDx+kq2A7mVNOGJpkuNu9rQwzracHRwMtPw1eFyBV92mc5/B\n98XybFl2wDJIcNWOZKyZDKJM0VHxkhKuDmf+x7yBoDptmtEE0JIy6YT/X4OX\nDv244ORdan1TpWevU4MK7+E3OrD0dfplc3/tk+7Nqj5vHraJPtxCN65OK5UN\nArDnPMHWK6/PSr5fKXrIrsHJS4bNPlfhKx6xwZPAWefzx6KgqWeR+2rpQG/h\nY59g7+zlusHEUVukwWobIzVKL734xmaG8iaBsd6Ir9ErX1bfy93qr6EiiZ2Z\ntTzNm1s47dqwLbKi3qeNPyD3V2IhDTrornLYj/b2Pb1bzeFlBAAJrNiRVmia\ngNdU\r\n=6Oh8\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCS3VbBV7bLnt41PBa6uEiFxnGJ56PPnbWThIT2lnY3OQIhAL9PAopIVIirs02NNTN73FxkG9lWSXKJ1lfyyJ6Nio6U" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.1-alpha.0_1602221773468_0.8847715680026966" + }, + "_hasShrinkwrap": false, + "deprecated": "this is broken" + }, + "1.2.1-alpha.1": { + "name": "has-package-exports", + "version": "1.2.1-alpha.1", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/patterns": "file:./packages/patterns" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "readme": "# has-package-exports [![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\nDoes the current node version have support for the \"exports\" field in package.json?\n\nAt the time of this writing, node v12.17+ and v13+ has support for the [\"exports\" field in package.json](https://nodejs.org/api/packages.html#packages_exports).\n\nThis library exports `true` if the current node version supports it, `false` if it does not, and `null` if it's in a browser.\n\nRequire or import `has-package-exports/conditional` to determine if the current environment supports conditional exports (as of this writing, node v12.17+ and v13.7+).\n\nRequire or import `has-package-exports/pattern` to determine if the current environment supports exports patterns (as of this writing, node v14.13+).\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/has-package-exports\n[npm-version-svg]: http://versionbadg.es/inspect-js/has-package-exports.svg\n[travis-svg]: https://travis-ci.org/inspect-js/has-package-exports.svg\n[travis-url]: https://travis-ci.org/inspect-js/has-package-exports\n[deps-svg]: https://david-dm.org/inspect-js/has-package-exports.svg\n[deps-url]: https://david-dm.org/inspect-js/has-package-exports\n[dev-deps-svg]: https://david-dm.org/inspect-js/has-package-exports/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/has-package-exports#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/has-package-exports.png?downloads=true&stars=true\n[license-image]: http://img.shields.io/npm/l/has-package-exports.svg\n[license-url]: LICENSE\n[downloads-image]: http://img.shields.io/npm/dm/has-package-exports.svg\n[downloads-url]: http://npm-stat.com/charts.html?package=has-package-exports\n", + "readmeFilename": "README.md", + "gitHead": "92279dcdc5b58bdc9b6caab269e6ede523be1711", + "_id": "has-package-exports@1.2.1-alpha.1", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-3CHxfGRPggHaycEcLMpE3cM4wOxoDXVcZIw76DN2KchlQTDg9eTxilzTBAIaDBIVPFaWYqN6/TuHw4fc+2POEw==", + "shasum": "d2038425104c0ba9793432d69df7ec311f7efe82", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.1.tgz", + "fileCount": 17, + "unpackedSize": 15144, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/shCRA9TVsSAnZWagAAwDAP/jLGKeoUPco6AXQSMADp\ninTGa7V8wMsC4tiL6MJ8ep6yeZu/lOyF+FdZqtpHFPuQr2x77i2yCEr3Jrio\nhhbJmr5SSCD2sKevEVMRtCi2UBD9e2+SDOwnvHquqTAagDBDflJx9uVl/9ZD\nGQ03P5Js5iQMi3GippZbbNC+kM0zdf6EsOJ4uGI8VBBTQDDg6Qyp33EtAiwn\nqiID5s9XltDiviT4+PClFdD+7GgEyQEdMYibSjOpKLWtn+trlGsfIJJsT0vA\nIZ6escIZLklXSynlIcben7xhBN+QC2NVZ9+gq2un/11sN8bworM4SrATAqen\ntGbbhfbLPGP292UyWf/PUa8zWsNdTsqJrSsHh1xqOqrfb4zHNRkBrZxz4hXD\nQE0xp925U0mCfQTf+6CCl/1RpTEtp3oAyaoMQ3PR/9kz7lZSC9FHzPl6phnh\nh6SHEsM4A7CnAWRzGZhQSBzNf0GDuYVL4xTa0ba/hWEXeV/Fewmd/77/h7BT\nrdbLos+/lWhtS3KI3n/Qfvfc8g+k9XBakv7EKFpXT43ZT2Dw49nWMnxX7Ab2\nY8WC0wkxaPfAhN5a6WJn510YtfuL7D67BJ9BLxKJY7FoZxkJG8z2BLHAG8ky\nL5xHCr2cevLMMgziaBo4RN+9D0BrH4MKI/GRYqdhADGKZoO05MBvQEJOLg7n\nb8eW\r\n=cVQQ\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCvShW3tI3MtM9HapBdIZ35x9j+QckVFdjXPOdaZKwYGgIhAPlq418T/UbZCr64UOzKBXkQnb2les6BAtyMPNDfxDWu" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.1-alpha.1_1602222880694_0.9830752969674459" + }, + "_hasShrinkwrap": false, + "deprecated": "this is broken" + }, + "1.2.1-alpha.2": { + "name": "has-package-exports", + "version": "1.2.1-alpha.2", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/has-package-exports-patterns": "^1.0.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "readme": "# has-package-exports [![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\nDoes the current node version have support for the \"exports\" field in package.json?\n\nAt the time of this writing, node v12.17+ and v13+ has support for the [\"exports\" field in package.json](https://nodejs.org/api/packages.html#packages_exports).\n\nThis library exports `true` if the current node version supports it, `false` if it does not, and `null` if it's in a browser.\n\nRequire or import `has-package-exports/conditional` to determine if the current environment supports conditional exports (as of this writing, node v12.17+ and v13.7+).\n\nRequire or import `has-package-exports/pattern` to determine if the current environment supports exports patterns (as of this writing, node v14.13+).\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/has-package-exports\n[npm-version-svg]: http://versionbadg.es/inspect-js/has-package-exports.svg\n[travis-svg]: https://travis-ci.org/inspect-js/has-package-exports.svg\n[travis-url]: https://travis-ci.org/inspect-js/has-package-exports\n[deps-svg]: https://david-dm.org/inspect-js/has-package-exports.svg\n[deps-url]: https://david-dm.org/inspect-js/has-package-exports\n[dev-deps-svg]: https://david-dm.org/inspect-js/has-package-exports/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/has-package-exports#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/has-package-exports.png?downloads=true&stars=true\n[license-image]: http://img.shields.io/npm/l/has-package-exports.svg\n[license-url]: LICENSE\n[downloads-image]: http://img.shields.io/npm/dm/has-package-exports.svg\n[downloads-url]: http://npm-stat.com/charts.html?package=has-package-exports\n", + "readmeFilename": "README.md", + "gitHead": "65c6bcc653cf2a745005f35bc1906efc4f75f9d1", + "_id": "has-package-exports@1.2.1-alpha.2", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-BYB7MfcYWRDS2NbAwbMmy+FSQJMAamjDmZyzzbO1WKqCMGE16Jnsoebm4rH/tDyhXaASxHIpJxmwd+tHvXWI5Q==", + "shasum": "743c57f3e3f4941ba93df5d6a459d1a976d83ec2", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.2.tgz", + "fileCount": 17, + "unpackedSize": 15153, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/uXCRA9TVsSAnZWagAAzL4P/1+hSj8Wd+Xki390gM4y\nsKsrFkHKCYfYZE9hEkoYmlo4qkQLGtW5ngSPRrb0x17c3XlOh7JijpW3O8LZ\nTW8V61DEI96lkaKWYmdNHbX51PRYlDltxB4U6ILlSP0KKvzlK/MFpYA2heb8\nlWYM+/R4qbRZ1uJAZ7AGpoeh1+xkCgdK8C92mMMNQ0NJ2ef632wLL5kgwufQ\nPQPD7rWW9W3q7A+TD/GGXNvIWIN7Y/Gy/gZFNjTSbIBV6FcIRytYTTdMh0D6\nayXqn/D41re9fQFzl4zxRF+swI20pPFdJfNk8P2spvHSxa2WqKOP9kpGSubC\nV00lJZd5sjbnmzYuHWe3BysCthCH/AjWlop5tn/U7PLpGF1mfh3w7y+fDtg/\nZ8Zdfunoruohj+qT+qtZyqgnnAx/9Q1FmT/0/F3TNpCgu9UGQCjYY2O7HMfM\n55zVu22Y4w6fCPhoRJTWsmIPAXb+MMhRkqstKeo4rCOA6MposqbHzkxMQz1L\nrhwWa+VcpPP606GJ0ld1GzH0OPtYj5bPfe7UDPVq8JnDXJb2p1MXtnhF0QY4\nrZaeez4F1CVHpJriVHR/9sMtaxCACvfQDwINgc6+K2ojmJX9542JK0EGIAne\n0hFlLw/1rWxXdrmCUd/ceBsjbJYIqRAmzcqocKsGBeQUbnCkLwstYlxwNOPH\nyS5Q\r\n=BCSH\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCfnKCnlZuE9MamAyUov9ByBapkSJCYKG5bE4i9fy9AdQIgHyEsOUb9+JPVM7Hkhks2ZRMU56Nwr9mWkKeOtGZTtD8=" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.1-alpha.2_1602222998602_0.18561594111594326" + }, + "_hasShrinkwrap": false, + "deprecated": "this is broken" + }, + "1.2.1-alpha.3": { + "name": "has-package-exports", + "version": "1.2.1-alpha.3", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "readme": "# has-package-exports [![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\nDoes the current node version have support for the \"exports\" field in package.json?\n\nAt the time of this writing, node v12.17+ and v13+ has support for the [\"exports\" field in package.json](https://nodejs.org/api/packages.html#packages_exports).\n\nThis library exports `true` if the current node version supports it, `false` if it does not, and `null` if it's in a browser.\n\nRequire or import `has-package-exports/conditional` to determine if the current environment supports conditional exports (as of this writing, node v12.17+ and v13.7+).\n\nRequire or import `has-package-exports/pattern` to determine if the current environment supports exports patterns (as of this writing, node v14.13+).\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/has-package-exports\n[npm-version-svg]: http://versionbadg.es/inspect-js/has-package-exports.svg\n[travis-svg]: https://travis-ci.org/inspect-js/has-package-exports.svg\n[travis-url]: https://travis-ci.org/inspect-js/has-package-exports\n[deps-svg]: https://david-dm.org/inspect-js/has-package-exports.svg\n[deps-url]: https://david-dm.org/inspect-js/has-package-exports\n[dev-deps-svg]: https://david-dm.org/inspect-js/has-package-exports/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/has-package-exports#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/has-package-exports.png?downloads=true&stars=true\n[license-image]: http://img.shields.io/npm/l/has-package-exports.svg\n[license-url]: LICENSE\n[downloads-image]: http://img.shields.io/npm/dm/has-package-exports.svg\n[downloads-url]: http://npm-stat.com/charts.html?package=has-package-exports\n", + "readmeFilename": "README.md", + "gitHead": "65c6bcc653cf2a745005f35bc1906efc4f75f9d1", + "_id": "has-package-exports@1.2.1-alpha.3", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-W4BFt7OJ0+dd0Rtd/edgfY++XPbAohwgfCyTJbjgF4kpkwKTCKLB5kzKdGlA6ro15OWaKx54K6JeV4V+n4WgCA==", + "shasum": "eb22038522efafb05e8ed3985695fb8afb58abb4", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.3.tgz", + "fileCount": 17, + "unpackedSize": 15197, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/w1CRA9TVsSAnZWagAAADgQAJILjb2OuVOYPBvKEhnr\nG/07M+ich4BEUJfOxeO0o0eqfQjx8QopVRZBFUARNiXcfyzXHuLIYQLEF6Sx\n/kvqnDBxin1AKzibsfF+8hBtVKPwlbyw5ezOcX74cgJC975y5w8p1lJzVzMT\nSpB0NAkXGgk4mrwsRb6jLuy4BNEG2pD6Pjg4a1ikno+roIHl7DW2pvjlSNEa\nSUyjcR7LTxeX0xrDTb8R8Kj5lXRNFcpOFB8RpKbHmPtUU3AVcrqLZijf7cWo\nP0QcP/0JoMGYxopZzgo9HQFfMuihi04wkAvGcmHDlcd9DAyt63ZkKFpdVsvX\n1sAdAxKHsUj+xrgjmYtmy8OMFVJarIiKqi3owjI0weZq9aKjVQ3Wqg5IW+nK\n4LWzGoVnoiNdwxGOQZpyZNeQ28helsyeCpq48GjagSBz4Hs8OvWzds4SFjAe\nVTjQOWd489v6MKrky/uQFMJ0W7dJgDde8mz7zRLAj0sgeqcPRaSQL6xCaiSN\nAYqEQfLDHHa3Ttyoa3IQQHOv/nzqC4AX31/CM+yQMu5AqwVO1GelymQyHdji\nO+57nK6crEO63DN6Pa0e3TwVRb1JTY2HXsqiD6GtZcBBGLTo1pX969L7nOM2\nRWSn7eh4CPyWX8V0eF2CyHfbKZU6jUh7nIWaQmqURZTzNEBIHw4C0WZskW5S\n5+ZX\r\n=kqHm\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQD5qSHbnNa3a2w4CaeuKFg1T31KjVi8e3rk1wJ5Va3XrAIgYFTvVw5wyxs11h4fyjoQl8UZ1xo2xwRRa7OpffGBFGU=" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.1-alpha.3_1602223157201_0.29070257503425734" + }, + "_hasShrinkwrap": false, + "deprecated": "this is broken" + }, + "1.2.1": { + "name": "has-package-exports", + "version": "1.2.1", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.2.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "gitHead": "108ea4ef3c1f3de71ef07fd00a94e530a9da951e", + "_id": "has-package-exports@1.2.1", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-uyEWJ3NFC0fHT/YgszXX+vFYKegFksDtwpR+zIzy4tYlE2wgoDOanFv4K0mnVmr/vW4RLnCnpKvl4Fg1Cdl/8g==", + "shasum": "3773e823e1e90641c0d15b5e4596aad48c0f3880", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1.tgz", + "fileCount": 17, + "unpackedSize": 15954, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/2iCRA9TVsSAnZWagAAY3EP/3ECXXn+s0U0SfXBpFsQ\n/QV4VFYiHlkwPW2nYPAEM7mGxfSAod63JLG8kmkTyghkDfb87EyUS1ezhhKg\n8kVbwrUDO/cOv7e3zLE2alOMZrCbA7C59AXd15eRW5o8xGUQdJwvo+54iWbj\n+8z7BM1paNbNPk/V/IU3EbC3gBK5i3UfEAaKOT82lyrou/JHEZbVoQvrupuF\nZ34broaOioKjRLWq3x7COX3DljebU6089Pm9wRuzAdmlPw+acFe5mCWTF0nf\nQdk/mLjj6JvnPaJJ+aDhUdGiEIgaUdVRHFPqTCIFhvtnuM91S7Xm0FJjuJIu\nA2wOsuza8OuPD9wOUufzOPw69H6ag8VdcUy9Y0z1X3+txgtJOb72NaLpd1Iy\n5XjuS0eU6dtELZyEaGoHBENW6QHVR3EHWRroNBjZB2OEDK4e4/K2G3AMX1b0\nQuX88eiePwbvXgObcaeElF7/JHtt9beb3xB2szabX5qsQ1a8dDKAhKGFgpTE\n7ivrKdniH6DiXOF71whUCu5baSBR+vRWqSNNz28vlzRrsjKzZSR5IKS5Fsq9\n4snV32oMrOzxr9QvJnTxxpNxw9K20toqpMiyXD7dUDY0gdQ9tZB3Q9xhdcVf\nhMJC0/Qw/o77y1p2ahXAf4fnhkr8i7jSrql3YDHg/sKs5DcNZ0OWDbYTMj1k\nm1Yz\r\n=XyGa\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDpv1DmwHbRh4dVtEKBwOr6v1ootI1TAGZLtSjepi8QCgIhAJMuCrZD6daItt+EYvN6MRmn3m9D8UU0LZqzqjZNlnoc" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.1_1602223521756_0.8310339365161712" + }, + "_hasShrinkwrap": false + }, + "1.2.2": { + "name": "has-package-exports", + "version": "1.2.2", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>&1 >/dev/null) || safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "node test", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.1" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.2.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.12.1", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "gitHead": "96f4fc409e03481555d238373e17eee8791e47be", + "_id": "has-package-exports@1.2.2", + "_nodeVersion": "14.15.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-Lkf3d4JxDJsCj7aG8MeeHvqROkj10vcsXSNuW35su+ZZ6+eJpILE0qrUW7DHk9fYp+JHaPhWlyWYqK/WVdwcrA==", + "shasum": "bcf0e2d5c823956aa9c3072d62e787c96cddfdbc", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.2.tgz", + "fileCount": 12, + "unpackedSize": 15783, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmQXICRA9TVsSAnZWagAAidsQAJ7sXnuV9A2ttx/8a5O/\nw9Q68Bs69RjX8Ifc+urkgMBoEisbEalwnYBtRrluwFme/4cgf8JxeKljWPdm\npE63cBUEmcXqr3u3AWzh7WQqTC3K5h/9sZxQKHbbWd3Ny2b/qjsDSLPt3Lit\n8Mw1Y1FlhW1EH2Cl4Gjfcwq8Bunq3HhgmZ19WQ8J+bTnoFG1zr/we9ig68KZ\nxsSNTWY1iqQqKYuNm+YYvjv158XJMLCp8S2LApVvIWhCSfZXt7oehRr7ewTf\nSunNvFckbcwdWrIov3d68yd4N2HRhi6GqFCA7LktkomhUMSIwD6spmfm0YOl\nQJZg5YFwr+Rxq/o9Yh3UZY2nthGlI+2e0QQvLA53Tvycvt9CbgzdIlEfgLdc\nlBVgWYz8q6opqafc4bQj4MGfFHG2fFs3kL39akBDjAc/UE4AGAwMiWfu15Gv\nCyGTv68EYA9RohKXqUDFBrWXwk35AVD9sTVp70zFf7THt2Yvo0MQB5ZLDKOP\nJXX9kslQWBRc/3oZEaIVdAoZpMkDvu5fSWtJ0wlsw8f6hB8WhgqSpUBtf1Js\n5U2BX1YfWhpBCyqs63hbbMUPY9/2qkVowJtAqHMN97ZK8AT5849p51ruavTd\nKU/AMkRpksgIboTVYg+2nsp7EEF/DPgGJDw2UynlnfmPbd+xXRh647rMD3Ma\nmoVi\r\n=GCQ0\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIEMskNEVl++fe0ZU33getnUwzCl34mq79Lr5PUvYeWSLAiAYmF+Jd5kt/Esodg8r4fMza1KUTP3IW/g5YI9Xk1NySA==" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.2_1603864007423_0.13710314694520243" + }, + "_hasShrinkwrap": false + }, + "1.2.3": { + "name": "has-package-exports", + "version": "1.2.3", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js" + }, + "scripts": { + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "lint": "eslint .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.1" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "eslint": "^7.25.0", + "has-package-exports": "file:.", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.2.2" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "gitHead": "0a5313d89972cbc7744f8070a5113fed8ad6c00d", + "_id": "has-package-exports@1.2.3", + "_nodeVersion": "16.0.0", + "_npmVersion": "7.10.0", + "dist": { + "integrity": "sha512-lkLLwrNNaRsmwj+TylZJh1o3YlzLfgrl9fZKOAMj4MHjbvt7wy1J0icE6jD36dzkA0aQGoNuqY0hVN2uuPfPBA==", + "shasum": "4cd984c761140156e27aea7cae9473a3dd0cc4d9", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.3.tgz", + "fileCount": 13, + "unpackedSize": 16706, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjww2CRA9TVsSAnZWagAASRUP/0SnibCbTBBEVvI9hszd\nVfyl+trs/dEZgCegnsD2MmMA7UA9kdHNm10NHR0NMJA+S23BR4amcnA/7Ej9\nMsoFsxHbRrq0xj3Pebcfq/crLm+3zRlnJsMHt/Su4ljAI+57JGwfcVDL5jMi\n16VE9lefUREMJIF4kN0dn86vcUYJtB4V7hPBi7YM8UqnVzehKoBlWG+CihrV\n9nOAEz6bdv77+n2+dBtkNs+kMOGk1dlcdzCUoF7OBd+p3NJs0NkDk1VfGivY\nP2FBr+K2FzT6iK6PViReP8l4j/rWAGnG5cxygti5EGDZFZlXvkrkCWHO1pcJ\n2EbVfQNiXGijcBxxepsnNRXwJpW4pHIhNtenzEH0FgTNelbCSIvkCPFC2HxI\niOaIpKFMaWQy5DxPfxRsLWZZj7K1fw4Zek4J9rNWHMGjgkaSFeKC3wBNyY9n\nNaAL8m2ONGFT0hIuuFasT8C794gA9UvtdlZEE1Ul5Ih1M1T9oKT4UixtiDny\nPoR1tZB93fji3GlAsEeZ32tuJUdmgFHdlEP8Y09veyQao7BdbaKj4Myc4aPo\ndFueMUV9sf+8I03e8QhsNJDxYpZQEa+1oUby9Ijvy4gH1zQLDJWRyduTHRCn\nph5zwRzs32LGv7s94GT4tcEbsTQVULlQcbgMMf7hysFVXdnINdCmmSHa+vS9\na8NE\r\n=zPa1\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCPh8HsWa0INn7p7yaOvjY7kbyeczIlzQofGMzqZO/5LQIhAMoUChbtV99Kae21CyyfmWgyOHzKYAfs0cDgav90VwA4" + } + ] + }, + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports_1.2.3_1619987509649_0.8276140898547981" + }, + "_hasShrinkwrap": false + }, + "1.3.0": { + "name": "has-package-exports", + "version": "1.3.0", + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "main": "no", + "browser": { + "no": "./browser.js", + "yes": "./browser.js" + }, + "exports": { + ".": [ + { + "browser": "./browser.js", + "default": "./yes.js" + }, + "./yes.js" + ], + "./conditional": [ + { + "browser": "./browser.js", + "import": "./yes.js", + "require": "./yes.js", + "node": "./yes.js", + "default": "./no.js" + }, + "./no.js" + ], + "./pattern": "./pattern.js", + "./pattern-trailers": "./pattern-trailers.js" + }, + "scripts": { + "prepublish": "!(type safe-publish-latest 2>&1 >/dev/null) || not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest", + "lint": "eslint --ext=js,mjs .", + "pretest": "npm run lint", + "test": "npm run tests-only", + "tests-only": "nyc tape 'test/**/*.js'", + "posttest": "aud --production || true", + "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-package-exports.git" + }, + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "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-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "dependencies": { + "@ljharb/has-package-exports-patterns": "^0.0.2" + }, + "devDependencies": { + "@ljharb/eslint-config": "^20.2.3", + "aud": "^2.0.0", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "has-package-exports": "file:.", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "semver": "^6.3.0", + "tape": "^5.5.2" + }, + "greenkeeper": { + "ignore": [ + "semver" + ] + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": false, + "commitLimit": false, + "backfillLimit": false, + "hideCredit": true + }, + "gitHead": "10ed49bdd97180c96cd0a24c72e5acf67c6995af", + "_id": "has-package-exports@1.3.0", + "_nodeVersion": "17.8.0", + "_npmVersion": "8.3.1", + "dist": { + "integrity": "sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==", + "shasum": "68ee0892a1616893b7e6daed46b74ffdb5079ed6", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.3.0.tgz", + "fileCount": 13, + "unpackedSize": 19477, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIFijeujs5k90ktAHaPQdPFGO5ijvx6DfP5Erlu+eNzQCAiBAvNyUKfabIx6RHHCzEvIh3KGzDigMvGZemZftPUJynQ==" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTuVcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCChAAjZKw6zbcEsHqHT74JVQoL/JAXwPd5v1NeMX3Awgo+mRxS4/G\r\nZqcVexX241p+AhjxdtBWMixkSBVsX8Tk2QPlhBagrQTgfzj3TgLNnGhhMDWk\r\nSQ/w+rGGi+7d++GCQy+xNZpz38mtwAt03/4Yad3Xc63UC/N4KhN3xKhqa7Un\r\nMTgdTUYchYvToXZoaWmeaSLlNTC/U3oppjonKVxWzO6JYYgDtEayaKzBETDO\r\nMeeCi2JAnOfDNFUHbGZ9NbQ0ZX0VD4xWPqp7cRljvAeVjqM3KQC092buZppB\r\n9wLtbR5L7s7joH6/SZabtVgYClZAZgOnDgbuxQfDLbfTcWmkUYGpr22NeDfm\r\nkl2mUnv6Rc80u2TTAG/jWTgzNHMhcsy3Rymr43POfEHFAXun7bMlwnA1lkQy\r\nBjfw02IA+9tZZfNmZQUYnW0m9LIDKnU47M0zPXY8sskMpdDj4aJLAlzyj+AG\r\nObZdwrsEeWy9GgIFkykJhb0ReJZy3XGCJLvodaKeT/sx5VS6OQnOLAIcoHe5\r\nmD7JtjfzLRZq5sNknxmmnc96OWv+ns1DFRJAKg2TGz6+CaQLqDKPfU3hqtUx\r\nh3teeWgUdxmBHcHkfH6vDYRnQGAY2fi6XMANijGbrPuOBf7oddB0T/gza3Jd\r\nGf15pSLqwYfEByLpO2tQC05Tpsalxqcp9Ys=\r\n=0WVw\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-package-exports_1.3.0_1649337692465_0.6353994811914108" + }, + "_hasShrinkwrap": false + } + }, + "time": { + "created": "2020-01-09T07:54:56.494Z", + "1.0.0": "2020-01-09T07:54:56.613Z", + "modified": "2022-05-04T18:04:33.814Z", + "1.1.0": "2020-05-10T21:20:40.798Z", + "1.2.0": "2020-10-06T07:02:23.240Z", + "1.2.1-alpha.0": "2020-10-09T05:36:13.580Z", + "1.2.1-alpha.1": "2020-10-09T05:54:40.805Z", + "1.2.1-alpha.2": "2020-10-09T05:56:38.782Z", + "1.2.1-alpha.3": "2020-10-09T05:59:17.335Z", + "1.2.1": "2020-10-09T06:05:21.880Z", + "1.2.2": "2020-10-28T05:46:47.573Z", + "1.2.3": "2021-05-02T20:31:49.814Z", + "1.3.0": "2022-04-07T13:21:32.639Z" + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "description": "Does the current node version have support for the \"exports\" field in package.json?", + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "keywords": [ + "package.json", + "package", + "exports", + "field" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-package-exports.git" + }, + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "bugs": { + "url": "https://github.com/inspect-js/has-package-exports/issues" + }, + "license": "MIT", + "readme": "# has-package-exports [![Version Badge][npm-version-svg]][package-url]\n\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 current node version have support for the \"exports\" field in package.json?\n\nAt the time of this writing, node v12.17+ and v13+ has support for the [\"exports\" field in package.json](https://nodejs.org/api/packages.html#packages_exports).\n\nThis library exports `true` if the current node version supports it, `false` if it does not, and `null` if it's in a browser.\n\nRequire or import `has-package-exports/conditional` to determine if the current environment supports conditional exports (as of this writing, node v12.17+ and v13.7+).\n\nRequire or import `has-package-exports/pattern` to determine if the current environment supports exports patterns (as of this writing, node v12.20+ and v14.13+).\n\nRequire or import `has-package-exports/pattern-trailers` to determine if the current environment supports exports pattern trailers (as of this writing, node v14.19+ and v16.9+).\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/has-package-exports\n[npm-version-svg]: https://versionbadg.es/inspect-js/has-package-exports.svg\n[deps-svg]: https://david-dm.org/inspect-js/has-package-exports.svg\n[deps-url]: https://david-dm.org/inspect-js/has-package-exports\n[dev-deps-svg]: https://david-dm.org/inspect-js/has-package-exports/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/has-package-exports#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/has-package-exports.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/has-package-exports.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/has-package-exports.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=has-package-exports\n", + "readmeFilename": "README.md", + "_contentLength": 0 +} \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.min.json new file mode 100644 index 0000000000000..956516ccb021b --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports.min.json @@ -0,0 +1,383 @@ +{ + "name": "has-package-exports", + "dist-tags": { + "latest": "1.3.0" + }, + "versions": { + "1.0.0": { + "name": "has-package-exports", + "version": "1.0.0", + "devDependencies": { + "@ljharb/eslint-config": "^15.1.0", + "auto-changelog": "^1.16.2", + "eslint": "^6.8.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^4.13.0" + }, + "dist": { + "integrity": "sha512-rYAzt2OaM+mwkxAGP7cZ4KkP45O/ZEFSjwg7KmiS+uCrXxB1XepMj9L5VMuAm7tpjiL1IemcrNcn4HAZX+z4RQ==", + "shasum": "7988de73efb56862fbe277adaf857d70b37a1f07", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.0.0.tgz", + "fileCount": 12, + "unpackedSize": 8239, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFtxRCRA9TVsSAnZWagAAvuMP/30xeqzfUKH0fTpOvVyy\n5b2S3EwJP6MpvAkYOfw06l3JOBsGLpL4ihc/EQ5tf92+6Dh2mt7yS7GdedzE\ndbmNuHcwZVEoBD+bNxFqn10Awxg9iceEqKJcVE+ro/Oc11JUXfU/k7va/AMJ\n01GrFj6EhndQ7i9nPwScE9zY3qRzmPNUFZwRUIj958F+o6w455J/gTmOKIlg\n5FvCOxdjEutPLerYwgSku8x0rEd7VyDnkjt2Kc/mupEVA1oci9rTFbxGNymL\nwnCTkNobTboLBDglUJ4Lxk6IssF986npURiC26OGDxFQmnazswuuucdb7KOg\nuqXec2l1lcuc9wqYsAGI+OFxz67V4me2ItsTq7euKJuqcA8R/c+zKXFmI7Is\nQsnWrrr3rbtozgLSvXMdwPKJMycakBaLl3RAhvnbth1REuVhmTlf43BcyRvp\n+Wo1Hn4EWV4rYJ6B+aofpFlFFCnFaqVe01ZJSpKY/hJQDYHb+A1hzaFdrqE1\ne46cVwWdx9MkWMnDHKRm/Yoius7S4ZnMfVUyQxD93LlO7ehv8we7jLuP0ItI\n9/S7OuAq8kpvcFi33wZhVr/WLaaFUjKKAX8XB+TPMF7j+TWOZFDOKBAyziwo\nT+shBLy467UZWnP7PFkhdPPaNQVvcnhFr/DgvYCwuku0lqJ7/ps5lwDh3nbc\nYxeh\r\n=LDQ9\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDij+wRKhgaDHY3sg6J0mGqK0Wd7O7ouOzPCKe+ePfiUQIhALfnO1f13d9AARXyeNuIGWizOOH0gjOKUZt1UmOluk+E" + } + ] + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.1.0": { + "name": "has-package-exports", + "version": "1.1.0", + "devDependencies": { + "@ljharb/eslint-config": "^16.0.0", + "aud": "^1.1.1", + "auto-changelog": "^2.0.0", + "eslint": "^6.8.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.0" + }, + "dist": { + "integrity": "sha512-qlaEs954Mp/B4LpzyZNlMYp4r8qVQAB4Bp8+abBVy4lg1FqcArWLHAl9BLMIWDiJ72wkqVpCNT54gX3uYBVYbw==", + "shasum": "3d9a36d3c683dba8d9c61a7fc0ece204e61ba65a", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.1.0.tgz", + "fileCount": 13, + "unpackedSize": 11980, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuHApCRA9TVsSAnZWagAAmtQP/jNRb09OUtfuF9q0DpKo\nxIXOXx5s47jZ1cyAykg23ivO9wacfuShrtYOFDVadT4tg19SRozjZiLpa9kk\nGrITrIoucWFCNyukp4yENKBge/ywSugV9+O3H4TGMxdpsPA3U2B8G7Lg8HaO\nzd2+rEdbg2QAtazCnQ3DhHNgQtl1UIleIMkKxThLYNQVnbtQCgH3xN2MIix7\nGArC58oZ3noqZ8VbdCB9zvQhXVCya4eV7+ECvRXosafhIZJ8gdnBJjIi6rxU\nBSrg7gqMhr4Bw132RTgs4NVnCvg37DIEKYDy3IEIMrExRNWovGUccDCkqNFK\n4jILgCuyVOHLxb/jpyRts4Sp3RGn3oFOQf3JozJNw15Sdq7yjzxJJpNtvthW\nN3ISR9y9MlSJX+pn7b7RoXmRDM6PuxUn1oI5tP4fSapTQKfgRxOjjt8J2zeu\n3cJBGRlJin3Wne5wwTPrao/OMWn/UTHRt2YcgtCq8q0VpQGcGywZJylT7VBY\ncRtFn42gJ90zIC140vrDpBVEcKHu2faVA8FGkcZGYmQgMjfIKN+P22IOB8UO\n0xUESk7Z7oFZAKzFv1Q/GQdCw0nFSZNBibNydpnz9xU0nkElnlm4BBJp6XRq\nn7t9ImTLgEzrG1gyDZHmqjMzc/XuitBg9A2phBcNr5qpvbnAHDDU1r1mLeKw\nm7zI\r\n=XY5n\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIFNxCw4ZZcUPip6Zgx1DIAhyMcr1WAWteosVYupXee9/AiAUj/3EGkh9HN4c4CuRXVmtFeMKCmE8ib5pscAtIzP/yA==" + } + ] + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.0": { + "name": "has-package-exports", + "version": "1.2.0", + "dependencies": { + "@ljharb/patterns": "file:./packages/patterns" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-2SPoZNnHITtcn7OMdeYwhULqh9z0ehEQS2yaW4hyacr9rdStgyJJyEJtqekludq+WBU7Sz9o8Bi++tysCPuoxA==", + "shasum": "3a6737872630cfd8cd389d7479dd4a85475c201b", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.0.tgz", + "fileCount": 17, + "unpackedSize": 14753, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffBZ/CRA9TVsSAnZWagAAaWkQAJogsJhRDR1h4LkeTVdu\nYIC9SsfnrXtzWSCXsGAyDhWod81ebOHVd/C2Q63hUeo83iA97qtNYnSD9Ga2\nU6YUZ/+bNOrVt15yYm9ghL5HwxrFa4Ft9Whr0/ZNGlCa87nFzG/Xculq3kRT\nFQVpoh5KvonnWuG8WzYqtMbOakThbwcWgl6WN+6JfIi65PrRKy8kSidNxUcP\nwIR5ljll9idXSnaRT3xjF2UjwQsgj9gC1PN+d5AAQMwPPO1UtoD5Tt+vby2Q\nhoLx8AcJzwAK/J3T/dEqxfUKfItj+r+28SFq9aBThndtC4dlg3Hcw4xPs1tb\nNMe2U2b7wR7LPQBzQIgi886xfJGLICIphtdyQ7V/+GCWEm/K3Sw7IuszBMD8\nP6nKmyYU6lkuWgiCoOOz3TFAudN1p2pkH0+Ww1tFpS4OR6tAvV4uzkVIXEuR\nXNchb8doWr4wUWBfjWW9H2CDS3Zd2QnGHHju+F33Rc6dd+QKngMFq56qzHX4\nf88g2Z87OTc+QKwURDllcFEXez6QOp9YM9WRJ/D2DFNBsdaJpGNRgsQAoqEF\ntphS5bA0eFhqjlvbNfLkZSk1m0u/9VWsgX8zw71NnWp1PZ5OVyaTlRcagX5R\nHQtK1doayRU1W/jvcG219zFyRp0Qy2L5jxGptU2WiU0a8vzzwXsxkZ4KkiCi\nM1e9\r\n=a+jz\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIDXD9bwnzrbbFAaXn8u2Fy1DO7ZIG6dAcbmg9LN+apX4AiEA1rokLOX+RAzABsMdWRlHZo/imuaYmp3i6nf55Uwjvyo=" + } + ] + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.1-alpha.0": { + "name": "has-package-exports", + "version": "1.2.1-alpha.0", + "dependencies": { + "@ljharb/patterns": "file:./packages/patterns/ljharb-patterns-0.0.0.tgz" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-Cus9snKzzfROWJF4fmzBmYijTdEd6jFmig+lLp4a4O/iKR8bw9YJENvaQ9ZKtBd8hIjpKVx98tnLQH3/iALJwQ==", + "shasum": "c975a0a6935cc3994b78fd98a820aad4186fb285", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.0.tgz", + "fileCount": 17, + "unpackedSize": 14827, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/bNCRA9TVsSAnZWagAAQaUP/3cB45B47OPpbhmHyZPJ\n0DzsLAcI8Gk/dWpDbQI/13r+5wZIEWbIP0ayHCGzyD/ll3nU/w4q/sdKTLG7\nbir2s/mNiY5jAN44lyB3l1yUMSRccDVdRkVUyvH+Jz3To4v5/ANQKh56QCjI\nvdDNydg3uW/B6yOsE6xLTCGflYSZ1IVVUYmiSNPuUg/ONufiewMzSlE6btis\nymKhQ6y6m/FMKgmXq2ePpMVltCzXFsuBaYgY9sfpSsQgTbTALoH/o4htcE3M\nThKF4L/WoGNB27UUvCepwvfWA+Fzhc1OMvgM2JRPpvkcOJ/QFk2Wzfo+MAnv\n/splEDLRiCTWUDx+kq2A7mVNOGJpkuNu9rQwzracHRwMtPw1eFyBV92mc5/B\n98XybFl2wDJIcNWOZKyZDKJM0VHxkhKuDmf+x7yBoDptmtEE0JIy6YT/X4OX\nDv244ORdan1TpWevU4MK7+E3OrD0dfplc3/tk+7Nqj5vHraJPtxCN65OK5UN\nArDnPMHWK6/PSr5fKXrIrsHJS4bNPlfhKx6xwZPAWefzx6KgqWeR+2rpQG/h\nY59g7+zlusHEUVukwWobIzVKL734xmaG8iaBsd6Ir9ErX1bfy93qr6EiiZ2Z\ntTzNm1s47dqwLbKi3qeNPyD3V2IhDTrornLYj/b2Pb1bzeFlBAAJrNiRVmia\ngNdU\r\n=6Oh8\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCS3VbBV7bLnt41PBa6uEiFxnGJ56PPnbWThIT2lnY3OQIhAL9PAopIVIirs02NNTN73FxkG9lWSXKJ1lfyyJ6Nio6U" + } + ] + }, + "deprecated": "this is broken", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.1-alpha.1": { + "name": "has-package-exports", + "version": "1.2.1-alpha.1", + "dependencies": { + "@ljharb/patterns": "file:./packages/patterns" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-3CHxfGRPggHaycEcLMpE3cM4wOxoDXVcZIw76DN2KchlQTDg9eTxilzTBAIaDBIVPFaWYqN6/TuHw4fc+2POEw==", + "shasum": "d2038425104c0ba9793432d69df7ec311f7efe82", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.1.tgz", + "fileCount": 17, + "unpackedSize": 15144, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/shCRA9TVsSAnZWagAAwDAP/jLGKeoUPco6AXQSMADp\ninTGa7V8wMsC4tiL6MJ8ep6yeZu/lOyF+FdZqtpHFPuQr2x77i2yCEr3Jrio\nhhbJmr5SSCD2sKevEVMRtCi2UBD9e2+SDOwnvHquqTAagDBDflJx9uVl/9ZD\nGQ03P5Js5iQMi3GippZbbNC+kM0zdf6EsOJ4uGI8VBBTQDDg6Qyp33EtAiwn\nqiID5s9XltDiviT4+PClFdD+7GgEyQEdMYibSjOpKLWtn+trlGsfIJJsT0vA\nIZ6escIZLklXSynlIcben7xhBN+QC2NVZ9+gq2un/11sN8bworM4SrATAqen\ntGbbhfbLPGP292UyWf/PUa8zWsNdTsqJrSsHh1xqOqrfb4zHNRkBrZxz4hXD\nQE0xp925U0mCfQTf+6CCl/1RpTEtp3oAyaoMQ3PR/9kz7lZSC9FHzPl6phnh\nh6SHEsM4A7CnAWRzGZhQSBzNf0GDuYVL4xTa0ba/hWEXeV/Fewmd/77/h7BT\nrdbLos+/lWhtS3KI3n/Qfvfc8g+k9XBakv7EKFpXT43ZT2Dw49nWMnxX7Ab2\nY8WC0wkxaPfAhN5a6WJn510YtfuL7D67BJ9BLxKJY7FoZxkJG8z2BLHAG8ky\nL5xHCr2cevLMMgziaBo4RN+9D0BrH4MKI/GRYqdhADGKZoO05MBvQEJOLg7n\nb8eW\r\n=cVQQ\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCvShW3tI3MtM9HapBdIZ35x9j+QckVFdjXPOdaZKwYGgIhAPlq418T/UbZCr64UOzKBXkQnb2les6BAtyMPNDfxDWu" + } + ] + }, + "deprecated": "this is broken", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.1-alpha.2": { + "name": "has-package-exports", + "version": "1.2.1-alpha.2", + "dependencies": { + "@ljharb/has-package-exports-patterns": "^1.0.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-BYB7MfcYWRDS2NbAwbMmy+FSQJMAamjDmZyzzbO1WKqCMGE16Jnsoebm4rH/tDyhXaASxHIpJxmwd+tHvXWI5Q==", + "shasum": "743c57f3e3f4941ba93df5d6a459d1a976d83ec2", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.2.tgz", + "fileCount": 17, + "unpackedSize": 15153, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/uXCRA9TVsSAnZWagAAzL4P/1+hSj8Wd+Xki390gM4y\nsKsrFkHKCYfYZE9hEkoYmlo4qkQLGtW5ngSPRrb0x17c3XlOh7JijpW3O8LZ\nTW8V61DEI96lkaKWYmdNHbX51PRYlDltxB4U6ILlSP0KKvzlK/MFpYA2heb8\nlWYM+/R4qbRZ1uJAZ7AGpoeh1+xkCgdK8C92mMMNQ0NJ2ef632wLL5kgwufQ\nPQPD7rWW9W3q7A+TD/GGXNvIWIN7Y/Gy/gZFNjTSbIBV6FcIRytYTTdMh0D6\nayXqn/D41re9fQFzl4zxRF+swI20pPFdJfNk8P2spvHSxa2WqKOP9kpGSubC\nV00lJZd5sjbnmzYuHWe3BysCthCH/AjWlop5tn/U7PLpGF1mfh3w7y+fDtg/\nZ8Zdfunoruohj+qT+qtZyqgnnAx/9Q1FmT/0/F3TNpCgu9UGQCjYY2O7HMfM\n55zVu22Y4w6fCPhoRJTWsmIPAXb+MMhRkqstKeo4rCOA6MposqbHzkxMQz1L\nrhwWa+VcpPP606GJ0ld1GzH0OPtYj5bPfe7UDPVq8JnDXJb2p1MXtnhF0QY4\nrZaeez4F1CVHpJriVHR/9sMtaxCACvfQDwINgc6+K2ojmJX9542JK0EGIAne\n0hFlLw/1rWxXdrmCUd/ceBsjbJYIqRAmzcqocKsGBeQUbnCkLwstYlxwNOPH\nyS5Q\r\n=BCSH\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQCfnKCnlZuE9MamAyUov9ByBapkSJCYKG5bE4i9fy9AdQIgHyEsOUb9+JPVM7Hkhks2ZRMU56Nwr9mWkKeOtGZTtD8=" + } + ] + }, + "deprecated": "this is broken", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.1-alpha.3": { + "name": "has-package-exports", + "version": "1.2.1-alpha.3", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.1.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-W4BFt7OJ0+dd0Rtd/edgfY++XPbAohwgfCyTJbjgF4kpkwKTCKLB5kzKdGlA6ro15OWaKx54K6JeV4V+n4WgCA==", + "shasum": "eb22038522efafb05e8ed3985695fb8afb58abb4", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1-alpha.3.tgz", + "fileCount": 17, + "unpackedSize": 15197, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/w1CRA9TVsSAnZWagAAADgQAJILjb2OuVOYPBvKEhnr\nG/07M+ich4BEUJfOxeO0o0eqfQjx8QopVRZBFUARNiXcfyzXHuLIYQLEF6Sx\n/kvqnDBxin1AKzibsfF+8hBtVKPwlbyw5ezOcX74cgJC975y5w8p1lJzVzMT\nSpB0NAkXGgk4mrwsRb6jLuy4BNEG2pD6Pjg4a1ikno+roIHl7DW2pvjlSNEa\nSUyjcR7LTxeX0xrDTb8R8Kj5lXRNFcpOFB8RpKbHmPtUU3AVcrqLZijf7cWo\nP0QcP/0JoMGYxopZzgo9HQFfMuihi04wkAvGcmHDlcd9DAyt63ZkKFpdVsvX\n1sAdAxKHsUj+xrgjmYtmy8OMFVJarIiKqi3owjI0weZq9aKjVQ3Wqg5IW+nK\n4LWzGoVnoiNdwxGOQZpyZNeQ28helsyeCpq48GjagSBz4Hs8OvWzds4SFjAe\nVTjQOWd489v6MKrky/uQFMJ0W7dJgDde8mz7zRLAj0sgeqcPRaSQL6xCaiSN\nAYqEQfLDHHa3Ttyoa3IQQHOv/nzqC4AX31/CM+yQMu5AqwVO1GelymQyHdji\nO+57nK6crEO63DN6Pa0e3TwVRb1JTY2HXsqiD6GtZcBBGLTo1pX969L7nOM2\nRWSn7eh4CPyWX8V0eF2CyHfbKZU6jUh7nIWaQmqURZTzNEBIHw4C0WZskW5S\n5+ZX\r\n=kqHm\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQD5qSHbnNa3a2w4CaeuKFg1T31KjVi8e3rk1wJ5Va3XrAIgYFTvVw5wyxs11h4fyjoQl8UZ1xo2xwRRa7OpffGBFGU=" + } + ] + }, + "deprecated": "this is broken", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.1": { + "name": "has-package-exports", + "version": "1.2.1", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.0" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.2.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.10.0", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-uyEWJ3NFC0fHT/YgszXX+vFYKegFksDtwpR+zIzy4tYlE2wgoDOanFv4K0mnVmr/vW4RLnCnpKvl4Fg1Cdl/8g==", + "shasum": "3773e823e1e90641c0d15b5e4596aad48c0f3880", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.1.tgz", + "fileCount": 17, + "unpackedSize": 15954, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/2iCRA9TVsSAnZWagAAY3EP/3ECXXn+s0U0SfXBpFsQ\n/QV4VFYiHlkwPW2nYPAEM7mGxfSAod63JLG8kmkTyghkDfb87EyUS1ezhhKg\n8kVbwrUDO/cOv7e3zLE2alOMZrCbA7C59AXd15eRW5o8xGUQdJwvo+54iWbj\n+8z7BM1paNbNPk/V/IU3EbC3gBK5i3UfEAaKOT82lyrou/JHEZbVoQvrupuF\nZ34broaOioKjRLWq3x7COX3DljebU6089Pm9wRuzAdmlPw+acFe5mCWTF0nf\nQdk/mLjj6JvnPaJJ+aDhUdGiEIgaUdVRHFPqTCIFhvtnuM91S7Xm0FJjuJIu\nA2wOsuza8OuPD9wOUufzOPw69H6ag8VdcUy9Y0z1X3+txgtJOb72NaLpd1Iy\n5XjuS0eU6dtELZyEaGoHBENW6QHVR3EHWRroNBjZB2OEDK4e4/K2G3AMX1b0\nQuX88eiePwbvXgObcaeElF7/JHtt9beb3xB2szabX5qsQ1a8dDKAhKGFgpTE\n7ivrKdniH6DiXOF71whUCu5baSBR+vRWqSNNz28vlzRrsjKzZSR5IKS5Fsq9\n4snV32oMrOzxr9QvJnTxxpNxw9K20toqpMiyXD7dUDY0gdQ9tZB3Q9xhdcVf\nhMJC0/Qw/o77y1p2ahXAf4fnhkr8i7jSrql3YDHg/sKs5DcNZ0OWDbYTMj1k\nm1Yz\r\n=XyGa\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQDpv1DmwHbRh4dVtEKBwOr6v1ootI1TAGZLtSjepi8QCgIhAJMuCrZD6daItt+EYvN6MRmn3m9D8UU0LZqzqjZNlnoc" + } + ] + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.2": { + "name": "has-package-exports", + "version": "1.2.2", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.1" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.2.0", + "aud": "^1.1.2", + "auto-changelog": "^2.2.1", + "eslint": "^7.12.1", + "has-package-exports": "file:.", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.0.1" + }, + "dist": { + "integrity": "sha512-Lkf3d4JxDJsCj7aG8MeeHvqROkj10vcsXSNuW35su+ZZ6+eJpILE0qrUW7DHk9fYp+JHaPhWlyWYqK/WVdwcrA==", + "shasum": "bcf0e2d5c823956aa9c3072d62e787c96cddfdbc", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.2.tgz", + "fileCount": 12, + "unpackedSize": 15783, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmQXICRA9TVsSAnZWagAAidsQAJ7sXnuV9A2ttx/8a5O/\nw9Q68Bs69RjX8Ifc+urkgMBoEisbEalwnYBtRrluwFme/4cgf8JxeKljWPdm\npE63cBUEmcXqr3u3AWzh7WQqTC3K5h/9sZxQKHbbWd3Ny2b/qjsDSLPt3Lit\n8Mw1Y1FlhW1EH2Cl4Gjfcwq8Bunq3HhgmZ19WQ8J+bTnoFG1zr/we9ig68KZ\nxsSNTWY1iqQqKYuNm+YYvjv158XJMLCp8S2LApVvIWhCSfZXt7oehRr7ewTf\nSunNvFckbcwdWrIov3d68yd4N2HRhi6GqFCA7LktkomhUMSIwD6spmfm0YOl\nQJZg5YFwr+Rxq/o9Yh3UZY2nthGlI+2e0QQvLA53Tvycvt9CbgzdIlEfgLdc\nlBVgWYz8q6opqafc4bQj4MGfFHG2fFs3kL39akBDjAc/UE4AGAwMiWfu15Gv\nCyGTv68EYA9RohKXqUDFBrWXwk35AVD9sTVp70zFf7THt2Yvo0MQB5ZLDKOP\nJXX9kslQWBRc/3oZEaIVdAoZpMkDvu5fSWtJ0wlsw8f6hB8WhgqSpUBtf1Js\n5U2BX1YfWhpBCyqs63hbbMUPY9/2qkVowJtAqHMN97ZK8AT5849p51ruavTd\nKU/AMkRpksgIboTVYg+2nsp7EEF/DPgGJDw2UynlnfmPbd+xXRh647rMD3Ma\nmoVi\r\n=GCQ0\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIEMskNEVl++fe0ZU33getnUwzCl34mq79Lr5PUvYeWSLAiAYmF+Jd5kt/Esodg8r4fMza1KUTP3IW/g5YI9Xk1NySA==" + } + ] + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.2.3": { + "name": "has-package-exports", + "version": "1.2.3", + "dependencies": { + "@ljharb/has-package-exports-patterns": "0.0.1" + }, + "devDependencies": { + "@ljharb/eslint-config": "^17.6.0", + "aud": "^1.1.5", + "auto-changelog": "^2.2.1", + "eslint": "^7.25.0", + "has-package-exports": "file:.", + "nyc": "^10.3.2", + "safe-publish-latest": "^1.1.4", + "semver": "^6.3.0", + "tape": "^5.2.2" + }, + "dist": { + "integrity": "sha512-lkLLwrNNaRsmwj+TylZJh1o3YlzLfgrl9fZKOAMj4MHjbvt7wy1J0icE6jD36dzkA0aQGoNuqY0hVN2uuPfPBA==", + "shasum": "4cd984c761140156e27aea7cae9473a3dd0cc4d9", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.2.3.tgz", + "fileCount": 13, + "unpackedSize": 16706, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjww2CRA9TVsSAnZWagAASRUP/0SnibCbTBBEVvI9hszd\nVfyl+trs/dEZgCegnsD2MmMA7UA9kdHNm10NHR0NMJA+S23BR4amcnA/7Ej9\nMsoFsxHbRrq0xj3Pebcfq/crLm+3zRlnJsMHt/Su4ljAI+57JGwfcVDL5jMi\n16VE9lefUREMJIF4kN0dn86vcUYJtB4V7hPBi7YM8UqnVzehKoBlWG+CihrV\n9nOAEz6bdv77+n2+dBtkNs+kMOGk1dlcdzCUoF7OBd+p3NJs0NkDk1VfGivY\nP2FBr+K2FzT6iK6PViReP8l4j/rWAGnG5cxygti5EGDZFZlXvkrkCWHO1pcJ\n2EbVfQNiXGijcBxxepsnNRXwJpW4pHIhNtenzEH0FgTNelbCSIvkCPFC2HxI\niOaIpKFMaWQy5DxPfxRsLWZZj7K1fw4Zek4J9rNWHMGjgkaSFeKC3wBNyY9n\nNaAL8m2ONGFT0hIuuFasT8C794gA9UvtdlZEE1Ul5Ih1M1T9oKT4UixtiDny\nPoR1tZB93fji3GlAsEeZ32tuJUdmgFHdlEP8Y09veyQao7BdbaKj4Myc4aPo\ndFueMUV9sf+8I03e8QhsNJDxYpZQEa+1oUby9Ijvy4gH1zQLDJWRyduTHRCn\nph5zwRzs32LGv7s94GT4tcEbsTQVULlQcbgMMf7hysFVXdnINdCmmSHa+vS9\na8NE\r\n=zPa1\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCPh8HsWa0INn7p7yaOvjY7kbyeczIlzQofGMzqZO/5LQIhAMoUChbtV99Kae21CyyfmWgyOHzKYAfs0cDgav90VwA4" + } + ] + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "1.3.0": { + "name": "has-package-exports", + "version": "1.3.0", + "dependencies": { + "@ljharb/has-package-exports-patterns": "^0.0.2" + }, + "devDependencies": { + "@ljharb/eslint-config": "^20.2.3", + "aud": "^2.0.0", + "auto-changelog": "^2.4.0", + "eslint": "=8.8.0", + "has-package-exports": "file:.", + "nyc": "^10.3.2", + "safe-publish-latest": "^2.0.0", + "semver": "^6.3.0", + "tape": "^5.5.2" + }, + "dist": { + "integrity": "sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==", + "shasum": "68ee0892a1616893b7e6daed46b74ffdb5079ed6", + "tarball": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.3.0.tgz", + "fileCount": 13, + "unpackedSize": 19477, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEQCIFijeujs5k90ktAHaPQdPFGO5ijvx6DfP5Erlu+eNzQCAiBAvNyUKfabIx6RHHCzEvIh3KGzDigMvGZemZftPUJynQ==" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTuVcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCChAAjZKw6zbcEsHqHT74JVQoL/JAXwPd5v1NeMX3Awgo+mRxS4/G\r\nZqcVexX241p+AhjxdtBWMixkSBVsX8Tk2QPlhBagrQTgfzj3TgLNnGhhMDWk\r\nSQ/w+rGGi+7d++GCQy+xNZpz38mtwAt03/4Yad3Xc63UC/N4KhN3xKhqa7Un\r\nMTgdTUYchYvToXZoaWmeaSLlNTC/U3oppjonKVxWzO6JYYgDtEayaKzBETDO\r\nMeeCi2JAnOfDNFUHbGZ9NbQ0ZX0VD4xWPqp7cRljvAeVjqM3KQC092buZppB\r\n9wLtbR5L7s7joH6/SZabtVgYClZAZgOnDgbuxQfDLbfTcWmkUYGpr22NeDfm\r\nkl2mUnv6Rc80u2TTAG/jWTgzNHMhcsy3Rymr43POfEHFAXun7bMlwnA1lkQy\r\nBjfw02IA+9tZZfNmZQUYnW0m9LIDKnU47M0zPXY8sskMpdDj4aJLAlzyj+AG\r\nObZdwrsEeWy9GgIFkykJhb0ReJZy3XGCJLvodaKeT/sx5VS6OQnOLAIcoHe5\r\nmD7JtjfzLRZq5sNknxmmnc96OWv+ns1DFRJAKg2TGz6+CaQLqDKPfU3hqtUx\r\nh3teeWgUdxmBHcHkfH6vDYRnQGAY2fi6XMANijGbrPuOBf7oddB0T/gza3Jd\r\nGf15pSLqwYfEByLpO2tQC05Tpsalxqcp9Ys=\r\n=0WVw\r\n-----END PGP SIGNATURE-----\r\n" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + } + }, + "modified": "2022-05-04T18:04:33.814Z", + "_contentLength": 0 +} \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports/-/has-package-exports-1.3.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/has-package-exports/-/has-package-exports-1.3.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..2069c9a106433aafe00adc5b43a4a67b068f1d8d GIT binary patch literal 6761 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 LNIn??0D1rb=sfy( literal 0 HcmV?d00001 diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.json b/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.json new file mode 100644 index 0000000000000..b85a17e9d973d --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.json @@ -0,0 +1,213 @@ +{ + "_id": "@ljharb/has-package-exports-patterns", + "_rev": "3-d0393bf328f2bed4c41c2cb289ca9384", + "name": "@ljharb/has-package-exports-patterns", + "dist-tags": { + "latest": "0.0.2" + }, + "versions": { + "0.0.0": { + "name": "@ljharb/has-package-exports-patterns", + "version": "0.0.0", + "main": "./no.js", + "exports": { + ".": "./no.js", + "./patterns/*": "./patterns/*ed.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-package-exports.git" + }, + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/has-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "_id": "@ljharb/has-package-exports-patterns@0.0.0", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-e5d7/9bs2uorgQrHzGfzvT6WTyUbWiaiQXBourc2d7/LzvjZkRpFfDWN96WPsEqRMKrbx6aT/5XFma4WYMvu2A==", + "shasum": "4bec9d26d79b57021f4069ee42bc1bdb3a222372", + "tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.0.tgz", + "fileCount": 2, + "unpackedSize": 535, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/r2CRA9TVsSAnZWagAAtLsP/3YEyKmT4SHRBhHwRv90\nuydMCnl4UygliJrdRO1EFa7Y0RWv3yeJDmiP/BbHvbKx+oH1WuRE+ZkjgTce\n8FMV/XUU9muyaEcdy33bzKosu1lukgETXT28IxrGK/JbGoboMbt+Iz8+W5Fa\n+2D546TGv0o7hf/aHilosi11J5C7rd4YuqSxJGXJVXpaytik+e9OFU7rrV/7\nW9mbFmt8YOxfNiOslNvZUA05gHWPLGhw7I9Rl9Jqd6o2xdY5TvXoMUsy45SQ\nUdC5nnVijDleUmULhkxS8ULMJ6GvQkF6lVa3OHHItIByvhfKY8TnKK+ioHYw\nyEvZ63sj8mjYTIi6f5Jgj5NvQrm6lI/JcXW761vxxEcSLPW/onAsPvZHJqkU\nqlGVFib7Xh4Sp8NjJax5pO6QpCHMVs1+WemklXUFQA27Lxod1pXOzvFmq4Wu\nr3cMrYGLol7aPogRyb4v/bu25oDLdMkLmokEc68J9+Q4cw/ZaNzMa1sBWFlC\nhW503lWySfkpoWkLl0kypoZwbLsUZoIO5YFLldxnsynm7XSMHOZBGv/hzCdR\ndBHTvFAs9PgYFJj8xbtL2Wnja7Uuyu9ThlA3uezeDu0bD+IcPa8IdQvXTNSI\nA3pnOuDVzy1pdGny5oIeO4VGY9YU6mC8XSt/g2qgLoEGSib9VxSBKA4qCZ7K\neCWx\r\n=eDD7\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCxiTdVCltPVhh84T/xXOOv3SQo1hCJzPMuBNIicn4g4gIhAIfVxstRRkI1v3hdPOY1DIjt2oBjGxtI6mi7+NDkUNkp" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports-patterns_0.0.0_1602222838589_0.9419759981517923" + }, + "_hasShrinkwrap": false + }, + "0.0.1": { + "name": "@ljharb/has-package-exports-patterns", + "version": "0.0.1", + "main": "./no.js", + "exports": { + ".": "./no.js", + "./patterns/*": "./patterns/*ed.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-package-exports.git" + }, + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/has-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "publishConfig": { + "access": "public" + }, + "_id": "@ljharb/has-package-exports-patterns@0.0.1", + "_nodeVersion": "14.13.0", + "_npmVersion": "6.14.8", + "dist": { + "integrity": "sha512-J4HxcjHI8EzVwXj2HKfZrwnWv4wmOhGxSHyxDQLhiL4ibwRoIkYBqsacZUXFUWQzJtW6QC+FKSNy8HqKjkEqaQ==", + "shasum": "70f07047b058e0909488a0ab1928afb95a9326d0", + "tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.1.tgz", + "fileCount": 3, + "unpackedSize": 619, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl7kaCRA9TVsSAnZWagAATXwQAJhbxLJoWKyYSBEsP3E4\n7p2RVYrOy74gBDQSMFGho8tP5WfAaOnApnRYRhjl+eK8EPKJfE1BmC32SJVY\nQ/k9b2l6NkZgTUy/ZvRlBmbVysTjO35OHrIg14tqUvQGoKlZf2thsdw0vN18\n5mRYx7fGFQAd2F+goK3jrdL7FpqZAhIuk3vO93okW6P25yUkeyVEVPDhoN5n\nYtfzOlKaycfNvcQieX24EVzjCBfgWn/sIdVYeJ7ZdQNiXh7YuZCWMa8rgECs\nJDb/4EX+N2DirYzU951LlHaI0j0ZW1MbtERswXnC2Tn9Qtaj5we9vpAongiQ\nxnxpxo40tgJgy2Qzb5WwIvHPJojcRJOEHnrHvvHsRYe2FR4Eh2DHQ55ODIm6\nNuZzp7U6vQXyh8C+1PKlpl6KsEynlefXPBDueB4CnTh9ahLUfSfUjdSfsV9H\n87Hk/HS1kFZTn2lavqaV6vFmgEr3JwozAmbCSnMcP2ZTk7YMAW4NcxvcxcUa\nNqM4+y0t99phoTNCkNDWH8JUSEAVM+OGsJCrd3LzCScmDNgBF61U+lqrdpE0\nFoUOzpjAiGBLzmiL3tXx2SZyQsvC+dPBRW2W2KYcoy+CYXPgUCwfkSYwKz2F\ngF5+9Pyd8VqbcWgIbg7PfQD5KFfXBKF9sCO8hv6UBQgZ6NJpIPYhWpeYfxHK\niFut\r\n=gLnw\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDZDbx3S9jLwbuuoa4n1W4F0fGUJXO6ng3QVWw9nUlmIAIgYpRJ0NPlmsVduuq+rr53hjjGoNeaxmxOjnSkIZn/J4E=" + } + ] + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "_npmUser": { + "name": "ljharb", + "email": "ljharb@gmail.com" + }, + "directories": {}, + "_npmOperationalInternal": { + "host": "s3://npm-registry-packages", + "tmp": "tmp/has-package-exports-patterns_0.0.1_1603778842085_0.2453392545644033" + }, + "_hasShrinkwrap": false + }, + "0.0.2": { + "name": "@ljharb/has-package-exports-patterns", + "version": "0.0.2", + "main": "./no.js", + "exports": { + ".": "./no.js", + "./patterns/*": "./patterns/*ed.js", + "./pattern-trailers/*": "./pattern-trailers/*ed.js", + "./pattern-trailers/*.js": "./pattern-trailers/*ed.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-package-exports.git" + }, + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/inspect-js/has-package-exports/issues" + }, + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "publishConfig": { + "access": "public" + }, + "gitHead": "f0f693d8e03b9be35d8559df09f9d29cc93f0810", + "_id": "@ljharb/has-package-exports-patterns@0.0.2", + "_nodeVersion": "17.8.0", + "_npmVersion": "8.3.1", + "dist": { + "integrity": "sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==", + "shasum": "c1718939b65efa1f45f53686c2fcfa992b9fb68f", + "tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz", + "fileCount": 4, + "unpackedSize": 770, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIB2kq741WzizIG98/ELM99UeZlbDuUFh6N2Frl5pBxRFAiEAmmsPZYZVwIobIPJFHu+DlkHedTV3FZngCFTVkAlstJ4=" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTnmjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobhg/+M0JnGNgLGqhKeAP3rdF06hRZnZcwQ/aHufu6K5LKF42LQwNY\r\n0PZIpb4qyfCI+rvSbK+kat3cPuY0ZnV99slZe4ZxR85FpJm3WDm+WxHqkDi8\r\nm5G0rY6dmwTB+8o05g8pUDaxu5Pd+J5ouWXBoySzyrctNoNwslBCvXY5GZZL\r\nowcI3gOFW3uhaBUrZa955LFcB7fUEvZkD7cayMKT21lTBb2lcby3Thl7yVHE\r\nBGU/6a4spdnfOi/YsJx9R67oCqCjwt93gAAa+7rclvsOQZITiR9722toywAU\r\ny64tb8t/MSGsR4cjoBlcjrVfgMPinJSN2rIL34IijKX6pSBvGRFkWY0MqMcO\r\n/YvOH61l2ivdGEMQBxCNPsdfMXKGUKriwJ6NLUZiSMSue5cxGQASj6S5FtkA\r\nqQV7DaQTJut3mrSYL93fs5rvVubBdGw4mmIoKkuICFXAaYTCiROUCrHOnpST\r\nL1G7ZLXLkKyT1k/ISivh5vFQq17IacHCEZ/5Y56UwtSBVistNsBhuVMQSOxJ\r\nwzzi0i0+nAVrSV+OUc9y9rFgx8EMppewOMG+JlLHNMD6V6jmA2wZBgf7ek8O\r\nun9TanuxyINaWKKsqg5/fSZCXjRNDd+uGA+UlrMSoznUACz7zdG+feC1bO+k\r\nkzuAfVPdiRNcilaRUc3ihfQH9TevL0hobPA=\r\n=VOhM\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-package-exports-patterns_0.0.2_1649310115254_0.5270760426972871" + }, + "_hasShrinkwrap": false + } + }, + "time": { + "created": "2020-10-09T05:53:58.589Z", + "0.0.0": "2020-10-09T05:53:58.693Z", + "modified": "2022-04-07T05:41:55.495Z", + "0.0.1": "2020-10-27T06:07:22.221Z", + "0.0.2": "2022-04-07T05:41:55.403Z" + }, + "maintainers": [ + { + "name": "ljharb", + "email": "ljharb@gmail.com" + } + ], + "homepage": "https://github.com/inspect-js/has-package-exports#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/inspect-js/has-package-exports.git" + }, + "author": { + "name": "Jordan Harband", + "email": "ljharb@gmail.com" + }, + "bugs": { + "url": "https://github.com/inspect-js/has-package-exports/issues" + }, + "license": "MIT", + "readme": "ERROR: No README data found!", + "readmeFilename": "", + "_contentLength": 0 +} \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.min.json new file mode 100644 index 0000000000000..605d67cb2aaf5 --- /dev/null +++ b/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns.min.json @@ -0,0 +1,64 @@ +{ + "name": "@ljharb/has-package-exports-patterns", + "dist-tags": { + "latest": "0.0.2" + }, + "versions": { + "0.0.0": { + "name": "@ljharb/has-package-exports-patterns", + "version": "0.0.0", + "dist": { + "integrity": "sha512-e5d7/9bs2uorgQrHzGfzvT6WTyUbWiaiQXBourc2d7/LzvjZkRpFfDWN96WPsEqRMKrbx6aT/5XFma4WYMvu2A==", + "shasum": "4bec9d26d79b57021f4069ee42bc1bdb3a222372", + "tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.0.tgz", + "fileCount": 2, + "unpackedSize": 535, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJff/r2CRA9TVsSAnZWagAAtLsP/3YEyKmT4SHRBhHwRv90\nuydMCnl4UygliJrdRO1EFa7Y0RWv3yeJDmiP/BbHvbKx+oH1WuRE+ZkjgTce\n8FMV/XUU9muyaEcdy33bzKosu1lukgETXT28IxrGK/JbGoboMbt+Iz8+W5Fa\n+2D546TGv0o7hf/aHilosi11J5C7rd4YuqSxJGXJVXpaytik+e9OFU7rrV/7\nW9mbFmt8YOxfNiOslNvZUA05gHWPLGhw7I9Rl9Jqd6o2xdY5TvXoMUsy45SQ\nUdC5nnVijDleUmULhkxS8ULMJ6GvQkF6lVa3OHHItIByvhfKY8TnKK+ioHYw\nyEvZ63sj8mjYTIi6f5Jgj5NvQrm6lI/JcXW761vxxEcSLPW/onAsPvZHJqkU\nqlGVFib7Xh4Sp8NjJax5pO6QpCHMVs1+WemklXUFQA27Lxod1pXOzvFmq4Wu\nr3cMrYGLol7aPogRyb4v/bu25oDLdMkLmokEc68J9+Q4cw/ZaNzMa1sBWFlC\nhW503lWySfkpoWkLl0kypoZwbLsUZoIO5YFLldxnsynm7XSMHOZBGv/hzCdR\ndBHTvFAs9PgYFJj8xbtL2Wnja7Uuyu9ThlA3uezeDu0bD+IcPa8IdQvXTNSI\nA3pnOuDVzy1pdGny5oIeO4VGY9YU6mC8XSt/g2qgLoEGSib9VxSBKA4qCZ7K\neCWx\r\n=eDD7\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEYCIQCxiTdVCltPVhh84T/xXOOv3SQo1hCJzPMuBNIicn4g4gIhAIfVxstRRkI1v3hdPOY1DIjt2oBjGxtI6mi7+NDkUNkp" + } + ] + } + }, + "0.0.1": { + "name": "@ljharb/has-package-exports-patterns", + "version": "0.0.1", + "dist": { + "integrity": "sha512-J4HxcjHI8EzVwXj2HKfZrwnWv4wmOhGxSHyxDQLhiL4ibwRoIkYBqsacZUXFUWQzJtW6QC+FKSNy8HqKjkEqaQ==", + "shasum": "70f07047b058e0909488a0ab1928afb95a9326d0", + "tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.1.tgz", + "fileCount": 3, + "unpackedSize": 619, + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfl7kaCRA9TVsSAnZWagAATXwQAJhbxLJoWKyYSBEsP3E4\n7p2RVYrOy74gBDQSMFGho8tP5WfAaOnApnRYRhjl+eK8EPKJfE1BmC32SJVY\nQ/k9b2l6NkZgTUy/ZvRlBmbVysTjO35OHrIg14tqUvQGoKlZf2thsdw0vN18\n5mRYx7fGFQAd2F+goK3jrdL7FpqZAhIuk3vO93okW6P25yUkeyVEVPDhoN5n\nYtfzOlKaycfNvcQieX24EVzjCBfgWn/sIdVYeJ7ZdQNiXh7YuZCWMa8rgECs\nJDb/4EX+N2DirYzU951LlHaI0j0ZW1MbtERswXnC2Tn9Qtaj5we9vpAongiQ\nxnxpxo40tgJgy2Qzb5WwIvHPJojcRJOEHnrHvvHsRYe2FR4Eh2DHQ55ODIm6\nNuZzp7U6vQXyh8C+1PKlpl6KsEynlefXPBDueB4CnTh9ahLUfSfUjdSfsV9H\n87Hk/HS1kFZTn2lavqaV6vFmgEr3JwozAmbCSnMcP2ZTk7YMAW4NcxvcxcUa\nNqM4+y0t99phoTNCkNDWH8JUSEAVM+OGsJCrd3LzCScmDNgBF61U+lqrdpE0\nFoUOzpjAiGBLzmiL3tXx2SZyQsvC+dPBRW2W2KYcoy+CYXPgUCwfkSYwKz2F\ngF5+9Pyd8VqbcWgIbg7PfQD5KFfXBKF9sCO8hv6UBQgZ6NJpIPYhWpeYfxHK\niFut\r\n=gLnw\r\n-----END PGP SIGNATURE-----\r\n", + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIQDZDbx3S9jLwbuuoa4n1W4F0fGUJXO6ng3QVWw9nUlmIAIgYpRJ0NPlmsVduuq+rr53hjjGoNeaxmxOjnSkIZn/J4E=" + } + ] + } + }, + "0.0.2": { + "name": "@ljharb/has-package-exports-patterns", + "version": "0.0.2", + "dist": { + "integrity": "sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==", + "shasum": "c1718939b65efa1f45f53686c2fcfa992b9fb68f", + "tarball": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz", + "fileCount": 4, + "unpackedSize": 770, + "signatures": [ + { + "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", + "sig": "MEUCIB2kq741WzizIG98/ELM99UeZlbDuUFh6N2Frl5pBxRFAiEAmmsPZYZVwIobIPJFHu+DlkHedTV3FZngCFTVkAlstJ4=" + } + ], + "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTnmjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobhg/+M0JnGNgLGqhKeAP3rdF06hRZnZcwQ/aHufu6K5LKF42LQwNY\r\n0PZIpb4qyfCI+rvSbK+kat3cPuY0ZnV99slZe4ZxR85FpJm3WDm+WxHqkDi8\r\nm5G0rY6dmwTB+8o05g8pUDaxu5Pd+J5ouWXBoySzyrctNoNwslBCvXY5GZZL\r\nowcI3gOFW3uhaBUrZa955LFcB7fUEvZkD7cayMKT21lTBb2lcby3Thl7yVHE\r\nBGU/6a4spdnfOi/YsJx9R67oCqCjwt93gAAa+7rclvsOQZITiR9722toywAU\r\ny64tb8t/MSGsR4cjoBlcjrVfgMPinJSN2rIL34IijKX6pSBvGRFkWY0MqMcO\r\n/YvOH61l2ivdGEMQBxCNPsdfMXKGUKriwJ6NLUZiSMSue5cxGQASj6S5FtkA\r\nqQV7DaQTJut3mrSYL93fs5rvVubBdGw4mmIoKkuICFXAaYTCiROUCrHOnpST\r\nL1G7ZLXLkKyT1k/ISivh5vFQq17IacHCEZ/5Y56UwtSBVistNsBhuVMQSOxJ\r\nwzzi0i0+nAVrSV+OUc9y9rFgx8EMppewOMG+JlLHNMD6V6jmA2wZBgf7ek8O\r\nun9TanuxyINaWKKsqg5/fSZCXjRNDd+uGA+UlrMSoznUACz7zdG+feC1bO+k\r\nkzuAfVPdiRNcilaRUc3ihfQH9TevL0hobPA=\r\n=VOhM\r\n-----END PGP SIGNATURE-----\r\n" + } + } + }, + "modified": "2022-04-07T05:41:55.495Z", + "_contentLength": 0 +} \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7daff8ff14451485d57d8cfad7469468ec54ce09 GIT binary patch literal 483 zcmV<90UZ7xiwFP!00002|Ls>@Z`&Xg&1?KCkoQojt8JV(uGEjI(q6Vned`|}HnmA@ zKwOwsP5ti!;v{Wawdz-~K4O_WXL4L;HWt=oSDdj=>1tyrb^j-#j-wdrU|e@USQFCE5bUeU`5dS_5Xz@^M*j|8eyHrn-N* z{-;F|^dIyeutWX(){0*6-JbvRNq+DApU>Q#An5=7@jDvFob)t4Lh)I*Xo;F1gn1@i-X%RZcw5?zGmg_OyJa>T&;HW5dG}k; zR=3Uh^ltZC{1a}@_^4+zzHzB5Dg`ht)b%QReJy>N8m5=wjp~N?&#l%HjO*r~yXMykjJc*r_!2V6zh|sq_(Td1(IgoF=)REe#x3ulBB9A_?htL Z%8eS`gpDR3ARu5@_ydx)A|C)2004mZ_(lK# literal 0 HcmV?d00001 diff --git a/workspaces/arborist/test/fixtures/reify-cases/file-dep.js b/workspaces/arborist/test/fixtures/reify-cases/file-dep.js new file mode 100644 index 0000000000000..d6055dcdf22ce --- /dev/null +++ b/workspaces/arborist/test/fixtures/reify-cases/file-dep.js @@ -0,0 +1,23 @@ +// generated from test/fixtures/file-dep +module.exports = t => { + const path = t.testdir({ + "fake": { + "package.json": JSON.stringify({ + "bundleDependencies": true, + "dependencies": { + "abbrev": "1.1.1" + }, + "devDependencies": { + "has-package-exports": "file:." + } + }) + }, + "package.json": JSON.stringify({ + "devDependencies": { + "some-fake-name": "file:./fake", + "has-package-exports": "^1.3.0" + } + }) + }) + return path +} From 78a466277e8214225a40d98bf34647def289dfe8 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Fri, 1 Dec 2023 21:45:20 -0700 Subject: [PATCH 5/8] wip: rename fixtures --- workspaces/arborist/lib/arborist/load-actual.js | 4 +++- workspaces/arborist/test/arborist/reify.js | 6 ++++-- .../node_modules/has-package-exports | 1 + .../fixtures-has-package-exports}/package.json | 2 +- .../fixtures/conflict-bundle-file-dep/package.json | 6 ++++++ .../arborist/test/fixtures/file-dep/package.json | 6 ------ .../{file-dep.js => conflict-bundle-file-dep.js} | 11 +++++++---- 7 files changed, 22 insertions(+), 14 deletions(-) create mode 120000 workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports rename workspaces/arborist/test/fixtures/{file-dep/fake => conflict-bundle-file-dep/fixtures-has-package-exports}/package.json (84%) create mode 100644 workspaces/arborist/test/fixtures/conflict-bundle-file-dep/package.json delete mode 100644 workspaces/arborist/test/fixtures/file-dep/package.json rename workspaces/arborist/test/fixtures/reify-cases/{file-dep.js => conflict-bundle-file-dep.js} (58%) diff --git a/workspaces/arborist/lib/arborist/load-actual.js b/workspaces/arborist/lib/arborist/load-actual.js index def00dc74f039..5a1080bec85be 100644 --- a/workspaces/arborist/lib/arborist/load-actual.js +++ b/workspaces/arborist/lib/arborist/load-actual.js @@ -333,7 +333,9 @@ module.exports = cls => class ActualLoader extends cls { async #loadFSTree (node) { const did = this.#actualTreeLoaded - if (!node.isLink && !did.has(node.target.realpath)) { + // if (node.target && !did.has(node.target.realpath)) { + // if (!node.isLink && !did.has(node.target.realpath)) { + if (!did.has(node.target.realpath)) { did.add(node.target.realpath) await this.#loadFSChildren(node.target) return Promise.all( diff --git a/workspaces/arborist/test/arborist/reify.js b/workspaces/arborist/test/arborist/reify.js index 85ce63057a04f..28e711bb31ab5 100644 --- a/workspaces/arborist/test/arborist/reify.js +++ b/workspaces/arborist/test/arborist/reify.js @@ -160,8 +160,10 @@ const newArb = (opt) => new Arborist({ const reify = (path, opt) => newArb({ path, ...(opt || {}) }).reify(opt) -t.test('ljharb file dep', t => - t.resolveMatchSnapshot(printReified(fixture(t, 'file-dep')))) +t.test('bundled file dep with same name as other dep', async t => { + const tree = await printReified(fixture(t, 'conflict-bundle-file-dep')) + t.matchSnapshot(tree) +}) t.test('tarball deps with transitive tarball deps', t => t.resolveMatchSnapshot(printReified(fixture(t, 'tarball-dependencies')))) diff --git a/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports new file mode 120000 index 0000000000000..a96aa0ea9d8c4 --- /dev/null +++ b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports @@ -0,0 +1 @@ +.. \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/file-dep/fake/package.json b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/package.json similarity index 84% rename from workspaces/arborist/test/fixtures/file-dep/fake/package.json rename to workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/package.json index b43f8172716e3..a33285ce5e3b7 100644 --- a/workspaces/arborist/test/fixtures/file-dep/fake/package.json +++ b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/package.json @@ -1,7 +1,7 @@ { "bundleDependencies": true, "dependencies": { - "abbrev": "2.0.0" + "abbrev": "1.1.1" }, "devDependencies": { "has-package-exports": "file:." diff --git a/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/package.json b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/package.json new file mode 100644 index 0000000000000..d852b7e11fb1e --- /dev/null +++ b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "@fixtures/has-package-exports": "file:fixtures-has-package-exports", + "has-package-exports": "^1.3.0" + } +} diff --git a/workspaces/arborist/test/fixtures/file-dep/package.json b/workspaces/arborist/test/fixtures/file-dep/package.json deleted file mode 100644 index 53eb00d2a3ebb..0000000000000 --- a/workspaces/arborist/test/fixtures/file-dep/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dependencies": { - "some-fake-name": "file:fake", - "has-package-exports": "^1.3.0" - } -} diff --git a/workspaces/arborist/test/fixtures/reify-cases/file-dep.js b/workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js similarity index 58% rename from workspaces/arborist/test/fixtures/reify-cases/file-dep.js rename to workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js index d6055dcdf22ce..e9bbe64f7b6ee 100644 --- a/workspaces/arborist/test/fixtures/reify-cases/file-dep.js +++ b/workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js @@ -1,7 +1,10 @@ -// generated from test/fixtures/file-dep +// generated from test/fixtures/conflict-bundle-file-dep module.exports = t => { const path = t.testdir({ - "fake": { + "fixtures-has-package-exports": { + "node_modules": { + "has-package-exports": t.fixture('symlink', "..") + }, "package.json": JSON.stringify({ "bundleDependencies": true, "dependencies": { @@ -13,8 +16,8 @@ module.exports = t => { }) }, "package.json": JSON.stringify({ - "devDependencies": { - "some-fake-name": "file:./fake", + "dependencies": { + "@fixtures/has-package-exports": "file:fixtures-has-package-exports", "has-package-exports": "^1.3.0" } }) From de3b2d3bf787dce00896527a0a56553907b096c6 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Fri, 1 Dec 2023 21:50:42 -0700 Subject: [PATCH 6/8] wip: readd node.target check --- workspaces/arborist/lib/arborist/load-actual.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/workspaces/arborist/lib/arborist/load-actual.js b/workspaces/arborist/lib/arborist/load-actual.js index 5a1080bec85be..cf3061bb55ec1 100644 --- a/workspaces/arborist/lib/arborist/load-actual.js +++ b/workspaces/arborist/lib/arborist/load-actual.js @@ -333,9 +333,7 @@ module.exports = cls => class ActualLoader extends cls { async #loadFSTree (node) { const did = this.#actualTreeLoaded - // if (node.target && !did.has(node.target.realpath)) { - // if (!node.isLink && !did.has(node.target.realpath)) { - if (!did.has(node.target.realpath)) { + if (node.target && !did.has(node.target.realpath)) { did.add(node.target.realpath) await this.#loadFSChildren(node.target) return Promise.all( From 9852eff5e75eb7f1417a1cdeed65f0a4a24b0558 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Sat, 2 Dec 2023 12:02:38 -0700 Subject: [PATCH 7/8] wip: remove accidental node_modules from fixture --- .../node_modules/has-package-exports | 1 - .../test/fixtures/reify-cases/conflict-bundle-file-dep.js | 3 --- 2 files changed, 4 deletions(-) delete mode 120000 workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports diff --git a/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports b/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports deleted file mode 120000 index a96aa0ea9d8c4..0000000000000 --- a/workspaces/arborist/test/fixtures/conflict-bundle-file-dep/fixtures-has-package-exports/node_modules/has-package-exports +++ /dev/null @@ -1 +0,0 @@ -.. \ No newline at end of file diff --git a/workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js b/workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js index e9bbe64f7b6ee..28c1f112f4d80 100644 --- a/workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js +++ b/workspaces/arborist/test/fixtures/reify-cases/conflict-bundle-file-dep.js @@ -2,9 +2,6 @@ module.exports = t => { const path = t.testdir({ "fixtures-has-package-exports": { - "node_modules": { - "has-package-exports": t.fixture('symlink', "..") - }, "package.json": JSON.stringify({ "bundleDependencies": true, "dependencies": { From c3d000aff4e69fe9d197d06f538f76a18a4ba191 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Sat, 2 Dec 2023 15:26:31 -0700 Subject: [PATCH 8/8] wip: dont fail on node+root with same path if root is link --- .../arborist/lib/arborist/load-actual.js | 2 +- workspaces/arborist/lib/tree-check.js | 2 +- .../test/arborist/reify.js.test.cjs | 134 ++++++++++++++++++ 3 files changed, 136 insertions(+), 2 deletions(-) diff --git a/workspaces/arborist/lib/arborist/load-actual.js b/workspaces/arborist/lib/arborist/load-actual.js index cf3061bb55ec1..def00dc74f039 100644 --- a/workspaces/arborist/lib/arborist/load-actual.js +++ b/workspaces/arborist/lib/arborist/load-actual.js @@ -333,7 +333,7 @@ module.exports = cls => class ActualLoader extends cls { async #loadFSTree (node) { const did = this.#actualTreeLoaded - if (node.target && !did.has(node.target.realpath)) { + if (!node.isLink && !did.has(node.target.realpath)) { did.add(node.target.realpath) await this.#loadFSChildren(node.target) return Promise.all( diff --git a/workspaces/arborist/lib/tree-check.js b/workspaces/arborist/lib/tree-check.js index 44b5484c68240..62a50bc75bdb5 100644 --- a/workspaces/arborist/lib/tree-check.js +++ b/workspaces/arborist/lib/tree-check.js @@ -90,7 +90,7 @@ const checkTree = (tree, checkUnreachable = true) => { }) } - if (node.path === tree.root.path && node !== tree.root) { + if (node.path === tree.root.path && node !== tree.root && !tree.root.isLink) { throw Object.assign(new Error('node with same path as root'), { node: node.path, tree: tree.path, diff --git a/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs index dcc3692a8965e..94a60bf9c9ca7 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs @@ -2007,6 +2007,140 @@ ArboristNode { } ` +exports[`test/arborist/reify.js TAP bundled file dep with same name as other dep > must match snapshot 1`] = ` +ArboristNode { + "children": Map { + "@fixtures/has-package-exports" => ArboristLink { + "bundleDependencies": Array [ + "abbrev", + ], + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "@fixtures/has-package-exports", + "spec": "file:fixtures-has-package-exports", + "type": "prod", + }, + }, + "location": "node_modules/@fixtures/has-package-exports", + "name": "@fixtures/has-package-exports", + "path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/node_modules/@fixtures/has-package-exports", + "realpath": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports", + "resolved": "file:../../fixtures-has-package-exports", + "target": ArboristNode { + "location": "fixtures-has-package-exports", + }, + }, + "@ljharb/has-package-exports-patterns" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "node_modules/has-package-exports", + "name": "@ljharb/has-package-exports-patterns", + "spec": "^0.0.2", + "type": "prod", + }, + }, + "location": "node_modules/@ljharb/has-package-exports-patterns", + "name": "@ljharb/has-package-exports-patterns", + "path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/node_modules/@ljharb/has-package-exports-patterns", + "resolved": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz", + "version": "0.0.2", + }, + "has-package-exports" => ArboristNode { + "edgesIn": Set { + EdgeIn { + "from": "", + "name": "has-package-exports", + "spec": "^1.3.0", + "type": "prod", + }, + }, + "edgesOut": Map { + "@ljharb/has-package-exports-patterns" => EdgeOut { + "name": "@ljharb/has-package-exports-patterns", + "spec": "^0.0.2", + "to": "node_modules/@ljharb/has-package-exports-patterns", + "type": "prod", + }, + }, + "location": "node_modules/has-package-exports", + "name": "has-package-exports", + "path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/node_modules/has-package-exports", + "resolved": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.3.0.tgz", + "version": "1.3.0", + }, + }, + "edgesOut": Map { + "@fixtures/has-package-exports" => EdgeOut { + "name": "@fixtures/has-package-exports", + "spec": "file:fixtures-has-package-exports", + "to": "node_modules/@fixtures/has-package-exports", + "type": "prod", + }, + "has-package-exports" => EdgeOut { + "name": "has-package-exports", + "spec": "^1.3.0", + "to": "node_modules/has-package-exports", + "type": "prod", + }, + }, + "fsChildren": Set { + ArboristNode { + "bundleDependencies": Array [ + "abbrev", + ], + "children": Map { + "has-package-exports" => ArboristLink { + "bundleDependencies": Array [ + "abbrev", + ], + "dev": true, + "edgesIn": Set { + EdgeIn { + "from": "fixtures-has-package-exports", + "name": "has-package-exports", + "spec": "file:.", + "type": "dev", + }, + }, + "location": "fixtures-has-package-exports/node_modules/has-package-exports", + "name": "has-package-exports", + "path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports/node_modules/has-package-exports", + "realpath": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports", + "resolved": "file:..", + "target": ArboristNode { + "location": "fixtures-has-package-exports", + }, + }, + }, + "dev": true, + "edgesOut": Map { + "abbrev" => EdgeOut { + "error": "MISSING", + "name": "abbrev", + "spec": "1.1.1", + "to": null, + "type": "prod", + }, + "has-package-exports" => EdgeOut { + "name": "has-package-exports", + "spec": "file:.", + "to": "fixtures-has-package-exports/node_modules/has-package-exports", + "type": "dev", + }, + }, + "location": "fixtures-has-package-exports", + "name": "@fixtures/has-package-exports", + "path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep/fixtures-has-package-exports", + }, + }, + "isProjectRoot": true, + "location": "", + "name": "tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep", + "path": "{CWD}/test/arborist/tap-testdir-reify-bundled-file-dep-with-same-name-as-other-dep", +} +` + exports[`test/arborist/reify.js TAP collide case-variant dep names > tree 1 1`] = ` ArboristNode { "children": Map {