diff --git a/docs/lib/build.js b/docs/lib/build.js index 1f55f63f69f65..f4d632935e040 100644 --- a/docs/lib/build.js +++ b/docs/lib/build.js @@ -105,7 +105,6 @@ const generateNav = async (contentPath, navPath) => { '/configuring-npm/install', '/configuring-npm/folders', '/configuring-npm/npmrc', - '/configuring-npm/npm-shrinkwrap-json', '/configuring-npm/package-json', '/configuring-npm/package-lock-json', ] diff --git a/docs/lib/content/commands/npm-audit.md b/docs/lib/content/commands/npm-audit.md index 30975a0686cfd..737caea05537f 100644 --- a/docs/lib/content/commands/npm-audit.md +++ b/docs/lib/content/commands/npm-audit.md @@ -25,7 +25,7 @@ This option does not filter the report output, it simply changes the command's f ### Package lock -By default npm requires a package-lock or shrinkwrap in order to run the audit. +By default npm requires a package-lock in order to run the audit. You can bypass the package lock with `--no-package-lock` but be aware the results may be different with every run, since npm will re-build the dependency tree each time. ### Audit Signatures diff --git a/docs/lib/content/commands/npm-ci.md b/docs/lib/content/commands/npm-ci.md index 7c59b39c86a1c..fb28e34e5f29b 100644 --- a/docs/lib/content/commands/npm-ci.md +++ b/docs/lib/content/commands/npm-ci.md @@ -14,13 +14,12 @@ This command is similar to [`npm install`](/commands/npm-install), except it's m The main differences between using `npm install` and `npm ci` are: -* The project **must** have an existing `package-lock.json` or - `npm-shrinkwrap.json`. +* The project **must** have an existing `package-lock.json`. * If dependencies in the package lock do not match those in `package.json`, `npm ci` will exit with an error, instead of updating the package lock. * `npm ci` can only install entire projects at a time: individual dependencies cannot be added with this command. * If a `node_modules` is already present, it will be automatically removed before `npm ci` begins its install. -* It will never write to `package.json` or any of the package-locks: +* It will never write to `package.json` or `package-lock.json`: installs are essentially frozen. NOTE: If you create your `package-lock.json` file by running `npm install` with flags that can affect the shape of your dependency tree, such as diff --git a/docs/lib/content/commands/npm-install.md b/docs/lib/content/commands/npm-install.md index c9a3dc404e6ea..58ff90566f135 100644 --- a/docs/lib/content/commands/npm-install.md +++ b/docs/lib/content/commands/npm-install.md @@ -11,13 +11,12 @@ description: Install a package ### Description This command installs a package and any packages that it depends on. -If the package has a package-lock, or an npm shrinkwrap file, or a yarn lock file, the installation of dependencies will be driven by that, respecting the following order of precedence: +If the package has a package-lock or a yarn lock file, the installation of dependencies will be driven by that, respecting the following order of precedence: -* `npm-shrinkwrap.json` * `package-lock.json` * `yarn.lock` -See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/commands/npm-shrinkwrap). +See [package-lock.json](/configuring-npm/package-lock-json). #### How `npm install` uses `package-lock.json` @@ -136,7 +135,7 @@ Even if you never publish your package, you can still get a lot of benefits of u * `-B, --save-bundle`: Saved dependencies will also be added to your `bundleDependencies` list. - Further, if you have an `npm-shrinkwrap.json` or `package-lock.json` then it will be updated as well. + Further, if you have a `package-lock.json` then it will be updated as well. `` is optional. The package will be downloaded from the registry associated with the specified scope. @@ -402,6 +401,5 @@ See [folders](/configuring-npm/folders) for a more detailed description of the s * [npm registry](/using-npm/registry) * [npm dist-tag](/commands/npm-dist-tag) * [npm uninstall](/commands/npm-uninstall) -* [npm shrinkwrap](/commands/npm-shrinkwrap) * [package.json](/configuring-npm/package-json) * [workspaces](/using-npm/workspaces) diff --git a/docs/lib/content/commands/npm-query.md b/docs/lib/content/commands/npm-query.md index 815ca231afa94..e9dd2e4d76bc1 100644 --- a/docs/lib/content/commands/npm-query.md +++ b/docs/lib/content/commands/npm-query.md @@ -152,7 +152,7 @@ $ npm query ':root>:outdated(in-range).prod' --no-expect-results ### Package lock only mode -If package-lock-only is enabled, only the information in the package lock (or shrinkwrap) is loaded. +If package-lock-only is enabled, only the information in the package lock is loaded. This means that information from the package.json files of your dependencies will not be included in the result set (e.g. description, homepage, engines). ### Configuration diff --git a/docs/lib/content/commands/npm-sbom.md b/docs/lib/content/commands/npm-sbom.md index 2e2c53f1bf327..e9d23716a018b 100644 --- a/docs/lib/content/commands/npm-sbom.md +++ b/docs/lib/content/commands/npm-sbom.md @@ -205,7 +205,7 @@ SBOMs can be generated in either [SPDX](https://spdx.dev/) or [CycloneDX](https: ### Package lock only mode -If package-lock-only is enabled, only the information in the package lock (or shrinkwrap) is loaded. +If package-lock-only is enabled, only the information in the package lock is loaded. This means that information from the package.json files of your dependencies will not be included in the result set (e.g. description, homepage, engines). diff --git a/docs/lib/content/commands/npm-shrinkwrap.md b/docs/lib/content/commands/npm-shrinkwrap.md deleted file mode 100644 index 6eb53e288201f..0000000000000 --- a/docs/lib/content/commands/npm-shrinkwrap.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: npm-shrinkwrap -section: 1 -description: Lock down dependency versions for publication ---- - -### Synopsis - - - -### Description - -This command repurposes `package-lock.json` into a publishable `npm-shrinkwrap.json` or simply creates a new one. -The file created and updated by this command will then take precedence over any other existing or future `package-lock.json` files. -For a detailed explanation of the design and purpose of package locks in npm, see [package-lock-json](/configuring-npm/package-lock-json). - -### See Also - -* [npm install](/commands/npm-install) -* [npm run](/commands/npm-run) -* [npm scripts](/using-npm/scripts) -* [package.json](/configuring-npm/package-json) -* [package-lock.json](/configuring-npm/package-lock-json) -* [npm-shrinkwrap.json](/configuring-npm/npm-shrinkwrap-json) -* [npm ls](/commands/npm-ls) diff --git a/docs/lib/content/commands/npm-uninstall.md b/docs/lib/content/commands/npm-uninstall.md index ce0aa55966433..a3d54c5365eab 100644 --- a/docs/lib/content/commands/npm-uninstall.md +++ b/docs/lib/content/commands/npm-uninstall.md @@ -15,11 +15,11 @@ This uninstalls a package, completely removing everything npm installed on its b It also removes the package from the `dependencies`, `devDependencies`, `optionalDependencies`, and `peerDependencies` objects in your `package.json`. -Further, if you have an `npm-shrinkwrap.json` or `package-lock.json`, npm will update those files as well. +Further, if you have a `package-lock.json`, npm will update that file as well. -`--no-save` will tell npm not to remove the package from your `package.json`, `npm-shrinkwrap.json`, or `package-lock.json` files. +`--no-save` will tell npm not to remove the package from your `package.json` or `package-lock.json` files. -`--save` or `-S` will tell npm to remove the package from your `package.json`, `npm-shrinkwrap.json`, and `package-lock.json` files. +`--save` or `-S` will tell npm to remove the package from your `package.json` and `package-lock.json` files. This is the default, but you may need to use this if you have for instance `save=false` in your `npmrc` file In global mode (ie, with `-g` or `--global` appended to the command), it uninstalls the current package context as a global package. @@ -33,14 +33,14 @@ Scope is optional and follows the usual rules for [`scope`](/using-npm/scope). npm uninstall sax ``` -`sax` will no longer be in your `package.json`, `npm-shrinkwrap.json`, or `package-lock.json` files. +`sax` will no longer be in your `package.json` or `package-lock.json` files. ```bash npm uninstall lodash --no-save ``` -`lodash` will not be removed from your `package.json`, -`npm-shrinkwrap.json`, or `package-lock.json` files. +`lodash` will not be removed from your `package.json` or +`package-lock.json` files. ### Configuration diff --git a/docs/lib/content/commands/npm-update.md b/docs/lib/content/commands/npm-update.md index b4d8516329faf..92c38dbe76d78 100644 --- a/docs/lib/content/commands/npm-update.md +++ b/docs/lib/content/commands/npm-update.md @@ -141,7 +141,6 @@ NOTE: If a package has been upgraded to a version newer than `latest`, it will b * [npm install](/commands/npm-install) * [npm outdated](/commands/npm-outdated) -* [npm shrinkwrap](/commands/npm-shrinkwrap) * [npm registry](/using-npm/registry) * [npm folders](/configuring-npm/folders) * [npm ls](/commands/npm-ls) diff --git a/docs/lib/content/commands/npm-version.md b/docs/lib/content/commands/npm-version.md index 4ea0837aa8446..23ce28763f6cd 100644 --- a/docs/lib/content/commands/npm-version.md +++ b/docs/lib/content/commands/npm-version.md @@ -14,8 +14,7 @@ description: Bump a package version ### Description -Run this in a package directory to bump the version and write the new data back to `package.json`, `package-lock.json`, and, if present, -`npm-shrinkwrap.json`. +Run this in a package directory to bump the version and write the new data back to `package.json` and `package-lock.json`. The `newversion` argument should be a valid semver string, a valid second argument to [semver.inc](https://github.com/npm/node-semver#functions) (one of `patch`, `minor`, `major`, `prepatch`, `preminor`, `premajor`, `prerelease`), or `from-git`. In the second case, the existing version will be incremented by 1 in the specified field. diff --git a/docs/lib/content/configuring-npm/npm-shrinkwrap-json.md b/docs/lib/content/configuring-npm/npm-shrinkwrap-json.md deleted file mode 100644 index 4ea5e4dc20b1d..0000000000000 --- a/docs/lib/content/configuring-npm/npm-shrinkwrap-json.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: npm-shrinkwrap.json -section: 5 -description: A publishable lockfile ---- - -### Description - -`npm-shrinkwrap.json` is a file created by [`npm shrinkwrap`](/commands/npm-shrinkwrap). -It is identical to `package-lock.json`, with one major caveat: Unlike `package-lock.json`, -`npm-shrinkwrap.json` may be included when publishing a package. - -The recommended use-case for `npm-shrinkwrap.json` is applications deployed through the publishing process on the registry: for example, daemons and command-line tools intended as global installs or `devDependencies`. -It's strongly discouraged for library authors to publish this file, since that would prevent end users from having control over transitive dependency updates. - -If both `package-lock.json` and `npm-shrinkwrap.json` are present in a package root, `npm-shrinkwrap.json` will be preferred over the `package-lock.json` file. - -For full details and description of the `npm-shrinkwrap.json` file format, refer to the manual page for [package-lock.json](/configuring-npm/package-lock-json). - -### See also - -* [npm shrinkwrap](/commands/npm-shrinkwrap) -* [package-lock.json](/configuring-npm/package-lock-json) -* [package.json](/configuring-npm/package-json) -* [npm install](/commands/npm-install) diff --git a/docs/lib/content/configuring-npm/package-json.md b/docs/lib/content/configuring-npm/package-json.md index 27aeaf9f22176..e8e650318245d 100644 --- a/docs/lib/content/configuring-npm/package-json.md +++ b/docs/lib/content/configuring-npm/package-json.md @@ -301,7 +301,7 @@ Some files are always ignored by default: * `config.gypi` * `node_modules` * `npm-debug.log` -* `package-lock.json` (use [`npm-shrinkwrap.json`](/configuring-npm/npm-shrinkwrap-json) if you wish it to be published) +* `package-lock.json` * `pnpm-lock.yaml` * `yarn.lock` * `bun.lockb` @@ -872,7 +872,7 @@ These changes can be scoped as specific or as vague as desired. Overrides are only considered in the root `package.json` file for a project. Overrides in installed dependencies (including [workspaces](/using-npm/workspaces)) are not considered in dependency tree resolution. -Published packages may dictate their resolutions by pinning dependencies or using an [`npm-shrinkwrap.json`](/configuring-npm/npm-shrinkwrap-json) file. +Published packages may dictate their resolutions by pinning dependencies or using [`bundleDependencies`](#bundledependencies). To make sure the package `@npm/foo` is always installed as version `1.0.0` no matter what version your dependencies rely on: diff --git a/docs/lib/content/configuring-npm/package-lock-json.md b/docs/lib/content/configuring-npm/package-lock-json.md index 4d81156bd9c3c..227c6449e39df 100644 --- a/docs/lib/content/configuring-npm/package-lock-json.md +++ b/docs/lib/content/configuring-npm/package-lock-json.md @@ -23,16 +23,16 @@ This file is intended to be committed into source repositories, and serves vario When `npm` creates or updates `package-lock.json`, it will infer line endings and indentation from `package.json` so that the formatting of both files matches. -### `package-lock.json` vs `npm-shrinkwrap.json` +### `npm-shrinkwrap.json` -Both of these files have the same format, and perform similar functions in the root of a project. - -The difference is that `package-lock.json` cannot be published, and it will be ignored if found in any place other than the root project. - -In contrast, [npm-shrinkwrap.json](/configuring-npm/npm-shrinkwrap-json) allows publication, and defines the dependency tree from the point encountered. -This is not recommended unless deploying a CLI tool or otherwise using the publication process for producing production packages. - -If both `package-lock.json` and `npm-shrinkwrap.json` are present in the root of a project, `npm-shrinkwrap.json` will take precedence and `package-lock.json` will be ignored. +As of npm v12, `npm-shrinkwrap.json` is no longer read or written by +npm. Projects that previously committed `npm-shrinkwrap.json` should +rename it to `package-lock.json`; the file format is identical. When +npm v12 encounters a dependency that ships an `npm-shrinkwrap.json` +inside its tarball, the file is ignored — publishers who need to ship +a locked tree should use +[`bundleDependencies`](/configuring-npm/package-json#bundledependencies) +instead. ### Hidden Lockfiles @@ -76,7 +76,7 @@ An integer version, starting at `1` with the version number of this document who Note that the file format changed significantly in npm v7 to track information that would have otherwise required looking in `node_modules` or the npm registry. Lockfiles generated by npm v7 will contain `lockfileVersion: 2`. -* No version provided: an "ancient" shrinkwrap file from a version of npm prior to npm v5. +* No version provided: an "ancient" lockfile from a version of npm prior to npm v5. * `1`: The lockfile version used by npm v5 and v6. * `2`: The lockfile version used by npm v7 and v8. Backwards compatible to v1 lockfiles. * `3`: The lockfile version used by npm v9 and above. @@ -115,8 +115,6 @@ Package descriptors have the following fields: * hasInstallScript: A flag to indicate that the package has a `preinstall`, `install`, or `postinstall` script. -* hasShrinkwrap: A flag to indicate that the package has an `npm-shrinkwrap.json` file. - * bin, license, engines, dependencies, optionalDependencies: fields from `package.json` * os: An array of operating systems this package is compatible with, as specified in `package.json`. This field is included when the package specifies OS restrictions. @@ -176,7 +174,5 @@ Dependency objects have the following fields: ### See also -* [npm shrinkwrap](/commands/npm-shrinkwrap) -* [npm-shrinkwrap.json](/configuring-npm/npm-shrinkwrap-json) * [package.json](/configuring-npm/package-json) * [npm install](/commands/npm-install) diff --git a/docs/lib/content/nav.yml b/docs/lib/content/nav.yml index 92fb860f6cd6e..a992416b3b2b9 100644 --- a/docs/lib/content/nav.yml +++ b/docs/lib/content/nav.yml @@ -159,9 +159,6 @@ - title: npm set url: /commands/npm-set description: Set a value in the npm configuration - - title: npm shrinkwrap - url: /commands/npm-shrinkwrap - description: Lock down dependency versions for publication - title: npm start url: /commands/npm-start description: Start a package @@ -217,9 +214,6 @@ - title: .npmrc url: /configuring-npm/npmrc description: The npm config files - - title: npm-shrinkwrap.json - url: /configuring-npm/npm-shrinkwrap-json - description: A publishable lockfile - title: package.json url: /configuring-npm/package-json description: Specifics of npm's package.json handling diff --git a/docs/lib/content/using-npm/registry.md b/docs/lib/content/using-npm/registry.md index 739f2a6a203f5..2af6edcd7520a 100644 --- a/docs/lib/content/using-npm/registry.md +++ b/docs/lib/content/using-npm/registry.md @@ -23,7 +23,7 @@ See [`npm config`](/commands/npm-config), [`npmrc`](/configuring-npm/npmrc), and Authentication configuration such as auth tokens and certificates are configured specifically scoped to an individual registry. See [Auth Related Configuration](/configuring-npm/npmrc#auth-related-configuration) -When the default registry is used in a package-lock or shrinkwrap it has the special meaning of "the currently configured registry". If you create a lock file while using the default registry you can switch to another registry and npm will install packages from the new registry, but if you create a lock file while using a custom registry packages will be installed from that registry even after you change to another registry. +When the default registry is used in a package-lock it has the special meaning of "the currently configured registry". If you create a lock file while using the default registry you can switch to another registry and npm will install packages from the new registry, but if you create a lock file while using a custom registry packages will be installed from that registry even after you change to another registry. ### Does npm send any information about me back to the registry? diff --git a/lib/commands/ci.js b/lib/commands/ci.js index f6c97aea30f70..7e368388d9820 100644 --- a/lib/commands/ci.js +++ b/lib/commands/ci.js @@ -55,9 +55,9 @@ class CI extends ArboristWorkspaceCmd { } catch (err) { log.verbose('loadVirtual', err.stack) const msg = - 'The `npm ci` command can only install with an existing package-lock.json or\n' + - 'npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or\n' + - 'later to generate a package-lock.json file, then try again.' + 'The `npm ci` command can only install with an existing\n' + + 'package-lock.json with lockfileVersion >= 1. Run an install with npm@5\n' + + 'or later to generate a package-lock.json file, then try again.' throw this.usageError(msg) } const virtualInventory = new Map(virtualArb.virtualTree.inventory) @@ -71,7 +71,7 @@ class CI extends ArboristWorkspaceCmd { const errors = validateLockfile(virtualInventory, arb.idealTree.inventory) if (errors.length) { throw this.usageError( - '`npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. ' + + '`npm ci` can only install packages when your package.json and package-lock.json are in sync. ' + 'Please update your lock file with `npm install` before continuing.\n\n' + errors.join('\n') ) diff --git a/lib/commands/query.js b/lib/commands/query.js index 5e70e25f32e62..37adb91e32656 100644 --- a/lib/commands/query.js +++ b/lib/commands/query.js @@ -72,7 +72,7 @@ class Query extends BaseCommand { } catch (err) { log.verbose('loadVirtual', err.stack) throw this.usageError( - 'A package lock or shrinkwrap file is required in package-lock-only mode' + 'A package-lock.json file is required in package-lock-only mode' ) } } else { @@ -98,7 +98,7 @@ class Query extends BaseCommand { } catch (err) { log.verbose('loadVirtual', err.stack) throw this.usageError( - 'A package lock or shrinkwrap file is required in package-lock-only mode' + 'A package-lock.json file is required in package-lock-only mode' ) } } else { diff --git a/lib/commands/sbom.js b/lib/commands/sbom.js index fb3d81bb2d368..38fb383834e66 100644 --- a/lib/commands/sbom.js +++ b/lib/commands/sbom.js @@ -39,7 +39,7 @@ class SBOM extends BaseCommand { const arb = new Arborist(opts) const tree = packageLockOnly ? await arb.loadVirtual(opts).catch(() => { - throw this.usageError('A package lock or shrinkwrap file is required in package-lock-only mode') + throw this.usageError('A package-lock.json file is required in package-lock-only mode') }) : await arb.loadActual(opts) // Collect the list of selected workspaces in the project diff --git a/lib/commands/shrinkwrap.js b/lib/commands/shrinkwrap.js deleted file mode 100644 index e8d3a256f195f..0000000000000 --- a/lib/commands/shrinkwrap.js +++ /dev/null @@ -1,70 +0,0 @@ -const { resolve, basename } = require('node:path') -const { unlink } = require('node:fs/promises') -const { log } = require('proc-log') -const BaseCommand = require('../base-cmd.js') - -class Shrinkwrap extends BaseCommand { - static description = 'Lock down dependency versions for publication' - static name = 'shrinkwrap' - static ignoreImplicitWorkspace = false - - async exec () { - // if has a npm-shrinkwrap.json, nothing to do - // if has a package-lock.json, rename to npm-shrinkwrap.json - // if has neither, load the actual tree and save that as npm-shrinkwrap.json - // - // loadVirtual, fall back to loadActual - // rename shrinkwrap file type, and tree.meta.save() - if (this.npm.global) { - const er = new Error('`npm shrinkwrap` does not work for global packages') - er.code = 'ESHRINKWRAPGLOBAL' - throw er - } - - const Arborist = require('@npmcli/arborist') - const path = this.npm.prefix - const sw = resolve(path, 'npm-shrinkwrap.json') - const arb = new Arborist({ ...this.npm.flatOptions, path }) - const tree = await arb.loadVirtual().catch(() => arb.loadActual()) - const { meta } = tree - const newFile = meta.hiddenLockfile || !meta.loadedFromDisk - const oldFilename = meta.filename - const notSW = !newFile && basename(oldFilename) !== 'npm-shrinkwrap.json' - - // The computed lockfile version of a hidden lockfile is always 3 even if the actual value of the property is a different. - // When shrinkwrap is run with only a hidden lockfile we want to set the shrinkwrap lockfile version as whatever was explicitly requested with a fallback to the actual value from the hidden - // lockfile. - if (meta.hiddenLockfile) { - meta.lockfileVersion = arb.options.lockfileVersion || - meta.originalLockfileVersion - } - meta.hiddenLockfile = false - meta.filename = sw - await meta.save() - - const updatedVersion = meta.originalLockfileVersion !== meta.lockfileVersion - ? meta.lockfileVersion - : null - - if (newFile) { - let message = 'created a lockfile as npm-shrinkwrap.json' - if (updatedVersion) { - message += ` with version ${updatedVersion}` - } - log.notice('', message) - } else if (notSW) { - await unlink(oldFilename) - let message = 'package-lock.json has been renamed to npm-shrinkwrap.json' - if (updatedVersion) { - message += ` and updated to version ${updatedVersion}` - } - log.notice('', message) - } else if (updatedVersion) { - log.notice('', `npm-shrinkwrap.json updated to version ${updatedVersion}`) - } else { - log.notice('', 'npm-shrinkwrap.json up to date') - } - } -} - -module.exports = Shrinkwrap diff --git a/lib/utils/cmd-list.js b/lib/utils/cmd-list.js index f72e7c09da4c7..700e3902daa3f 100644 --- a/lib/utils/cmd-list.js +++ b/lib/utils/cmd-list.js @@ -53,7 +53,6 @@ const commands = [ 'sbom', 'search', 'set', - 'shrinkwrap', 'start', 'stop', 'team', diff --git a/smoke-tests/tap-snapshots/test/index.js.test.cjs b/smoke-tests/tap-snapshots/test/index.js.test.cjs index b3247b148a40b..5b269a92863f0 100644 --- a/smoke-tests/tap-snapshots/test/index.js.test.cjs +++ b/smoke-tests/tap-snapshots/test/index.js.test.cjs @@ -27,9 +27,9 @@ All commands: init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, repo, - restart, root, run, sbom, search, set, shrinkwrap, start, - stop, team, test, token, trust, undeprecate, uninstall, - unpublish, update, version, view, whoami + restart, root, run, sbom, search, set, start, stop, team, + test, token, trust, undeprecate, uninstall, unpublish, + update, version, view, whoami Specify configs in the ini-formatted file: {NPM}/{TESTDIR}/home/.npmrc @@ -44,7 +44,7 @@ npm {NPM} exports[`test/index.js TAP basic npm ci > should throw mismatch deps in lock file error 1`] = ` npm error code EUSAGE npm error -npm error \`npm ci\` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with \`npm install\` before continuing. +npm error \`npm ci\` can only install packages when your package.json and package-lock.json are in sync. Please update your lock file with \`npm install\` before continuing. npm error npm error Invalid: lock file's abbrev@1.0.4 does not satisfy abbrev@1.1.1 npm error diff --git a/tap-snapshots/test/lib/commands/config.js.test.cjs b/tap-snapshots/test/lib/commands/config.js.test.cjs index 6617b3a0827f7..3446ea8617461 100644 --- a/tap-snapshots/test/lib/commands/config.js.test.cjs +++ b/tap-snapshots/test/lib/commands/config.js.test.cjs @@ -160,7 +160,6 @@ exports[`test/lib/commands/config.js TAP config list --json > output matches sna "searchopts": "", "searchstaleness": 900, "shell": "{SHELL}", - "shrinkwrap": true, "sign-git-commit": false, "sign-git-tag": false, "strict-peer-deps": false, @@ -339,7 +338,6 @@ searchlimit = 20 searchopts = "" searchstaleness = 900 shell = "{SHELL}" -shrinkwrap = true sign-git-commit = false sign-git-tag = false strict-peer-deps = false diff --git a/tap-snapshots/test/lib/commands/publish.js.test.cjs b/tap-snapshots/test/lib/commands/publish.js.test.cjs index cb9ce5b20a8f6..36c43f2d5e8ac 100644 --- a/tap-snapshots/test/lib/commands/publish.js.test.cjs +++ b/tap-snapshots/test/lib/commands/publish.js.test.cjs @@ -204,7 +204,6 @@ Object { "man/man1/npm-sbom.1", "man/man1/npm-search.1", "man/man1/npm-set.1", - "man/man1/npm-shrinkwrap.1", "man/man1/npm-start.1", "man/man1/npm-stop.1", "man/man1/npm-team.1", @@ -224,7 +223,6 @@ Object { "man/man5/install.5", "man/man5/npm-global.5", "man/man5/npm-json.5", - "man/man5/npm-shrinkwrap-json.5", "man/man5/npmrc.5", "man/man5/package-json.5", "man/man5/package-lock-json.5", diff --git a/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs b/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs deleted file mode 100644 index 96b41b117d19b..0000000000000 --- a/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs +++ /dev/null @@ -1,435 +0,0 @@ -/* IMPORTANT - * This snapshot file is auto-generated, but designed for humans. - * It should be checked into source control and tracked carefully. - * Re-generate by setting TAP_SNAPSHOT=1 and running tests. - * Make sure to inspect the output below. Do not ignore changes! - */ -'use strict' -exports[`test/lib/commands/shrinkwrap.js TAP with hidden lockfile ancient > must match snapshot 1`] = ` -{ - "localPrefix": { - "node_modules": { - ".package-lock.json": { - "lockfileVersion": 1 - } - } - }, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 1, - "requires": true - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json" - ], - "warn": [] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with hidden lockfile ancient upgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "node_modules": { - ".package-lock.json": { - "lockfileVersion": 1 - } - } - }, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": {} - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json with version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v1 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with hidden lockfile existing > must match snapshot 1`] = ` -{ - "localPrefix": { - "node_modules": { - ".package-lock.json": { - "lockfileVersion": 2 - } - } - }, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 2, - "requires": true, - "packages": {} - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json" - ], - "warn": [] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with hidden lockfile existing downgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "node_modules": { - ".package-lock.json": { - "lockfileVersion": 2 - } - } - }, - "config": { - "lockfile-version": 1 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 1, - "requires": true - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json with version 1" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v2 -> v1" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with hidden lockfile existing upgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "node_modules": { - ".package-lock.json": { - "lockfileVersion": 2 - } - } - }, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": {} - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json with version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v2 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with nothing ancient > must match snapshot 1`] = ` -{ - "localPrefix": {}, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": {} - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json with version 3" - ], - "warn": [] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with nothing ancient upgrade > must match snapshot 1`] = ` -{ - "localPrefix": {}, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": {} - }, - "logs": [ - "created a lockfile as npm-shrinkwrap.json with version 3" - ], - "warn": [] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json ancient > must match snapshot 1`] = ` -{ - "localPrefix": { - "npm-shrinkwrap.json": { - "lockfileVersion": 1 - } - }, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "npm-shrinkwrap.json updated to version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v1 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json ancient upgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "npm-shrinkwrap.json": { - "lockfileVersion": 1 - } - }, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "npm-shrinkwrap.json updated to version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v1 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json existing > must match snapshot 1`] = ` -{ - "localPrefix": { - "npm-shrinkwrap.json": { - "lockfileVersion": 2 - } - }, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "npm-shrinkwrap.json up to date" - ], - "warn": [] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json existing downgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "npm-shrinkwrap.json": { - "lockfileVersion": 2 - } - }, - "config": { - "lockfile-version": 1 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 1, - "requires": true - }, - "logs": [ - "npm-shrinkwrap.json updated to version 1" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v2 -> v1" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json existing upgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "npm-shrinkwrap.json": { - "lockfileVersion": 2 - } - }, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "npm-shrinkwrap.json updated to version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v2 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json ancient > must match snapshot 1`] = ` -{ - "localPrefix": { - "package-lock.json": { - "lockfileVersion": 1 - } - }, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "package-lock.json has been renamed to npm-shrinkwrap.json and updated to version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v1 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json ancient upgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "package-lock.json": { - "lockfileVersion": 1 - } - }, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "package-lock.json has been renamed to npm-shrinkwrap.json and updated to version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v1 -> v3" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json existing > must match snapshot 1`] = ` -{ - "localPrefix": { - "package-lock.json": { - "lockfileVersion": 2 - } - }, - "config": {}, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "package-lock.json has been renamed to npm-shrinkwrap.json" - ], - "warn": [] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json existing downgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "package-lock.json": { - "lockfileVersion": 2 - } - }, - "config": { - "lockfile-version": 1 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 1, - "requires": true - }, - "logs": [ - "package-lock.json has been renamed to npm-shrinkwrap.json and updated to version 1" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v2 -> v1" - ] -} -` - -exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json existing upgrade > must match snapshot 1`] = ` -{ - "localPrefix": { - "package-lock.json": { - "lockfileVersion": 2 - } - }, - "config": { - "lockfile-version": 3 - }, - "shrinkwrap": { - "name": "prefix", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "prefix" - } - } - }, - "logs": [ - "package-lock.json has been renamed to npm-shrinkwrap.json and updated to version 3" - ], - "warn": [ - "shrinkwrap Converting lock file (npm-shrinkwrap.json) from v2 -> v3" - ] -} -` diff --git a/tap-snapshots/test/lib/docs.js.test.cjs b/tap-snapshots/test/lib/docs.js.test.cjs index a388bae55f9d6..8ce6a3958c422 100644 --- a/tap-snapshots/test/lib/docs.js.test.cjs +++ b/tap-snapshots/test/lib/docs.js.test.cjs @@ -146,7 +146,6 @@ Array [ "sbom", "search", "set", - "shrinkwrap", "start", "stop", "team", @@ -692,8 +691,7 @@ but can be useful for debugging. * Default: true * Type: Boolean -Format \`package-lock.json\` or \`npm-shrinkwrap.json\` as a human readable -file. +Format \`package-lock.json\` as a human readable file. @@ -1045,8 +1043,8 @@ instead of the current working directory. See otherwise, maintain current lockfile version. * Type: null, 1, 2, 3, "1", "2", or "3" -Set the lockfile format version to be used in package-lock.json and -npm-shrinkwrap-json files. Possible options are: +Set the lockfile format version to be used in package-lock.json files. +Possible options are: 1: The lockfile version used by npm versions 5 and 6. Lacks some data that is used during the install, resulting in slower and possibly less @@ -1211,8 +1209,7 @@ allow the CLI to fill in missing cache data, see \`--prefer-offline\`. Dependency types to omit from the installation tree on disk. Note that these dependencies _are_ still resolved and added to the -\`package-lock.json\` or \`npm-shrinkwrap.json\` file. They are just not -physically installed on disk. +\`package-lock.json\` file. They are just not physically installed on disk. If a package type appears in both the \`--include\` and \`--omit\` lists, then it will be included. @@ -2236,16 +2233,6 @@ Alias for --include=optional or --omit=optional Alias for \`--omit=dev\` - -#### \`shrinkwrap\` - -* Default: true -* Type: Boolean -* DEPRECATED: Use the --package-lock setting instead. - -Alias for --package-lock - - ` exports[`test/lib/docs.js TAP config > all keys 1`] = ` @@ -2400,7 +2387,6 @@ Array [ "searchopts", "searchstaleness", "shell", - "shrinkwrap", "sign-git-commit", "sign-git-tag", "strict-peer-deps", @@ -2556,7 +2542,6 @@ Array [ "searchopts", "searchstaleness", "shell", - "shrinkwrap", "sign-git-commit", "sign-git-tag", "strict-peer-deps", @@ -5470,23 +5455,6 @@ Note: This command is unaware of workspaces. #### \`location\` ` -exports[`test/lib/docs.js TAP usage shrinkwrap > must match snapshot 1`] = ` -Lock down dependency versions for publication - -Usage: -npm shrinkwrap - -Run "npm help shrinkwrap" for more info - -\`\`\`bash -npm shrinkwrap -\`\`\` - -Note: This command is unaware of workspaces. - -NO PARAMS -` - exports[`test/lib/docs.js TAP usage start > must match snapshot 1`] = ` Start a package diff --git a/tap-snapshots/test/lib/npm.js.test.cjs b/tap-snapshots/test/lib/npm.js.test.cjs index 7e90e3ca7012d..236bbb263109a 100644 --- a/tap-snapshots/test/lib/npm.js.test.cjs +++ b/tap-snapshots/test/lib/npm.js.test.cjs @@ -37,9 +37,9 @@ All commands: init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, repo, - restart, root, run, sbom, search, set, shrinkwrap, start, - stop, team, test, token, trust, undeprecate, uninstall, - unpublish, update, version, view, whoami + restart, root, run, sbom, search, set, start, stop, team, + test, token, trust, undeprecate, uninstall, unpublish, + update, version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -86,12 +86,11 @@ All commands: query, rebuild, repo, restart, root, run, sbom, search, set, - shrinkwrap, start, stop, - team, test, token, - trust, undeprecate, - uninstall, unpublish, - update, version, view, - whoami + start, stop, team, test, + token, trust, + undeprecate, uninstall, + unpublish, update, + version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -138,12 +137,11 @@ All commands: query, rebuild, repo, restart, root, run, sbom, search, set, - shrinkwrap, start, stop, - team, test, token, - trust, undeprecate, - uninstall, unpublish, - update, version, view, - whoami + start, stop, team, test, + token, trust, + undeprecate, uninstall, + unpublish, update, + version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -177,9 +175,9 @@ All commands: init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, repo, - restart, root, run, sbom, search, set, shrinkwrap, start, - stop, team, test, token, trust, undeprecate, uninstall, - unpublish, update, version, view, whoami + restart, root, run, sbom, search, set, start, stop, team, + test, token, trust, undeprecate, uninstall, unpublish, + update, version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -226,12 +224,11 @@ All commands: query, rebuild, repo, restart, root, run, sbom, search, set, - shrinkwrap, start, stop, - team, test, token, - trust, undeprecate, - uninstall, unpublish, - update, version, view, - whoami + start, stop, team, test, + token, trust, + undeprecate, uninstall, + unpublish, update, + version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -278,12 +275,11 @@ All commands: query, rebuild, repo, restart, root, run, sbom, search, set, - shrinkwrap, start, stop, - team, test, token, - trust, undeprecate, - uninstall, unpublish, - update, version, view, - whoami + start, stop, team, test, + token, trust, + undeprecate, uninstall, + unpublish, update, + version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -328,9 +324,8 @@ All commands: profile, prune, publish, query, rebuild, repo, restart, root, run, sbom, - search, set, shrinkwrap, - start, stop, team, test, - token, trust, + search, set, start, stop, + team, test, token, trust, undeprecate, uninstall, unpublish, update, version, view, whoami @@ -367,9 +362,9 @@ All commands: help-search, init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, - repo, restart, root, run, sbom, search, set, shrinkwrap, - start, stop, team, test, token, trust, undeprecate, - uninstall, unpublish, update, version, view, whoami + repo, restart, root, run, sbom, search, set, start, stop, + team, test, token, trust, undeprecate, uninstall, + unpublish, update, version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -403,9 +398,9 @@ All commands: init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, repo, - restart, root, run, sbom, search, set, shrinkwrap, start, - stop, team, test, token, trust, undeprecate, uninstall, - unpublish, update, version, view, whoami + restart, root, run, sbom, search, set, start, stop, team, + test, token, trust, undeprecate, uninstall, unpublish, + update, version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} @@ -439,9 +434,9 @@ All commands: init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, repo, - restart, root, run, sbom, search, set, shrinkwrap, start, - stop, team, test, token, trust, undeprecate, uninstall, - unpublish, update, version, view, whoami + restart, root, run, sbom, search, set, start, stop, team, + test, token, trust, undeprecate, uninstall, unpublish, + update, version, view, whoami Specify configs in the ini-formatted file: {USERCONFIG} diff --git a/tap-snapshots/workspaces/arborist/test/calc-dep-flags.js.test.cjs b/tap-snapshots/workspaces/arborist/test/calc-dep-flags.js.test.cjs deleted file mode 100644 index acdc2a937a41c..0000000000000 --- a/tap-snapshots/workspaces/arborist/test/calc-dep-flags.js.test.cjs +++ /dev/null @@ -1,809 +0,0 @@ -/* IMPORTANT - * This snapshot file is auto-generated, but designed for humans. - * It should be checked into source control and tracked carefully. - * Re-generate by setting TAP_SNAPSHOT=1 and running tests. - * Make sure to inspect the output below. Do not ignore changes! - */ -'use strict' -exports[`workspaces/arborist/test/calc-dep-flags.js TAP flag stuff > after 1`] = ` -ArboristNode { - "children": Map { - "dev" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "dev", - "spec": "*", - "type": "dev", - }, - }, - "edgesOut": Map { - "devdep" => EdgeOut { - "name": "devdep", - "spec": "*", - "to": "node_modules/devdep", - "type": "prod", - }, - }, - "location": "node_modules/dev", - "name": "dev", - "path": "/x/node_modules/dev", - "version": "1.2.3", - }, - "devandoptional" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "node_modules/devdep", - "name": "devandoptional", - "spec": "*", - "type": "optional", - }, - }, - "location": "node_modules/devandoptional", - "name": "devandoptional", - "optional": true, - "path": "/x/node_modules/devandoptional", - "version": "1.2.3", - }, - "devdep" => ArboristNode { - "children": Map { - "linky" => ArboristLink { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "node_modules/devdep", - "name": "linky", - "spec": "*", - "type": "prod", - }, - }, - "location": "node_modules/devdep/node_modules/linky", - "name": "linky", - "path": "/x/node_modules/devdep/node_modules/linky", - "realpath": "/x/y/z", - "resolved": "file:../../../y/z", - "target": ArboristNode { - "location": "y/z", - }, - "version": "1.2.3", - }, - }, - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "node_modules/dev", - "name": "devdep", - "spec": "*", - "type": "prod", - }, - }, - "edgesOut": Map { - "devandoptional" => EdgeOut { - "name": "devandoptional", - "spec": "*", - "to": "node_modules/devandoptional", - "type": "optional", - }, - "devoptional" => EdgeOut { - "name": "devoptional", - "spec": "*", - "to": "node_modules/devoptional", - "type": "prod", - }, - "linky" => EdgeOut { - "name": "linky", - "spec": "*", - "to": "node_modules/devdep/node_modules/linky", - "type": "prod", - }, - "proddep" => EdgeOut { - "name": "proddep", - "spec": "*", - "to": "node_modules/proddep", - "type": "prod", - }, - }, - "location": "node_modules/devdep", - "name": "devdep", - "path": "/x/node_modules/devdep", - "version": "1.2.3", - }, - "devoptional" => ArboristNode { - "devOptional": true, - "edgesIn": Set { - EdgeIn { - "from": "node_modules/devdep", - "name": "devoptional", - "spec": "*", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/optional", - "name": "devoptional", - "spec": "*", - "type": "prod", - }, - }, - "location": "node_modules/devoptional", - "name": "devoptional", - "path": "/x/node_modules/devoptional", - "version": "1.2.3", - }, - "extraneous" => ArboristNode { - "dev": true, - "extraneous": true, - "location": "node_modules/extraneous", - "name": "extraneous", - "optional": true, - "path": "/x/node_modules/extraneous", - "peer": true, - }, - "metapeer" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/prod", - "name": "metapeer", - "spec": "*", - "type": "peer", - }, - }, - "edgesOut": Map { - "metapeerdep" => EdgeOut { - "name": "metapeerdep", - "spec": "*", - "to": "node_modules/metapeerdep", - "type": "prod", - }, - }, - "location": "node_modules/metapeer", - "name": "metapeer", - "path": "/x/node_modules/metapeer", - "peer": true, - "version": "1.2.3", - }, - "metapeerdep" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/metapeer", - "name": "metapeerdep", - "spec": "*", - "type": "prod", - }, - }, - "location": "node_modules/metapeerdep", - "name": "metapeerdep", - "path": "/x/node_modules/metapeerdep", - "version": "1.2.3", - }, - "optional" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "optional", - "spec": "*", - "type": "optional", - }, - }, - "edgesOut": Map { - "devoptional" => EdgeOut { - "name": "devoptional", - "spec": "*", - "to": "node_modules/devoptional", - "type": "prod", - }, - "missing" => EdgeOut { - "error": "MISSING", - "name": "missing", - "spec": "*", - "to": null, - "type": "prod", - }, - }, - "location": "node_modules/optional", - "name": "optional", - "optional": true, - "path": "/x/node_modules/optional", - "version": "1.2.3", - }, - "peer" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "peer", - "spec": "*", - "type": "peer", - }, - }, - "edgesOut": Map { - "peerdep" => EdgeOut { - "name": "peerdep", - "spec": "*", - "to": "node_modules/peerdep", - "type": "prod", - }, - }, - "location": "node_modules/peer", - "name": "peer", - "path": "/x/node_modules/peer", - "peer": true, - "version": "1.2.3", - }, - "peerdep" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/peer", - "name": "peerdep", - "spec": "*", - "type": "prod", - }, - }, - "location": "node_modules/peerdep", - "name": "peerdep", - "path": "/x/node_modules/peerdep", - "version": "1.2.3", - }, - "prod" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "prod", - "spec": "*", - "type": "prod", - }, - }, - "edgesOut": Map { - "metapeer" => EdgeOut { - "name": "metapeer", - "spec": "*", - "to": "node_modules/metapeer", - "type": "peer", - }, - "proddep" => EdgeOut { - "name": "proddep", - "spec": "*", - "to": "node_modules/proddep", - "type": "prod", - }, - }, - "location": "node_modules/prod", - "name": "prod", - "path": "/x/node_modules/prod", - "version": "1.2.3", - }, - "proddep" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/devdep", - "name": "proddep", - "spec": "*", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/prod", - "name": "proddep", - "spec": "*", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/proddep", - "name": "proddep", - "spec": "*", - "type": "prod", - }, - }, - "edgesOut": Map { - "proddep" => EdgeOut { - "name": "proddep", - "spec": "*", - "to": "node_modules/proddep", - "type": "prod", - }, - }, - "location": "node_modules/proddep", - "name": "proddep", - "path": "/x/node_modules/proddep", - "version": "1.2.3", - }, - }, - "edgesOut": Map { - "dev" => EdgeOut { - "name": "dev", - "spec": "*", - "to": "node_modules/dev", - "type": "dev", - }, - "optional" => EdgeOut { - "name": "optional", - "spec": "*", - "to": "node_modules/optional", - "type": "optional", - }, - "peer" => EdgeOut { - "name": "peer", - "spec": "*", - "to": "node_modules/peer", - "type": "peer", - }, - "prod" => EdgeOut { - "name": "prod", - "spec": "*", - "to": "node_modules/prod", - "type": "prod", - }, - }, - "fsChildren": Set { - ArboristNode { - "children": Map { - "linklink" => ArboristLink { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "y/z", - "name": "linklink", - "spec": "*", - "type": "prod", - }, - }, - "location": "y/z/node_modules/linklink", - "name": "linklink", - "path": "/x/y/z/node_modules/linklink", - "realpath": "/l/i/n/k/link", - "resolved": "file:../../../../l/i/n/k/link", - "target": ArboristNode { - "dev": true, - "location": "../l/i/n/k/link", - "name": "link", - "packageName": "linklink", - "path": "/l/i/n/k/link", - "version": "1.2.3", - }, - "version": "1.2.3", - }, - }, - "dev": true, - "edgesOut": Map { - "linklink" => EdgeOut { - "name": "linklink", - "spec": "*", - "to": "y/z/node_modules/linklink", - "type": "prod", - }, - }, - "location": "y/z", - "name": "z", - "packageName": "linky", - "path": "/x/y/z", - "version": "1.2.3", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "x", - "path": "/x", -} -` - -exports[`workspaces/arborist/test/calc-dep-flags.js TAP no reset > after 1`] = ` -ArboristNode { - "children": Map { - "foo" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "foo", - "spec": "*", - "type": "prod", - }, - }, - "location": "node_modules/foo", - "name": "foo", - "path": "/some/path/node_modules/foo", - "version": "1.2.3", - }, - }, - "dev": true, - "edgesOut": Map { - "foo" => EdgeOut { - "name": "foo", - "spec": "*", - "to": "node_modules/foo", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "path", - "path": "/some/path", -} -` - -exports[`workspaces/arborist/test/calc-dep-flags.js TAP peer dependency with optional dependency > after calcDepFlags 1`] = ` -ArboristNode { - "children": Map { - "B" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "B", - "spec": "1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "C" => EdgeOut { - "name": "C", - "spec": "1.0.0", - "to": "node_modules/C", - "type": "peer", - }, - }, - "location": "node_modules/B", - "name": "B", - "path": "/project/node_modules/B", - "version": "1.0.0", - }, - "C" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/B", - "name": "C", - "spec": "1.0.0", - "type": "peer", - }, - }, - "edgesOut": Map { - "D" => EdgeOut { - "name": "D", - "spec": "1.0.0", - "to": "node_modules/D", - "type": "optional", - }, - }, - "location": "node_modules/C", - "name": "C", - "path": "/project/node_modules/C", - "peer": true, - "version": "1.0.0", - }, - "D" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/C", - "name": "D", - "spec": "1.0.0", - "type": "optional", - }, - }, - "location": "node_modules/D", - "name": "D", - "optional": true, - "path": "/project/node_modules/D", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "B" => EdgeOut { - "name": "B", - "spec": "1.0.0", - "to": "node_modules/B", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "project", - "packageName": "A", - "path": "/project", - "version": "1.0.0", -} -` - -exports[`workspaces/arborist/test/calc-dep-flags.js TAP peer dependency with optional dependency > before calcDepFlags 1`] = ` -ArboristNode { - "children": Map { - "B" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "B", - "spec": "1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "C" => EdgeOut { - "name": "C", - "spec": "1.0.0", - "to": "node_modules/C", - "type": "peer", - }, - }, - "extraneous": true, - "location": "node_modules/B", - "name": "B", - "optional": true, - "path": "/project/node_modules/B", - "peer": true, - "version": "1.0.0", - }, - "C" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "node_modules/B", - "name": "C", - "spec": "1.0.0", - "type": "peer", - }, - }, - "edgesOut": Map { - "D" => EdgeOut { - "name": "D", - "spec": "1.0.0", - "to": "node_modules/D", - "type": "optional", - }, - }, - "extraneous": true, - "location": "node_modules/C", - "name": "C", - "optional": true, - "path": "/project/node_modules/C", - "peer": true, - "version": "1.0.0", - }, - "D" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "node_modules/C", - "name": "D", - "spec": "1.0.0", - "type": "optional", - }, - }, - "extraneous": true, - "location": "node_modules/D", - "name": "D", - "optional": true, - "path": "/project/node_modules/D", - "peer": true, - "version": "1.0.0", - }, - }, - "dev": true, - "edgesOut": Map { - "B" => EdgeOut { - "name": "B", - "spec": "1.0.0", - "to": "node_modules/B", - "type": "prod", - }, - }, - "extraneous": true, - "isProjectRoot": true, - "location": "", - "name": "project", - "optional": true, - "packageName": "A", - "path": "/project", - "peer": true, - "version": "1.0.0", -} -` - -exports[`workspaces/arborist/test/calc-dep-flags.js TAP set parents to not extraneous when visiting > after 1`] = ` -ArboristNode { - "children": Map { - "asdf" => ArboristNode { - "children": Map { - "baz" => ArboristNode { - "location": "node_modules/asdf/node_modules/baz", - "name": "baz", - "path": "/some/path/node_modules/asdf/node_modules/baz", - "version": "1.2.3", - }, - }, - "location": "node_modules/asdf", - "name": "asdf", - "path": "/some/path/node_modules/asdf", - "version": "1.2.3", - }, - "baz" => ArboristLink { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "baz", - "spec": "file:node_modules/asdf/node_modules/baz", - "type": "prod", - }, - }, - "location": "node_modules/baz", - "name": "baz", - "path": "/some/path/node_modules/baz", - "realpath": "/some/path/node_modules/asdf/node_modules/baz", - "resolved": "file:asdf/node_modules/baz", - "target": ArboristNode { - "location": "node_modules/asdf/node_modules/baz", - }, - "version": "1.2.3", - }, - "foo" => ArboristLink { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "foo", - "spec": "file:bar/foo", - "type": "prod", - }, - }, - "location": "node_modules/foo", - "name": "foo", - "path": "/some/path/node_modules/foo", - "realpath": "/some/path/bar/foo", - "resolved": "file:../bar/foo", - "target": ArboristNode { - "location": "bar/foo", - }, - "version": "1.2.3", - }, - }, - "edgesOut": Map { - "baz" => EdgeOut { - "name": "baz", - "spec": "file:node_modules/asdf/node_modules/baz", - "to": "node_modules/baz", - "type": "prod", - }, - "foo" => EdgeOut { - "name": "foo", - "spec": "file:bar/foo", - "to": "node_modules/foo", - "type": "prod", - }, - }, - "fsChildren": Set { - ArboristNode { - "fsChildren": Set { - ArboristNode { - "location": "bar/foo", - "name": "foo", - "path": "/some/path/bar/foo", - "version": "1.2.3", - }, - }, - "location": "bar", - "name": "bar", - "path": "/some/path/bar", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "path", - "path": "/some/path", -} -` - -exports[`workspaces/arborist/test/calc-dep-flags.js TAP set parents to not extraneous when visiting > before 1`] = ` -ArboristNode { - "children": Map { - "asdf" => ArboristNode { - "children": Map { - "baz" => ArboristNode { - "dev": true, - "extraneous": true, - "location": "node_modules/asdf/node_modules/baz", - "name": "baz", - "optional": true, - "path": "/some/path/node_modules/asdf/node_modules/baz", - "peer": true, - "version": "1.2.3", - }, - }, - "dev": true, - "extraneous": true, - "location": "node_modules/asdf", - "name": "asdf", - "optional": true, - "path": "/some/path/node_modules/asdf", - "peer": true, - "version": "1.2.3", - }, - "baz" => ArboristLink { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "baz", - "spec": "file:node_modules/asdf/node_modules/baz", - "type": "prod", - }, - }, - "extraneous": true, - "location": "node_modules/baz", - "name": "baz", - "optional": true, - "path": "/some/path/node_modules/baz", - "peer": true, - "realpath": "/some/path/node_modules/asdf/node_modules/baz", - "resolved": "file:asdf/node_modules/baz", - "target": ArboristNode { - "location": "node_modules/asdf/node_modules/baz", - }, - "version": "1.2.3", - }, - "foo" => ArboristLink { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "foo", - "spec": "file:bar/foo", - "type": "prod", - }, - }, - "extraneous": true, - "location": "node_modules/foo", - "name": "foo", - "optional": true, - "path": "/some/path/node_modules/foo", - "peer": true, - "realpath": "/some/path/bar/foo", - "resolved": "file:../bar/foo", - "target": ArboristNode { - "location": "bar/foo", - }, - "version": "1.2.3", - }, - }, - "dev": true, - "edgesOut": Map { - "baz" => EdgeOut { - "name": "baz", - "spec": "file:node_modules/asdf/node_modules/baz", - "to": "node_modules/baz", - "type": "prod", - }, - "foo" => EdgeOut { - "name": "foo", - "spec": "file:bar/foo", - "to": "node_modules/foo", - "type": "prod", - }, - }, - "extraneous": true, - "fsChildren": Set { - ArboristNode { - "dev": true, - "extraneous": true, - "fsChildren": Set { - ArboristNode { - "dev": true, - "extraneous": true, - "location": "bar/foo", - "name": "foo", - "optional": true, - "path": "/some/path/bar/foo", - "peer": true, - "version": "1.2.3", - }, - }, - "location": "bar", - "name": "bar", - "optional": true, - "path": "/some/path/bar", - "peer": true, - }, - }, - "isProjectRoot": true, - "location": "", - "name": "path", - "optional": true, - "path": "/some/path", - "peer": true, -} -` diff --git a/test/lib/commands/cache.js b/test/lib/commands/cache.js index 7b79e111cd246..dc4b0388f9df8 100644 --- a/test/lib/commands/cache.js +++ b/test/lib/commands/cache.js @@ -9,16 +9,16 @@ const { cleanCwd } = require('../../fixtures/clean-snapshot.js') const pkg = 'test-package' -const createNpxCacheEntry = (npxCacheDir, hash, pkgJson, shrinkwrapJson) => { +const createNpxCacheEntry = (npxCacheDir, hash, pkgJson, lockJson) => { fs.mkdirSync(path.join(npxCacheDir, hash)) fs.writeFileSync( path.join(npxCacheDir, hash, 'package.json'), JSON.stringify(pkgJson) ) - if (shrinkwrapJson) { + if (lockJson) { fs.writeFileSync( - path.join(npxCacheDir, hash, 'npm-shrinkwrap.json'), - JSON.stringify(shrinkwrapJson) + path.join(npxCacheDir, hash, 'package-lock.json'), + JSON.stringify(lockJson) ) } } @@ -685,7 +685,7 @@ t.test('cache npx info: valid entry with a link dependency', async t => { ) fs.writeFileSync( - path.join(pkgDir, 'npm-shrinkwrap.json'), + path.join(pkgDir, 'package-lock.json'), JSON.stringify({ name: 'link-package', version: '1.0.0', diff --git a/test/lib/commands/ci.js b/test/lib/commands/ci.js index 6db01d7b6ec7a..733b46a828133 100644 --- a/test/lib/commands/ci.js +++ b/test/lib/commands/ci.js @@ -182,7 +182,7 @@ t.test('lifecycle scripts', async t => { ], 'runs appropriate scripts, in order') }) -t.test('should throw if package-lock.json or npm-shrinkwrap missing', async t => { +t.test('should throw if package-lock.json is missing', async t => { const { npm } = await loadMockNpm(t, { prefixDir: { 'package.json': JSON.stringify(packageJson), diff --git a/test/lib/commands/config.js b/test/lib/commands/config.js index 9a65e883cfebc..fbcc58ba40153 100644 --- a/test/lib/commands/config.js +++ b/test/lib/commands/config.js @@ -342,14 +342,6 @@ t.test('config set invalid option', async t => { ) }) -t.test('config set deprecated option', async t => { - const { npm } = await loadMockNpm(t) - await t.rejects( - npm.exec('config', ['set', 'shrinkwrap', 'true']), - /deprecated/ - ) -}) - t.test('config set nerf-darted option', async t => { const { npm } = await loadMockNpm(t) await npm.exec('config', ['set', '//npm.pkg.github.com/:_authToken', '0xdeadbeef']) diff --git a/test/lib/commands/sbom.js b/test/lib/commands/sbom.js index b93011b5e28bc..a0cbca0ed4e31 100644 --- a/test/lib/commands/sbom.js +++ b/test/lib/commands/sbom.js @@ -473,7 +473,7 @@ t.test('sbom', async t => { }) await t.rejects(sbom.exec([]), { code: 'EUSAGE', - message: 'A package lock or shrinkwrap file is required in package-lock-only mode', + message: 'A package-lock.json file is required in package-lock-only mode', }, 'should throw error') diff --git a/test/lib/commands/shrinkwrap.js b/test/lib/commands/shrinkwrap.js deleted file mode 100644 index ec65ca604a88b..0000000000000 --- a/test/lib/commands/shrinkwrap.js +++ /dev/null @@ -1,232 +0,0 @@ -const t = require('tap') -const fs = require('node:fs') -const { resolve } = require('node:path') -const { load: loadMockNpm } = require('../../fixtures/mock-npm') - -// Attempt to parse json values in snapshots before -// stringifying to remove escaped values like \\" -// This also doesn't reorder the keys of the object -// like tap does by default which is nice in this case -t.formatSnapshot = obj => - JSON.stringify( - obj, - (k, v) => { - try { - return JSON.parse(v) - } catch { - // leave invalid JSON as a string - } - return v - }, - 2 - ) - -// Run shrinkwrap against a specified prefixDir with config items -// and make some assertions that should always be true. Sets -// the results on t.context for use in child tests -const shrinkwrap = async (t, prefixDir = {}, config = {}) => { - const { npm, logs } = await loadMockNpm(t, { - config, - prefixDir, - }) - - await npm.exec('shrinkwrap', []) - - const newFile = resolve(npm.prefix, 'npm-shrinkwrap.json') - const oldFile = resolve(npm.prefix, 'package-lock.json') - - t.notOk(fs.existsSync(oldFile), 'package-lock is always deleted') - t.teardown(() => delete t.context) - t.context = { - localPrefix: prefixDir, - config, - shrinkwrap: JSON.parse(fs.readFileSync(newFile)), - logs: logs.notice, - warn: logs.warn, - } -} - -// Run shrinkwrap against all combinations of existing and config -// lockfile versions -const shrinkwrapMatrix = async (t, file, assertions) => { - const ancient = JSON.stringify({ lockfileVersion: 1 }) - const existing = JSON.stringify({ lockfileVersion: 2 }) - const upgrade = { 'lockfile-version': 3 } - const downgrade = { 'lockfile-version': 1 } - - let ancientDir = {} - let existingDir = null - if (file === 'package-lock') { - ancientDir = { 'package-lock.json': ancient } - existingDir = { 'package-lock.json': existing } - } else if (file === 'npm-shrinkwrap') { - ancientDir = { 'npm-shrinkwrap.json': ancient } - existingDir = { 'npm-shrinkwrap.json': existing } - } else if (file === 'hidden-lockfile') { - ancientDir = { node_modules: { '.package-lock.json': ancient } } - existingDir = { node_modules: { '.package-lock.json': existing } } - } - - await t.test('ancient', async t => { - await shrinkwrap(t, ancientDir) - t.match(t.context, assertions.ancient) - t.matchSnapshot(t.context) - }) - await t.test('ancient upgrade', async t => { - await shrinkwrap(t, ancientDir, upgrade) - t.match(t.context, assertions.ancientUpgrade) - t.matchSnapshot(t.context) - }) - - if (existingDir) { - await t.test('existing', async t => { - await shrinkwrap(t, existingDir) - t.match(t.context, assertions.existing) - t.matchSnapshot(t.context) - }) - await t.test('existing upgrade', async t => { - await shrinkwrap(t, existingDir, upgrade) - t.match(t.context, assertions.existingUpgrade) - t.matchSnapshot(t.context) - }) - await t.test('existing downgrade', async t => { - await shrinkwrap(t, existingDir, downgrade) - t.match(t.context, assertions.existingDowngrade) - t.matchSnapshot(t.context) - }) - } -} - -const NOTICES = { - CREATED: (v = '') => [`created a lockfile as npm-shrinkwrap.json${v && ` with version ${v}`}`], - RENAMED: (v = '') => [ - `package-lock.json has been renamed to npm-shrinkwrap.json${ - v && ` and updated to version ${v}` - }`, - ], - UPDATED: (v = '') => [`npm-shrinkwrap.json updated to version ${v}`], - SAME: () => [`npm-shrinkwrap.json up to date`], - CONVERTING: (current, next) => - [`Converting lock file (npm-shrinkwrap.json) from v${current} -> v${next}`], -} - -t.test('with nothing', t => - shrinkwrapMatrix(t, null, { - ancient: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.CREATED(3), - warn: [], - }, - ancientUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.CREATED(3), - warn: [], - }, - }) -) - -t.test('with package-lock.json', t => - shrinkwrapMatrix(t, 'package-lock', { - ancient: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.RENAMED(3), - warn: NOTICES.CONVERTING(1, 3), - }, - ancientUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.RENAMED(3), - warn: NOTICES.CONVERTING(1, 3), - }, - existing: { - shrinkwrap: { lockfileVersion: 2 }, - logs: NOTICES.RENAMED(), - warn: [], - }, - existingUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.RENAMED(3), - warn: NOTICES.CONVERTING(2, 3), - }, - existingDowngrade: { - shrinkwrap: { lockfileVersion: 1 }, - logs: NOTICES.RENAMED(1), - warn: NOTICES.CONVERTING(2, 1), - }, - }) -) - -t.test('with npm-shrinkwrap.json', t => - shrinkwrapMatrix(t, 'npm-shrinkwrap', { - ancient: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.UPDATED(3), - warn: NOTICES.CONVERTING(1, 3), - }, - ancientUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.UPDATED(3), - warn: NOTICES.CONVERTING(1, 3), - }, - existing: { - shrinkwrap: { lockfileVersion: 2 }, - logs: NOTICES.SAME(), - warn: [], - }, - existingUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.UPDATED(3), - warn: NOTICES.CONVERTING(2, 3), - }, - existingDowngrade: { - shrinkwrap: { lockfileVersion: 1 }, - logs: NOTICES.UPDATED(1), - warn: NOTICES.CONVERTING(2, 1), - }, - }) -) - -t.test('with hidden lockfile', t => - shrinkwrapMatrix(t, 'hidden-lockfile', { - ancient: { - shrinkwrap: { lockfileVersion: 1 }, - logs: NOTICES.CREATED(), - warn: [], - }, - ancientUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.CREATED(), - warn: NOTICES.CONVERTING(1, 3), - }, - existing: { - shrinkwrap: { lockfileVersion: 2 }, - logs: NOTICES.CREATED(), - warn: [], - }, - existingUpgrade: { - shrinkwrap: { lockfileVersion: 3 }, - logs: NOTICES.CREATED(3), - warn: NOTICES.CONVERTING(2, 3), - }, - existingDowngrade: { - shrinkwrap: { lockfileVersion: 1 }, - logs: NOTICES.CREATED(1), - warn: NOTICES.CONVERTING(2, 1), - }, - }) -) - -t.test('throws in global mode', async t => { - t.rejects( - shrinkwrap( - t, - {}, - { - global: true, - } - ), - { - message: '`npm shrinkwrap` does not work for global packages', - code: 'ESHRINKWRAPGLOBAL', - } - ) -}) diff --git a/workspaces/arborist/README.md b/workspaces/arborist/README.md index bdffaf4041ab6..7263a83f6b31b 100644 --- a/workspaces/arborist/README.md +++ b/workspaces/arborist/README.md @@ -60,7 +60,7 @@ arb.loadActual().then(tree => { // tree is also stored at arb.virtualTree }) -// read just what the package-lock.json/npm-shrinkwrap says +// read just what the package-lock.json says // This *also* loads the yarn.lock file, but that's only relevant // when building the ideal tree. arb.loadVirtual().then(tree => { @@ -301,7 +301,7 @@ pruning nodes from the tree. that the dep is brought in by a peer dep at some point, rather than a normal non-peer dependency. -Note: `devOptional` is only set in the shrinkwrap/package-lock file if +Note: `devOptional` is only set in the package-lock file if _neither_ `dev` nor `optional` are set, as it would be redundant. ## BIN diff --git a/workspaces/arborist/bin/index.js b/workspaces/arborist/bin/index.js index 0b559687ac06a..4e8e8adb621f1 100755 --- a/workspaces/arborist/bin/index.js +++ b/workspaces/arborist/bin/index.js @@ -20,8 +20,7 @@ ${message && '\n' + message + '\n'} * prune: prune the ideal tree and reify (like npm prune) * ideal: generate and print the ideal tree * actual: read and print the actual tree in node_modules - * virtual: read and print the virtual tree in the local shrinkwrap file - * shrinkwrap: load a local shrinkwrap and print its data + * virtual: read and print the virtual tree in the local package-lock.json * audit: perform a security audit on project dependencies * funding: query funding information in the local package tree. A second positional argument after the path name can limit to a package name. diff --git a/workspaces/arborist/bin/shrinkwrap.js b/workspaces/arborist/bin/shrinkwrap.js deleted file mode 100644 index 56603224e9988..0000000000000 --- a/workspaces/arborist/bin/shrinkwrap.js +++ /dev/null @@ -1,7 +0,0 @@ -const Shrinkwrap = require('../lib/shrinkwrap.js') - -module.exports = (options, time) => Shrinkwrap - .load(options) - .then((s) => s.commit()) - .then(time) - .then(({ result: s }) => JSON.stringify(s, 0, 2)) diff --git a/workspaces/arborist/docs/ideal-tree.md b/workspaces/arborist/docs/ideal-tree.md index 33811a624a416..c508627ab7343 100644 --- a/workspaces/arborist/docs/ideal-tree.md +++ b/workspaces/arborist/docs/ideal-tree.md @@ -25,11 +25,10 @@ Options: ## to BUILD IDEAL TREE: -1. Load the root node's package and (if present) shrinkwrap +1. Load the root node's package and (if present) lockfile 2. Add and remove deps to/from the root node's package if requested 3. If any named updates specified, then for each name on the list: - 1. Find all nodes in the tree by that name that are not in a shrinkwrap - or bundle + 1. Find all nodes in the tree by that name that are not in a bundle 2. For each dependent in their edgesIn set, add the dependent to the queue of packages to be checked for updates 4. Add the root node to the queue of packages to be checked for updates @@ -41,21 +40,19 @@ Options: visited) 4. If node has been moved out of the tree or replaced, continue to next node (it's no longer relevant) - 5. If node has a shrinkwrap, continue to next node (its deps are - locked) - 6. For each dependency in node.edgesOut: - 1. If part of a bundle or shrinkwrap, continue to next dependency + 5. For each dependency in node.edgesOut: + 1. If part of a bundle, continue to next dependency 2. If edge is invalid, or name is on the update.names list: 1. Fetch the manifest for the dependency, and create a new Node 2. Add Node to virtual root node, also load Node's peerDependencies (and meta-peerDependencies) 3. Attempt to PLACE the dep in the tree 3. Add each placed node to the queue to be checked for updates -6. If the shrinkwrap was loaded from disk, and the tree was mutated, reset +6. If the lockfile was loaded from disk, and the tree was mutated, reset all dependency flags to true (dev, optional, devOptional, extraneous) -7. If the shrinkwrap was not loaded from disk, or the tree was mutated, +7. If the lockfile was not loaded from disk, or the tree was mutated, calculate dependency flags appropriately (like for a `loadActual` walk) -8. If options.prune is not false, and we started from a shrinkwrap and then +8. If options.prune is not false, and we started from a lockfile and then mutated the tree, prune any deps that are now extraneous. ## to PLACE a dep in the tree to satisfy an edge for a node: diff --git a/workspaces/arborist/docs/reify.md b/workspaces/arborist/docs/reify.md index a05b6aace8bdf..0309bb763d564 100644 --- a/workspaces/arborist/docs/reify.md +++ b/workspaces/arborist/docs/reify.md @@ -113,25 +113,7 @@ a Fail: rimraf sparse tree, fail step 1 -### step 3: load shrinkwraps - -Unpack any shrinkwrapped nodes, and `loadVirtual` on them, and then update -the ideal tree with their virtual tree nodes. These will always be leaf -nodes, because any `hasShrinkwrap` nodes did not have their deps loaded in -the buildIdealTree step. - -If no shrinkwraps present, proceed to step 4. - -Else: - -- loadVirtual in the newly unpacked shrinkwrap node using the current ideal - node as the root of the virtual tree -- diff trees again -- create the sparse tree - -Fail: fail step 2 - -### step 4: unpack bundled deps into sparse tree and update +### step 3: unpack bundled deps into sparse tree and update 1. Group all nodes with bundles by depth. 2. For depth = 0 to max, for all nodes at that depth with bundleDeps, @@ -248,17 +230,7 @@ Scan actualTree inventory. For each node: `mkdir` every path in ideal tree that does not exist in actualTree -### step 3: extract shrinkwrap modules - -Each node with a shrinkwrap is already a tip of the tree, because its child -nodes are not traversed in the ideal tree. - -Unpack them into place, and then call loadVirtual using the shrinkwrapped -node as the root, this filling out the ideal tree with the virtual nodes. - -Repeat step 2 if any shrinkwrap nodes were created. - -### step 4: extract bundlers +### step 3: extract bundlers 1. Group all nodes with bundles by depth. 2. for depth = 0, for all nodes at that depth with bundleDependencies, @@ -268,7 +240,7 @@ Repeat step 2 if any shrinkwrap nodes were created. depth=1 child node into the ideal tree. 3. if any bundle deps unpacked, prune tree -### step 5: extract all others +### step 4: extract all others Extract all remaining packages in parallel. diff --git a/workspaces/arborist/docs/tree-types.md b/workspaces/arborist/docs/tree-types.md index d71b4c429692d..4fa3089a18a7d 100644 --- a/workspaces/arborist/docs/tree-types.md +++ b/workspaces/arborist/docs/tree-types.md @@ -6,18 +6,18 @@ Arborist handles three different types of tree: on disk. It's loaded by calling `arborist.loadActual()`. - `arborist.virtualTree` - This is the package tree as captured in a - `package-lock.json` or `npm-shrinkwrap.json`. It's loaded by calling + `package-lock.json`. It's loaded by calling `arborist.loadVirtual()`. This method _may_ be called with an argument specifying the node to use as the `root` of the tree, like `arborist.loadVirtual({ root: nodeObject })`. If a root is not specified - then a missing shrinkwrap is treated as a failure. If a root is not - specified, then a shrinkwrap file must be present, or the virtual load + then a missing lockfile is treated as a failure. If a root is not + specified, then a lockfile must be present, or the virtual load fails. - `arborist.idealTree` - This is the tree of package data that we intend to - install. It's built up based on the shrinkwrap/lockfile if present, the + install. It's built up based on the lockfile if present, the dependencies in package.json, and any add/remove/update changes requested. This is loaded by calling `arborist.buildIdealTree(options)`. The diff --git a/workspaces/arborist/lib/arborist/build-ideal-tree.js b/workspaces/arborist/lib/arborist/build-ideal-tree.js index 802e10ddda204..bc509ca47944c 100644 --- a/workspaces/arborist/lib/arborist/build-ideal-tree.js +++ b/workspaces/arborist/lib/arborist/build-ideal-tree.js @@ -658,7 +658,7 @@ module.exports = cls => class IdealTreeBuilder extends cls { for (const node of this.idealTree.inventory.values()) { // XXX add any invalid edgesOut to the queue if (this[_updateNames].includes(node.name) && - !node.isTop && !node.inDepBundle && !node.inShrinkwrap) { + !node.isTop && !node.inDepBundle) { for (const edge of node.edgesIn) { this.addTracker('idealTree', edge.from.name, edge.from.location) this.#depsQueue.push(edge.from) @@ -781,15 +781,11 @@ This is a one-time fix-up, please be patient... const node = this.#depsQueue.pop() const bd = node.package.bundleDependencies const hasBundle = bd && Array.isArray(bd) && bd.length - const { hasShrinkwrap } = node // if the node was already visited, or has since been removed from the - // tree, skip over it and process the rest of the queue. If a node has - // a shrinkwrap, also skip it, because it's going to get its deps - // satisfied by whatever's in that file anyway. + // tree, skip over it and process the rest of the queue. if (this.#depsSeen.has(node) || - node.root !== this.idealTree || - hasShrinkwrap && !this.#complete) { + node.root !== this.idealTree) { return this.#buildDepStep() } @@ -799,15 +795,15 @@ This is a one-time fix-up, please be patient... // if we're loading a _complete_ ideal tree, for a --package-lock-only // installation for example, we have to crack open the tarball and - // look inside if it has bundle deps or shrinkwraps. note that this is + // look inside if it has bundle deps. note that this is // not necessary during a reification, because we just update the - // ideal tree by reading bundles/shrinkwraps in place. + // ideal tree by reading bundles in place. // Don't bother if the node is from the actual tree and hasn't // been resolved, because we can't fetch it anyway, could be anything! const crackOpen = this.#complete && node !== this.idealTree && node.resolved && - (hasBundle || hasShrinkwrap) && + hasBundle && !node.inert if (crackOpen) { const Arborist = this.constructor @@ -820,15 +816,8 @@ This is a one-time fix-up, please be patient... integrity: node.integrity, }) - if (hasShrinkwrap) { - await new Arborist({ ...this.options, path }) - .loadVirtual({ root: node }) - } - - if (hasBundle) { - await new Arborist({ ...this.options, path }) - .loadActual({ root: node, ignoreMissing: true }) - } + await new Arborist({ ...this.options, path }) + .loadActual({ root: node, ignoreMissing: true }) }) } @@ -1144,11 +1133,6 @@ This is a one-time fix-up, please be patient... continue } - // If it's shrinkwrapped, we use what the shrinkwap wants. - if (edge.to && edge.to.inShrinkwrap) { - continue - } - // If the edge has no destination, that's a problem, unless // if it's peerOptional and not explicitly requested. if (!edge.to) { diff --git a/workspaces/arborist/lib/arborist/isolated-reifier.js b/workspaces/arborist/lib/arborist/isolated-reifier.js index 1f086e97b3cd5..9e1739a9d7c12 100644 --- a/workspaces/arborist/lib/arborist/isolated-reifier.js +++ b/workspaces/arborist/lib/arborist/isolated-reifier.js @@ -1,5 +1,3 @@ -const { mkdirSync } = require('node:fs') -const pacote = require('pacote') const { join } = require('node:path') const { depth } = require('treeverse') const crypto = require('node:crypto') @@ -147,50 +145,14 @@ module.exports = cls => class IsolatedReifier extends cls { const result = {} // XXX this goes recursive if we don't set here because assignCommonProperties also calls this.#externalProxy this.#externalProxies.set(node, result) - await this.#assignCommonProperties(node, result, !node.hasShrinkwrap) - if (node.hasShrinkwrap) { - const dir = join( - node.root.path, - 'node_modules', - '.store', - `${node.packageName}@${node.version}` - ) - mkdirSync(dir, { recursive: true }) - // TODO this approach feels wrong and shouldn't be necessary for shrinkwraps - await pacote.extract(node.resolved, dir, { - ...this.options, - resolved: node.resolved, - integrity: node.integrity, - // TODO _isRoot - }) - const Arborist = this.constructor - const arb = new Arborist({ ...this.options, path: dir }) - // Make sure that the ideal tree is build as the rest of the algorithm depends on it. - await arb.buildIdealTree({ - complete: false, - dev: false, - }) - await arb.makeIdealGraph() - this.idealGraph.external.push(...arb.idealGraph.external) - for (const edge of arb.idealGraph.external) { - edge.root = this.idealGraph - edge.id = `${node.id}=>${edge.id}` - } - result.localDependencies = [] - result.externalDependencies = arb.idealGraph.externalDependencies - result.externalOptionalDependencies = arb.idealGraph.externalOptionalDependencies - result.dependencies = [ - ...result.externalDependencies, - ...result.externalOptionalDependencies, - ] - } + await this.#assignCommonProperties(node, result) result.optional = node.optional result.resolved = node.resolved result.version = node.version return result } - async #assignCommonProperties (node, result, populateDeps = true) { + async #assignCommonProperties (node, result) { result.root = this.idealGraph // XXX does anything need this? result.id = this.counter++ @@ -200,10 +162,6 @@ module.exports = cls => class IsolatedReifier extends cls { result.package = { ...node.package } result.package.bundleDependencies = undefined - if (!populateDeps) { - return - } - let edges = [...node.edgesOut.values()].filter(edge => edge.to?.target && !(node.package.bundledDependencies || node.package.bundleDependencies)?.includes(edge.to.name) diff --git a/workspaces/arborist/lib/arborist/load-virtual.js b/workspaces/arborist/lib/arborist/load-virtual.js index e5a96a0b5f0b0..36e57a011da5f 100644 --- a/workspaces/arborist/lib/arborist/load-virtual.js +++ b/workspaces/arborist/lib/arborist/load-virtual.js @@ -39,7 +39,7 @@ module.exports = cls => class VirtualLoader extends cls { resolveOptions: this.options, }) if (!s.loadedFromDisk && !options.root) { - const er = new Error('loadVirtual requires existing shrinkwrap file') + const er = new Error('loadVirtual requires existing package-lock.json file') throw Object.assign(er, { code: 'ENOLOCK' }) } @@ -244,7 +244,6 @@ To fix: integrity: sw.integrity, resolved: consistentResolve(sw.resolved, this.path, path), pkg: sw, - hasShrinkwrap: sw.hasShrinkwrap, loadOverrides, // cast to boolean because they're undefined in the lock file when false extraneous: !!sw.extraneous, diff --git a/workspaces/arborist/lib/arborist/reify.js b/workspaces/arborist/lib/arborist/reify.js index 26ad0016be3a9..da5f4a73bc79f 100644 --- a/workspaces/arborist/lib/arborist/reify.js +++ b/workspaces/arborist/lib/arborist/reify.js @@ -47,7 +47,6 @@ const _checkBins = Symbol.for('checkBins') // TODO tests should not be this deep into internals const _diffTrees = Symbol.for('diffTrees') const _createSparseTree = Symbol.for('createSparseTree') -const _loadShrinkwrapsAndUpdateTrees = Symbol.for('loadShrinkwrapsAndUpdateTrees') const _reifyNode = Symbol.for('reifyNode') const _updateAll = Symbol.for('updateAll') const _updateNames = Symbol.for('updateNames') @@ -72,7 +71,6 @@ module.exports = cls => class Reifier extends cls { #omit #retiredPaths = {} #retiredUnchanged = {} - #shrinkwrapInflated = new Set() #sparseTreeDirs = new Set() #sparseTreeRoots = new Set() #linkedActualForDiff = null @@ -301,7 +299,6 @@ module.exports = cls => class Reifier extends cls { ]], [_rollbackCreateSparseTree, [ _createSparseTree, - _loadShrinkwrapsAndUpdateTrees, _loadBundlesAndUpdateTrees, _submitQuickAudit, _unpackNewModules, @@ -461,7 +458,6 @@ module.exports = cls => class Reifier extends cls { // and ideal trees. this.diff = Diff.calculate({ omit: this.#omit, - shrinkwrapInflated: this.#shrinkwrapInflated, filterNodes, actual: this.#linkedActualForDiff || this.actualTree, ideal: this.idealTree, @@ -612,39 +608,6 @@ module.exports = cls => class Reifier extends cls { .then(() => this[_rollbackRetireShallowNodes](er)) } - // shrinkwrap nodes define their dependency branches with a file, so - // we need to unpack them, read that shrinkwrap file, and then update - // the tree by calling loadVirtual with the node as the root. - [_loadShrinkwrapsAndUpdateTrees] () { - const seen = this.#shrinkwrapInflated - const shrinkwraps = this.diff.leaves - .filter(d => (d.action === 'CHANGE' || d.action === 'ADD' || !d.action) && - d.ideal.hasShrinkwrap && !seen.has(d.ideal) && - !this[_trashList].has(d.ideal.path)) - - if (!shrinkwraps.length) { - return - } - - const timeEnd = time.start('reify:loadShrinkwraps') - - const Arborist = this.constructor - return promiseAllRejectLate(shrinkwraps.map(diff => { - const node = diff.ideal - seen.add(node) - return diff.action ? this[_reifyNode](node) : node - })) - .then(nodes => promiseAllRejectLate(nodes.map(node => new Arborist({ - ...this.options, - path: node.path, - }).loadVirtual({ root: node })))) - // reload the diff and sparse tree because the ideal tree changed - .then(() => this[_diffTrees]()) - .then(() => this[_createSparseTree]()) - .then(() => this[_loadShrinkwrapsAndUpdateTrees]()) - .then(timeEnd) - } - // create a symlink for Links, extract for Nodes // return the node object, since we usually want that // handle optional dep failures here @@ -1146,7 +1109,6 @@ module.exports = cls => class Reifier extends cls { const node = diff.ideal const bd = this.#bundleUnpacked.has(node) - const sw = this.#shrinkwrapInflated.has(node) const bundleMissing = this.#bundleMissing.has(node) // check whether we still need to unpack this one. @@ -1156,8 +1118,6 @@ module.exports = cls => class Reifier extends cls { !node.isRoot && // already unpacked to read bundle !bd && - // already unpacked to read sw - !sw && // already unpacked by another dep's bundle (bundleMissing || !node.inDepBundle) diff --git a/workspaces/arborist/lib/diff.js b/workspaces/arborist/lib/diff.js index 5a20749ad135d..12a27ed68157f 100644 --- a/workspaces/arborist/lib/diff.js +++ b/workspaces/arborist/lib/diff.js @@ -11,10 +11,9 @@ const { existsSync } = require('node:fs') const ssri = require('ssri') class Diff { - constructor ({ actual, ideal, filterSet, shrinkwrapInflated, omit }) { + constructor ({ actual, ideal, filterSet, omit }) { this.omit = omit this.filterSet = filterSet - this.shrinkwrapInflated = shrinkwrapInflated this.children = [] this.actual = actual this.ideal = ideal @@ -36,7 +35,6 @@ class Diff { actual, ideal, filterNodes = [], - shrinkwrapInflated = new Set(), omit = new Set(), }) { // if there's a filterNode, then: @@ -102,7 +100,7 @@ class Diff { } return depth({ - tree: new Diff({ actual, ideal, filterSet, shrinkwrapInflated, omit }), + tree: new Diff({ actual, ideal, filterSet, omit }), getChildren, leave, }) @@ -191,26 +189,16 @@ const getChildren = diff => { unchanged, removed, filterSet, - shrinkwrapInflated, omit, } = diff // Note: we DON'T diff fsChildren themselves, because they are either - // included in the package contents, or part of some other project, and - // will never appear in legacy shrinkwraps anyway. but we _do_ include the - // child nodes of fsChildren, because those are nodes that we are typically - // responsible for installing. + // included in the package contents, or part of some other project. + // But we _do_ include the child nodes of fsChildren, because those are + // nodes that we are typically responsible for installing. const actualKids = allChildren(actual) const idealKids = allChildren(ideal) - if (ideal && ideal.hasShrinkwrap && !shrinkwrapInflated.has(ideal)) { - // Guaranteed to get a diff.leaves here, because we always - // be called with a proper Diff object when ideal has a shrinkwrap - // that has not been inflated. - diff.leaves.push(diff) - return children - } - const paths = new Set([...actualKids.keys(), ...idealKids.keys()]) for (const path of paths) { const actual = actualKids.get(path) @@ -222,7 +210,6 @@ const getChildren = diff => { unchanged, removed, filterSet, - shrinkwrapInflated, omit, }) } @@ -241,7 +228,6 @@ const diffNode = ({ unchanged, removed, filterSet, - shrinkwrapInflated, omit, }) => { if (filterSet.size && !(filterSet.has(ideal) || filterSet.has(actual))) { @@ -264,11 +250,11 @@ const diffNode = ({ // if it's a match, then get its children // otherwise, this is the child diff node - if (action || (!shrinkwrapInflated.has(ideal) && ideal.hasShrinkwrap)) { + if (action) { if (action === 'REMOVE') { removed.push(actual) } - children.push(new Diff({ actual, ideal, filterSet, shrinkwrapInflated, omit })) + children.push(new Diff({ actual, ideal, filterSet, omit })) } else { unchanged.push(ideal) // !*! Weird dirty hack warning !*! @@ -307,7 +293,6 @@ const diffNode = ({ unchanged, removed, filterSet, - shrinkwrapInflated, omit, })) } diff --git a/workspaces/arborist/lib/edge.js b/workspaces/arborist/lib/edge.js index 8a5e060ec1427..c56799ea01133 100644 --- a/workspaces/arborist/lib/edge.js +++ b/workspaces/arborist/lib/edge.js @@ -109,8 +109,8 @@ class Edge { } // NOTE: this condition means we explicitly do not support overriding - // bundled or shrinkwrapped dependencies - if (node.hasShrinkwrap || node.inShrinkwrap || node.inDepBundle) { + // bundled dependencies + if (node.inDepBundle) { return depValid(node, this.rawSpec, this.#accept, this.#from) } diff --git a/workspaces/arborist/lib/isolated-classes.js b/workspaces/arborist/lib/isolated-classes.js index d9770a386791f..e9f63b4b5e2f8 100644 --- a/workspaces/arborist/lib/isolated-classes.js +++ b/workspaces/arborist/lib/isolated-classes.js @@ -16,7 +16,6 @@ class IsolatedNode { edgesIn = new Set() edgesOut = new CaseInsensitiveMap() fsChildren = new Set() - hasShrinkwrap = false integrity = null inventory = new IsolatedInventory() isInStore = false diff --git a/workspaces/arborist/lib/node.js b/workspaces/arborist/lib/node.js index 451ede1e52cbf..78b7f31e2c870 100644 --- a/workspaces/arborist/lib/node.js +++ b/workspaces/arborist/lib/node.js @@ -82,7 +82,6 @@ class Node { fsChildren, fsParent, global = false, - hasShrinkwrap, inert = false, installLinks = false, integrity, @@ -170,7 +169,6 @@ class Node { } } this.integrity = integrity || this.package._integrity || null - this.hasShrinkwrap = hasShrinkwrap || this.package._hasShrinkwrap || false this.installLinks = installLinks this.legacyPeerDeps = legacyPeerDeps @@ -1101,8 +1099,8 @@ class Node { // is depending on it would be fine with the thing that they would resolve // to if it was removed, or nothing is depending on it in the first place. canDedupe (preferDedupe = false, explicitRequest = false) { - // not allowed to mess with shrinkwraps or bundles - if (this.inDepBundle || this.inShrinkwrap) { + // not allowed to mess with bundles + if (this.inDepBundle) { return false } @@ -1249,11 +1247,6 @@ class Node { treeCheck(this) } - get inShrinkwrap () { - return this.parent && - (this.parent.hasShrinkwrap || this.parent.inShrinkwrap) - } - get parent () { // setter prevents _parent from being this return this[_parent] diff --git a/workspaces/arborist/lib/printable.js b/workspaces/arborist/lib/printable.js index 53c3f7a5756df..9ade2c0813699 100644 --- a/workspaces/arborist/lib/printable.js +++ b/workspaces/arborist/lib/printable.js @@ -52,11 +52,6 @@ class ArboristNode { if (bd && bd.length) { this.bundleDependencies = bd } - if (tree.inShrinkwrap) { - this.inShrinkwrap = true - } else if (tree.hasShrinkwrap) { - this.hasShrinkwrap = true - } if (tree.error) { this.error = treeError(tree.error) } diff --git a/workspaces/arborist/lib/shrinkwrap.js b/workspaces/arborist/lib/shrinkwrap.js index 751c549fed63b..5b90e854c5975 100644 --- a/workspaces/arborist/lib/shrinkwrap.js +++ b/workspaces/arborist/lib/shrinkwrap.js @@ -1,5 +1,4 @@ -// a module that manages a shrinkwrap file (npm-shrinkwrap.json or -// package-lock.json). +// a module that manages a lockfile (package-lock.json). // Increment whenever the lockfile version updates // v1 - npm <=6 @@ -98,7 +97,6 @@ const pkgMetaKeys = [ 'libc', '_integrity', 'license', - '_hasShrinkwrap', 'hasInstallScript', 'bin', 'deprecated', @@ -108,7 +106,6 @@ const pkgMetaKeys = [ const nodeMetaKeys = [ 'integrity', 'inBundle', - 'hasShrinkwrap', 'hasInstallScript', ] @@ -199,17 +196,14 @@ class Shrinkwrap { const s = new Shrinkwrap(options) s.reset() - const [sw, lock] = await s.resetFiles + const [lock] = await s.resetFiles - // XXX this is duplicated in this.load(), but using loadFiles instead of resetFiles if (s.hiddenLockfile) { s.filename = resolve(s.path, 'node_modules/.package-lock.json') - } else if (s.shrinkwrapOnly || sw) { - s.filename = resolve(s.path, 'npm-shrinkwrap.json') } else { s.filename = resolve(s.path, 'package-lock.json') } - s.loadedFromDisk = !!(sw || lock) + s.loadedFromDisk = !!lock // TODO what uses this? s.type = basename(s.filename) @@ -286,7 +280,6 @@ class Shrinkwrap { path, indent = 2, newline = '\n', - shrinkwrapOnly = false, hiddenLockfile = false, lockfileVersion, resolveOptions = {}, @@ -312,8 +305,6 @@ class Shrinkwrap { this.hiddenLockfile = hiddenLockfile this.loadingError = null this.resolveOptions = resolveOptions - // only load npm-shrinkwrap.json in dep trees, not package-lock - this.shrinkwrapOnly = shrinkwrapOnly } // check to see if a spec is present in the yarn.lock file, and if so, @@ -369,14 +360,10 @@ class Shrinkwrap { // files to potentially read from and write to, in order of priority get #filenameSet () { - if (this.shrinkwrapOnly) { - return [`${this.path}/npm-shrinkwrap.json`] - } if (this.hiddenLockfile) { return [`${this.path}/node_modules/.package-lock.json`] } return [ - `${this.path}/npm-shrinkwrap.json`, `${this.path}/package-lock.json`, `${this.path}/yarn.lock`, ] @@ -396,9 +383,9 @@ class Shrinkwrap { } get resetFiles () { - // slice out yarn, we only care about lock or shrinkwrap when checking + // slice out yarn, we only care about the package-lock when checking // this way, since we're not actually loading the full lock metadata - return Promise.all(this.#filenameSet.slice(0, 2) + return Promise.all(this.#filenameSet.slice(0, 1) .map(file => file && stat(file).then(st => st.isFile(), er => { /* istanbul ignore else - can't test without breaking module itself */ if (er.code === 'ENOENT') { @@ -425,25 +412,18 @@ class Shrinkwrap { } async load () { - // we don't need to load package-lock.json except for top of tree nodes, - // only npm-shrinkwrap.json. let data try { - const [sw, lock, yarn] = await this.loadFiles - data = sw || lock || '{}' + const [lock, yarn] = await this.loadFiles + data = lock || '{}' - // use shrinkwrap only for deps; otherwise, prefer package-lock - // and ignore npm-shrinkwrap if both are present. - // TODO: emit a warning here or something if both are present. if (this.hiddenLockfile) { this.filename = resolve(this.path, 'node_modules/.package-lock.json') - } else if (this.shrinkwrapOnly || sw) { - this.filename = resolve(this.path, 'npm-shrinkwrap.json') } else { this.filename = resolve(this.path, 'package-lock.json') } this.type = basename(this.filename) - this.loadedFromDisk = Boolean(sw || lock) + this.loadedFromDisk = Boolean(lock) if (yarn) { this.yarnLock = new YarnLock() @@ -809,7 +789,6 @@ class Shrinkwrap { const { resolved, integrity, - hasShrinkwrap, version, } = this.get(node.path) @@ -836,17 +815,14 @@ class Shrinkwrap { if (allOk) { node.resolved = node.resolved || pathFixed || null node.integrity = node.integrity || integrity || null - node.hasShrinkwrap = node.hasShrinkwrap || hasShrinkwrap || false } else { // try to read off the package or node itself const { resolved, integrity, - hasShrinkwrap, } = Shrinkwrap.metaFromNode(node, this.path, this.resolveOptions) node.resolved = node.resolved || resolved || null node.integrity = node.integrity || integrity || null - node.hasShrinkwrap = node.hasShrinkwrap || hasShrinkwrap || false } } this.#awaitingUpdate.set(loc, node) diff --git a/workspaces/arborist/scripts/README.md b/workspaces/arborist/scripts/README.md index f550de78f046a..6f484f633801c 100644 --- a/workspaces/arborist/scripts/README.md +++ b/workspaces/arborist/scripts/README.md @@ -12,11 +12,11 @@ proper `arb` executable. * `actual.js` - Load the metadata about the modules on disk, and print it out nicely. First argument is the path to load, defaults to `cwd`. -* `virtual.js` - Load the metadata from `npm-shrinkwrap.json`, - `package-lock.json`, and/or `yarn-lock.json`, and print it out nicely. +* `virtual.js` - Load the metadata from `package-lock.json` and/or + `yarn-lock.json`, and print it out nicely. First argument is the path to load, defaults to `cwd`. -* `ideal.js` - Build the ideal tree from `package.json` and/or shrinkwrap - and lockfile metadata. First argument is the path to load, defaults to +* `ideal.js` - Build the ideal tree from `package.json` and/or lockfile + metadata. First argument is the path to load, defaults to `cwd`. You may also specify the following options: * `--quiet` - Do not print the result, * `--prefer-dedupe` - Prefer to deduplicate the tree rather than diff --git a/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs index fe597ef08727d..e7dc3416004b8 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs @@ -8094,160 +8094,6 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP bad shrinkwrap file > bad shrinkwrap 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/testing-peer-deps-b" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/testing-peer-deps-b", - "spec": "1", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-c" => EdgeOut { - "name": "@isaacs/testing-peer-deps-c", - "spec": "1", - "to": "node_modules/@isaacs/testing-peer-deps-c", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-b", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw/node_modules/@isaacs/testing-peer-deps-b", - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-b/-/testing-peer-deps-b-1.2.4.tgz", - "version": "1.2.4", - }, - "@isaacs/testing-peer-deps-c" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-c", - "spec": "1", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-c", - "name": "@isaacs/testing-peer-deps-c", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw/node_modules/@isaacs/testing-peer-deps-c", - "peer": true, - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-c/-/testing-peer-deps-c-1.2.3.tgz", - "version": "1.2.3", - }, - "@isaacs/testing-peer-deps-d" => ArboristNode { - "children": Map { - "@isaacs/testing-peer-deps-a" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-d", - "name": "@isaacs/testing-peer-deps-a", - "spec": "2", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-b" => EdgeOut { - "name": "@isaacs/testing-peer-deps-b", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "name": "@isaacs/testing-peer-deps-a", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw/node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-a/-/testing-peer-deps-a-2.0.0.tgz", - "version": "2.0.0", - }, - "@isaacs/testing-peer-deps-b" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "name": "@isaacs/testing-peer-deps-b", - "spec": "2", - "type": "peer", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-c" => EdgeOut { - "name": "@isaacs/testing-peer-deps-c", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-c", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-b", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw/node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "peer": true, - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-b/-/testing-peer-deps-b-2.0.1.tgz", - "version": "2.0.1", - }, - "@isaacs/testing-peer-deps-c" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-c", - "spec": "2", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-c", - "name": "@isaacs/testing-peer-deps-c", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw/node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-c", - "peer": true, - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-c/-/testing-peer-deps-c-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/testing-peer-deps-d", - "spec": "2", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-a" => EdgeOut { - "name": "@isaacs/testing-peer-deps-a", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "type": "prod", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d", - "name": "@isaacs/testing-peer-deps-d", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw/node_modules/@isaacs/testing-peer-deps-d", - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-d/-/testing-peer-deps-d-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-b" => EdgeOut { - "name": "@isaacs/testing-peer-deps-b", - "spec": "1", - "to": "node_modules/@isaacs/testing-peer-deps-b", - "type": "prod", - }, - "@isaacs/testing-peer-deps-d" => EdgeOut { - "name": "@isaacs/testing-peer-deps-d", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "testing-peer-deps-bad-sw", - "packageName": "@isaacs/testing-peer-deps", - "path": "{CWD}/test/fixtures/testing-peer-deps-bad-sw", - "version": "2.0.0", -} -` - exports[`test/arborist/build-ideal-tree.js TAP bundle deps example 1, complete:true > no missing deps, because complete: true 1`] = ` ArboristNode { "children": Map { @@ -17128,69 +16974,6 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP do add shrinkwrapped deps when complete:true is set > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "shrinkwrapped-dep-no-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-no-lock", - "version": "1.0.0", -} -` - exports[`test/arborist/build-ideal-tree.js TAP do not ERESOLVE on peerOptionals that are ignored anyway case a > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -17635,52 +17418,6 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP do not add shrinkwrapped deps > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "error": "MISSING", - "name": "abbrev", - "spec": "^1.0.4", - "to": null, - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "shrinkwrapped-dep-no-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-no-lock", - "version": "1.0.0", -} -` - exports[`test/arborist/build-ideal-tree.js TAP do not fail if root peerDep looser than meta peerDep > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -17910,178 +17647,6 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP do not update shrinkwrapped deps > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "shrinkwrapped-dep-with-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock", - "version": "1.0.0", -} -` - -exports[`test/arborist/build-ideal-tree.js TAP do not update shrinkwrapped deps when complete:true is set > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "shrinkwrapped-dep-with-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock", - "version": "1.0.0", -} -` - -exports[`test/arborist/build-ideal-tree.js TAP do not update shrinkwrapped deps, ignore lockfile > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "error": "MISSING", - "name": "abbrev", - "spec": "^1.0.4", - "to": null, - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "shrinkwrapped-dep-with-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/fixtures/shrinkwrapped-dep-with-lock", - "version": "1.0.0", -} -` - exports[`test/arborist/build-ideal-tree.js TAP force a new mkdirp (but not semver major) > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -109345,7 +108910,7 @@ ArboristNode { } ` -exports[`test/arborist/build-ideal-tree.js TAP tap vs react15 with legacy shrinkwrap > tap collision with legacy sw file 1`] = ` +exports[`test/arborist/build-ideal-tree.js TAP tap vs react15 with legacy lockfile > tap collision with legacy lockfile 1`] = ` ArboristNode { "children": Map { "@babel/code-frame" => ArboristNode { diff --git a/workspaces/arborist/tap-snapshots/test/arborist/load-virtual.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/load-virtual.js.test.cjs index 7fea252f5126b..119a2888afc3c 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/load-virtual.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/load-virtual.js.test.cjs @@ -14666,683 +14666,6 @@ ArboristNode { } ` -exports[`test/arborist/load-virtual.js TAP load from npm-shrinkwrap.json > loaded virtual tree from fixture 1`] = ` -ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "children": Map { - "@scope/name" => ArboristNode { - "children": Map { - "@otherscope/othername" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "error": "INVALID", - "from": "node_modules/abbrev/node_modules/@scope/name", - "name": "@otherscope/othername", - "spec": "1.2.3", - "type": "prod", - }, - }, - "location": "node_modules/abbrev/node_modules/@scope/name/node_modules/@otherscope/othername", - "name": "@otherscope/othername", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/abbrev/node_modules/@scope/name/node_modules/@otherscope/othername", - "resolved": "fake resolved value", - }, - }, - "edgesOut": Map { - "@otherscope/othername" => EdgeOut { - "error": "INVALID", - "name": "@otherscope/othername", - "spec": "1.2.3", - "to": "node_modules/abbrev/node_modules/@scope/name/node_modules/@otherscope/othername", - "type": "prod", - }, - "a-thing-which-is-not-here" => EdgeOut { - "error": "MISSING", - "name": "a-thing-which-is-not-here", - "spec": "2.4.5", - "to": null, - "type": "prod", - }, - }, - "location": "node_modules/abbrev/node_modules/@scope/name", - "name": "@scope/name", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/abbrev/node_modules/@scope/name", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "abbrev", - "spec": "^1.1.1", - "type": "prod", - }, - }, - "location": "node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "balanced-match" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/brace-expansion", - "name": "balanced-match", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "location": "node_modules/balanced-match", - "name": "balanced-match", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/balanced-match", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "version": "1.0.0", - }, - "brace-expansion" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/minimatch", - "name": "brace-expansion", - "spec": "^1.1.7", - "type": "prod", - }, - }, - "edgesOut": Map { - "balanced-match" => EdgeOut { - "name": "balanced-match", - "spec": "^1.0.0", - "to": "node_modules/balanced-match", - "type": "prod", - }, - "concat-map" => EdgeOut { - "name": "concat-map", - "spec": "0.0.1", - "to": "node_modules/concat-map", - "type": "prod", - }, - }, - "location": "node_modules/brace-expansion", - "name": "brace-expansion", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/brace-expansion", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "version": "1.1.11", - }, - "bundler" => ArboristNode { - "bundleDependencies": Array [ - "a", - ], - "children": Map { - "a" => ArboristNode { - "bundled": true, - "bundler": "node_modules/bundler", - "edgesIn": Set { - EdgeIn { - "from": "node_modules/bundler", - "name": "a", - "spec": "*", - "type": "prod", - }, - }, - "edgesOut": Map { - "b" => EdgeOut { - "name": "b", - "spec": "*", - "to": "node_modules/bundler/node_modules/b", - "type": "prod", - }, - }, - "location": "node_modules/bundler/node_modules/a", - "name": "a", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/bundler/node_modules/a", - "resolved": "https://registry.internal/a/-/a-1.2.3.tgz", - "version": "1.2.3", - }, - "b" => ArboristNode { - "bundled": true, - "bundler": "node_modules/bundler", - "edgesIn": Set { - EdgeIn { - "from": "node_modules/bundler/node_modules/a", - "name": "b", - "spec": "*", - "type": "prod", - }, - }, - "edgesOut": Map { - "c" => EdgeOut { - "name": "c", - "spec": "*", - "to": "node_modules/bundler/node_modules/c", - "type": "prod", - }, - }, - "location": "node_modules/bundler/node_modules/b", - "name": "b", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/bundler/node_modules/b", - "resolved": "https://registry.internal/b/-/b-1.2.3.tgz", - "version": "1.2.3", - }, - "c" => ArboristNode { - "bundled": true, - "bundler": "node_modules/bundler", - "edgesIn": Set { - EdgeIn { - "from": "node_modules/bundler/node_modules/b", - "name": "c", - "spec": "*", - "type": "prod", - }, - }, - "location": "node_modules/bundler/node_modules/c", - "name": "c", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/bundler/node_modules/c", - "resolved": "https://registry.internal/c/-/c-1.2.3.tgz", - "version": "1.2.3", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "bundler", - "spec": "1.2.3", - "type": "prod", - }, - }, - "edgesOut": Map { - "a" => EdgeOut { - "name": "a", - "spec": "*", - "to": "node_modules/bundler/node_modules/a", - "type": "prod", - }, - }, - "location": "node_modules/bundler", - "name": "bundler", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/bundler", - "resolved": "https://registry.internal/bundler/-/bundler-1.2.3.tgz", - "version": "1.2.3", - }, - "concat-map" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/brace-expansion", - "name": "concat-map", - "spec": "0.0.1", - "type": "prod", - }, - }, - "location": "node_modules/concat-map", - "name": "concat-map", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/concat-map", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "version": "0.0.1", - }, - "fs.realpath" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/glob", - "name": "fs.realpath", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "location": "node_modules/fs.realpath", - "name": "fs.realpath", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/fs.realpath", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "version": "1.0.0", - }, - "full-git-url" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "full-git-url", - "spec": "git+https://github.com/isaacs/abbrev-js.git", - "type": "prod", - }, - }, - "location": "node_modules/full-git-url", - "name": "full-git-url", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/full-git-url", - "resolved": "git+ssh://git@github.com/isaacs/abbrev-js.git#a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "ghshort" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "ghshort", - "spec": "github:isaacs/abbrev-js", - "type": "prod", - }, - }, - "location": "node_modules/ghshort", - "name": "ghshort", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/ghshort", - "resolved": "git+ssh://git@github.com/isaacs/abbrev-js.git#a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "ghtgz" => ArboristNode { - "location": "node_modules/ghtgz", - "name": "ghtgz", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/ghtgz", - "resolved": "https://codeload.github.com/isaacs/abbrev-js/tar.gz/a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "glob" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/rimraf", - "name": "glob", - "spec": "^7.1.3", - "type": "optional", - }, - }, - "edgesOut": Map { - "fs.realpath" => EdgeOut { - "name": "fs.realpath", - "spec": "^1.0.0", - "to": "node_modules/fs.realpath", - "type": "prod", - }, - "inflight" => EdgeOut { - "name": "inflight", - "spec": "^1.0.4", - "to": "node_modules/inflight", - "type": "prod", - }, - "inherits" => EdgeOut { - "name": "inherits", - "spec": "2", - "to": "node_modules/inherits", - "type": "prod", - }, - "minimatch" => EdgeOut { - "name": "minimatch", - "spec": "^3.0.4", - "to": "node_modules/minimatch", - "type": "prod", - }, - "once" => EdgeOut { - "name": "once", - "spec": "^1.3.0", - "to": "node_modules/once", - "type": "prod", - }, - "path-is-absolute" => EdgeOut { - "name": "path-is-absolute", - "spec": "^1.0.0", - "to": "node_modules/path-is-absolute", - "type": "prod", - }, - }, - "location": "node_modules/glob", - "name": "glob", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/glob", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "version": "7.1.4", - }, - "inflight" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/glob", - "name": "inflight", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "edgesOut": Map { - "once" => EdgeOut { - "name": "once", - "spec": "^1.3.0", - "to": "node_modules/once", - "type": "prod", - }, - "wrappy" => EdgeOut { - "name": "wrappy", - "spec": "1", - "to": "node_modules/wrappy", - "type": "prod", - }, - }, - "location": "node_modules/inflight", - "name": "inflight", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/inflight", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "version": "1.0.6", - }, - "inherits" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/glob", - "name": "inherits", - "spec": "2", - "type": "prod", - }, - }, - "location": "node_modules/inherits", - "name": "inherits", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/inherits", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "version": "2.0.4", - }, - "minimatch" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/glob", - "name": "minimatch", - "spec": "^3.0.4", - "type": "prod", - }, - }, - "edgesOut": Map { - "brace-expansion" => EdgeOut { - "name": "brace-expansion", - "spec": "^1.1.7", - "to": "node_modules/brace-expansion", - "type": "prod", - }, - }, - "location": "node_modules/minimatch", - "name": "minimatch", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/minimatch", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "version": "3.0.4", - }, - "old" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "old", - "spec": "npm:abbrev@^1.0.3", - "type": "prod", - }, - }, - "location": "node_modules/old", - "name": "old", - "packageName": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/old", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.3.tgz", - "version": "1.0.3", - }, - "once" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/glob", - "name": "once", - "spec": "^1.3.0", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/inflight", - "name": "once", - "spec": "^1.3.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "wrappy" => EdgeOut { - "name": "wrappy", - "spec": "1", - "to": "node_modules/wrappy", - "type": "prod", - }, - }, - "location": "node_modules/once", - "name": "once", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/once", - "resolved": "file:{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/once-1.4.0.tgz", - "version": "1.4.0", - }, - "path-is-absolute" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/glob", - "name": "path-is-absolute", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "location": "node_modules/path-is-absolute", - "name": "path-is-absolute", - "optional": true, - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/path-is-absolute", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "version": "1.0.1", - }, - "pinned" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "pinned", - "spec": "npm:abbrev@^1.1.1", - "type": "prod", - }, - }, - "location": "node_modules/pinned", - "name": "pinned", - "packageName": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/pinned", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "really-bad-invalid" => ArboristNode { - "location": "node_modules/really-bad-invalid", - "name": "really-bad-invalid", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/really-bad-invalid", - }, - "reg" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "reg", - "spec": "npm:abbrev@^1.1.1", - "type": "prod", - }, - }, - "location": "node_modules/reg", - "name": "reg", - "packageName": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/reg", - "resolved": "https://localhost:8080/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "remote" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "remote", - "spec": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "type": "prod", - }, - }, - "location": "node_modules/remote", - "name": "remote", - "packageName": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/remote", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "rimraf" => ArboristNode { - "edgesOut": Map { - "glob" => EdgeOut { - "name": "glob", - "spec": "^7.1.3", - "to": "node_modules/glob", - "type": "optional", - }, - }, - "location": "node_modules/rimraf", - "name": "rimraf", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/rimraf", - "resolved": "file:{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/rimraf-2.6.3.tgz", - "version": "2.6.3", - }, - "symlink" => ArboristLink { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "symlink", - "spec": "file:./abbrev-link-target", - "type": "prod", - }, - }, - "location": "node_modules/symlink", - "name": "symlink", - "packageName": "abbrev-link-target", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/symlink", - "realpath": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/abbrev-link-target", - "resolved": "file:../abbrev-link-target", - "target": ArboristNode { - "location": "abbrev-link-target", - }, - }, - "symlink-in-tree" => ArboristLink { - "location": "node_modules/symlink-in-tree", - "name": "symlink-in-tree", - "packageName": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/symlink-in-tree", - "realpath": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/abbrev", - "resolved": "file:abbrev", - "target": ArboristNode { - "location": "node_modules/abbrev", - }, - "version": "1.1.1", - }, - "tarball" => ArboristNode { - "dev": true, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "tarball", - "spec": "file:abbrev-1.1.1.tgz", - "type": "prod", - }, - }, - "location": "node_modules/tarball", - "name": "tarball", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/tarball", - "resolved": "file:{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/abbrev-1.1.1.tgz", - }, - "tarball-no-integrity" => ArboristNode { - "dev": true, - "location": "node_modules/tarball-no-integrity", - "name": "tarball-no-integrity", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/tarball-no-integrity", - "resolved": "file:{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/abbrev-1.1.1.tgz", - }, - "unhosted-git" => ArboristNode { - "location": "node_modules/unhosted-git", - "name": "unhosted-git", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/unhosted-git", - "resolved": "git+https://mygit.com/isaacs/abbrev-js.git#a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "wrappy" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/inflight", - "name": "wrappy", - "spec": "1", - "type": "prod", - }, - EdgeIn { - "from": "node_modules/once", - "name": "wrappy", - "spec": "1", - "type": "prod", - }, - }, - "location": "node_modules/wrappy", - "name": "wrappy", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/node_modules/wrappy", - "resolved": "https://localhost:8080/wrappy/-/wrappy-1.0.2.tgz", - "version": "1.0.2", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.1.1", - "to": "node_modules/abbrev", - "type": "prod", - }, - "bundler" => EdgeOut { - "name": "bundler", - "spec": "1.2.3", - "to": "node_modules/bundler", - "type": "prod", - }, - "full-git-url" => EdgeOut { - "name": "full-git-url", - "spec": "git+https://github.com/isaacs/abbrev-js.git", - "to": "node_modules/full-git-url", - "type": "prod", - }, - "ghshort" => EdgeOut { - "name": "ghshort", - "spec": "github:isaacs/abbrev-js", - "to": "node_modules/ghshort", - "type": "prod", - }, - "old" => EdgeOut { - "name": "old", - "spec": "npm:abbrev@^1.0.3", - "to": "node_modules/old", - "type": "prod", - }, - "pinned" => EdgeOut { - "name": "pinned", - "spec": "npm:abbrev@^1.1.1", - "to": "node_modules/pinned", - "type": "prod", - }, - "reg" => EdgeOut { - "name": "reg", - "spec": "npm:abbrev@^1.1.1", - "to": "node_modules/reg", - "type": "prod", - }, - "remote" => EdgeOut { - "name": "remote", - "spec": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "to": "node_modules/remote", - "type": "prod", - }, - "symlink" => EdgeOut { - "name": "symlink", - "spec": "file:./abbrev-link-target", - "to": "node_modules/symlink", - "type": "prod", - }, - "tarball" => EdgeOut { - "name": "tarball", - "spec": "file:abbrev-1.1.1.tgz", - "to": "node_modules/tarball", - "type": "prod", - }, - }, - "fsChildren": Set { - ArboristNode { - "location": "abbrev-link-target", - "name": "abbrev-link-target", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json/abbrev-link-target", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-load-virtual-load-from-npm-shrinkwrap.json", - "packageName": "a", - "path": "{CWD}/test/arborist/tap-testdir-load-virtual-load-from-npm-shrinkwrap.json", - "version": "1.2.3", -} -` - exports[`test/arborist/load-virtual.js TAP load without a root package.json is fine > loaded virtual no package json 1`] = ` ArboristNode { "children": Map { 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 b4c9daa052c55..f60c73ad0b57e 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs @@ -165,7 +165,7 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP add a dep present in the tree, with v1 shrinkwrap > must match snapshot 1`] = ` +exports[`test/arborist/reify.js TAP add a dep present in the tree, with v1 lockfile > must match snapshot 1`] = ` {"dependencies":{"once":"^1.4.0","wrappy":"^1.0.2"}} ` @@ -1857,160 +1857,6 @@ exports[`test/arborist/reify.js TAP add spec * with semver prefix range gets upd ` -exports[`test/arborist/reify.js TAP bad shrinkwrap file > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/testing-peer-deps-b" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/testing-peer-deps-b", - "spec": "1", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-c" => EdgeOut { - "name": "@isaacs/testing-peer-deps-c", - "spec": "1", - "to": "node_modules/@isaacs/testing-peer-deps-c", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-b", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file/node_modules/@isaacs/testing-peer-deps-b", - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-b/-/testing-peer-deps-b-1.2.4.tgz", - "version": "1.2.4", - }, - "@isaacs/testing-peer-deps-c" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-c", - "spec": "1", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-c", - "name": "@isaacs/testing-peer-deps-c", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file/node_modules/@isaacs/testing-peer-deps-c", - "peer": true, - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-c/-/testing-peer-deps-c-1.2.3.tgz", - "version": "1.2.3", - }, - "@isaacs/testing-peer-deps-d" => ArboristNode { - "children": Map { - "@isaacs/testing-peer-deps-a" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-d", - "name": "@isaacs/testing-peer-deps-a", - "spec": "2", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-b" => EdgeOut { - "name": "@isaacs/testing-peer-deps-b", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "name": "@isaacs/testing-peer-deps-a", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file/node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-a/-/testing-peer-deps-a-2.0.0.tgz", - "version": "2.0.0", - }, - "@isaacs/testing-peer-deps-b" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "name": "@isaacs/testing-peer-deps-b", - "spec": "2", - "type": "peer", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-c" => EdgeOut { - "name": "@isaacs/testing-peer-deps-c", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-c", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-b", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file/node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "peer": true, - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-b/-/testing-peer-deps-b-2.0.1.tgz", - "version": "2.0.1", - }, - "@isaacs/testing-peer-deps-c" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-b", - "name": "@isaacs/testing-peer-deps-c", - "spec": "2", - "type": "peer", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-c", - "name": "@isaacs/testing-peer-deps-c", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file/node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-c", - "peer": true, - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-c/-/testing-peer-deps-c-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/testing-peer-deps-d", - "spec": "2", - "type": "prod", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-a" => EdgeOut { - "name": "@isaacs/testing-peer-deps-a", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d/node_modules/@isaacs/testing-peer-deps-a", - "type": "prod", - }, - }, - "location": "node_modules/@isaacs/testing-peer-deps-d", - "name": "@isaacs/testing-peer-deps-d", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file/node_modules/@isaacs/testing-peer-deps-d", - "resolved": "https://registry.npmjs.org/@isaacs/testing-peer-deps-d/-/testing-peer-deps-d-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/testing-peer-deps-b" => EdgeOut { - "name": "@isaacs/testing-peer-deps-b", - "spec": "1", - "to": "node_modules/@isaacs/testing-peer-deps-b", - "type": "prod", - }, - "@isaacs/testing-peer-deps-d" => EdgeOut { - "name": "@isaacs/testing-peer-deps-d", - "spec": "2", - "to": "node_modules/@isaacs/testing-peer-deps-d", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-bad-shrinkwrap-file", - "packageName": "@isaacs/testing-peer-deps", - "path": "{CWD}/test/arborist/tap-testdir-reify-bad-shrinkwrap-file", - "version": "2.0.0", -} -` - exports[`test/arborist/reify.js TAP bundled file dep with same name as other dep > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -2474,69 +2320,6 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP do not add shrinkwrapped deps > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-do-not-add-shrinkwrapped-deps/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-do-not-add-shrinkwrapped-deps/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-do-not-add-shrinkwrapped-deps", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-do-not-add-shrinkwrapped-deps", - "version": "1.0.0", -} -` - exports[`test/arborist/reify.js TAP do not delete root-bundled deps in global update > after first install 1`] = ` { "name": "dep" @@ -2822,69 +2605,6 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP do not update shrinkwrapped deps > expect resolving Promise 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-do-not-update-shrinkwrapped-deps/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-do-not-update-shrinkwrapped-deps/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-do-not-update-shrinkwrapped-deps", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-do-not-update-shrinkwrapped-deps", - "version": "1.0.0", -} -` - exports[`test/arborist/reify.js TAP dry run, do not get anything wet link-dep-empty > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -3022,132 +2742,6 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP dry run, do not get anything wet shrinkwrapped-dep-no-lock-empty > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-no-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-no-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-no-lock-empty", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-no-lock-empty", - "version": "1.0.0", -} -` - -exports[`test/arborist/reify.js TAP dry run, do not get anything wet shrinkwrapped-dep-with-lock-empty > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-with-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-with-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-with-lock-empty", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-dry-run-do-not-get-anything-wet-shrinkwrapped-dep-with-lock-empty", - "version": "1.0.0", -} -` - exports[`test/arborist/reify.js TAP dry run, do not get anything wet testing-bundledeps-empty > must match snapshot 1`] = ` ArboristNode { "children": Map { @@ -4442,7 +4036,7 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP just the shrinkwrap cli-750-fresh > must match snapshot 1`] = ` +exports[`test/arborist/reify.js TAP just the lockfile cli-750-fresh > must match snapshot 1`] = ` { "name": "monorepo", "lockfileVersion": 3, @@ -4473,9 +4067,9 @@ exports[`test/arborist/reify.js TAP just the shrinkwrap cli-750-fresh > must mat ` -exports[`test/arborist/reify.js TAP just the shrinkwrap yarn-lock-mkdirp > must match snapshot 1`] = ` +exports[`test/arborist/reify.js TAP just the lockfile yarn-lock-mkdirp > must match snapshot 1`] = ` { - "name": "tap-testdir-reify-just-the-shrinkwrap-yarn-lock-mkdirp", + "name": "tap-testdir-reify-just-the-lockfile-yarn-lock-mkdirp", "lockfileVersion": 3, "requires": true, "packages": { @@ -32078,258 +31672,6 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP reifying with shronk warp dep shrinkwrapped-dep-no-lock > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock", - "version": "1.0.0", -} -` - -exports[`test/arborist/reify.js TAP reifying with shronk warp dep shrinkwrapped-dep-no-lock-empty > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock-empty", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-no-lock-empty", - "version": "1.0.0", -} -` - -exports[`test/arborist/reify.js TAP reifying with shronk warp dep shrinkwrapped-dep-with-lock > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock", - "version": "1.0.0", -} -` - -exports[`test/arborist/reify.js TAP reifying with shronk warp dep shrinkwrapped-dep-with-lock-empty > must match snapshot 1`] = ` -ArboristNode { - "children": Map { - "@isaacs/shrinkwrapped-dependency" => ArboristNode { - "children": Map { - "abbrev" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "abbrev", - "spec": "^1.0.4", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "name": "abbrev", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "abbrev" => EdgeOut { - "name": "abbrev", - "spec": "^1.0.4", - "to": "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock-empty/node_modules/@isaacs/shrinkwrapped-dependency", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@isaacs/shrinkwrapped-dependency" => EdgeOut { - "name": "@isaacs/shrinkwrapped-dependency", - "spec": "^1.0.0", - "to": "node_modules/@isaacs/shrinkwrapped-dependency", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock-empty", - "packageName": "shrinkwrap", - "path": "{CWD}/test/arborist/tap-testdir-reify-reifying-with-shronk-warp-dep-shrinkwrapped-dep-with-lock-empty", - "version": "1.0.0", -} -` - exports[`test/arborist/reify.js TAP rollbacks fail removing retired and deleted nodes > expect resolving Promise 1`] = ` ArboristNode { "children": Map { @@ -33692,216 +33034,6 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP tracks changes of shrinkwrapped dep correctly > install added the correct tree 1`] = ` -ArboristNode { - "children": Map { - "@nlf/shrinkwrapped-dep-updates-a" => ArboristNode { - "children": Map { - "@nlf/shrinkwrapped-dep-updates-b" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-b", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b", - "name": "@nlf/shrinkwrapped-dep-updates-b", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz", - "version": "1.0.0", - }, - "@nlf/shrinkwrapped-dep-updates-c" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-c", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-c", - "name": "@nlf/shrinkwrapped-dep-updates-c", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-c", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "version": "1.0.0", - }, - "@nlf/shrinkwrapped-dep-updates-d" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-d", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-d", - "name": "@nlf/shrinkwrapped-dep-updates-d", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-d", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@nlf/shrinkwrapped-dep-updates-a", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "@nlf/shrinkwrapped-dep-updates-b" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-b", - "spec": "^1.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b", - "type": "prod", - }, - "@nlf/shrinkwrapped-dep-updates-c" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-c", - "spec": "^1.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-c", - "type": "prod", - }, - "@nlf/shrinkwrapped-dep-updates-d" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-d", - "spec": "^1.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-d", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-a", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesOut": Map { - "@nlf/shrinkwrapped-dep-updates-a" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "spec": "^1.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly", -} -` - -exports[`test/arborist/reify.js TAP tracks changes of shrinkwrapped dep correctly > installing new version brings in the correct children 1`] = ` -ArboristNode { - "children": Map { - "@nlf/shrinkwrapped-dep-updates-a" => ArboristNode { - "children": Map { - "@nlf/shrinkwrapped-dep-updates-b" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-b", - "spec": "^2.0.0", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b", - "name": "@nlf/shrinkwrapped-dep-updates-b", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz", - "version": "2.0.0", - }, - "@nlf/shrinkwrapped-dep-updates-c" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-c", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-c", - "name": "@nlf/shrinkwrapped-dep-updates-c", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-c", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "version": "1.0.0", - }, - "@nlf/shrinkwrapped-dep-updates-e" => ArboristNode { - "edgesIn": Set { - EdgeIn { - "from": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-e", - "spec": "^1.0.0", - "type": "prod", - }, - }, - "inShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-e", - "name": "@nlf/shrinkwrapped-dep-updates-e", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-e", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "edgesIn": Set { - EdgeIn { - "from": "", - "name": "@nlf/shrinkwrapped-dep-updates-a", - "spec": "^2.0.0", - "type": "prod", - }, - }, - "edgesOut": Map { - "@nlf/shrinkwrapped-dep-updates-b" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-b", - "spec": "^2.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b", - "type": "prod", - }, - "@nlf/shrinkwrapped-dep-updates-c" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-c", - "spec": "^1.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-c", - "type": "prod", - }, - "@nlf/shrinkwrapped-dep-updates-e" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-e", - "spec": "^1.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-e", - "type": "prod", - }, - }, - "hasShrinkwrap": true, - "location": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "name": "@nlf/shrinkwrapped-dep-updates-a", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly/node_modules/@nlf/shrinkwrapped-dep-updates-a", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "edgesOut": Map { - "@nlf/shrinkwrapped-dep-updates-a" => EdgeOut { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "spec": "^2.0.0", - "to": "node_modules/@nlf/shrinkwrapped-dep-updates-a", - "type": "prod", - }, - }, - "isProjectRoot": true, - "location": "", - "name": "tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly", - "path": "{CWD}/test/arborist/tap-testdir-reify-tracks-changes-of-shrinkwrapped-dep-correctly", -} -` - exports[`test/arborist/reify.js TAP transitive deps containing asymmetrical bin no lockfile > expect resolving Promise 1`] = ` ArboristNode { "children": Map { diff --git a/workspaces/arborist/tap-snapshots/test/diff.js.test.cjs b/workspaces/arborist/tap-snapshots/test/diff.js.test.cjs index 5ce161a3be681..18afa6649c831 100644 --- a/workspaces/arborist/tap-snapshots/test/diff.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/diff.js.test.cjs @@ -267,52 +267,6 @@ Diff { } ` -exports[`test/diff.js TAP diff doesnt break unchanged shrinkwrapped deps > made no changes 1`] = ` -Diff { - "action": null, - "actual": Node { - "name": "a", - "path": "/path/to/actual", - "integrity": null, - }, - "ideal": Node { - "name": "a", - "path": "/path/to/actual", - "integrity": null, - }, - "leaves": Array [ - "/path/to/actual/node_modules/shrinkwrapped-dep", - ], - "unchanged": Array [ - "/path/to/actual/node_modules/regular-dep", - "/path/to/actual/node_modules/regular-dep/node_modules/shrinkwrapped-inner", - "/path/to/actual/node_modules/regular-dep/node_modules/shrinkwrapped-inner/node_modules/shrinkwrap-inner-c", - ], - "removed": Array [], - "children": Array [ - Diff { - "action": null, - "actual": Node { - "name": "shrinkwrapped-dep", - "path": "/path/to/actual/node_modules/shrinkwrapped-dep", - "integrity": "sha512-ddd", - }, - "ideal": Node { - "name": "shrinkwrapped-dep", - "path": "/path/to/actual/node_modules/shrinkwrapped-dep", - "integrity": "sha512-ddd", - }, - "leaves": Array [ - "/path/to/actual/node_modules/shrinkwrapped-dep", - ], - "unchanged": Array [], - "removed": Array [], - "children": Array [], - }, - ], -} -` - exports[`test/diff.js TAP extraneous pruning in workspaces > prune in workspace A 1`] = ` Diff { "action": null, diff --git a/workspaces/arborist/tap-snapshots/test/link.js.test.cjs b/workspaces/arborist/tap-snapshots/test/link.js.test.cjs index eee3244168b85..4147de62640d7 100644 --- a/workspaces/arborist/tap-snapshots/test/link.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/link.js.test.cjs @@ -15,7 +15,6 @@ Link { "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -46,7 +45,6 @@ exports[`test/link.js TAP > instantiate without providing target 1`] = ` "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -62,7 +60,6 @@ exports[`test/link.js TAP > instantiate without providing target 1`] = ` "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -107,7 +104,6 @@ exports[`test/link.js TAP > instantiate without providing target 1`] = ` "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, diff --git a/workspaces/arborist/tap-snapshots/test/node.js.test.cjs b/workspaces/arborist/tap-snapshots/test/node.js.test.cjs index bde989f31c114..03af283d2fbc5 100644 --- a/workspaces/arborist/tap-snapshots/test/node.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/node.js.test.cjs @@ -16,7 +16,6 @@ exports[`test/node.js TAP basic instantiation > just a lone root node 1`] = ` "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -207,7 +206,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -235,7 +233,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -280,7 +277,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -301,7 +297,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -342,7 +337,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -359,7 +353,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -391,7 +384,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -410,7 +402,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -439,7 +430,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -460,7 +450,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -500,7 +489,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -529,7 +517,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -546,7 +533,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -601,7 +587,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -622,7 +607,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -663,7 +647,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -680,7 +663,6 @@ exports[`test/node.js TAP set workspaces > should setup edges out for each works "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -731,7 +713,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -770,7 +751,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -823,7 +803,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -843,7 +822,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -883,7 +861,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -916,7 +893,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -949,7 +925,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -982,7 +957,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -1011,7 +985,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -1048,7 +1021,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -1065,7 +1037,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -1127,7 +1098,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -1146,7 +1116,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -1185,7 +1154,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -1238,7 +1206,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -1258,7 +1225,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -1291,7 +1257,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -1331,7 +1296,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -1364,7 +1328,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -1397,7 +1360,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -1430,7 +1392,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -1459,7 +1420,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -1496,7 +1456,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -1513,7 +1472,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -1555,7 +1513,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -1594,7 +1551,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -1622,7 +1578,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -1669,7 +1624,6 @@ exports[`test/node.js TAP testing with dep tree with meta > add new meta under p "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -1718,7 +1672,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -1771,7 +1724,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -1791,7 +1743,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -1831,7 +1782,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -1864,7 +1814,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -1897,7 +1846,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -1930,7 +1878,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -1959,7 +1906,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -2009,7 +1955,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2038,7 +1983,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -2091,7 +2035,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2111,7 +2054,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -2144,7 +2086,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2184,7 +2125,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -2224,7 +2164,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -2257,7 +2196,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -2290,7 +2228,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -2323,7 +2260,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -2352,7 +2288,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -2399,7 +2334,6 @@ exports[`test/node.js TAP testing with dep tree with meta > initial load with so "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2460,7 +2394,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2480,7 +2413,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -2520,7 +2452,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -2553,7 +2484,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -2586,7 +2516,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -2619,7 +2548,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -2648,7 +2576,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -2691,7 +2618,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -2741,7 +2667,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2782,7 +2707,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2802,7 +2726,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -2835,7 +2758,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -2875,7 +2797,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -2908,7 +2829,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -2941,7 +2861,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -2974,7 +2893,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -3003,7 +2921,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -3046,7 +2963,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -3093,7 +3009,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move meta to top lev "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -3154,7 +3069,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -3174,7 +3088,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -3211,7 +3124,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -3244,7 +3156,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -3277,7 +3188,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -3310,7 +3220,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -3339,7 +3248,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -3369,7 +3277,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -3411,7 +3318,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -3428,7 +3334,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -3490,7 +3395,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -3531,7 +3435,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -3551,7 +3454,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -3584,7 +3486,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -3621,7 +3522,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -3654,7 +3554,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -3687,7 +3586,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -3720,7 +3618,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -3749,7 +3646,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -3777,7 +3673,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -3807,7 +3702,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -3849,7 +3743,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -3866,7 +3759,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -3925,7 +3817,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -3986,7 +3877,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -4006,7 +3896,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -4043,7 +3932,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -4076,7 +3964,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -4109,7 +3996,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -4142,7 +4028,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -4171,7 +4056,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -4201,7 +4085,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -4243,7 +4126,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -4260,7 +4142,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -4322,7 +4203,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -4363,7 +4243,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -4383,7 +4262,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -4416,7 +4294,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -4453,7 +4330,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -4486,7 +4362,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -4519,7 +4394,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -4552,7 +4426,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -4581,7 +4454,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -4609,7 +4481,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -4639,7 +4510,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -4681,7 +4551,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -4698,7 +4567,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -4757,7 +4625,6 @@ exports[`test/node.js TAP testing with dep tree with meta > move new meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -4796,7 +4663,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -4835,7 +4701,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -4888,7 +4753,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -4908,7 +4772,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -4948,7 +4811,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -4981,7 +4843,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -5014,7 +4875,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -5047,7 +4907,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -5076,7 +4935,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -5113,7 +4971,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -5130,7 +4987,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -5192,7 +5048,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -5211,7 +5066,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -5250,7 +5104,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -5303,7 +5156,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -5323,7 +5175,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -5356,7 +5207,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -5396,7 +5246,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -5429,7 +5278,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -5462,7 +5310,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -5495,7 +5342,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -5524,7 +5370,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -5561,7 +5406,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -5578,7 +5422,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -5620,7 +5463,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -5659,7 +5501,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -5687,7 +5528,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -5734,7 +5574,6 @@ exports[`test/node.js TAP testing with dep tree without meta > add new meta unde "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -5783,7 +5622,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -5836,7 +5674,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -5856,7 +5693,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -5896,7 +5732,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -5929,7 +5764,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -5962,7 +5796,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -5995,7 +5828,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -6024,7 +5856,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -6074,7 +5905,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6103,7 +5933,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -6156,7 +5985,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6176,7 +6004,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -6209,7 +6036,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6249,7 +6075,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -6289,7 +6114,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -6322,7 +6146,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -6355,7 +6178,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -6388,7 +6210,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -6417,7 +6238,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -6464,7 +6284,6 @@ exports[`test/node.js TAP testing with dep tree without meta > initial load with "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6525,7 +6344,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6545,7 +6363,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -6585,7 +6402,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -6618,7 +6434,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -6651,7 +6466,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -6684,7 +6498,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -6713,7 +6526,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -6756,7 +6568,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -6806,7 +6617,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6847,7 +6657,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6867,7 +6676,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -6900,7 +6708,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -6940,7 +6747,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -6973,7 +6779,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -7006,7 +6811,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -7039,7 +6843,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -7068,7 +6871,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -7111,7 +6913,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "meta", @@ -7158,7 +6959,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move meta to top "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -7219,7 +7019,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -7239,7 +7038,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -7276,7 +7074,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -7309,7 +7106,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -7342,7 +7138,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -7375,7 +7170,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -7404,7 +7198,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -7434,7 +7227,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -7476,7 +7268,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -7493,7 +7284,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -7555,7 +7345,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -7596,7 +7385,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -7616,7 +7404,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -7649,7 +7436,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -7686,7 +7472,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -7719,7 +7504,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -7752,7 +7536,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -7785,7 +7568,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -7814,7 +7596,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -7842,7 +7623,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -7872,7 +7652,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -7914,7 +7693,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -7931,7 +7709,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -7990,7 +7767,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -8051,7 +7827,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -8071,7 +7846,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -8108,7 +7882,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -8141,7 +7914,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -8174,7 +7946,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -8207,7 +7978,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -8236,7 +8006,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -8266,7 +8035,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -8308,7 +8076,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -8325,7 +8092,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -8387,7 +8153,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -8428,7 +8193,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -8448,7 +8212,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "tops": Set {}, }, }, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "prod", @@ -8481,7 +8244,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, @@ -8518,7 +8280,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "bundled", @@ -8551,7 +8312,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "dev", @@ -8584,7 +8344,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "opt", @@ -8617,7 +8376,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "peer", @@ -8646,7 +8404,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "extraneous", @@ -8674,7 +8431,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -8704,7 +8460,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -8746,7 +8501,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "newMeta", @@ -8763,7 +8517,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": "metameta", @@ -8822,7 +8575,6 @@ exports[`test/node.js TAP testing with dep tree without meta > move new meta to "errors": Array [], "extraneous": true, "fsChildren": Set {}, - "hasShrinkwrap": false, "inert": false, "installLinks": false, "integrity": null, diff --git a/workspaces/arborist/tap-snapshots/test/printable.js.test.cjs b/workspaces/arborist/tap-snapshots/test/printable.js.test.cjs index 1cc7b810c0f7c..78a9a7ab5b4b2 100644 --- a/workspaces/arborist/tap-snapshots/test/printable.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/printable.js.test.cjs @@ -223,7 +223,7 @@ peer:true, target:{location:'c'}}}} ` -exports[`test/printable.js TAP show bundle/shrinkwrap info > must match snapshot 1`] = ` +exports[`test/printable.js TAP show bundle info > must match snapshot 1`] = ` { "children":Map{ "a" =>{ @@ -479,45 +479,6 @@ EdgeIn{ "optional":true, "path":"/path/to/root/node_modules/extraneous", "peer":true, -"version":"1.2.3",}, -"wrapper" =>{ -"children":Map{ -"a" =>{ -"dev":true, -"edgesIn":Set{ -EdgeIn{ -"from":"node_modules/wrapper", -"name":"a", -"spec":"1", -"type":"prod",},}, -"extraneous":true, -"inShrinkwrap":true, -"location":"node_modules/wrapper/node_modules/a", -"name":"a", -"optional":true, -"path":"/path/to/root/node_modules/wrapper/node_modules/a", -"peer":true, -"version":"1.2.3",},}, -"dev":true, -"edgesIn":Set{ -EdgeIn{ -"from":"", -"name":"wrapper", -"spec":"*", -"type":"prod",},}, -"edgesOut":Map{ -"a" => EdgeOut{ -"name":"a", -"spec":"1", -"to":"node_modules/wrapper/node_modules/a", -"type":"prod",},}, -"extraneous":true, -"hasShrinkwrap":true, -"location":"node_modules/wrapper", -"name":"wrapper", -"optional":true, -"path":"/path/to/root/node_modules/wrapper", -"peer":true, "version":"1.2.3",},}, "dev":true, "edgesOut":Map{ @@ -540,11 +501,6 @@ EdgeIn{ "name":"c", "spec":"3", "to":"node_modules/c", -"type":"prod",}, -"wrapper" => EdgeOut{ -"name":"wrapper", -"spec":"*", -"to":"node_modules/wrapper", "type":"prod",},}, "extraneous":true, "isProjectRoot":true, diff --git a/workspaces/arborist/test/arborist/build-ideal-tree.js b/workspaces/arborist/test/arborist/build-ideal-tree.js index 6400d62b82d9d..d1e1895baa6ee 100644 --- a/workspaces/arborist/test/arborist/build-ideal-tree.js +++ b/workspaces/arborist/test/arborist/build-ideal-tree.js @@ -206,16 +206,10 @@ t.test('tap vs react15', async t => { await t.resolveMatchSnapshot(printIdeal(path), 'build ideal tree with tap collision') }) -t.test('tap vs react15 with legacy shrinkwrap', async t => { +t.test('tap vs react15 with legacy lockfile', async t => { const path = resolve(fixtures, 'tap-react15-collision-legacy-sw') createRegistry(t, true) - await t.resolveMatchSnapshot(printIdeal(path), 'tap collision with legacy sw file') -}) - -t.test('bad shrinkwrap file', async t => { - const path = resolve(fixtures, 'testing-peer-deps-bad-sw') - createRegistry(t, true) - await t.resolveMatchSnapshot(printIdeal(path), 'bad shrinkwrap') + await t.resolveMatchSnapshot(printIdeal(path), 'tap collision with legacy lockfile') }) t.test('a direct link dep has a dep with optional dependencies', async t => { @@ -268,7 +262,7 @@ t.test('nested cyclical peer deps', async t => { resolve(fixtures, 'peer-dep-cycle-nested-with-sw'), ] - // if we have a shrinkwrap, then we'll get a collision with the current + // if we have a lockfile, then we'll get a collision with the current // version already there. if we don't, then we'll get a peerConflict // when we try to put the second one there. const ers = { @@ -439,42 +433,6 @@ t.test('unresolvable peer deps', async t => { }, 'unacceptable') }) -t.test('do not add shrinkwrapped deps', async t => { - const path = resolve(fixtures, 'shrinkwrapped-dep-no-lock') - createRegistry(t, true) - await t.resolveMatchSnapshot(printIdeal(path, { update: true })) -}) - -t.test('do add shrinkwrapped deps when complete:true is set', async t => { - const path = resolve(fixtures, 'shrinkwrapped-dep-no-lock') - createRegistry(t, true) - await t.resolveMatchSnapshot(printIdeal(path, { - complete: true, - update: true, - })) -}) - -t.test('do not update shrinkwrapped deps', async t => { - const path = resolve(fixtures, 'shrinkwrapped-dep-with-lock') - createRegistry(t, false) - await t.resolveMatchSnapshot(printIdeal(path, - { update: { names: ['abbrev'] } })) -}) - -t.test('do not update shrinkwrapped deps, ignore lockfile', async t => { - const path = resolve(fixtures, 'shrinkwrapped-dep-with-lock') - createRegistry(t, true) - await t.resolveMatchSnapshot(printIdeal(path, - { packageLock: false, update: { names: ['abbrev'] } })) -}) - -t.test('do not update shrinkwrapped deps when complete:true is set', async t => { - const path = resolve(fixtures, 'shrinkwrapped-dep-with-lock') - createRegistry(t, false) - await t.resolveMatchSnapshot(printIdeal(path, - { update: { names: ['abbrev'] }, complete: true })) -}) - t.test('deduped transitive deps with asymmetrical bin declaration', async t => { const path = resolve(fixtures, 'testing-asymmetrical-bin-no-lock') createRegistry(t, true) @@ -2411,54 +2369,6 @@ t.test('set the current on ERESOLVE triggered by devDeps', async t => { }) }) -t.test('shrinkwrapped dev/optional deps should not clobber flags', async t => { - await t.test('optional', async t => { - const path = t.testdir({ - 'package.json': JSON.stringify({ - name: 'project', - version: '1.2.3', - optionalDependencies: { - '@isaacs/test-package-with-shrinkwrap': '^1.0.0', - }, - }), - }) - createRegistry(t, true) - const tree = await buildIdeal(path, { complete: true }) - const swName = '@isaacs/test-package-with-shrinkwrap' - const swDep = tree.children.get(swName) - const metaDep = swDep.children.get('abbrev') - t.equal(swDep.optional, true, 'shrinkwrapped dep is optional') - t.equal(metaDep.optional, true, 'shrinkwrapped metadep optional') - - // make sure we're not just somehow leaving ALL flags true - t.equal(swDep.dev, false, 'sw dep is not dev') - t.equal(metaDep.dev, false, 'meta dep is not dev') - }) - - await t.test('dev', async t => { - const path = t.testdir({ - 'package.json': JSON.stringify({ - name: 'project', - version: '1.2.3', - devDependencies: { - '@isaacs/test-package-with-shrinkwrap': '^1.0.0', - }, - }), - }) - createRegistry(t, true) - const tree = await buildIdeal(path, { complete: true }) - const swName = '@isaacs/test-package-with-shrinkwrap' - const swDep = tree.children.get(swName) - const metaDep = swDep.children.get('abbrev') - t.equal(swDep.dev, true, 'shrinkwrapped dep is dev') - t.equal(metaDep.dev, true, 'shrinkwrapped metadep dev') - - // make sure we're not just somehow leaving ALL flags true - t.equal(swDep.optional, false, 'sw dep is not optional') - t.equal(metaDep.optional, false, 'meta dep is not optional') - }) -}) - t.test('do not ERESOLVE on peerOptionals that are ignored anyway', async t => { // this simulates three cases where a conflict occurs during the peerSet // generation phase, but will not manifest in the tree building phase. diff --git a/workspaces/arborist/test/arborist/load-virtual.js b/workspaces/arborist/test/arborist/load-virtual.js index 85c3e4ac2ad2a..f26f1b6969628 100644 --- a/workspaces/arborist/test/arborist/load-virtual.js +++ b/workspaces/arborist/test/arborist/load-virtual.js @@ -43,7 +43,7 @@ t.test('load from fixture using filesystem root path', t => { .then(virtualTree => t.equal(virtualTree, root)) }) -t.test('load from root that already has shrinkwrap', t => +t.test('load from root with existing package-lock', t => Shrinkwrap.load({ path: tapAndFlow }).then(meta => { const root = new Node({ path: tapAndFlow, @@ -67,19 +67,21 @@ t.test('load from cwd', t => { t.test('loading without a package-lock fails', t => t.rejects(loadVirtual(badfixture), { - message: 'loadVirtual requires existing shrinkwrap file', + message: 'loadVirtual requires existing package-lock.json file', code: 'ENOLOCK', })) -t.test('load from npm-shrinkwrap.json', t => { +t.test('ignore npm-shrinkwrap.json when loading virtual tree', t => { const lock = require(fixture + '/package-lock.json') const pkg = require(fixture + '/package.json') const path = t.testdir({ 'npm-shrinkwrap.json': JSON.stringify(lock), 'package.json': JSON.stringify(pkg), }) - return loadVirtual(path).then(tree => - t.matchSnapshot(printTree(tree), 'loaded virtual tree from fixture')) + return t.rejects(loadVirtual(path), { + message: 'loadVirtual requires existing package-lock.json file', + code: 'ENOLOCK', + }) }) t.test('load without a root package.json is fine', t => { diff --git a/workspaces/arborist/test/arborist/reify.js b/workspaces/arborist/test/arborist/reify.js index 32a3048ed5878..480067a84fb72 100644 --- a/workspaces/arborist/test/arborist/reify.js +++ b/workspaces/arborist/test/arborist/reify.js @@ -170,7 +170,7 @@ t.test('testing-peer-deps package', async t => { await t.resolveMatchSnapshot(printReified(fixture(t, 'testing-peer-deps'))) }) -t.test('just the shrinkwrap', async t => { +t.test('just the lockfile', async t => { await t.test('cli-750-fresh', async t => { const path = fixture(t, 'cli-750-fresh') createRegistry(t, false) @@ -443,11 +443,6 @@ t.test('omits when both dev and optional flags are set', t => { })) }) -t.test('bad shrinkwrap file', async t => { - createRegistry(t, true) - await t.resolveMatchSnapshot(printReified(fixture(t, 'testing-peer-deps-bad-sw'))) -}) - t.test('multiple bundles at the same level', t => { const path = fixture(t, 'two-bundled-deps') createRegistry(t, true) @@ -478,41 +473,6 @@ t.test('update a node without updating its children', async t => { { update: { names: ['once'] }, save: false })) }) -t.test('do not add shrinkwrapped deps', async t => { - createRegistry(t, true) - await t.resolveMatchSnapshot(printReified( - fixture(t, 'shrinkwrapped-dep-no-lock'), { update: true })) -}) - -t.test('do not update shrinkwrapped deps', async t => { - createRegistry(t, false) - await t.resolveMatchSnapshot(printReified( - fixture(t, 'shrinkwrapped-dep-with-lock'), - { update: { names: ['abbrev'] } })) -}) - -t.test('tracks changes of shrinkwrapped dep correctly', async t => { - const path = t.testdir({ 'package.json': '{}' }) - createRegistry(t, true) - - const install1 = await printReified(path, { add: ['@nlf/shrinkwrapped-dep-updates-a@1.0.0'] }) - t.matchSnapshot(install1, 'install added the correct tree') - - const update1 = await printReified(path, { update: true }) - t.match(install1, update1, 'update maintains the same correct tree') - - const install2 = await printReified(path, { add: ['@nlf/shrinkwrapped-dep-updates-a@2.0.0'] }) - t.matchSnapshot(install2, 'installing new version brings in the correct children') - - const update2 = await printReified(path, { update: true }) - t.match(install2, update2, 'update maintains the same correct tree') - - // delete a dependency that was installed as part of the shrinkwrap - fs.rmSync(resolve(path, 'node_modules/@nlf/shrinkwrapped-dep-updates-a/node_modules/@nlf/shrinkwrapped-dep-updates-b'), { recursive: true, force: true }) - const repair = await printReified(path) - t.match(repair, install2, 'tree got repaired') -}) - t.test('do not install optional deps with mismatched platform specifications', async t => { createRegistry(t, true) const path = fixture(t, 'optional-platform-specification') @@ -570,8 +530,6 @@ t.test('fail to install optional deps with matched os and matched cpu and mismat t.test('dry run, do not get anything wet', async t => { const cases = [ - ['shrinkwrapped-dep-with-lock-empty', false], - ['shrinkwrapped-dep-no-lock-empty', true], ['link-dep-empty', false], ['link-meta-deps-empty', true], ['testing-bundledeps-empty', true], @@ -589,31 +547,6 @@ t.test('dry run, do not get anything wet', async t => { } }) -t.test('reifying with shronk warp dep', t => { - const cases = [ - ['shrinkwrapped-dep-with-lock', false], - ['shrinkwrapped-dep-with-lock-empty', true], - ['shrinkwrapped-dep-no-lock', true], - ['shrinkwrapped-dep-no-lock-empty', true], - ] - t.plan(cases.length) - for (const [c, mocks] of cases) { - t.test(c, async t => { - const path = fixture(t, c) - createRegistry(t, mocks) - const tree = await printReified(path, { - // set update so that we don't start the idealTree - // with the actualTree, and can see that the deps - // are indeed getting set up from the shrink wrap - update: /no-lock/.test(c), - }) - t.matchSnapshot(tree) - const dep = `${path}/node_modules/@isaacs/shrinkwrapped-dependency` - t.equal(fs.statSync(`${dep}/package.json`).isFile(), true, 'has package.json') - }) - } -}) - t.test('link deps already in place', async t => { createRegistry(t, false) await t.resolveMatchSnapshot(printReified(fixture(t, 'link-dep'))) @@ -982,33 +915,6 @@ t.test('rollbacks', { buffered: false }, t => { .then(() => failRm = false) }) - t.test('fail loading shrinkwraps and updating trees', t => { - const path = fixture(t, 'shrinkwrapped-dep-no-lock-empty') - createRegistry(t, true) - const a = newArb({ path, installStrategy: 'nested' }) - const kLoadSW = Symbol.for('loadShrinkwrapsAndUpdateTrees') - const loadShrinkwrapsAndUpdateTrees = a[kLoadSW] - a[kLoadSW] = seen => { - a[kLoadSW] = loadShrinkwrapsAndUpdateTrees - const kDiff = Symbol.for('diffTrees') - const diffTrees = a[kDiff] - a[kDiff] = () => { - a[kDiff] = diffTrees - return Promise.reject(new Error('poop')) - } - return a[kLoadSW](seen) - } - const kRollback = Symbol.for('rollbackCreateSparseTree') - const rollbackCreateSparseTree = a[kRollback] - a[kRollback] = er => { - t.match(er, new Error('poop')) - a[kRollback] = rollbackCreateSparseTree - return a[kRollback](er) - } - - return t.rejects(a.reify(), new Error('poop')) - }) - t.test('fail loading bundles and updating trees', t => { const path = fixture(t, 'two-bundled-deps') createRegistry(t, true) @@ -1559,7 +1465,7 @@ t.test('fail early if bins will conflict', async t => { await t.rejects(arb.reify({ add: ['semver'] }), { code: 'EEXIST' }) }) -t.test('add a dep present in the tree, with v1 shrinkwrap', async t => { +t.test('add a dep present in the tree, with v1 lockfile', async t => { // https://github.com/npm/arborist/issues/70 const path = fixture(t, 'old-package-lock') createRegistry(t, true) @@ -1756,7 +1662,6 @@ t.test('rollback if process is terminated during reify process', async t => { const methods = [ Symbol.for('retireShallowNodes'), Symbol.for('createSparseTree'), - Symbol.for('loadShrinkwrapsAndUpdateTrees'), Symbol.for('loadBundlesAndUpdateTrees'), Symbol.for('unpackNewModules'), Symbol.for('moveBackRetiredUnchanged'), @@ -2512,34 +2417,6 @@ t.test('update a dep when the lockfile is lying about it', async t => { t.equal(require(abbrev.path + '/package.json').version, '1.1.1') }) -t.test('shrinkwrap which lacks metadata updates deps', async t => { - const path = t.testdir({ - 'package.json': '{}', - }) - - createRegistry(t, true) - const first = await reify(path, { - add: ['@isaacs/testing-shrinkwrap-abbrev@1.2.0'], - }) - const firstAbbrev = first.children.get('@isaacs/testing-shrinkwrap-abbrev') - .children.get('abbrev') - t.equal(firstAbbrev.version, '1.1.0') - - const abbrevPath = firstAbbrev.path - const abbrevpj = () => - JSON.parse(fs.readFileSync(abbrevPath + '/package.json', 'utf8')) - - t.equal(abbrevpj().version, firstAbbrev.version) - - const second = await reify(path, { - add: ['@isaacs/testing-shrinkwrap-abbrev@1.2.1'], - }) - const secondAbbrev = second.children.get('@isaacs/testing-shrinkwrap-abbrev') - .children.get('abbrev') - t.equal(secondAbbrev.version, '1.1.1') - t.equal(abbrevpj().version, secondAbbrev.version) -}) - t.test('move aside symlink clutter', async t => { // have to make the clutter manually, because we collide packages based // on case-insensitive names, so the ABBREV folder would be removed. diff --git a/workspaces/arborist/test/diff.js b/workspaces/arborist/test/diff.js index 219a0bb383a29..353085321f142 100644 --- a/workspaces/arborist/test/diff.js +++ b/workspaces/arborist/test/diff.js @@ -356,74 +356,6 @@ t.test('filtered diff', async t => { t.matchSnapshot(eRemovedExtraneous, 'e is removed (extraneous)') }) -t.test('diff doesnt break unchanged shrinkwrapped deps', async t => { - const actual = new Node({ - name: 'a', - path: '/path/to/actual', - children: [{ - name: 'shrinkwrapped-dep', - hasShrinkwrap: true, - integrity: 'sha512-ddd', - children: [ - { name: 'shrinkwrap-inner-a', integrity: 'sha512-aaa' }, - { name: 'shrinkwrap-inner-b', integrity: 'sha512-bbb' }, - ], - }, { - name: 'regular-dep', - integrity: 'sha512-eee', - children: [{ - name: 'shrinkwrapped-inner', - hasShrinkwrap: true, - integrity: 'sha512-fff', - children: [{ - name: 'shrinkwrap-inner-c', - integrity: 'sha512-ccc', - }], - }], - }], - }) - - const ideal = new Node({ - name: 'a', - path: '/path/to/actual', - children: [{ - name: 'shrinkwrapped-dep', - hasShrinkwrap: true, - integrity: 'sha512-ddd', - }, { - name: 'regular-dep', - integrity: 'sha512-eee', - children: [{ - name: 'shrinkwrapped-inner', - hasShrinkwrap: true, - integrity: 'sha512-fff', - children: [{ - name: 'shrinkwrap-inner-c', - integrity: 'sha512-ccc', - }], - }], - }], - }) - - // putting the shrinkwrapped-inner node in the shrinkwrapInflated set - // allows us to fake the behavior of reifying the node and then - // running a second diff that includes that node's children. this - // is reflected by the children of the shrinkwrapped-inner node being - // marked as unchanged. - const shrinkwrappedInner = ideal.children.get('regular-dep') - .children.get('shrinkwrapped-inner') - const diff = Diff.calculate({ - actual, - ideal, - shrinkwrapInflated: new Set([shrinkwrappedInner]), - }) - t.matchSnapshot(diff, 'made no changes') - - t.equal(diff.leaves.length, 1, 'diff has exactly one leaf') - t.match(diff.leaves[0], { action: null, ideal: { name: 'shrinkwrapped-dep' } }, - 'the shrinkwrapped dep is in the leaves with a null action') -}) - t.test('extraneous pruning in workspaces', async t => { // just load the virtual tree here twice, // and then remove the extraneous ones from the 'ideal' diff --git a/workspaces/arborist/test/edge.js b/workspaces/arborist/test/edge.js index 739adbbffe258..c9e6dc67d8849 100644 --- a/workspaces/arborist/test/edge.js +++ b/workspaces/arborist/test/edge.js @@ -1009,127 +1009,6 @@ t.test('override references find the correct root', (t) => { t.end() }) -t.test('shrinkwrapped and bundled deps are not overridden and remain valid', (t) => { - const overrides = new OverrideSet({ - overrides: { - bar: '^2.0.0', - }, - }) - - const root = { - name: 'root', - packageName: 'root', - edgesOut: new Map(), - edgesIn: new Set(), - explain: () => 'root node explanation', - package: { - name: 'root', - version: '1.2.3', - dependencies: { - foo: '^1.0.0', - }, - overrides: { - bar: '^2.0.0', - }, - }, - get version () { - return this.package.version - }, - isTop: true, - parent: null, - overrides, - resolve (n) { - return n === 'foo' ? foo : null - }, - addEdgeOut (edge) { - this.edgesOut.set(edge.name, edge) - }, - addEdgeIn (edge) { - this.edgesIn.add(edge) - }, - deleteEdgeIn (edge) { - this.edgesIn.delete(edge) - }, - } - - const foo = { - name: 'foo', - packageName: 'foo', - edgesOut: new Map(), - edgesIn: new Set(), - explain: () => 'foo node explanation', - hasShrinkwrap: true, - package: { - name: 'foo', - version: '1.2.3', - dependencies: { - bar: '^1.0.0', - }, - }, - get version () { - return this.package.version - }, - parent: root, - root, - resolve (n) { - return n === 'bar' ? bar : this.parent.resolve(n) - }, - addEdgeOut (edge) { - this.edgesOut.set(edge.name, edge) - }, - addEdgeIn (edge) { - this.edgesIn.add(edge) - }, - deleteEdgeIn (edge) { - this.edgesIn.delete(edge) - }, - } - foo.overrides = overrides.getNodeRule(foo) - - const bar = { - name: 'bar', - packageName: 'bar', - edgesOut: new Map(), - edgesIn: new Set(), - explain: () => 'bar node explanation', - inShrinkwrap: true, - package: { - name: 'bar', - version: '1.2.3', - dependencies: {}, - }, - get version () { - return this.package.version - }, - parent: foo, - root, - resolve (n) { - return this.parent.resolve(n) - }, - addEdgeOut (edge) { - this.edgesOut.set(edge.name, edge) - }, - addEdgeIn (edge) { - this.edgesIn.add(edge) - }, - deleteEdgeIn (edge) { - this.edgesIn.delete(edge) - }, - } - bar.overrides = foo.overrides.getNodeRule(bar) - - const edge = new Edge({ - from: foo, - type: 'prod', - spec: '^1.0.0', - name: 'bar', - overrides: overrides.getEdgeRule({ name: 'bar', spec: '^1.0.0' }), - }) - - t.ok(edge.valid, 'edge is valid') - t.end() -}) - t.test('overrideset comparison logic', (t) => { const overrides1 = new OverrideSet({ overrides: { @@ -1333,7 +1212,7 @@ t.test('edge with overrides should not crash when target has no overrides', t => t.end() }) -t.test('overrides and bundled/shrinkwrapped deps in satisfiedBy', t => { +t.test('overrides and bundled deps in satisfiedBy', t => { const makeNode = (name, version, extras = {}) => ({ name, packageName: name, @@ -1354,8 +1233,6 @@ t.test('overrides and bundled/shrinkwrapped deps in satisfiedBy', t => { deleteEdgeIn (edge) { this.edgesIn.delete(edge) }, - hasShrinkwrap: false, - inShrinkwrap: false, inBundle: false, inDepBundle: false, ...extras, @@ -1397,16 +1274,6 @@ t.test('overrides and bundled/shrinkwrapped deps in satisfiedBy', t => { t.end() }) - t.test('node inside a shrinkwrap uses rawSpec', t => { - const edge = makeOverriddenEdge() - const node = makeNode('bar', '1.0.0', { inShrinkwrap: true }) - t.ok(edge.satisfiedBy(node), 'bar@1.0.0 in shrinkwrap satisfies rawSpec 1.x') - - const nodeNew = makeNode('bar', '2.0.0', { inShrinkwrap: true }) - t.notOk(edge.satisfiedBy(nodeNew), 'bar@2.0.0 in shrinkwrap does not satisfy rawSpec 1.x') - t.end() - }) - delete a.overrides t.end() }) diff --git a/workspaces/arborist/test/fixtures/isolated-nock.js b/workspaces/arborist/test/fixtures/isolated-nock.js index 4d08c1067c6e0..61694a6dd8f0b 100644 --- a/workspaces/arborist/test/fixtures/isolated-nock.js +++ b/workspaces/arborist/test/fixtures/isolated-nock.js @@ -27,12 +27,12 @@ class StreamToBuffer extends Stream.Writable { * packPackageToStream * Uses 'tar-stream' to create the tar stream without touching the file system. */ -function packPackageToStream (manifest, reg) { +function packPackageToStream (manifest) { const { name, version, } = manifest - const { shrinkwrap, bundledDeps, ...rest } = manifest + const { bundledDeps, ...rest } = manifest const pack = tar.pack() const manifestString = JSON.stringify({ @@ -44,9 +44,6 @@ function packPackageToStream (manifest, reg) { pack.entry({ name: `${unscopedName}/package.json` }, manifestString) pack.entry({ name: `${unscopedName}/index.js` }, index) pack.entry({ name: `${unscopedName}/bin.js` }, '#!/usr/bin/env node\nconsole.log("bin")') - if (shrinkwrap) { - pack.entry({ name: `${unscopedName}/npm-shrinkwrap.json` }, shrinkwrap.replace(/##REG##/g, reg)) - } if (bundledDeps) { pack.entry({ name: `${unscopedName}/node_modules`, type: 'directory' }) bundledDeps.forEach(d => { @@ -65,8 +62,8 @@ function packPackageToStream (manifest, reg) { * Pack a package for publish. * Returns a buffer containing a tarball of the package. */ -async function packPackage (manifest, reg) { - const packStream = packPackageToStream(manifest, reg) +async function packPackage (manifest) { + const packStream = packPackageToStream(manifest) const tarBuffer = packStream.pipe(new StreamToBuffer()) @@ -86,7 +83,7 @@ async function publishPackage (registry, manifest, packuments) { name, version, } = manifest - const { shrinkwrap, bundledDeps, ...rest } = manifest + const { bundledDeps, ...rest } = manifest if (packuments.has(name)) { packuments.get(name).versions[version] = { @@ -114,7 +111,7 @@ async function publishPackage (registry, manifest, packuments) { }) } - const tarball = await packPackage(manifest, registry) + const tarball = await packPackage(manifest) nock(registry) .persist() diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency.json b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency.json deleted file mode 100644 index 45bd53d41a1a1..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_id": "@isaacs/shrinkwrapped-dependency", - "name": "@isaacs/shrinkwrapped-dependency", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@isaacs/shrinkwrapped-dependency", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "abbrev": "^1.0.4" - }, - "_id": "@isaacs/shrinkwrapped-dependency@1.0.0", - "_nodeVersion": "13.3.0", - "_npmVersion": "6.13.4", - "dist": { - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "shasum": "a22edfd12f2e796c924a36fe6cbf52eb495e93c3", - "tarball": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "fileCount": 3, - "unpackedSize": 1038, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+8vRCRA9TVsSAnZWagAAWsQP/AjxSgCAeCxmK01mUKva\nAtyfAXcF56Zwan9ljGCF4trC/03iO4DutZmWXYN6/0scxfAL6TJ1QYGSYxGZ\nZwpsxlNwYlmtivnLanf+pEof7Wt9jXjGDtYsnp0Kc8O2hea+MalpVAl9M8zw\nwELMt3mHIxPmB2auMHZIKi9oElJYDWwZfiKGs0rSNEoYIA6m4ebDA1NV5Dqd\np9iw986iEhKfpSyJ7kPQrXBhVSE0JPtoaKHZX99CJ58QRrbqW35H4WLktXQC\nBduX4bM3Pip5lnCXle7ZzuVWIJxNsZlvft+0ZaPbvqrbJx7rbaaGkEsb+A7A\nCJXwhHdfG8sBXIe3tswEidDYb4kj528xfiienVwNBY6KsnWeVgcKy+ZAn8vf\nCoSkd3nMAIK+9itpYtX5zzzy136pvNbXlxnZryZwFYclZcmanBK6Yn6zrF8K\n/nwlOjPKDPKag21ldDRx+m9SHvtqeG6jGeFvgrdt0IaMeGnTdrbuvUQoX9cF\nGjNMlv4MkbhbRXcNyxabtlQVCwcSI6fBjg+qLUBlxQaumBfZOhFO/yKOMwoj\nSc6HhPfYufdpXlvmcY9N2OrgJgeAD7iYZo92YmOXM47DtJc3HYP+aBzYmPru\npFI3XFMlXr93A/FXKMcYW/ORcnrhES18i/cl/NVtYFflAgX+KILkaZS78HKr\nzncR\r\n=t6l9\r\n-----END PGP SIGNATURE-----\r\n" - }, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "directories": {}, - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dependency_1.0.0_1576782801049_0.38805928505087195" - }, - "_hasShrinkwrap": true - } - }, - "time": { - "created": "2019-12-19T19:13:21.019Z", - "1.0.0": "2019-12-19T19:13:21.241Z", - "modified": "2019-12-19T19:13:24.490Z" - }, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "keywords": [], - "license": "ISC", - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency.min.json deleted file mode 100644 index 11d4502fb796b..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency.min.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@isaacs/shrinkwrapped-dependency", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@isaacs/shrinkwrapped-dependency", - "version": "1.0.0", - "dependencies": { - "abbrev": "^1.0.4" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "shasum": "a22edfd12f2e796c924a36fe6cbf52eb495e93c3", - "tarball": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "fileCount": 3, - "unpackedSize": 1038, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+8vRCRA9TVsSAnZWagAAWsQP/AjxSgCAeCxmK01mUKva\nAtyfAXcF56Zwan9ljGCF4trC/03iO4DutZmWXYN6/0scxfAL6TJ1QYGSYxGZ\nZwpsxlNwYlmtivnLanf+pEof7Wt9jXjGDtYsnp0Kc8O2hea+MalpVAl9M8zw\nwELMt3mHIxPmB2auMHZIKi9oElJYDWwZfiKGs0rSNEoYIA6m4ebDA1NV5Dqd\np9iw986iEhKfpSyJ7kPQrXBhVSE0JPtoaKHZX99CJ58QRrbqW35H4WLktXQC\nBduX4bM3Pip5lnCXle7ZzuVWIJxNsZlvft+0ZaPbvqrbJx7rbaaGkEsb+A7A\nCJXwhHdfG8sBXIe3tswEidDYb4kj528xfiienVwNBY6KsnWeVgcKy+ZAn8vf\nCoSkd3nMAIK+9itpYtX5zzzy136pvNbXlxnZryZwFYclZcmanBK6Yn6zrF8K\n/nwlOjPKDPKag21ldDRx+m9SHvtqeG6jGeFvgrdt0IaMeGnTdrbuvUQoX9cF\nGjNMlv4MkbhbRXcNyxabtlQVCwcSI6fBjg+qLUBlxQaumBfZOhFO/yKOMwoj\nSc6HhPfYufdpXlvmcY9N2OrgJgeAD7iYZo92YmOXM47DtJc3HYP+aBzYmPru\npFI3XFMlXr93A/FXKMcYW/ORcnrhES18i/cl/NVtYFflAgX+KILkaZS78HKr\nzncR\r\n=t6l9\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2019-12-19T19:13:24.490Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz deleted file mode 100644 index 9b511d169c889..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev.json b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev.json deleted file mode 100644 index a3f4b2fd79f8c..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "_id": "@isaacs/testing-shrinkwrap-abbrev", - "_rev": "4-74590deefb464968c8c22dbca97cbfd5", - "name": "@isaacs/testing-shrinkwrap-abbrev", - "dist-tags": { - "latest": "1.2.1" - }, - "versions": { - "1.1.0": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.0", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - }, - "_id": "@isaacs/testing-shrinkwrap-abbrev@1.1.0", - "_nodeVersion": "16.0.0", - "_npmVersion": "7.14.0", - "dist": { - "integrity": "sha512-TYojMk588BgX1PhcpUgYcQXwH3gLt/iPfmzJ0UdR21jH5NVnmU/3GJefwmFNXlaF8OqbNcDTRv/4WGqbYYhA+w==", - "shasum": "237a8966283d2074d60778e77a3ea90d6a144412", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.1.0.tgz", - "fileCount": 3, - "unpackedSize": 1028, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/LGCRA9TVsSAnZWagAAv0EP/2gjk9EdcWCXOZe49qF6\nubOfF1wAmuOqEo0aQihmufSnNshBF01hHLKanHjYPgXheQfLKUSOio0NDscW\ncgy2T2z5uV+a2IfSWBhRj+IjPqIZK2tPsN2RavsPqJ4XNmmuqipWn6t9+hKj\nHlfSWVH/PnKKqeHIkeoNoBM0JLnNAzNwyNWPIYJ9ev13xe2w542pV6VrVvvJ\nxgiIz0g8Nh64mgIERjbABLo4iQlESZrBRckT6LW5YpHQAr1r/u2ukiWV5KWR\nW3W+w9cVgSIy4nLu4hSbZ/7aHx8QKQnPz80/9AuphLTD49VzUxAXZ/X+q7+G\nbRrYkY7gQydUjWAN0hxC3Ssrb68fzKSEXIPGqIfGBK6DCSImgJoi/3Yoz4iH\n7+7wzruhYPbsRDhZIlxXviPoEvqCCKUZ0TVUmX2RnQOsA+LmGe+4KxWIgfgQ\nf9lJriWN/pu/Tpolvyys+bpd2GVdkcd0NEif447O/Asji1RBlBzseNt4NtxT\nKCTvhvYHCiSHEXjGYiNqfPnDxs0u6NuJiDq2cSP7jyaPkUKZbj2MPECRhdNZ\nicoAwOzYiroOBYMck39v9QnbGdNZmdGDKUYAEU4gCw3jsDdJ8/BCORLtXWP3\n6Dog0p7yeRPNFdAd5DuLjZTjFzfE2MdPRQ5b7KKLkE9hv0BGn0X2yD8LpAT/\nLSkS\r\n=e9hz\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "directories": {}, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/testing-shrinkwrap-abbrev_1.1.0_1621881541630_0.7328421074906541" - }, - "_hasShrinkwrap": true - }, - "1.1.1": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.1", - "dependencies": { - "abbrev": "^1.1.1" - }, - "scripts": { - "test": "node test.js" - }, - "_id": "@isaacs/testing-shrinkwrap-abbrev@1.1.1", - "_nodeVersion": "16.0.0", - "_npmVersion": "7.14.0", - "dist": { - "integrity": "sha512-6PxS8ZM9rDSgqaSetq3IHVIJsSKHvQ+2xZVJwU64QzwxJl3rxa4q5nNJvuZReDsrloq3uSGkDNPtR56+V3ck5A==", - "shasum": "6c3b01872ef148948dafa87aa87e8e96264cfb9f", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.1.1.tgz", - "fileCount": 3, - "unpackedSize": 1157, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/MWCRA9TVsSAnZWagAA3mEP/j4o7EH2F9bM/LLajkUZ\nF2DjXINXfXXTz17tdw3yAPSMPSzc0IPAtOO0I5Odc5av22Nu1dlcb4Rfe4uI\n0pMF9rqTUxwhnVXDOUfsiY2BrE8pEB465+AFfarm1zb9PHaI7oNXPSn+aJwZ\nfNCuCaV7+pia9KxnfRChXR/9aRZU3QjaZ0jnn+qaY8zCzcnsyMKrdVRMLxVc\nan43gbkQi4dEGx8bbMnv9kHetdfVd8HUGaH1oveOKesTlXLAZHdLXNPcNu6j\nsqm+u6+uECcogTy7TQ9Ue2sP0jRS9rDgP8PRgl3fuke8vd1+Uyk7N9Jzl1YM\n1W3irL/AGUPbgtyphUmPYp6SQscXmZj5G/HUlKBqwCvFLqgUMYE2LSB40RR2\n/+uL4xm6eXIVXnNjZZ0VC7Zbgfud2LYf36/4ICzIFeDW8g2cBUejakJuRyt/\n7hTYjTIUi96bhVrkvgn/DzD+6hSpHluyWFLgMd511Cl6hEfzl5hDu63FBM1o\nbx2oZAJ6Sh1Ju+7CF6BWQDnIeHU25ROr2h9odc/7fPlXtG08wtJ23BNo5sLw\n1t2Y8JjuAWqNmm5s/nF3mijmohaJDuLeI8PotAjcno6kLgQlKRZvOvBtEk3G\n4qd89CA471kv7/z89voPWbRmdsnCvK7apzbRAHeLhyzmmO4QX9fsZBZ1gRCx\n7cIA\r\n=nNtA\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "directories": {}, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/testing-shrinkwrap-abbrev_1.1.1_1621881620405_0.5727830985048044" - }, - "_hasShrinkwrap": true - }, - "1.1.2": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.2", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - }, - "_id": "@isaacs/testing-shrinkwrap-abbrev@1.1.2", - "_nodeVersion": "16.0.0", - "_npmVersion": "7.14.0", - "dist": { - "integrity": "sha512-r8mIu0lA0/TOS8FMzQgDIIiRZ8EW5SWobK0yTQWNLHJGdRgsjkXUx83h4sBTMQdhCl+7Ik71CTH6RrYR8IDvTg==", - "shasum": "a5645797452944c4f20055012d6645d363c5b00b", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.1.2.tgz", - "fileCount": 3, - "unpackedSize": 1110, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/Q+CRA9TVsSAnZWagAABO0P/3C2uUUy9dp+dq3mFeCn\nouEgrEW3vWoGRjzqTixjGDG3C65W0Jm9nmlNT6chvovZ29PZ8ML0JFmob2PB\n5Hl6vqGtTHGmye5pdPyHSBkpBq/kajh7evSFfu3eSO12oew3x3Sdwv5JQWNt\n4+3bFWByhVJv9NB2J4ufuUC4qplF0lzZmHULl1eP8inMs8Z4rQ+B3OZpcVdM\niV6FxbSXGL+DtAk1sAq0MWw3FSDIRlPUcrj9LRKpw4ZJgCQLaBHT86ruxzmt\nHDktdA9NB9869LbigQxPKJJxesbDvLbabARcTYimEc/vKGEX5yCsV9km/9jb\nxSevgTQDh9ntfHApPzeG3nP06g7gACrquhPMuGlt6O/ZREUXvKsRgqFZnESp\nDM+NK9HWtqz5jhB7triJTh5Zbk2N9e9pQ5xJwOsiDnP0r4hBxDHIe5kOvwXn\nIdzSWmqulWKiFYV3JHWzUfDhFbFdw1adCuagPJUrJsVhpOVcfsZfKerVosBU\nyglK60k4ugT1XD10XsaSrQ3UZ/0a7yLdL546j3s2xXw/ARgoq9r/z7VoBWJN\nQm28RO6FVj1dMBda+a1FBg/bQQTZFVGscRaDpTrpldLnHyUGnN9x93nAIMNm\njaNvfskRWp8ZGtvh6k70vG/Oo5yNvaAVUA8wkv1fcF41VYSQGc28irn4j0P9\nYIoz\r\n=qWTs\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "directories": {}, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/testing-shrinkwrap-abbrev_1.1.2_1621881918427_0.39865082315878" - }, - "_hasShrinkwrap": true - }, - "1.2.0": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.0", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - }, - "_id": "@isaacs/testing-shrinkwrap-abbrev@1.2.0", - "_nodeVersion": "16.0.0", - "_npmVersion": "7.14.0", - "dist": { - "integrity": "sha512-C9JclYdDiJQK/bVXeO5ImV91+kpYa6UbBp0bWqX+7pTIQ8vGMBZE4Crt7+Aj7M/W0SB7Y7N7Do4qXCHcx4Vpqg==", - "shasum": "56da5ce658f3d45c0e03cea7e09cb47301bdd55d", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.0.tgz", - "fileCount": 3, - "unpackedSize": 722, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrAPDCRA9TVsSAnZWagAAg2gP/RH5J0R0HQt6isyB+oOc\nISOE9IN3kr1b+K9W4Nq2fRT9htRzb62oNk+UGj8p3mtjc6kvvHdpr6vjeQMg\nZjkY1swCDqG4EiWwS45cvmNO6LE/CgzU6vR+VeJCgu77xCaVJn6WWBEY1+po\nKA537T7SqEYF+UcejvbnJ6BGrmMymKNEIPGrZnKd41A7a21FGTTCEv5hP6bu\n+07lyLWLLqLRQMUBGCwyJghfOC2UaRTTil8++btzBhig9bfQawXFqpwKT+o3\nPZS+YlX3R1xITmOSXdQXQaXcBRyaPEwSFILPbF1oajHF/UkpgSWYIOU4SV7/\nolG3p345rjs+D06SSEEb+2E3HHsHt88SVrogL5ammk+0iRN9y7GkOovOcXL4\nLCNL7xP9dhBHN1jzl4lLyF24JrTGK+L0SogxkuuQ01jO/6uRi9Qp8jnDWqnK\nTqUovMkxMAkIwuc5Gf4lTiEFohQFH/Bk9OHelZOib6fuV48+nSS8fqryUAUe\nzqEJZJ61OwnXjG5RVXqMUfZi0FddSRAfSHpOXDnP+NmHcNMk9YtYAZ3j+3W2\n0vH2QOye3HvfLhS21DVD7Ai/QPYosJvrbZ7DBExNFDQoY3Y7jsck3dSG2t4X\nHfv3bKsbbDkQwWVPQZ/rsftBVw67sYViuJ7s2+OZgnpOieLGJOCR40Phjxha\nurE6\r\n=npZ2\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "directories": {}, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/testing-shrinkwrap-abbrev_1.2.0_1621885891322_0.8362264068815064" - }, - "_hasShrinkwrap": true - }, - "1.2.1": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.1", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - }, - "_id": "@isaacs/testing-shrinkwrap-abbrev@1.2.1", - "_nodeVersion": "16.0.0", - "_npmVersion": "7.14.0", - "dist": { - "integrity": "sha512-ngPpNtherFyEq59NvkvRHrVo7M8gBe9vPKBosDV5yyVhHQMSiTd/hLbgJhyoDo5Ic150VgLynkoWe6YqrDj+vw==", - "shasum": "1023e3982a109786cab10be799eea10882277f6c", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.1.tgz", - "fileCount": 3, - "unpackedSize": 726, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrAP5CRA9TVsSAnZWagAAepIQAKMTJTqMMbcX1Z8q/y2N\nRIRzwWMoDx2D/pcgxTc9SoiCCqbhwXzgnA+Pccefs1WP7N2G6fPInW6geRiA\nZ9d8nFoMseP3Kttv8v7Ne4msrM4MtELPTth6zLkIJOnnunaTq17siZ/cQAtA\nxyi8WxCFISAYctHaAkh+NE2efdR75o5f4imaSCmclJ5mu0578GK9tWOr3UE9\nf1IDvLukCmGqEjLVBXSa6mljVcCBqJkM05lRVMi8HJ6Ix72Ngiz607OHwWWe\njpNZazPUHyklBrkNspRu3Zp/3DhiWIEtE47INldUyaNTHWHIjZZvZLZq1LSV\na/svf0iCfxMIMyuBz+X3t7hjZQx4lkAHl0WMzsxfWuRnaCoCm4XXIz7c3xAO\n6X+Qn7wxzAIJTD1pMduPZy82x1j4e2cLvMebDOFq5lIpmBrATCO7kz4CcERz\nkkX1ht7Rq/ZiXDXRW3pdSAyMv2JnzsKz4EW1g4zgIlRPhAYftEzKgDS9xHgi\ne4QbutsLkFgxqVDFj2NmgcRwZteTz95Rd8ZS6jsmO89vxF1iATRzOimJfLd7\nYdXLfVVnY931OArwNqTFOK71W3YN+ON97eYJQGWDGhHeW/ldmSkHn+lXoJGP\nKj1kgrtdE7sFOAU4tZb2VNZBu68e0xLb341XVjyabrrRflN6H0y0zFq1+w4Q\ntQ3A\r\n=EzTD\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "isaacs", - "email": "i@izs.me" - }, - "directories": {}, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/testing-shrinkwrap-abbrev_1.2.1_1621885944680_0.8275105000563601" - }, - "_hasShrinkwrap": true - } - }, - "time": { - "created": "2021-05-24T18:39:01.568Z", - "1.1.0": "2021-05-24T18:39:01.758Z", - "modified": "2021-05-24T19:52:26.926Z", - "1.1.1": "2021-05-24T18:40:20.813Z", - "1.1.2": "2021-05-24T18:45:18.624Z", - "1.2.0": "2021-05-24T19:51:31.461Z", - "1.2.1": "2021-05-24T19:52:24.825Z" - }, - "maintainers": [ - { - "name": "isaacs", - "email": "i@izs.me" - } - ], - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev.min.json deleted file mode 100644 index 43db8cb2f8ebc..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev.min.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "dist-tags": { - "latest": "1.2.1" - }, - "versions": { - "1.1.0": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.0", - "dependencies": { - "abbrev": "*" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-TYojMk588BgX1PhcpUgYcQXwH3gLt/iPfmzJ0UdR21jH5NVnmU/3GJefwmFNXlaF8OqbNcDTRv/4WGqbYYhA+w==", - "shasum": "237a8966283d2074d60778e77a3ea90d6a144412", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.1.0.tgz", - "fileCount": 3, - "unpackedSize": 1028, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/LGCRA9TVsSAnZWagAAv0EP/2gjk9EdcWCXOZe49qF6\nubOfF1wAmuOqEo0aQihmufSnNshBF01hHLKanHjYPgXheQfLKUSOio0NDscW\ncgy2T2z5uV+a2IfSWBhRj+IjPqIZK2tPsN2RavsPqJ4XNmmuqipWn6t9+hKj\nHlfSWVH/PnKKqeHIkeoNoBM0JLnNAzNwyNWPIYJ9ev13xe2w542pV6VrVvvJ\nxgiIz0g8Nh64mgIERjbABLo4iQlESZrBRckT6LW5YpHQAr1r/u2ukiWV5KWR\nW3W+w9cVgSIy4nLu4hSbZ/7aHx8QKQnPz80/9AuphLTD49VzUxAXZ/X+q7+G\nbRrYkY7gQydUjWAN0hxC3Ssrb68fzKSEXIPGqIfGBK6DCSImgJoi/3Yoz4iH\n7+7wzruhYPbsRDhZIlxXviPoEvqCCKUZ0TVUmX2RnQOsA+LmGe+4KxWIgfgQ\nf9lJriWN/pu/Tpolvyys+bpd2GVdkcd0NEif447O/Asji1RBlBzseNt4NtxT\nKCTvhvYHCiSHEXjGYiNqfPnDxs0u6NuJiDq2cSP7jyaPkUKZbj2MPECRhdNZ\nicoAwOzYiroOBYMck39v9QnbGdNZmdGDKUYAEU4gCw3jsDdJ8/BCORLtXWP3\n6Dog0p7yeRPNFdAd5DuLjZTjFzfE2MdPRQ5b7KKLkE9hv0BGn0X2yD8LpAT/\nLSkS\r\n=e9hz\r\n-----END PGP SIGNATURE-----\r\n" - } - }, - "1.1.1": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.1", - "dependencies": { - "abbrev": "^1.1.1" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-6PxS8ZM9rDSgqaSetq3IHVIJsSKHvQ+2xZVJwU64QzwxJl3rxa4q5nNJvuZReDsrloq3uSGkDNPtR56+V3ck5A==", - "shasum": "6c3b01872ef148948dafa87aa87e8e96264cfb9f", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.1.1.tgz", - "fileCount": 3, - "unpackedSize": 1157, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/MWCRA9TVsSAnZWagAA3mEP/j4o7EH2F9bM/LLajkUZ\nF2DjXINXfXXTz17tdw3yAPSMPSzc0IPAtOO0I5Odc5av22Nu1dlcb4Rfe4uI\n0pMF9rqTUxwhnVXDOUfsiY2BrE8pEB465+AFfarm1zb9PHaI7oNXPSn+aJwZ\nfNCuCaV7+pia9KxnfRChXR/9aRZU3QjaZ0jnn+qaY8zCzcnsyMKrdVRMLxVc\nan43gbkQi4dEGx8bbMnv9kHetdfVd8HUGaH1oveOKesTlXLAZHdLXNPcNu6j\nsqm+u6+uECcogTy7TQ9Ue2sP0jRS9rDgP8PRgl3fuke8vd1+Uyk7N9Jzl1YM\n1W3irL/AGUPbgtyphUmPYp6SQscXmZj5G/HUlKBqwCvFLqgUMYE2LSB40RR2\n/+uL4xm6eXIVXnNjZZ0VC7Zbgfud2LYf36/4ICzIFeDW8g2cBUejakJuRyt/\n7hTYjTIUi96bhVrkvgn/DzD+6hSpHluyWFLgMd511Cl6hEfzl5hDu63FBM1o\nbx2oZAJ6Sh1Ju+7CF6BWQDnIeHU25ROr2h9odc/7fPlXtG08wtJ23BNo5sLw\n1t2Y8JjuAWqNmm5s/nF3mijmohaJDuLeI8PotAjcno6kLgQlKRZvOvBtEk3G\n4qd89CA471kv7/z89voPWbRmdsnCvK7apzbRAHeLhyzmmO4QX9fsZBZ1gRCx\n7cIA\r\n=nNtA\r\n-----END PGP SIGNATURE-----\r\n" - } - }, - "1.1.2": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.2", - "dependencies": { - "abbrev": "*" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-r8mIu0lA0/TOS8FMzQgDIIiRZ8EW5SWobK0yTQWNLHJGdRgsjkXUx83h4sBTMQdhCl+7Ik71CTH6RrYR8IDvTg==", - "shasum": "a5645797452944c4f20055012d6645d363c5b00b", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.1.2.tgz", - "fileCount": 3, - "unpackedSize": 1110, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq/Q+CRA9TVsSAnZWagAABO0P/3C2uUUy9dp+dq3mFeCn\nouEgrEW3vWoGRjzqTixjGDG3C65W0Jm9nmlNT6chvovZ29PZ8ML0JFmob2PB\n5Hl6vqGtTHGmye5pdPyHSBkpBq/kajh7evSFfu3eSO12oew3x3Sdwv5JQWNt\n4+3bFWByhVJv9NB2J4ufuUC4qplF0lzZmHULl1eP8inMs8Z4rQ+B3OZpcVdM\niV6FxbSXGL+DtAk1sAq0MWw3FSDIRlPUcrj9LRKpw4ZJgCQLaBHT86ruxzmt\nHDktdA9NB9869LbigQxPKJJxesbDvLbabARcTYimEc/vKGEX5yCsV9km/9jb\nxSevgTQDh9ntfHApPzeG3nP06g7gACrquhPMuGlt6O/ZREUXvKsRgqFZnESp\nDM+NK9HWtqz5jhB7triJTh5Zbk2N9e9pQ5xJwOsiDnP0r4hBxDHIe5kOvwXn\nIdzSWmqulWKiFYV3JHWzUfDhFbFdw1adCuagPJUrJsVhpOVcfsZfKerVosBU\nyglK60k4ugT1XD10XsaSrQ3UZ/0a7yLdL546j3s2xXw/ARgoq9r/z7VoBWJN\nQm28RO6FVj1dMBda+a1FBg/bQQTZFVGscRaDpTrpldLnHyUGnN9x93nAIMNm\njaNvfskRWp8ZGtvh6k70vG/Oo5yNvaAVUA8wkv1fcF41VYSQGc28irn4j0P9\nYIoz\r\n=qWTs\r\n-----END PGP SIGNATURE-----\r\n" - } - }, - "1.2.0": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.0", - "dependencies": { - "abbrev": "*" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-C9JclYdDiJQK/bVXeO5ImV91+kpYa6UbBp0bWqX+7pTIQ8vGMBZE4Crt7+Aj7M/W0SB7Y7N7Do4qXCHcx4Vpqg==", - "shasum": "56da5ce658f3d45c0e03cea7e09cb47301bdd55d", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.0.tgz", - "fileCount": 3, - "unpackedSize": 722, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrAPDCRA9TVsSAnZWagAAg2gP/RH5J0R0HQt6isyB+oOc\nISOE9IN3kr1b+K9W4Nq2fRT9htRzb62oNk+UGj8p3mtjc6kvvHdpr6vjeQMg\nZjkY1swCDqG4EiWwS45cvmNO6LE/CgzU6vR+VeJCgu77xCaVJn6WWBEY1+po\nKA537T7SqEYF+UcejvbnJ6BGrmMymKNEIPGrZnKd41A7a21FGTTCEv5hP6bu\n+07lyLWLLqLRQMUBGCwyJghfOC2UaRTTil8++btzBhig9bfQawXFqpwKT+o3\nPZS+YlX3R1xITmOSXdQXQaXcBRyaPEwSFILPbF1oajHF/UkpgSWYIOU4SV7/\nolG3p345rjs+D06SSEEb+2E3HHsHt88SVrogL5ammk+0iRN9y7GkOovOcXL4\nLCNL7xP9dhBHN1jzl4lLyF24JrTGK+L0SogxkuuQ01jO/6uRi9Qp8jnDWqnK\nTqUovMkxMAkIwuc5Gf4lTiEFohQFH/Bk9OHelZOib6fuV48+nSS8fqryUAUe\nzqEJZJ61OwnXjG5RVXqMUfZi0FddSRAfSHpOXDnP+NmHcNMk9YtYAZ3j+3W2\n0vH2QOye3HvfLhS21DVD7Ai/QPYosJvrbZ7DBExNFDQoY3Y7jsck3dSG2t4X\nHfv3bKsbbDkQwWVPQZ/rsftBVw67sYViuJ7s2+OZgnpOieLGJOCR40Phjxha\nurE6\r\n=npZ2\r\n-----END PGP SIGNATURE-----\r\n" - } - }, - "1.2.1": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.1", - "dependencies": { - "abbrev": "*" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-ngPpNtherFyEq59NvkvRHrVo7M8gBe9vPKBosDV5yyVhHQMSiTd/hLbgJhyoDo5Ic150VgLynkoWe6YqrDj+vw==", - "shasum": "1023e3982a109786cab10be799eea10882277f6c", - "tarball": "https://registry.npmjs.org/@isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.1.tgz", - "fileCount": 3, - "unpackedSize": 726, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrAP5CRA9TVsSAnZWagAAepIQAKMTJTqMMbcX1Z8q/y2N\nRIRzwWMoDx2D/pcgxTc9SoiCCqbhwXzgnA+Pccefs1WP7N2G6fPInW6geRiA\nZ9d8nFoMseP3Kttv8v7Ne4msrM4MtELPTth6zLkIJOnnunaTq17siZ/cQAtA\nxyi8WxCFISAYctHaAkh+NE2efdR75o5f4imaSCmclJ5mu0578GK9tWOr3UE9\nf1IDvLukCmGqEjLVBXSa6mljVcCBqJkM05lRVMi8HJ6Ix72Ngiz607OHwWWe\njpNZazPUHyklBrkNspRu3Zp/3DhiWIEtE47INldUyaNTHWHIjZZvZLZq1LSV\na/svf0iCfxMIMyuBz+X3t7hjZQx4lkAHl0WMzsxfWuRnaCoCm4XXIz7c3xAO\n6X+Qn7wxzAIJTD1pMduPZy82x1j4e2cLvMebDOFq5lIpmBrATCO7kz4CcERz\nkkX1ht7Rq/ZiXDXRW3pdSAyMv2JnzsKz4EW1g4zgIlRPhAYftEzKgDS9xHgi\ne4QbutsLkFgxqVDFj2NmgcRwZteTz95Rd8ZS6jsmO89vxF1iATRzOimJfLd7\nYdXLfVVnY931OArwNqTFOK71W3YN+ON97eYJQGWDGhHeW/ldmSkHn+lXoJGP\nKj1kgrtdE7sFOAU4tZb2VNZBu68e0xLb341XVjyabrrRflN6H0y0zFq1+w4Q\ntQ3A\r\n=EzTD\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2021-05-24T19:52:26.926Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.0.tgz deleted file mode 100644 index e67d4b7ca183d..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.1.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.1.tgz deleted file mode 100644 index abf66248a7160..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/isaacs/testing-shrinkwrap-abbrev/-/testing-shrinkwrap-abbrev-1.2.1.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a.json deleted file mode 100644 index 6c69a5c72e521..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "_id": "@nlf/shrinkwrapped-dep-updates-a", - "_rev": "1-d805a97150d8d2daffbb2a38fb2ecf82", - "name": "@nlf/shrinkwrapped-dep-updates-a", - "dist-tags": { - "latest": "2.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "1.0.0", - "description": "a dependency with shrinkwrapped deps that change between versions", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-d": "^1.0.0" - }, - "_id": "@nlf/shrinkwrapped-dep-updates-a@1.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-pNGpUP2EJtFniSm84GAy0fXqgOvzlbDEjGj3fHcJHMxvGecrf3iu/Ad3fkzQqrwUKPQVSpBsWLgX7+oocE9LtA==", - "shasum": "eee821e72d1930a5fe7bb532f263b838aa76e98f", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-1.0.0.tgz", - "fileCount": 2, - "unpackedSize": 2693, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfakeCRA9TVsSAnZWagAASoIP/RXlrMoeK1jPD2ckuGGf\nlMJnKRIa2XLWxy/nQ8WKkhYyj/gpbHLrmXzmYKNwr/GJKP+8ja3OdWO8J1Qe\n5q89D4Lbt/ISYVQirUYK1ER9QdwghC5sabiQYiSq33z85NniEyJ0zZau+WJh\ndByFzwHoabE8q+g5DpRakaiQbudqZtAFfDj68GlE8sMBEaARF2QR2I4liIYd\nGGpetvDbkKT3X9KjuBXLbVCVczCBIe1KfPWceEBTAxHQzqfvptL//aqrlLND\nVi9XuQTlhQvZxskzRkPv57ZompBVoBEsAmvS5zwy1vQUCZAvuKer3zAFjurK\npWAIcvEMviOOP8FhpeNQdMrk8ftOl1iOUjsNMgluLGrhM6Lidu6qSEF+pEC+\neP4+LhKIfZq2+t2NPP132Ye0mXzXbhCTKeui0AMqjSHWTmA5Q8OnhRThjQZS\nH/FHj/fNLgdSxp9hGYYR+u7BSjkodnGVbsdQRWr39UMt1I7w2eV5tC6vrhrh\n8eI4vDENGVE8+/HZYWN2C5ab5CAGDXNwBNqVx9T44QLkGxmy+7ptjYHeSOGR\ndLroSoTgDLK5EGImSuuUmZAbGzUMm/Ns333TE3fGRe8rKoqG1dfWRqmVehaP\njjnnw3IoFGKdN/dO8f8stbShjsBSJbLU3oiO5bo6radSuJ+G5kW7Clbuou/8\nHv/x\r\n=mkCk\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-a_1.0.0_1618848029879_0.9370532156921463" - }, - "_hasShrinkwrap": true - }, - "2.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "2.0.0", - "description": "a dependency with shrinkwrapped deps that change between versions", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^2.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-e": "^1.0.0" - }, - "_id": "@nlf/shrinkwrapped-dep-updates-a@2.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-d/flPwoAL2RkRnN3jEYELUpkgjwstkk6KYL784stgi0FG7SJgJSLmyYxgtJsWlrMNyxCqlpnG+l+DGuZluG/bA==", - "shasum": "b306d24701fb53d48e674174f630c816bb061288", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-2.0.0.tgz", - "fileCount": 2, - "unpackedSize": 2693, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfalICRA9TVsSAnZWagAAUWYP/1y6thk1Np0h+oqBB5vH\n+F70MWpCfhFy/iRGcSG18xTEoj8BFV5cXqfTiGXsYLIA6ApRK7vpz2lGclel\n1jDQjU3C7j4Z/znyrsdVHObAVJdWbFtyHeurlERtSZmIX4Ie3fRn1Y+QJV7o\nQSeey/1Wif0XuBuQFi9s8ENTI4CDIQun/lWuwi1NvlbplbiANAB+q7LbWHEr\nUW2V/3bBnCkJ1k/YNpL9kbTvOW4kBh/bXXfuIvCipoNZWnLaw6/Ih/EPmyK4\n3xwFRs6O8EXag4M8lHN0bhbAk347qDQdNI1dtABNzB/6hCz2BAmrdYTtYRz+\nUbe+BHEW2mnZxtcp9jR9otQjExnyMzMQGkMv62587NTCdhp00xb9kOE71yTa\nfQ0IVAZ0vBldrdBs9ZQ0gW//SUYFy4Q44xeF2worg6nEpgZlpM8rQkzqKDnX\n/a5dyzWAI7k5ACcAp6hXPNnR8jXa1IlR/Pb9b4ARGnGPZkHKGPb1AD75RKba\ni7y6j8oVs3nyOkCDa/H0A8OxtPi4tpQo4JLVKdL9yLg+5Qt/hVnrsFJ+Sq99\n0sled32QeU89um/WsErRPqK0yjpx15rB91mEPY4g7UmjFQeB0Ekamxzq7q7i\nNGMheVykug+ykz86VX1U83c9tb8wthKWFpT7OTzqTZeW9+BxJuu1bzBJMP5p\nXC0n\r\n=Twl4\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-a_2.0.0_1618848071773_0.3133555404017958" - }, - "_hasShrinkwrap": true - } - }, - "time": { - "created": "2021-04-19T16:00:29.822Z", - "1.0.0": "2021-04-19T16:00:29.984Z", - "modified": "2021-04-19T16:01:14.014Z", - "2.0.0": "2021-04-19T16:01:11.905Z" - }, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "description": "a dependency with shrinkwrapped deps that change between versions", - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a.min.json deleted file mode 100644 index 2f3d81143dffc..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a.min.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-a", - "dist-tags": { - "latest": "2.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "1.0.0", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-d": "^1.0.0" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-pNGpUP2EJtFniSm84GAy0fXqgOvzlbDEjGj3fHcJHMxvGecrf3iu/Ad3fkzQqrwUKPQVSpBsWLgX7+oocE9LtA==", - "shasum": "eee821e72d1930a5fe7bb532f263b838aa76e98f", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-1.0.0.tgz", - "fileCount": 2, - "unpackedSize": 2693, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfakeCRA9TVsSAnZWagAASoIP/RXlrMoeK1jPD2ckuGGf\nlMJnKRIa2XLWxy/nQ8WKkhYyj/gpbHLrmXzmYKNwr/GJKP+8ja3OdWO8J1Qe\n5q89D4Lbt/ISYVQirUYK1ER9QdwghC5sabiQYiSq33z85NniEyJ0zZau+WJh\ndByFzwHoabE8q+g5DpRakaiQbudqZtAFfDj68GlE8sMBEaARF2QR2I4liIYd\nGGpetvDbkKT3X9KjuBXLbVCVczCBIe1KfPWceEBTAxHQzqfvptL//aqrlLND\nVi9XuQTlhQvZxskzRkPv57ZompBVoBEsAmvS5zwy1vQUCZAvuKer3zAFjurK\npWAIcvEMviOOP8FhpeNQdMrk8ftOl1iOUjsNMgluLGrhM6Lidu6qSEF+pEC+\neP4+LhKIfZq2+t2NPP132Ye0mXzXbhCTKeui0AMqjSHWTmA5Q8OnhRThjQZS\nH/FHj/fNLgdSxp9hGYYR+u7BSjkodnGVbsdQRWr39UMt1I7w2eV5tC6vrhrh\n8eI4vDENGVE8+/HZYWN2C5ab5CAGDXNwBNqVx9T44QLkGxmy+7ptjYHeSOGR\ndLroSoTgDLK5EGImSuuUmZAbGzUMm/Ns333TE3fGRe8rKoqG1dfWRqmVehaP\njjnnw3IoFGKdN/dO8f8stbShjsBSJbLU3oiO5bo6radSuJ+G5kW7Clbuou/8\nHv/x\r\n=mkCk\r\n-----END PGP SIGNATURE-----\r\n" - } - }, - "2.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "2.0.0", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^2.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-e": "^1.0.0" - }, - "_hasShrinkwrap": true, - "dist": { - "integrity": "sha512-d/flPwoAL2RkRnN3jEYELUpkgjwstkk6KYL784stgi0FG7SJgJSLmyYxgtJsWlrMNyxCqlpnG+l+DGuZluG/bA==", - "shasum": "b306d24701fb53d48e674174f630c816bb061288", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-2.0.0.tgz", - "fileCount": 2, - "unpackedSize": 2693, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfalICRA9TVsSAnZWagAAUWYP/1y6thk1Np0h+oqBB5vH\n+F70MWpCfhFy/iRGcSG18xTEoj8BFV5cXqfTiGXsYLIA6ApRK7vpz2lGclel\n1jDQjU3C7j4Z/znyrsdVHObAVJdWbFtyHeurlERtSZmIX4Ie3fRn1Y+QJV7o\nQSeey/1Wif0XuBuQFi9s8ENTI4CDIQun/lWuwi1NvlbplbiANAB+q7LbWHEr\nUW2V/3bBnCkJ1k/YNpL9kbTvOW4kBh/bXXfuIvCipoNZWnLaw6/Ih/EPmyK4\n3xwFRs6O8EXag4M8lHN0bhbAk347qDQdNI1dtABNzB/6hCz2BAmrdYTtYRz+\nUbe+BHEW2mnZxtcp9jR9otQjExnyMzMQGkMv62587NTCdhp00xb9kOE71yTa\nfQ0IVAZ0vBldrdBs9ZQ0gW//SUYFy4Q44xeF2worg6nEpgZlpM8rQkzqKDnX\n/a5dyzWAI7k5ACcAp6hXPNnR8jXa1IlR/Pb9b4ARGnGPZkHKGPb1AD75RKba\ni7y6j8oVs3nyOkCDa/H0A8OxtPi4tpQo4JLVKdL9yLg+5Qt/hVnrsFJ+Sq99\n0sled32QeU89um/WsErRPqK0yjpx15rB91mEPY4g7UmjFQeB0Ekamxzq7q7i\nNGMheVykug+ykz86VX1U83c9tb8wthKWFpT7OTzqTZeW9+BxJuu1bzBJMP5p\nXC0n\r\n=Twl4\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2021-04-19T16:01:14.014Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-1.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-1.0.0.tgz deleted file mode 100644 index 1234c316a647a..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-1.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-2.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-2.0.0.tgz deleted file mode 100644 index 1f2015a659520..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-a/-/shrinkwrapped-dep-updates-a-2.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b.json deleted file mode 100644 index f5d1ec557adaa..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "_id": "@nlf/shrinkwrapped-dep-updates-b", - "_rev": "1-f05670713475c8f87cd84ca431001bdb", - "name": "@nlf/shrinkwrapped-dep-updates-b", - "dist-tags": { - "latest": "2.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-b", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on", - "_id": "@nlf/shrinkwrapped-dep-updates-b@1.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-O8gmWJxc3W9yjGNGnEwumPQfXDTjIwkixWN8XPKvuEKwg5QldqAJfka5u7NwvM4ILP+1TT2OEMf+cNEYJ3eXUw==", - "shasum": "0f111693939e966d67c3f23c30900497076d1aa6", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfajPCRA9TVsSAnZWagAAfDsP/RAm3dd6uldkPJ3n/D4+\nwSrBpKQhFdwN1h9aE6dhgC8dq01r/sjezZcPDeTNAoZX8f7M0GAXNw1bB+5e\nXHp0y8lyfRXZL+EZwhZCfl0za01whvbrx79t01oeYgaeHP4ztbjygmfr7Y/D\nz+ft0/H3Fguwz76yELFYqjGY4G2mjUC93+2AhZhJ2KBSj6xsL+LUe4hdh8y/\n7HTg9j2rr+iDxS2uFWWb9DiQokfhOfyM2FrfqoCZZtPGg28I5W8zQtw9YTBj\ny2pXrhpxKzc8woHgfjlSocdj2pp6tAjiNNBVFRzKp5MBb72EAuGKAXHe8VHF\n2B6tuUYMJeOe0s9y4ptmSWg3gBZtmL/dqGn/oZy/3MdjHloz48FVUr+pyGjS\nB+JCPnal907qlfQNhXYz1I9LlfYaTgwHZEbAy4PFZA7V7MMtVWNFtwj3/Pwk\nQqHD7Su+66y//o9d3nSKWW7k5my3/T1MNbPmnisFMqpKuiMS54Bvv0ckcd4A\n593TgA7H2f0H+HSF55PH2q7BZeRkfoB2pht6XDdBSZsfWgmnksOcb0Dfy45Y\nvnHuHs/TdhrsqCxrxjNd8FrJUt2eO/R7ejRCvQhOdHLl9DWzOmhbFZqsP9El\nsTeg2OEKjDRqQCmgugcZANos9lHWFOZH0VgF2nMy3sT089sbhOf2DyWUsMmv\ne/i4\r\n=ZoBI\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-b_1.0.0_1618847951436_0.553392308060431" - }, - "_hasShrinkwrap": false - }, - "2.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-b", - "version": "2.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on", - "_id": "@nlf/shrinkwrapped-dep-updates-b@2.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-B5arzHMzN1kp67O/tVRR+OtosYDYVdNH7dLKkVR9Ruov+M6a7mrj2bOAJd8HZMQlQ5yjMRy3UXTp2amgh9EhqA==", - "shasum": "d857895f3d09514e7efb127f9092451b34c13db7", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfajcCRA9TVsSAnZWagAATBkP/jMOkUYS+ehl6DKBRaLA\nrRet2hEeF8bIZQM71v+mU07oJjGWyAwKB4ZI+uEaYY4VqGZBQI5obX52Da+O\ncu+zIgbGXgTk2YgQMcyCnl2kkof2s9kPe+EflH3kHcDuK/V819ekCyNVG09W\nmDTRRx1OhT16gQnAXtfW8cLbkOS4fmbX3nUgXQIPzFqgMYtVxoJ7BXeVo0HX\nQr2ZQap9NcxQheFsSOTjCaHim2q3s0K2TOW8k2FAA1lfHmnIjMrDjiOWdBTM\nwl4M/xIyC6xKs3w/Xilyk5Ra6HIe3sxtG1KQFq/OJx3XRgV9eF61rxmo4Ru/\nrfupUlMkVluqP78CvTkulLmxSkb6flye8QskD8V93MJxFtMP7tiABINNSntT\nM33TfTBcmxUqULJTIN2oeSJyHPTAU3uFSB8Z9BKURppopyROD1+1jN/goyEy\naJWG2iXdeoXYycnmBukqOn/Jr06Bk2IWxsqKG/1x89YOY92quXbt6I6LWgHl\nP6syuZd/Fl7JgDbka5Rjki4sWGfdMVEtdymHx+GBwxuuL/0AvfrRWcqOiesD\n2DH1ir3nyP2QxtasU0AqJku79rTFfUTcxi8isKIxkYITY7lrhJ/VbPe1hZnu\n0El5WryQxjzHsbZZGRJGEzhSYXS56Tno7Z8uZa7F3YcPvqVVaS0+RGO/dWQj\nxalV\r\n=pWno\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-b_2.0.0_1618847964221_0.13209121545380587" - }, - "_hasShrinkwrap": false - } - }, - "time": { - "created": "2021-04-19T15:59:11.370Z", - "1.0.0": "2021-04-19T15:59:11.545Z", - "modified": "2021-04-19T15:59:26.513Z", - "2.0.0": "2021-04-19T15:59:24.340Z" - }, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "description": "a dependency that a shrinkwrapped dependency depends on", - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b.min.json deleted file mode 100644 index f651d38243c4b..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b.min.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-b", - "dist-tags": { - "latest": "2.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-b", - "version": "1.0.0", - "dist": { - "integrity": "sha512-O8gmWJxc3W9yjGNGnEwumPQfXDTjIwkixWN8XPKvuEKwg5QldqAJfka5u7NwvM4ILP+1TT2OEMf+cNEYJ3eXUw==", - "shasum": "0f111693939e966d67c3f23c30900497076d1aa6", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfajPCRA9TVsSAnZWagAAfDsP/RAm3dd6uldkPJ3n/D4+\nwSrBpKQhFdwN1h9aE6dhgC8dq01r/sjezZcPDeTNAoZX8f7M0GAXNw1bB+5e\nXHp0y8lyfRXZL+EZwhZCfl0za01whvbrx79t01oeYgaeHP4ztbjygmfr7Y/D\nz+ft0/H3Fguwz76yELFYqjGY4G2mjUC93+2AhZhJ2KBSj6xsL+LUe4hdh8y/\n7HTg9j2rr+iDxS2uFWWb9DiQokfhOfyM2FrfqoCZZtPGg28I5W8zQtw9YTBj\ny2pXrhpxKzc8woHgfjlSocdj2pp6tAjiNNBVFRzKp5MBb72EAuGKAXHe8VHF\n2B6tuUYMJeOe0s9y4ptmSWg3gBZtmL/dqGn/oZy/3MdjHloz48FVUr+pyGjS\nB+JCPnal907qlfQNhXYz1I9LlfYaTgwHZEbAy4PFZA7V7MMtVWNFtwj3/Pwk\nQqHD7Su+66y//o9d3nSKWW7k5my3/T1MNbPmnisFMqpKuiMS54Bvv0ckcd4A\n593TgA7H2f0H+HSF55PH2q7BZeRkfoB2pht6XDdBSZsfWgmnksOcb0Dfy45Y\nvnHuHs/TdhrsqCxrxjNd8FrJUt2eO/R7ejRCvQhOdHLl9DWzOmhbFZqsP9El\nsTeg2OEKjDRqQCmgugcZANos9lHWFOZH0VgF2nMy3sT089sbhOf2DyWUsMmv\ne/i4\r\n=ZoBI\r\n-----END PGP SIGNATURE-----\r\n" - } - }, - "2.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-b", - "version": "2.0.0", - "dist": { - "integrity": "sha512-B5arzHMzN1kp67O/tVRR+OtosYDYVdNH7dLKkVR9Ruov+M6a7mrj2bOAJd8HZMQlQ5yjMRy3UXTp2amgh9EhqA==", - "shasum": "d857895f3d09514e7efb127f9092451b34c13db7", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfajcCRA9TVsSAnZWagAATBkP/jMOkUYS+ehl6DKBRaLA\nrRet2hEeF8bIZQM71v+mU07oJjGWyAwKB4ZI+uEaYY4VqGZBQI5obX52Da+O\ncu+zIgbGXgTk2YgQMcyCnl2kkof2s9kPe+EflH3kHcDuK/V819ekCyNVG09W\nmDTRRx1OhT16gQnAXtfW8cLbkOS4fmbX3nUgXQIPzFqgMYtVxoJ7BXeVo0HX\nQr2ZQap9NcxQheFsSOTjCaHim2q3s0K2TOW8k2FAA1lfHmnIjMrDjiOWdBTM\nwl4M/xIyC6xKs3w/Xilyk5Ra6HIe3sxtG1KQFq/OJx3XRgV9eF61rxmo4Ru/\nrfupUlMkVluqP78CvTkulLmxSkb6flye8QskD8V93MJxFtMP7tiABINNSntT\nM33TfTBcmxUqULJTIN2oeSJyHPTAU3uFSB8Z9BKURppopyROD1+1jN/goyEy\naJWG2iXdeoXYycnmBukqOn/Jr06Bk2IWxsqKG/1x89YOY92quXbt6I6LWgHl\nP6syuZd/Fl7JgDbka5Rjki4sWGfdMVEtdymHx+GBwxuuL/0AvfrRWcqOiesD\n2DH1ir3nyP2QxtasU0AqJku79rTFfUTcxi8isKIxkYITY7lrhJ/VbPe1hZnu\n0El5WryQxjzHsbZZGRJGEzhSYXS56Tno7Z8uZa7F3YcPvqVVaS0+RGO/dWQj\nxalV\r\n=pWno\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2021-04-19T15:59:26.513Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz deleted file mode 100644 index ed45cf6739137..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz deleted file mode 100644 index 5ab93f5c4ab04..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c.json deleted file mode 100644 index 2316aef5c3c6f..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "_id": "@nlf/shrinkwrapped-dep-updates-c", - "name": "@nlf/shrinkwrapped-dep-updates-c", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-c", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on", - "_id": "@nlf/shrinkwrapped-dep-updates-c@1.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-Ny4NLloQxmjos+llolUBcc9+5FTa+JCh5/CqshFYq6d6s3RykpGuFnqPN/3vO6Uftp3lPtBOGjvlXSJtN4ZDQA==", - "shasum": "f978f8bf577c4cef0fcda2a07d804f506d1d89fc", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfaizCRA9TVsSAnZWagAAfz8P/A+XjocAXkzZ7GC1FEbP\nNyQ3Hfuk6uW01IGOaylqjUvMBTcmMrQXyBBXHvuW5x2qu866FPjZp2s+vlxe\nWaH8wuL2S21uXao0sJH3rDNAJc6CzxZuL+bBP9XkgQ/K2MOJv51cCViVgxve\nc1Wm6ulezcCiywxQWoMpTVdF/dQUxh1b4slqDYHw4eJEo0kxhls2GHJVBX7z\nA7/KgSvhMdch6DJPRbcACGwHkLHhYBWbZgmA1AuwnAUwX++8gNY7+o2zFYNP\nTO/l5/af/8Wsw7mw3rcpr5ZHl0As7nHhyDd+Gtqf4lWJjg/zjP0TcZ/GzNHS\n1J93etXH0okLgd/nIkQvtcKSSdG8DKY1i5y8ajIjaVTAhxLrulqoJY8iVV2i\nmch7BpgD/P8sFUPBOUJCpIiuWppccjq28qP/ye4BSjtDIB8iL+lQD0eOAqHM\na6G1c6tZ+aDCAY1nKOTfC9HolnBJjW8BWHmWKLAu9phYuGs/3Bb7g7Lw78vf\n+HokRDmhHQFChMoHYIJjJgRZjdtk+BCG5dXVin9m4VgHsGTp1DQs9HTkghW/\nMRNYX6CDzXtXKCe6V9XErp7O08LXYgkgOM3csAR6BDrF9gzFKTcHz0ii0NNG\nU/zDwco+ZGOJ1YnkYs1Ho2EKjhacTopqZh40BDfHlDthx0+4L25xCVwenB5w\nfwqz\r\n=4/hG\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-c_1.0.0_1618847922911_0.8853351621660768" - }, - "_hasShrinkwrap": false - } - }, - "time": { - "created": "2021-04-19T15:58:42.849Z", - "1.0.0": "2021-04-19T15:58:43.034Z", - "modified": "2021-04-19T15:58:46.525Z" - }, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "description": "a dependency that a shrinkwrapped dependency depends on", - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c.min.json deleted file mode 100644 index 11107ccc74033..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c.min.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-c", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-c", - "version": "1.0.0", - "dist": { - "integrity": "sha512-Ny4NLloQxmjos+llolUBcc9+5FTa+JCh5/CqshFYq6d6s3RykpGuFnqPN/3vO6Uftp3lPtBOGjvlXSJtN4ZDQA==", - "shasum": "f978f8bf577c4cef0fcda2a07d804f506d1d89fc", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfaizCRA9TVsSAnZWagAAfz8P/A+XjocAXkzZ7GC1FEbP\nNyQ3Hfuk6uW01IGOaylqjUvMBTcmMrQXyBBXHvuW5x2qu866FPjZp2s+vlxe\nWaH8wuL2S21uXao0sJH3rDNAJc6CzxZuL+bBP9XkgQ/K2MOJv51cCViVgxve\nc1Wm6ulezcCiywxQWoMpTVdF/dQUxh1b4slqDYHw4eJEo0kxhls2GHJVBX7z\nA7/KgSvhMdch6DJPRbcACGwHkLHhYBWbZgmA1AuwnAUwX++8gNY7+o2zFYNP\nTO/l5/af/8Wsw7mw3rcpr5ZHl0As7nHhyDd+Gtqf4lWJjg/zjP0TcZ/GzNHS\n1J93etXH0okLgd/nIkQvtcKSSdG8DKY1i5y8ajIjaVTAhxLrulqoJY8iVV2i\nmch7BpgD/P8sFUPBOUJCpIiuWppccjq28qP/ye4BSjtDIB8iL+lQD0eOAqHM\na6G1c6tZ+aDCAY1nKOTfC9HolnBJjW8BWHmWKLAu9phYuGs/3Bb7g7Lw78vf\n+HokRDmhHQFChMoHYIJjJgRZjdtk+BCG5dXVin9m4VgHsGTp1DQs9HTkghW/\nMRNYX6CDzXtXKCe6V9XErp7O08LXYgkgOM3csAR6BDrF9gzFKTcHz0ii0NNG\nU/zDwco+ZGOJ1YnkYs1Ho2EKjhacTopqZh40BDfHlDthx0+4L25xCVwenB5w\nfwqz\r\n=4/hG\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2021-04-19T15:58:46.525Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz deleted file mode 100644 index 87bbaa677e0c7..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d.json deleted file mode 100644 index c447ec25ed0ae..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "_id": "@nlf/shrinkwrapped-dep-updates-d", - "name": "@nlf/shrinkwrapped-dep-updates-d", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-d", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on", - "_id": "@nlf/shrinkwrapped-dep-updates-d@1.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-VcomTaV8pXizm8uJe//Iu7nDCyYeeIs5hdOzcO2NwmuyhFMlCGUAGb+pHx4f+Kz++sil52Zz817DUqOaVGAz1g==", - "shasum": "d283bd4e59ce7cb33a28f886a8b0a2053688870c", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfaicCRA9TVsSAnZWagAAMocP/i3oC4qHlyTmZ5+Y0lEf\nbTJW7VfcFk3aDj6SAPx8/zxLbBLBDIuumTn4P0VueVWRaHvUYz98qefvpMlR\n+sjM0ucMGq47lTLuz2Qlv3wMhtO0eaOb+n1a1/dy15hD8hsy4v9bexmCpWta\nkBd098AwWpl2JgrcuVCZrbm12eOA146QzNRCYKgfimvBEf70Ogd3bY/d0UIx\nQPsLTubm9FEF9ldG8YkpV9WU8q6ChtWhdqrWBkV7iLXddxYxe7YlXzqJp3e3\n0cea0JJ67pqEwhdHEGLsrH1sr4QtzriVA1+/c/1TcVsckFSQVBsT/1K/SLTR\nrKsQzIzyXt8MG9X8Hj3lSZ0R+UPT+Prruk6fAgJlO4H7iK13+E16gjucTewD\nqXYn+jogQ6tkO4sk8qjpBfjxzwGhVTrSjioUsu5xjTJM/nerKtMf4J/hQKcJ\nLWxEp0Krn0+N0uJlqVmU2CI0SKeXN8erKgAhh3lEdxm5TGmCfBGPXv2V3CWV\nunFypb/MiaBRu/yQrbF6npgUDcXVfluxGRacXAcyhyYmy+upbR4Y/cUBbhdX\nwK2TklUjA0szA8ah20Ra8KD3b2GfHj5m+773Qortm24K4QAXpn0XfPnV1NVb\n2xE6zRpag+fUWkA6jvdRWTjRyZT/Ew8iDV4aqwkhcLe3ikJ+F97NjQgXQ05Z\nHZec\r\n=2NzU\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-d_1.0.0_1618847900506_0.2056089206881928" - }, - "_hasShrinkwrap": false - } - }, - "time": { - "created": "2021-04-19T15:58:20.449Z", - "1.0.0": "2021-04-19T15:58:20.605Z", - "modified": "2021-04-19T15:58:22.687Z" - }, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "description": "a dependency that a shrinkwrapped dependency depends on", - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d.min.json deleted file mode 100644 index 2c8e3c8c05cb5..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d.min.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-d", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-d", - "version": "1.0.0", - "dist": { - "integrity": "sha512-VcomTaV8pXizm8uJe//Iu7nDCyYeeIs5hdOzcO2NwmuyhFMlCGUAGb+pHx4f+Kz++sil52Zz817DUqOaVGAz1g==", - "shasum": "d283bd4e59ce7cb33a28f886a8b0a2053688870c", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfaicCRA9TVsSAnZWagAAMocP/i3oC4qHlyTmZ5+Y0lEf\nbTJW7VfcFk3aDj6SAPx8/zxLbBLBDIuumTn4P0VueVWRaHvUYz98qefvpMlR\n+sjM0ucMGq47lTLuz2Qlv3wMhtO0eaOb+n1a1/dy15hD8hsy4v9bexmCpWta\nkBd098AwWpl2JgrcuVCZrbm12eOA146QzNRCYKgfimvBEf70Ogd3bY/d0UIx\nQPsLTubm9FEF9ldG8YkpV9WU8q6ChtWhdqrWBkV7iLXddxYxe7YlXzqJp3e3\n0cea0JJ67pqEwhdHEGLsrH1sr4QtzriVA1+/c/1TcVsckFSQVBsT/1K/SLTR\nrKsQzIzyXt8MG9X8Hj3lSZ0R+UPT+Prruk6fAgJlO4H7iK13+E16gjucTewD\nqXYn+jogQ6tkO4sk8qjpBfjxzwGhVTrSjioUsu5xjTJM/nerKtMf4J/hQKcJ\nLWxEp0Krn0+N0uJlqVmU2CI0SKeXN8erKgAhh3lEdxm5TGmCfBGPXv2V3CWV\nunFypb/MiaBRu/yQrbF6npgUDcXVfluxGRacXAcyhyYmy+upbR4Y/cUBbhdX\nwK2TklUjA0szA8ah20Ra8KD3b2GfHj5m+773Qortm24K4QAXpn0XfPnV1NVb\n2xE6zRpag+fUWkA6jvdRWTjRyZT/Ew8iDV4aqwkhcLe3ikJ+F97NjQgXQ05Z\nHZec\r\n=2NzU\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2021-04-19T15:58:22.687Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz deleted file mode 100644 index c6e8d31bffdf4..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e.json deleted file mode 100644 index f48fb6f480122..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "_id": "@nlf/shrinkwrapped-dep-updates-e", - "name": "@nlf/shrinkwrapped-dep-updates-e", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-e", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on", - "_id": "@nlf/shrinkwrapped-dep-updates-e@1.0.0", - "_nodeVersion": "15.11.0", - "_npmVersion": "7.9.0", - "dist": { - "integrity": "sha512-k41VmVMeLH/AgnD7Nx2TIQvt12xd0dKSrWmraYDNZIMxtuuwUjaq1lH8eo8todBU7U5aj94cH4xlLU0g3SgsBA==", - "shasum": "bad83483d08c1e134bc632cd94a146d037d266c2", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfaiLCRA9TVsSAnZWagAAvPQP/3j5LZqrto1+k2kRsUwY\n4KhcD9ejg+iRsUyobh4i9AzIXHV4aDhmUXfEQPfZapZGlhPoeNHvLlH2Yc9Z\nQkUBQGpgAgHWRl0IEnlRD7XV8tbCAbwEjJVZKMqpp6+QZGbHYEmL50JNWQvo\nUlmM2hJNZfdSWGbXFfzmeTXcZzacjylOnihhuejRxc06y9nziuLRZ/xBv+1q\n0owaXlUc1x9AOfrKRxzJ3yu8GojrhHwwoB5n3sGHgS+8aiI1AO5nsV13Zy21\n1L5ZUgwMJozf1YMJQSbxKvncAfjasmrX4CYupCrnC3ci8negnJ9sjGz6kbV/\nbdCp8/HB1GzqIH3a9LE5vJ6Hhx/P6ri6WFKJQF+n+ysbBXukc+hOwoRPetrY\nt4JuVN+2HXn3ODJM/C6xZMGg6Z8MAiyGbEo6Z4JHbJAATEwLCpxXmHwWnXJz\nxCFAWfvmY9Vvx0QkkwFOmJZCaKKSg2lT6r99OTi3VaI+eGVh/agRPgQR2MGJ\n4N2enq9BXyvZNLhtqTuE301DFe4s2wdNwHVD3IHkVlPQjo0XWK1zqy5FF7Fj\nXq43ODCDR9JHqNvT+4/kmXHe28c1yyaqCI4ENUBe5qjMcVYS8w4/4rm+H1CY\nL3vvfcjOn2mj6TtmsEb22Y3/7R4ACTprfVYBFkToj5Yvo6g7vNsiKQrx/YSe\nv4O5\r\n=QXB1\r\n-----END PGP SIGNATURE-----\r\n" - }, - "_npmUser": { - "name": "nlf", - "email": "quitlahok@gmail.com" - }, - "directories": {}, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "_npmOperationalInternal": { - "host": "s3://npm-registry-packages", - "tmp": "tmp/shrinkwrapped-dep-updates-e_1.0.0_1618847882817_0.9807461233557111" - }, - "_hasShrinkwrap": false - } - }, - "time": { - "created": "2021-04-19T15:58:02.723Z", - "1.0.0": "2021-04-19T15:58:02.902Z", - "modified": "2021-04-19T15:58:06.316Z" - }, - "maintainers": [ - { - "name": "nlf", - "email": "quitlahok@gmail.com" - } - ], - "description": "a dependency that a shrinkwrapped dependency depends on", - "readme": "ERROR: No README data found!", - "readmeFilename": "" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e.min.json b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e.min.json deleted file mode 100644 index 1641c8a68b142..0000000000000 --- a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e.min.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-e", - "dist-tags": { - "latest": "1.0.0" - }, - "versions": { - "1.0.0": { - "name": "@nlf/shrinkwrapped-dep-updates-e", - "version": "1.0.0", - "dist": { - "integrity": "sha512-k41VmVMeLH/AgnD7Nx2TIQvt12xd0dKSrWmraYDNZIMxtuuwUjaq1lH8eo8todBU7U5aj94cH4xlLU0g3SgsBA==", - "shasum": "bad83483d08c1e134bc632cd94a146d037d266c2", - "tarball": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz", - "fileCount": 1, - "unpackedSize": 147, - "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfaiLCRA9TVsSAnZWagAAvPQP/3j5LZqrto1+k2kRsUwY\n4KhcD9ejg+iRsUyobh4i9AzIXHV4aDhmUXfEQPfZapZGlhPoeNHvLlH2Yc9Z\nQkUBQGpgAgHWRl0IEnlRD7XV8tbCAbwEjJVZKMqpp6+QZGbHYEmL50JNWQvo\nUlmM2hJNZfdSWGbXFfzmeTXcZzacjylOnihhuejRxc06y9nziuLRZ/xBv+1q\n0owaXlUc1x9AOfrKRxzJ3yu8GojrhHwwoB5n3sGHgS+8aiI1AO5nsV13Zy21\n1L5ZUgwMJozf1YMJQSbxKvncAfjasmrX4CYupCrnC3ci8negnJ9sjGz6kbV/\nbdCp8/HB1GzqIH3a9LE5vJ6Hhx/P6ri6WFKJQF+n+ysbBXukc+hOwoRPetrY\nt4JuVN+2HXn3ODJM/C6xZMGg6Z8MAiyGbEo6Z4JHbJAATEwLCpxXmHwWnXJz\nxCFAWfvmY9Vvx0QkkwFOmJZCaKKSg2lT6r99OTi3VaI+eGVh/agRPgQR2MGJ\n4N2enq9BXyvZNLhtqTuE301DFe4s2wdNwHVD3IHkVlPQjo0XWK1zqy5FF7Fj\nXq43ODCDR9JHqNvT+4/kmXHe28c1yyaqCI4ENUBe5qjMcVYS8w4/4rm+H1CY\nL3vvfcjOn2mj6TtmsEb22Y3/7R4ACTprfVYBFkToj5Yvo6g7vNsiKQrx/YSe\nv4O5\r\n=QXB1\r\n-----END PGP SIGNATURE-----\r\n" - } - } - }, - "modified": "2021-04-19T15:58:06.316Z" -} diff --git a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz b/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz deleted file mode 100644 index b13b170f07a2f..0000000000000 Binary files a/workspaces/arborist/test/fixtures/registry-mocks/content/nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz and /dev/null differ diff --git a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-no-lock-empty.js b/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-no-lock-empty.js deleted file mode 100644 index c7ec4f2d4b7c5..0000000000000 --- a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-no-lock-empty.js +++ /dev/null @@ -1,15 +0,0 @@ -// generated from test/fixtures/shrinkwrapped-dep-no-lock-empty -module.exports = t => { - const path = t.testdir({ - "README.md": "Just a module that depends on a module that ships a shrinkwrap.\n", - "package.json": JSON.stringify({ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }) -}) - return path -} diff --git a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-no-lock.js b/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-no-lock.js deleted file mode 100644 index 62345b449d221..0000000000000 --- a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-no-lock.js +++ /dev/null @@ -1,145 +0,0 @@ -// generated from test/fixtures/shrinkwrapped-dep-no-lock -module.exports = t => { - const path = t.testdir({ - "README.md": "Just a module that depends on a module that ships a shrinkwrap.\n", - "node_modules": { - "@isaacs": { - "shrinkwrapped-dependency": { - "node_modules": { - "abbrev": { - "package.json": JSON.stringify({ - "_args": [ - [ - "abbrev@1.0.4", - "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency" - ] - ], - "_from": "abbrev@1.0.4", - "_id": "abbrev@1.0.4", - "_inBundle": false, - "_integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "_location": "/@isaacs/shrinkwrapped-dependency/abbrev", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "abbrev@1.0.4", - "name": "abbrev", - "escapedName": "abbrev", - "rawSpec": "1.0.4", - "saveSpec": null, - "fetchSpec": "1.0.4" - }, - "_requiredBy": [ - "/@isaacs/shrinkwrapped-dependency" - ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "_spec": "1.0.4", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "description": "Like ruby's abbrev module, but in js", - "homepage": "https://github.com/isaacs/abbrev-js#readme", - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" - }, - "main": "./lib/abbrev.js", - "name": "abbrev", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" - }, - "scripts": { - "test": "node lib/abbrev.js" - }, - "version": "1.0.4" - }) - } - }, - "npm-shrinkwrap.json": JSON.stringify({ - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - }), - "package.json": JSON.stringify({ - "_from": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_id": "@isaacs/shrinkwrapped-dependency@1.0.0", - "_inBundle": false, - "_integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "_location": "/@isaacs/shrinkwrapped-dependency", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "name": "@isaacs/shrinkwrapped-dependency", - "escapedName": "@isaacs%2fshrinkwrapped-dependency", - "scope": "@isaacs", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "_shasum": "a22edfd12f2e796c924a36fe6cbf52eb495e93c3", - "_shrinkwrap": { - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - }, - "_spec": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap", - "author": "", - "bundleDependencies": false, - "dependencies": { - "abbrev": "^1.0.4" - }, - "deprecated": false, - "description": "", - "keywords": [], - "license": "ISC", - "main": "index.js", - "name": "@isaacs/shrinkwrapped-dependency", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.0" - }) - } - } - }, - "package.json": JSON.stringify({ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }) -}) - return path -} diff --git a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-with-lock-empty.js b/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-with-lock-empty.js deleted file mode 100644 index 9045693053487..0000000000000 --- a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-with-lock-empty.js +++ /dev/null @@ -1,66 +0,0 @@ -// generated from test/fixtures/shrinkwrapped-dep-with-lock-empty -module.exports = t => { - const path = t.testdir({ - "README.md": "Just a module that depends on a module that ships a shrinkwrap.\n", - "package-lock.json": JSON.stringify({ - "name": "shrinkwrap", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency": { - "name": "@isaacs/shrinkwrapped-dependency", - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "hasShrinkwrap": true, - "license": "ISC", - "dependencies": { - "abbrev": "^1.0.4" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev": { - "name": "abbrev", - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "license": "MIT" - } - }, - "dependencies": { - "@isaacs/shrinkwrapped-dependency": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "requires": { - "abbrev": "^1.0.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - } - } - }), - "package.json": JSON.stringify({ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }) -}) - return path -} diff --git a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-with-lock.js b/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-with-lock.js deleted file mode 100644 index eb9b567f072a2..0000000000000 --- a/workspaces/arborist/test/fixtures/reify-cases/shrinkwrapped-dep-with-lock.js +++ /dev/null @@ -1,196 +0,0 @@ -// generated from test/fixtures/shrinkwrapped-dep-with-lock -module.exports = t => { - const path = t.testdir({ - "README.md": "Just a module that depends on a module that ships a shrinkwrap.\n", - "node_modules": { - "@isaacs": { - "shrinkwrapped-dependency": { - "node_modules": { - "abbrev": { - "package.json": JSON.stringify({ - "_args": [ - [ - "abbrev@1.0.4", - "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency" - ] - ], - "_from": "abbrev@1.0.4", - "_id": "abbrev@1.0.4", - "_inBundle": false, - "_integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "_location": "/@isaacs/shrinkwrapped-dependency/abbrev", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "abbrev@1.0.4", - "name": "abbrev", - "escapedName": "abbrev", - "rawSpec": "1.0.4", - "saveSpec": null, - "fetchSpec": "1.0.4" - }, - "_requiredBy": [ - "/@isaacs/shrinkwrapped-dependency" - ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "_spec": "1.0.4", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "description": "Like ruby's abbrev module, but in js", - "homepage": "https://github.com/isaacs/abbrev-js#readme", - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" - }, - "main": "./lib/abbrev.js", - "name": "abbrev", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" - }, - "scripts": { - "test": "node lib/abbrev.js" - }, - "version": "1.0.4" - }) - } - }, - "npm-shrinkwrap.json": JSON.stringify({ - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - }), - "package.json": JSON.stringify({ - "_from": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_id": "@isaacs/shrinkwrapped-dependency@1.0.0", - "_inBundle": false, - "_integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "_location": "/@isaacs/shrinkwrapped-dependency", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "name": "@isaacs/shrinkwrapped-dependency", - "escapedName": "@isaacs%2fshrinkwrapped-dependency", - "scope": "@isaacs", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "_shasum": "a22edfd12f2e796c924a36fe6cbf52eb495e93c3", - "_shrinkwrap": { - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - }, - "_spec": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap", - "author": "", - "bundleDependencies": false, - "dependencies": { - "abbrev": "^1.0.4" - }, - "deprecated": false, - "description": "", - "keywords": [], - "license": "ISC", - "main": "index.js", - "name": "@isaacs/shrinkwrapped-dependency", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.0" - }) - } - } - }, - "package-lock.json": JSON.stringify({ - "name": "shrinkwrap", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency": { - "name": "@isaacs/shrinkwrapped-dependency", - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "hasShrinkwrap": true, - "license": "ISC", - "dependencies": { - "abbrev": "^1.0.4" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev": { - "name": "abbrev", - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "license": "MIT" - } - }, - "dependencies": { - "@isaacs/shrinkwrapped-dependency": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "requires": { - "abbrev": "^1.0.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - } - } - }), - "package.json": JSON.stringify({ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }) -}) - return path -} diff --git a/workspaces/arborist/test/fixtures/reify-cases/testing-peer-deps-bad-sw.js b/workspaces/arborist/test/fixtures/reify-cases/testing-peer-deps-bad-sw.js deleted file mode 100644 index 2f2039d06642d..0000000000000 --- a/workspaces/arborist/test/fixtures/reify-cases/testing-peer-deps-bad-sw.js +++ /dev/null @@ -1,21 +0,0 @@ -// generated from test/fixtures/testing-peer-deps-bad-sw -module.exports = t => { - const path = t.testdir({ - "package-lock.json": `this isn't a shrinkwrap file - -it isn't even json - -what is it even doing here? -`, - "package.json": JSON.stringify({ - "name": "@isaacs/testing-peer-deps", - "version": "2.0.0", - "description": "depends on b1, which has a peer dep on c1, and d, which has a regular dep on a2, which has a peer dep on b2 which has a peer dep on c2", - "dependencies": { - "@isaacs/testing-peer-deps-b": "1", - "@isaacs/testing-peer-deps-d": "2" - } - }) -}) - return path -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock-empty/README.md b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock-empty/README.md deleted file mode 100644 index a0f18c920410a..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock-empty/README.md +++ /dev/null @@ -1 +0,0 @@ -Just a module that depends on a module that ships a shrinkwrap. diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock-empty/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock-empty/package.json deleted file mode 100644 index 9734c113d9ae4..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock-empty/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/README.md b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/README.md deleted file mode 100644 index a0f18c920410a..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/README.md +++ /dev/null @@ -1 +0,0 @@ -Just a module that depends on a module that ships a shrinkwrap. diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev/package.json deleted file mode 100644 index 1012219b43d18..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "_args": [ - [ - "abbrev@1.0.4", - "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency" - ] - ], - "_from": "abbrev@1.0.4", - "_id": "abbrev@1.0.4", - "_inBundle": false, - "_integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "_location": "/@isaacs/shrinkwrapped-dependency/abbrev", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "abbrev@1.0.4", - "name": "abbrev", - "escapedName": "abbrev", - "rawSpec": "1.0.4", - "saveSpec": null, - "fetchSpec": "1.0.4" - }, - "_requiredBy": [ - "/@isaacs/shrinkwrapped-dependency" - ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "_spec": "1.0.4", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "description": "Like ruby's abbrev module, but in js", - "homepage": "https://github.com/isaacs/abbrev-js#readme", - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" - }, - "main": "./lib/abbrev.js", - "name": "abbrev", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" - }, - "scripts": { - "test": "node lib/abbrev.js" - }, - "version": "1.0.4" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/npm-shrinkwrap.json deleted file mode 100644 index ab817a2435262..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/npm-shrinkwrap.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/package.json deleted file mode 100644 index 206d12cee2cfa..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/node_modules/@isaacs/shrinkwrapped-dependency/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "_from": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_id": "@isaacs/shrinkwrapped-dependency@1.0.0", - "_inBundle": false, - "_integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "_location": "/@isaacs/shrinkwrapped-dependency", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "name": "@isaacs/shrinkwrapped-dependency", - "escapedName": "@isaacs%2fshrinkwrapped-dependency", - "scope": "@isaacs", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "_shasum": "a22edfd12f2e796c924a36fe6cbf52eb495e93c3", - "_shrinkwrap": { - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - }, - "_spec": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap", - "author": "", - "bundleDependencies": false, - "dependencies": { - "abbrev": "^1.0.4" - }, - "deprecated": false, - "description": "", - "keywords": [], - "license": "ISC", - "main": "index.js", - "name": "@isaacs/shrinkwrapped-dependency", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.0" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/package.json deleted file mode 100644 index 9734c113d9ae4..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-no-lock/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/README.md b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/README.md deleted file mode 100644 index 9125f070e96f7..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/README.md +++ /dev/null @@ -1,17 +0,0 @@ -a package that depends on a shrinkwrapped dependency whose child dependencies -change between versions. used for a reify test, trees should look as below and -not change when updating all packages. - -z@1 depends on a@1 to provide a package with a nested shrinkwrap. - -``` -a@1 -+ -- b@1 -+ -- c@1 -+ -- d@1 - -a@2 -+ -- b@2 -+ -- c@1 -+ -- e@1 -``` diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/1/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/1/npm-shrinkwrap.json deleted file mode 100644 index 37cc417aa20cb..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/1/npm-shrinkwrap.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "1.0.0", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-d": "^1.0.0" - } - }, - "node_modules/@nlf/shrinkwrapped-dep-updates-b": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz", - "integrity": "sha512-O8gmWJxc3W9yjGNGnEwumPQfXDTjIwkixWN8XPKvuEKwg5QldqAJfka5u7NwvM4ILP+1TT2OEMf+cNEYJ3eXUw==" - }, - "node_modules/@nlf/shrinkwrapped-dep-updates-c": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "integrity": "sha512-Ny4NLloQxmjos+llolUBcc9+5FTa+JCh5/CqshFYq6d6s3RykpGuFnqPN/3vO6Uftp3lPtBOGjvlXSJtN4ZDQA==" - }, - "node_modules/@nlf/shrinkwrapped-dep-updates-d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz", - "integrity": "sha512-VcomTaV8pXizm8uJe//Iu7nDCyYeeIs5hdOzcO2NwmuyhFMlCGUAGb+pHx4f+Kz++sil52Zz817DUqOaVGAz1g==" - } - }, - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-1.0.0.tgz", - "integrity": "sha512-O8gmWJxc3W9yjGNGnEwumPQfXDTjIwkixWN8XPKvuEKwg5QldqAJfka5u7NwvM4ILP+1TT2OEMf+cNEYJ3eXUw==" - }, - "@nlf/shrinkwrapped-dep-updates-c": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "integrity": "sha512-Ny4NLloQxmjos+llolUBcc9+5FTa+JCh5/CqshFYq6d6s3RykpGuFnqPN/3vO6Uftp3lPtBOGjvlXSJtN4ZDQA==" - }, - "@nlf/shrinkwrapped-dep-updates-d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-d/-/shrinkwrapped-dep-updates-d-1.0.0.tgz", - "integrity": "sha512-VcomTaV8pXizm8uJe//Iu7nDCyYeeIs5hdOzcO2NwmuyhFMlCGUAGb+pHx4f+Kz++sil52Zz817DUqOaVGAz1g==" - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/1/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/1/package.json deleted file mode 100644 index e15a0c215036b..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/1/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "1.0.0", - "description": "a dependency with shrinkwrapped deps that change between versions", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-d": "^1.0.0" - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/2/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/2/npm-shrinkwrap.json deleted file mode 100644 index d4bd764686298..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/2/npm-shrinkwrap.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "2.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "2.0.0", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^2.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-e": "^1.0.0" - } - }, - "node_modules/@nlf/shrinkwrapped-dep-updates-b": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz", - "integrity": "sha512-B5arzHMzN1kp67O/tVRR+OtosYDYVdNH7dLKkVR9Ruov+M6a7mrj2bOAJd8HZMQlQ5yjMRy3UXTp2amgh9EhqA==" - }, - "node_modules/@nlf/shrinkwrapped-dep-updates-c": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "integrity": "sha512-Ny4NLloQxmjos+llolUBcc9+5FTa+JCh5/CqshFYq6d6s3RykpGuFnqPN/3vO6Uftp3lPtBOGjvlXSJtN4ZDQA==" - }, - "node_modules/@nlf/shrinkwrapped-dep-updates-e": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz", - "integrity": "sha512-k41VmVMeLH/AgnD7Nx2TIQvt12xd0dKSrWmraYDNZIMxtuuwUjaq1lH8eo8todBU7U5aj94cH4xlLU0g3SgsBA==" - } - }, - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-b/-/shrinkwrapped-dep-updates-b-2.0.0.tgz", - "integrity": "sha512-B5arzHMzN1kp67O/tVRR+OtosYDYVdNH7dLKkVR9Ruov+M6a7mrj2bOAJd8HZMQlQ5yjMRy3UXTp2amgh9EhqA==" - }, - "@nlf/shrinkwrapped-dep-updates-c": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-c/-/shrinkwrapped-dep-updates-c-1.0.0.tgz", - "integrity": "sha512-Ny4NLloQxmjos+llolUBcc9+5FTa+JCh5/CqshFYq6d6s3RykpGuFnqPN/3vO6Uftp3lPtBOGjvlXSJtN4ZDQA==" - }, - "@nlf/shrinkwrapped-dep-updates-e": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nlf/shrinkwrapped-dep-updates-e/-/shrinkwrapped-dep-updates-e-1.0.0.tgz", - "integrity": "sha512-k41VmVMeLH/AgnD7Nx2TIQvt12xd0dKSrWmraYDNZIMxtuuwUjaq1lH8eo8todBU7U5aj94cH4xlLU0g3SgsBA==" - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/2/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/2/package.json deleted file mode 100644 index 11cf85b3d9134..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/a/2/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-a", - "version": "2.0.0", - "description": "a dependency with shrinkwrapped deps that change between versions", - "dependencies": { - "@nlf/shrinkwrapped-dep-updates-b": "^2.0.0", - "@nlf/shrinkwrapped-dep-updates-c": "^1.0.0", - "@nlf/shrinkwrapped-dep-updates-e": "^1.0.0" - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/b/1/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/b/1/package.json deleted file mode 100644 index 14d4765905cb8..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/b/1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-b", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/b/2/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/b/2/package.json deleted file mode 100644 index ae0789254c483..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/b/2/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-b", - "version": "2.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/c/1/package-lock.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/c/1/package-lock.json deleted file mode 100644 index b160c22020b89..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/c/1/package-lock.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-c", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@nlf/shrinkwrapped-dep-updates-c", - "version": "1.0.0" - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/c/1/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/c/1/package.json deleted file mode 100644 index 2221428631c23..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/c/1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-c", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/d/1/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/d/1/package.json deleted file mode 100644 index 9844e61f72483..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/d/1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-d", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/e/1/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/e/1/package.json deleted file mode 100644 index 753319068e717..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-updates/e/1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@nlf/shrinkwrapped-dep-updates-e", - "version": "1.0.0", - "description": "a dependency that a shrinkwrapped dependency depends on" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/README.md b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/README.md deleted file mode 100644 index a0f18c920410a..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/README.md +++ /dev/null @@ -1 +0,0 @@ -Just a module that depends on a module that ships a shrinkwrap. diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/package-lock.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/package-lock.json deleted file mode 100644 index b32817828e437..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/package-lock.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "shrinkwrap", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency": { - "name": "@isaacs/shrinkwrapped-dependency", - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "hasShrinkwrap": true, - "license": "ISC", - "dependencies": { - "abbrev": "^1.0.4" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev": { - "name": "abbrev", - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "license": "MIT" - } - }, - "dependencies": { - "@isaacs/shrinkwrapped-dependency": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "requires": { - "abbrev": "^1.0.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/package.json deleted file mode 100644 index 9734c113d9ae4..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock-empty/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/README.md b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/README.md deleted file mode 100644 index a0f18c920410a..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/README.md +++ /dev/null @@ -1 +0,0 @@ -Just a module that depends on a module that ships a shrinkwrap. diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev/package.json deleted file mode 100644 index 1012219b43d18..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "_args": [ - [ - "abbrev@1.0.4", - "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency" - ] - ], - "_from": "abbrev@1.0.4", - "_id": "abbrev@1.0.4", - "_inBundle": false, - "_integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "_location": "/@isaacs/shrinkwrapped-dependency/abbrev", - "_phantomChildren": {}, - "_requested": { - "type": "version", - "registry": true, - "raw": "abbrev@1.0.4", - "name": "abbrev", - "escapedName": "abbrev", - "rawSpec": "1.0.4", - "saveSpec": null, - "fetchSpec": "1.0.4" - }, - "_requiredBy": [ - "/@isaacs/shrinkwrapped-dependency" - ], - "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "_spec": "1.0.4", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap/node_modules/@isaacs/shrinkwrapped-dependency", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me" - }, - "bugs": { - "url": "https://github.com/isaacs/abbrev-js/issues" - }, - "description": "Like ruby's abbrev module, but in js", - "homepage": "https://github.com/isaacs/abbrev-js#readme", - "license": { - "type": "MIT", - "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE" - }, - "main": "./lib/abbrev.js", - "name": "abbrev", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/isaacs/abbrev-js.git" - }, - "scripts": { - "test": "node lib/abbrev.js" - }, - "version": "1.0.4" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/npm-shrinkwrap.json deleted file mode 100644 index ab817a2435262..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/npm-shrinkwrap.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/package.json deleted file mode 100644 index 206d12cee2cfa..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/node_modules/@isaacs/shrinkwrapped-dependency/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "_from": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_id": "@isaacs/shrinkwrapped-dependency@1.0.0", - "_inBundle": false, - "_integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "_location": "/@isaacs/shrinkwrapped-dependency", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "name": "@isaacs/shrinkwrapped-dependency", - "escapedName": "@isaacs%2fshrinkwrapped-dependency", - "scope": "@isaacs", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/" - ], - "_resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "_shasum": "a22edfd12f2e796c924a36fe6cbf52eb495e93c3", - "_shrinkwrap": { - "name": "shrinkwrapped-dependency", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - }, - "_spec": "@isaacs/shrinkwrapped-dependency@^1.0.0", - "_where": "/Users/isaacs/dev/npm/arborist/test/fixtures/shrinkwrap", - "author": "", - "bundleDependencies": false, - "dependencies": { - "abbrev": "^1.0.4" - }, - "deprecated": false, - "description": "", - "keywords": [], - "license": "ISC", - "main": "index.js", - "name": "@isaacs/shrinkwrapped-dependency", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "version": "1.0.0" -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/package-lock.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/package-lock.json deleted file mode 100644 index b32817828e437..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/package-lock.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "shrinkwrap", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency": { - "name": "@isaacs/shrinkwrapped-dependency", - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "hasShrinkwrap": true, - "license": "ISC", - "dependencies": { - "abbrev": "^1.0.4" - } - }, - "node_modules/@isaacs/shrinkwrapped-dependency/node_modules/abbrev": { - "name": "abbrev", - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=", - "license": "MIT" - } - }, - "dependencies": { - "@isaacs/shrinkwrapped-dependency": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/shrinkwrapped-dependency/-/shrinkwrapped-dependency-1.0.0.tgz", - "integrity": "sha512-9OAp7wVNnaxbqHi6n+AALGvSmZ/nJPGWKBNUr/RuGpVitaT54KCbwIHPA1sOwowUFaooDggoB8Jtk/aBOWwKoQ==", - "requires": { - "abbrev": "^1.0.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } - } - } - } -} diff --git a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/package.json b/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/package.json deleted file mode 100644 index 9734c113d9ae4..0000000000000 --- a/workspaces/arborist/test/fixtures/shrinkwrapped-dep-with-lock/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "shrinkwrap", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@isaacs/shrinkwrapped-dependency": "^1.0.0" - } -} diff --git a/workspaces/arborist/test/fixtures/test-package-with-shrinkwrap/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/test-package-with-shrinkwrap/package-lock.json similarity index 100% rename from workspaces/arborist/test/fixtures/test-package-with-shrinkwrap/npm-shrinkwrap.json rename to workspaces/arborist/test/fixtures/test-package-with-shrinkwrap/package-lock.json diff --git a/workspaces/arborist/test/fixtures/testing-peer-deps-bad-sw/package-lock.json b/workspaces/arborist/test/fixtures/testing-peer-deps-bad-sw/package-lock.json deleted file mode 100644 index 28861ddd66b2a..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-peer-deps-bad-sw/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -this isn't a shrinkwrap file - -it isn't even json - -what is it even doing here? diff --git a/workspaces/arborist/test/fixtures/testing-peer-deps-bad-sw/package.json b/workspaces/arborist/test/fixtures/testing-peer-deps-bad-sw/package.json deleted file mode 100644 index e874021bc6a97..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-peer-deps-bad-sw/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@isaacs/testing-peer-deps", - "version": "2.0.0", - "description": "depends on b1, which has a peer dep on c1, and d, which has a regular dep on a2, which has a peer dep on b2 which has a peer dep on c2", - "dependencies": { - "@isaacs/testing-peer-deps-b": "1", - "@isaacs/testing-peer-deps-d": "2" - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/npm-shrinkwrap.json deleted file mode 100644 index 3c01095433627..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/npm-shrinkwrap.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.0", - "dependencies": { - "abbrev": "*" - } - }, - "node_modules/abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" - } - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" - } - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/package.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/package.json deleted file mode 100644 index 5bd252f84b33e..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.0", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/test.js b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/test.js deleted file mode 100644 index d18ad4a45007f..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.0/test.js +++ /dev/null @@ -1,3 +0,0 @@ -const { version } = require('./package.json') -const { version: abbrev } = require('./node_modules/abbrev/package.json') -require('assert').equal(version, abbrev, 'should have same version') diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/npm-shrinkwrap.json deleted file mode 100644 index 7c57cef8c1eee..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/npm-shrinkwrap.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.2", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.1", - "dependencies": { - "abbrev": "*" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/package.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/package.json deleted file mode 100644 index 0d8ea306cae74..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.2", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/test.js b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/test.js deleted file mode 100644 index f8575f8111c36..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.1.1/test.js +++ /dev/null @@ -1,2 +0,0 @@ -const { version: abbrev } = require('./node_modules/abbrev/package.json') -require('assert').equal(abbrev, '1.1.1', 'should have expected version') diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/npm-shrinkwrap.json deleted file mode 100644 index c3e8822252a08..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/npm-shrinkwrap.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.0", - "dependencies": { - "abbrev": "*" - } - }, - "node_modules/abbrev": { - "version": "1.1.0" - } - }, - "dependencies": { - "abbrev": { - "version": "1.1.0" - } - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/package.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/package.json deleted file mode 100644 index 4ae9addf0d7fc..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.0", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/test.js b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/test.js deleted file mode 100644 index 5c6adad2a246d..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.0/test.js +++ /dev/null @@ -1,2 +0,0 @@ -const { version: abbrev } = require('./node_modules/abbrev/package.json') -require('assert').equal(abbrev, '1.1.0', 'should have same version') diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/npm-shrinkwrap.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/npm-shrinkwrap.json deleted file mode 100644 index d25bd00c925af..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/npm-shrinkwrap.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.2", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.1.1", - "dependencies": { - "abbrev": "*" - } - }, - "node_modules/abbrev": { - "version": "1.1.1" - } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1" - } - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/package.json b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/package.json deleted file mode 100644 index 11df5022ea827..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@isaacs/testing-shrinkwrap-abbrev", - "version": "1.2.1", - "dependencies": { - "abbrev": "*" - }, - "scripts": { - "test": "node test.js" - } -} diff --git a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/test.js b/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/test.js deleted file mode 100644 index f8575f8111c36..0000000000000 --- a/workspaces/arborist/test/fixtures/testing-shrinkwrap-abbrev/1.2.1/test.js +++ /dev/null @@ -1,2 +0,0 @@ -const { version: abbrev } = require('./node_modules/abbrev/package.json') -require('assert').equal(abbrev, '1.1.1', 'should have expected version') diff --git a/workspaces/arborist/test/isolated-mode.js b/workspaces/arborist/test/isolated-mode.js index 3fb74f2ffc29a..fac6f6beee935 100644 --- a/workspaces/arborist/test/isolated-mode.js +++ b/workspaces/arborist/test/isolated-mode.js @@ -689,240 +689,6 @@ tap.test('Optional deps are installed when possible', async t => { t.ok(fs.existsSync(path.join(dir, 'node_modules', '.bin', 'which'))) }) -tap.test('shrinkwrap', async t => { - const shrinkwrap = JSON.stringify({ - name: 'which', - version: '1.0.0', - lockfileVersion: 2, - requires: true, - packages: { - '': { - name: 'which', - version: '1.0.0', - dependencies: { - isexe: '^1.0.0', - }, - }, - 'node_modules/isexe': { - version: '1.0.0', - resolved: '##REG##/isexe/1.0.0.tar', - }, - }, - dependencies: { - isexe: { - version: '1.0.0', - resolved: '##REG##/isexe/1.0.0.tar', - }, - }, - }) - - // Input of arborist - const graph = { - registry: [ - { name: 'which', version: '1.0.0', dependencies: { isexe: '^1.0.0' }, shrinkwrap, _hasShrinkwrap: true }, - { name: 'isexe', version: '1.1.0' }, - { name: 'isexe', version: '1.0.0' }, - ], - root: { - name: 'foo', version: '1.2.3', dependencies: { which: '1.0.0', isexe: '^1.0.0' }, - }, - } - - // expected output - const resolved = { - 'foo@1.2.3 (root)': { - 'which@1.0.0': { - 'isexe@1.0.0': {}, - }, - 'isexe@1.1.0': {}, - }, - } - - const { dir, registry } = await getRepo(graph) - - // Note that we override this cache to prevent interference from other tests - const cache = fs.mkdtempSync(`${getTempDir()}/test-`) - const arborist = new Arborist({ path: dir, registry, packumentCache: new Map(), cache }) - await arborist.reify({ installStrategy: 'linked' }) - - const asserted = new Set() - rule1.apply(t, dir, resolved, asserted) - rule2.apply(t, dir, resolved, asserted) - rule3.apply(t, dir, resolved, asserted) - rule4.apply(t, dir, resolved, asserted) - rule5.apply(t, dir, resolved, asserted) - rule6.apply(t, dir, resolved, asserted) - rule7.apply(t, dir, resolved, asserted) -}) - -tap.test('shrinkwrap install dev deps (like hoisting does)', async t => { - const shrinkwrap = JSON.stringify({ - name: 'which', - version: '1.0.0', - lockfileVersion: 2, - requires: true, - packages: { - '': { - name: 'which', - version: '1.0.0', - devDependencies: { - isexe: '^1.0.0', - }, - }, - 'node_modules/isexe': { - version: '1.0.0', - dev: true, - resolved: '##REG##/isexe/1.0.0.tar', - }, - }, - dependencies: { - isexe: { - version: '1.0.0', - dev: true, - resolved: '##REG##/isexe/1.0.0.tar', - }, - }, - }) - - // Input of arborist - const graph = { - registry: [ - { name: 'which', version: '1.0.0', devDependencies: { isexe: '^1.0.0' }, shrinkwrap, _hasShrinkwrap: true }, - { name: 'isexe', version: '1.1.0' }, - { name: 'isexe', version: '1.0.0' }, - ], - root: { - name: 'foo', version: '1.2.3', dependencies: { which: '1.0.0', isexe: '^1.0.0' }, - }, - } - - // expected output - const resolved = { - 'foo@1.2.3 (root)': { - 'which@1.0.0': { - 'isexe@1.0.0': {}, - }, - 'isexe@1.1.0': {}, - }, - } - - const { dir, registry } = await getRepo(graph) - - // Note that we override this cache to prevent interference from other tests - const cache = fs.mkdtempSync(`${getTempDir()}/test-`) - const arborist = new Arborist({ path: dir, registry, packumentCache: new Map(), cache }) - await arborist.reify({ installStrategy: 'linked' }) - - const asserted = new Set() - rule1.apply(t, dir, resolved, asserted) - rule2.apply(t, dir, resolved, asserted) - rule3.apply(t, dir, resolved, asserted) - rule4.apply(t, dir, resolved, asserted) - rule5.apply(t, dir, resolved, asserted) - rule6.apply(t, dir, resolved, asserted) - rule7.apply(t, dir, resolved, asserted) -}) - -tap.test('shrinkwrap with peer dependencies', async t => { - const shrinkwrap = JSON.stringify({ - name: 'which', - version: '1.0.0', - lockfileVersion: 2, - requires: true, - packages: { - '': { - name: 'which', - version: '1.0.0', - dependencies: { - isexe: '^1.0.0', - }, - devDependencies: { - bar: '1.0.0', - }, - peerDependencies: { - bar: '*', - }, - }, - 'node_modules/bar': { - version: '1.0.0', - resolved: '##REG##/bar/1.0.0.tar', - dev: true, - bin: { - bar: 'bin.js', - }, - }, - 'node_modules/isexe': { - version: '1.0.0', - resolved: '##REG##/isexe/1.0.0.tar', - bin: { - isexe: 'bin.js', - }, - }, - }, - dependencies: { - bar: { - version: '1.0.0', - resolved: '##REG##/bar/1.0.0.tar', - dev: true, - }, - isexe: { - version: '1.0.0', - resolved: '##REG##/isexe/1.0.0.tar', - }, - }, - }) - // expected output - const resolved = { - 'foo@1.0.0 (root)': { - 'which@1.0.0': { - 'isexe@1.0.0': {}, - 'bar@1.0.0': {}, - }, - 'isexe@1.1.0': {}, - 'bar@1.1.0': {}, - }, - } - - // Input of arborist - const graph = { - registry: [ - { - name: 'which', - version: '1.0.0', - dependencies: { isexe: '^1.0.0' }, - peerDependencies: { bar: '*' }, - devDependencies: { bar: '1.0.0' }, - shrinkwrap, - _hasShrinkwrap: true, - }, - { name: 'isexe', version: '1.1.0' }, - { name: 'isexe', version: '1.0.0' }, - { name: 'bar', version: '1.1.0' }, - { name: 'bar', version: '1.0.0' }, - ], - root: { - name: 'foo', - version: '1.0.0', - dependencies: { isexe: '^1.0.0', bar: '^1.0.0', which: '1.0.0' }, - }, - } - - const { dir, registry } = await getRepo(graph) - const cache = fs.mkdtempSync(`${getTempDir()}/test-`) - const arborist = new Arborist({ path: dir, registry, packumentCache: new Map(), cache }) - await arborist.reify({ installStrategy: 'linked' }) - - // TODO: create the resolved object - const asserted = new Set() - rule1.apply(t, dir, resolved, asserted) - rule2.apply(t, dir, resolved, asserted) - rule3.apply(t, dir, resolved, asserted) - rule4.apply(t, dir, resolved, asserted) - rule5.apply(t, dir, resolved, asserted) - rule6.apply(t, dir, resolved, asserted) - rule7.apply(t, dir, resolved, asserted) -}) - tap.test('bundled dependencies of external packages', async t => { // Input of arborist const graph = { diff --git a/workspaces/arborist/test/node.js b/workspaces/arborist/test/node.js index 91fbfa22af721..ec474e0b7d75e 100644 --- a/workspaces/arborist/test/node.js +++ b/workspaces/arborist/test/node.js @@ -1016,43 +1016,6 @@ t.test('setting package refreshes deps', t => { t.end() }) -t.test('nodes in shrinkwraps', t => { - const root = new Node({ - pkg: { dependencies: { a: '' } }, - path: '/path/to/root', - children: [ - { - name: 'a', - pkg: { - name: 'a', - version: '1.2.3', - dependencies: { b: '' }, - _hasShrinkwrap: true, - }, - children: [ - { - name: 'b', - pkg: { - version: '1.2.3', - name: 'b', - dependencies: { c: '' }, - }, - children: [{ name: 'c', pkg: { name: 'c', version: '1.2.3' } }], - }, - ], - }, - ], - }) - const a = root.children.get('a') - const b = a.children.get('b') - const c = b.children.get('c') - - t.equal(a.hasShrinkwrap, true, 'a has a shrinkwrap') - t.equal(b.inShrinkwrap, true, 'b is in shrinkwrap') - t.equal(c.inShrinkwrap, true, 'c is in shrinkwrap') - t.end() -}) - t.test('bin paths', t => { const root = new Node({ path: '/a/b/c', @@ -2365,7 +2328,7 @@ t.test('canDedupe()', t => { | +-- a 1.2.3 (removable, matches) +-- extraneous 1.2.3 +-- wrapper - +-- a 1.2.3 (not removable, in shrinkwrap) + +-- a 1.2.3 (removable, matches root a) */ const root = new Node({ @@ -2405,9 +2368,7 @@ t.test('canDedupe()', t => { dependencies: { a: '1', }, - _hasShrinkwrap: true, }, - hasShrinkwrap: true, children: [ { pkg: { name: 'a', version: '1.2.3' }, @@ -2480,6 +2441,7 @@ t.test('canDedupe()', t => { const canDedupeLocs = [...root.inventory.filter(n => n.canDedupe())] .map(n => n.location) t.match(canDedupeLocs, [ + 'node_modules/wrapper/node_modules/a', 'node_modules/c/node_modules/a', 'node_modules/b/node_modules/e', 'node_modules/b/node_modules/c/node_modules/a/node_modules/e', @@ -2488,6 +2450,7 @@ t.test('canDedupe()', t => { const canDedupeTrueLocs = [...root.inventory.filter(n => n.canDedupe(true))] .map(n => n.location) t.match(canDedupeTrueLocs, [ + 'node_modules/wrapper/node_modules/a', 'node_modules/c/node_modules/a', // this is the one that's only deduped if we preferDedupe 'node_modules/b/node_modules/a', diff --git a/workspaces/arborist/test/printable.js b/workspaces/arborist/test/printable.js index d064a14252873..7729d93cc4d2b 100644 --- a/workspaces/arborist/test/printable.js +++ b/workspaces/arborist/test/printable.js @@ -290,7 +290,7 @@ t.test('show workspaces in printable node output', t => { t.end() }) -t.test('show bundle/shrinkwrap info', t => { +t.test('show bundle info', t => { const tree = new Node({ path: '/path/to/root', pkg: { @@ -298,7 +298,6 @@ t.test('show bundle/shrinkwrap info', t => { version: '1.2.3', dependencies: { bundler: '', - wrapper: '', a: '1', b: '2', c: '3', @@ -321,23 +320,6 @@ t.test('show bundle/shrinkwrap info', t => { }, ], }, - { - pkg: { - name: 'wrapper', - version: '1.2.3', - dependencies: { - a: '1', - }, - _hasShrinkwrap: true, - }, - hasShrinkwrap: true, - children: [ - { - pkg: { name: 'a', version: '1.2.3' }, - integrity: 'a123', - }, - ], - }, { pkg: { name: 'a', version: '1.2.3' }, integrity: 'a123', diff --git a/workspaces/arborist/test/shrinkwrap.js b/workspaces/arborist/test/shrinkwrap.js index c79ddff1e7915..bcdf50b0f87b0 100644 --- a/workspaces/arborist/test/shrinkwrap.js +++ b/workspaces/arborist/test/shrinkwrap.js @@ -17,7 +17,6 @@ const YarnLock = require('../lib/yarn-lock.js') const yarnFixture = resolve(__dirname, 'fixtures/yarn-stuff') const emptyFixture = resolve(__dirname, 'fixtures/empty') const depTypesFixture = resolve(__dirname, 'fixtures/dev-deps') -const badJsonFixture = resolve(__dirname, 'fixtures/testing-peer-deps-bad-sw') const hiddenLockfileFixture = resolve(__dirname, 'fixtures/hidden-lockfile') const hidden = 'node_modules/.package-lock.json' const saxFixture = resolve(__dirname, 'fixtures/sax') @@ -120,7 +119,8 @@ t.test('loading in bad dir gets empty lockfile', async t => { }) t.test('failure to parse json gets empty lockfile', async t => { - const sw = await Shrinkwrap.load({ path: badJsonFixture }) + const path = t.testdir({ 'package-lock.json': 'this is not valid json {' }) + const sw = await Shrinkwrap.load({ path }) t.strictSame(sw.data, { lockfileVersion: 3, requires: true, @@ -677,7 +677,7 @@ t.test('write the shrinkwrap back to disk', t => { t.end() }) -t.test('load shrinkwrap if no package-lock.json present', async t => { +t.test('ignore npm-shrinkwrap.json at the project root', async t => { const dir = t.testdir({ 'npm-shrinkwrap.json': JSON.stringify({ lockfileVersion: 1, @@ -686,14 +686,12 @@ t.test('load shrinkwrap if no package-lock.json present', async t => { }), }) let s - s = await Shrinkwrap.load({ path: dir, shrinkwrapOnly: true }) - t.equal(s.type, 'npm-shrinkwrap.json', 'loaded with swonly') - s = await Shrinkwrap.reset({ path: dir, shrinkwrapOnly: true }) - t.equal(s.type, 'npm-shrinkwrap.json', 'loaded fresh') s = await Shrinkwrap.load({ path: dir }) - t.equal(s.type, 'npm-shrinkwrap.json', 'loaded without swonly') + t.equal(s.loadedFromDisk, false, 'shrinkwrap is not loaded from disk') + t.notOk(s.filename.endsWith('npm-shrinkwrap.json'), 'filename is package-lock.json') s = await Shrinkwrap.reset({ path: dir }) - t.equal(s.type, 'npm-shrinkwrap.json', 'loaded fresh without swonly') + t.equal(s.loadedFromDisk, false, 'reset does not find shrinkwrap') + t.notOk(s.filename.endsWith('npm-shrinkwrap.json'), 'reset filename is package-lock.json') }) t.test('load yarn.lock file if present', async t => { @@ -1600,14 +1598,15 @@ t.test('shrinkwrap where root is a link node', async t => { }) }) -t.test('prioritize npm-shrinkwrap.json over package-lock.json', async t => { +t.test('ignore npm-shrinkwrap.json even when package-lock.json is also present', async t => { const path = t.testdir({ - 'npm-shrinkwrap.json': '{}', - 'package-lock.json': '{}', + 'npm-shrinkwrap.json': '{"name":"from-shrinkwrap"}', + 'package-lock.json': '{"name":"from-package-lock"}', 'package.json': '{}', }) const sw = await Shrinkwrap.load({ path }) - t.equal(sw.type, 'npm-shrinkwrap.json') + t.equal(sw.type, 'package-lock.json') + t.equal(sw.data.name, 'from-package-lock', 'read package-lock.json, not npm-shrinkwrap.json') }) t.test('do not add metadata if versions mismatch', async t => { diff --git a/workspaces/config/lib/definitions/definitions.js b/workspaces/config/lib/definitions/definitions.js index 7c5b2ce170d89..3565d214c1e88 100644 --- a/workspaces/config/lib/definitions/definitions.js +++ b/workspaces/config/lib/definitions/definitions.js @@ -772,7 +772,7 @@ const definitions = { default: true, type: Boolean, description: ` - Format \`package-lock.json\` or \`npm-shrinkwrap.json\` as a human + Format \`package-lock.json\` as a human readable file. `, flatten, @@ -1254,8 +1254,8 @@ const definitions = { Version 3 if no lockfile, auto-converting v1 lockfiles to v3; otherwise, maintain current lockfile version.`, description: ` - Set the lockfile format version to be used in package-lock.json and - npm-shrinkwrap-json files. Possible options are: + Set the lockfile format version to be used in package-lock.json files. + Possible options are: 1: The lockfile version used by npm versions 5 and 6. Lacks some data that is used during the install, resulting in slower and possibly less @@ -1449,7 +1449,7 @@ const definitions = { Dependency types to omit from the installation tree on disk. Note that these dependencies _are_ still resolved and added to the - \`package-lock.json\` or \`npm-shrinkwrap.json\` file. They are just + \`package-lock.json\` file. They are just not physically installed on disk. If a package type appears in both the \`--include\` and \`--omit\` @@ -2125,20 +2125,6 @@ const definitions = { `, flatten, }), - shrinkwrap: new Definition('shrinkwrap', { - default: true, - type: Boolean, - deprecated: ` - Use the --package-lock setting instead. - `, - description: ` - Alias for --package-lock - `, - flatten (key, obj, flatOptions) { - obj['package-lock'] = obj.shrinkwrap - definitions['package-lock'].flatten('package-lock', obj, flatOptions) - }, - }), 'sign-git-commit': new Definition('sign-git-commit', { default: false, type: Boolean, diff --git a/workspaces/config/tap-snapshots/test/type-description.js.test.cjs b/workspaces/config/tap-snapshots/test/type-description.js.test.cjs index 3c5e28d211612..1c876db0c752d 100644 --- a/workspaces/config/tap-snapshots/test/type-description.js.test.cjs +++ b/workspaces/config/tap-snapshots/test/type-description.js.test.cjs @@ -544,9 +544,6 @@ Object { "shell": Array [ Function String(), ], - "shrinkwrap": Array [ - "boolean value (true or false)", - ], "sign-git-commit": Array [ "boolean value (true or false)", ], diff --git a/workspaces/config/test/definitions/definitions.js b/workspaces/config/test/definitions/definitions.js index 4e10b32bbdd8e..aa282ea665500 100644 --- a/workspaces/config/test/definitions/definitions.js +++ b/workspaces/config/test/definitions/definitions.js @@ -586,16 +586,10 @@ t.test('strictSSL', t => { t.end() }) -t.test('shrinkwrap/package-lock', t => { - const obj = { shrinkwrap: false } +t.test('package-lock', t => { + const obj = {} const flat = {} - mockDefs().shrinkwrap.flatten('shrinkwrap', obj, flat) - t.strictSame(flat, { packageLock: false }) - obj.shrinkwrap = true - mockDefs().shrinkwrap.flatten('shrinkwrap', obj, flat) - t.strictSame(flat, { packageLock: true }) - delete obj.shrinkwrap obj['package-lock'] = false mockDefs()['package-lock'].flatten('package-lock', obj, flat) t.strictSame(flat, { packageLock: false }) diff --git a/workspaces/libnpmversion/README.md b/workspaces/libnpmversion/README.md index b81a231d05ce0..3a91bb471ba56 100644 --- a/workspaces/libnpmversion/README.md +++ b/workspaces/libnpmversion/README.md @@ -39,8 +39,7 @@ npmVersion(arg, { ## Description Run this in a package directory to bump the version and write the new data -back to `package.json`, `package-lock.json`, and, if present, -`npm-shrinkwrap.json`. +back to `package.json` and `package-lock.json`. The `newversion` argument should be a valid semver string, a valid second argument to [semver.inc](https://github.com/npm/node-semver#functions) (one diff --git a/workspaces/libnpmversion/lib/version.js b/workspaces/libnpmversion/lib/version.js index bfcd8a521496d..df78e06c230e8 100644 --- a/workspaces/libnpmversion/lib/version.js +++ b/workspaces/libnpmversion/lib/version.js @@ -76,21 +76,19 @@ module.exports = async (newversion, opts) => { delete pkg._id await writeJson(`${path}/package.json`, pkg) - // try to update shrinkwrap, but ok if this fails - const locks = [`${path}/package-lock.json`, `${path}/npm-shrinkwrap.json`] - const haveLocks = [] - for (const lock of locks) { - try { - const sw = await readJson(lock) - sw.version = newV - if (sw.packages && sw.packages['']) { - sw.packages[''].version = newV - } - await writeJson(lock, sw) - haveLocks.push(lock) - } catch { - // ignore errors + // try to update the lockfile, but ok if this fails + const lock = `${path}/package-lock.json` + let lockUpdated = false + try { + const sw = await readJson(lock) + sw.version = newV + if (sw.packages && sw.packages['']) { + sw.packages[''].version = newV } + await writeJson(lock, sw) + lockUpdated = true + } catch { + // ignore errors } if (!ignoreScripts) { @@ -110,7 +108,7 @@ module.exports = async (newversion, opts) => { // - git add, git commit, git tag await git.spawn(['add', `${path}/package.json`], opts) // sometimes people .gitignore their lockfiles - for (const lock of haveLocks) { + if (lockUpdated) { await git.spawn(['add', lock], opts).catch(() => {}) } await commit(newV, opts) diff --git a/workspaces/libnpmversion/test/version.js b/workspaces/libnpmversion/test/version.js index 4fee6f5cd2af9..50e9706bb9130 100644 --- a/workspaces/libnpmversion/test/version.js +++ b/workspaces/libnpmversion/test/version.js @@ -44,14 +44,7 @@ t.test('test out bumping the version in all the ways', async t => { git: { 'package-lock.json': JSON.stringify(lock, null, 2), }, - 'not-git': { - 'npm-shrinkwrap.json': JSON.stringify({ - ...lock, - packages: { - '': { ...pkg }, - }, - }, null, 2), - }, + 'not-git': {}, }) await t.test('git dir', async t => { @@ -246,7 +239,6 @@ t.test('test out bumping the version in all the ways', async t => { t.match(actionLog, [ ['run-script', 'preversion', { npm_old_version: '1.2.0', npm_new_version: '2.0.0' }], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '1.2.0', npm_new_version: '2.0.0' }], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], ['run-script', 'postversion', { npm_old_version: '1.2.0', npm_new_version: '2.0.0' }], @@ -257,7 +249,6 @@ t.test('test out bumping the version in all the ways', async t => { t.equal(await version('minor', { path, pkg, ignoreScripts: true }), '2.1.0') t.match(actionLog, [ ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], ]) t.equal(pkg.version, '2.1.0') @@ -267,7 +258,6 @@ t.test('test out bumping the version in all the ways', async t => { t.match(actionLog, [ ['run-script', 'preversion', { npm_old_version: '2.1.0', npm_new_version: '2.1.1' }], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '2.1.0', npm_new_version: '2.1.1' }], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], ['run-script', 'postversion', { npm_old_version: '2.1.0', npm_new_version: '2.1.1' }], @@ -279,7 +269,6 @@ t.test('test out bumping the version in all the ways', async t => { t.match(actionLog, [ ['run-script', 'preversion', { npm_old_version: '2.1.1', npm_new_version: '2.1.1-0' }], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '2.1.1', npm_new_version: '2.1.1-0' }], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], ['run-script', 'postversion', { npm_old_version: '2.1.1', npm_new_version: '2.1.1-0' }], @@ -292,7 +281,6 @@ t.test('test out bumping the version in all the ways', async t => { ['run-script', 'preversion', { npm_old_version: '2.1.1-0', npm_new_version: '2.1.1-alpha.0' }], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '2.1.1-0', npm_new_version: '2.1.1-alpha.0' }], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], ['run-script', 'postversion', @@ -306,7 +294,6 @@ t.test('test out bumping the version in all the ways', async t => { ['run-script', 'preversion', { npm_old_version: '2.1.1-alpha.0', npm_new_version: '3.2.1' }], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '2.1.1-alpha.0', npm_new_version: '3.2.1' }], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], ['run-script', 'postversion', @@ -335,7 +322,6 @@ t.test('test out bumping the version in all the ways', async t => { ['run-script', 'preversion', { npm_old_version: '3.2.1', npm_new_version: '3.2.1' }, {}], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '3.2.1', npm_new_version: '3.2.1' }, {}], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], @@ -351,7 +337,6 @@ t.test('test out bumping the version in all the ways', async t => { ['run-script', 'preversion', { npm_old_version: '3.2.1', npm_new_version: '3.2.1' }, {}], ['write-json', path + '/package.json', pkg], - ['write-json', path + '/npm-shrinkwrap.json', pkg], ['run-script', 'version', { npm_old_version: '3.2.1', npm_new_version: '3.2.1' }, {}], ['verbose', 'version', 'Not tagging: not in a git repo or no git cmd'], @@ -367,3 +352,38 @@ t.test('test out bumping the version in all the ways', async t => { }) }) }) + +t.test('covers lockfile with packages[""] and git dir missing a lockfile', async t => { + const pkg = { name: 'foo', version: '1.2.0' } + const dir = t.testdir({ + 'git-with-packages-lock': { + 'package-lock.json': JSON.stringify({ + name: 'foo', + version: '1.2.0', + packages: { '': { name: 'foo', version: '1.2.0' } }, + }, null, 2), + }, + 'git-without-lock': {}, + }) + + const versionWithFailingLockAdd = requireInject('../lib/version.js', { + '../lib/enforce-clean.js': async () => true, + '../lib/write-json.js': async () => {}, + '../lib/commit.js': async () => {}, + '../lib/tag.js': async () => {}, + '../lib/retrieve-tag.js': async () => '1.2.3', + '@npmcli/git': { + is: async () => true, + spawn: async args => { + if (args[0] === 'add' && /package-lock\.json$/.test(args[1])) { + throw new Error('gitignored lockfile') + } + }, + }, + '@npmcli/run-script': async () => {}, + 'proc-log': { log: { verbose: () => {} } }, + }) + + await versionWithFailingLockAdd('patch', { path: `${dir}/git-with-packages-lock`, pkg: { ...pkg }, gitTagVersion: true }) + await version('patch', { path: `${dir}/git-without-lock`, pkg: { ...pkg }, gitTagVersion: true }) +})