{
  "_args": [
    [
      {
        "raw": "supi@0.32.2",
        "scope": null,
        "escapedName": "supi",
        "name": "supi",
        "rawSpec": "0.32.2",
        "spec": "0.32.2",
        "type": "version"
      },
      "/home/zoltan/src/pnpm/pnpm/packages/pnpm"
    ]
  ],
  "_from": "supi@0.32.2",
  "_hasShrinkwrap": false,
  "_id": "supi@0.32.2",
  "_location": "/supi",
  "_nodeVersion": "8.15.1",
  "_npmOperationalInternal": {
    "host": "s3://npm-registry-packages",
    "tmp": "tmp/supi_0.32.2_1556221294302_0.5517307305231061"
  },
  "_npmUser": {
    "name": "zkochan",
    "email": "z@kochan.io"
  },
  "_npmVersion": "6.4.1",
  "_phantomChildren": {},
  "_requested": {
    "raw": "supi@0.32.2",
    "scope": null,
    "escapedName": "supi",
    "name": "supi",
    "rawSpec": "0.32.2",
    "spec": "0.32.2",
    "type": "version"
  },
  "_requiredBy": [
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/supi/-/supi-0.32.2.tgz",
  "_shasum": "13fc1dafcacfe9649d2f2f3ffb608043570c1058",
  "_shrinkwrap": null,
  "_spec": "supi@0.32.2",
  "_where": "/home/zoltan/src/pnpm/pnpm/packages/pnpm",
  "author": {
    "name": "Zoltan Kochan",
    "email": "z@kochan.io",
    "url": "https://www.kochan.io/"
  },
  "bugs": {
    "url": "https://github.com/pnpm/pnpm/issues"
  },
  "dependencies": {
    "@pnpm/build-modules": "1.0.3",
    "@pnpm/check-package": "3.0.0",
    "@pnpm/constants": "1.0.0",
    "@pnpm/core-loggers": "3.0.2",
    "@pnpm/filter-lockfile": "1.0.5",
    "@pnpm/fs-locker": "1.0.3",
    "@pnpm/headless": "7.0.1",
    "@pnpm/lifecycle": "6.0.1",
    "@pnpm/link-bins": "4.0.2",
    "@pnpm/lockfile-file": "1.0.4",
    "@pnpm/lockfile-utils": "1.0.5",
    "@pnpm/modules-cleaner": "3.0.7",
    "@pnpm/modules-yaml": "3.0.2",
    "@pnpm/package-requester": "7.0.6",
    "@pnpm/pkgid-to-filename": "2.0.0",
    "@pnpm/prune-lockfile": "1.0.4",
    "@pnpm/read-importers-context": "1.0.1",
    "@pnpm/read-modules-dir": "2.0.0",
    "@pnpm/read-package-json": "2.0.1",
    "@pnpm/resolve-dependencies": "6.1.1",
    "@pnpm/resolver-base": "3.1.2",
    "@pnpm/shamefully-flatten": "3.0.6",
    "@pnpm/store-controller-types": "3.0.3",
    "@pnpm/symlink-dependency": "2.0.4",
    "@pnpm/types": "3.2.0",
    "@pnpm/utils": "0.10.4",
    "@types/byline": "4.2.31",
    "@types/common-tags": "1.8.0",
    "@types/mz": "0.0.32",
    "@types/node": "*",
    "@types/nopt": "3.0.29",
    "@types/ramda": "0.25.34",
    "@types/rc": "1.1.0",
    "@types/semver": "6.0.0",
    "@zkochan/npm-package-arg": "1.0.2",
    "common-tags": "1.8.0",
    "dependency-path": "3.0.4",
    "encode-registry": "1.1.0",
    "execa": "1.0.0",
    "get-npm-tarball-url": "2.0.1",
    "graceful-fs": "4.1.15",
    "graph-sequencer": "2.0.0",
    "import-from": "2.1.0",
    "is-ci": "2.0.0",
    "is-inner-link": "2.0.2",
    "is-subdir": "1.0.3",
    "load-json-file": "5.3.0",
    "mkdirp-promise": "5.0.1",
    "mz": "2.7.0",
    "normalize-path": "3.0.0",
    "p-every": "2.0.0",
    "p-filter": "2.1.0",
    "p-limit": "2.2.0",
    "path-absolute": "1.0.1",
    "ramda": "0.26.1",
    "remove-all-except-outer-links": "2.0.0",
    "replace-string": "2.0.0",
    "resolve-link-target": "1.0.1",
    "rimraf-then": "1.0.1",
    "run-groups": "2.0.0",
    "semver": "6.0.0",
    "symlink-dir": "3.0.2",
    "validate-npm-package-name": "3.0.0",
    "version-selector-type": "2.0.1",
    "write-pkg": "3.2.0"
  },
  "description": "Fast, disk space efficient installation engine",
  "devDependencies": {
    "@pnpm/assert-project": "link:../../privatePackages/assert-project",
    "@pnpm/assert-store": "link:../../privatePackages/assert-store",
    "@pnpm/default-fetcher": "file:../default-fetcher",
    "@pnpm/default-resolver": "file:../default-resolver",
    "@pnpm/logger": "2.1.0",
    "@pnpm/package-store": "file:../package-store",
    "@pnpm/prepare": "0.0.0",
    "@pnpm/store-path": "1.0.4",
    "@pnpm/tslint-config": "0.0.0",
    "@types/fs-extra": "5.0.5",
    "@types/is-windows": "0.2.0",
    "@types/mkdirp": "0.5.2",
    "@types/sinon": "^7.0.10",
    "@types/tape": "4.2.33",
    "anonymous-npm-registry-client": "0.1.2",
    "caw": "2.0.1",
    "cross-spawn": "6.0.5",
    "deep-require-cwd": "1.0.0",
    "dir-is-case-sensitive": "1.0.0",
    "exists-link": "2.0.0",
    "fs-extra": "7.0.1",
    "is-windows": "1.0.2",
    "mkdirp": "0.5.1",
    "ncp": "2.0.0",
    "npm-run-all": "4.1.5",
    "npm-scripts-info": "0.3.9",
    "path-exists": "4.0.0",
    "path-name": "1.0.0",
    "pnpm-registry-mock": "2.12.0",
    "read-yaml-file": "1.1.0",
    "rimraf": "2.6.3",
    "sepia": "2.0.2",
    "sinon": "7.3.2",
    "supi": "link:",
    "tape": "4.10.1",
    "tape-promise": "4.0.0",
    "ts-node": "8.1.0",
    "tslint": "5.16.0",
    "typescript": "3.4.5",
    "write-json-file": "3.2.0",
    "write-yaml-file": "2.0.0"
  },
  "directories": {
    "test": "test"
  },
  "dist": {
    "integrity": "sha512-bkk4uq45GNvD0TL3pSLYbwVRbAkOxiQcPVoKiignMF8YIfKm5g4f6Lw0z0Nx3Re5kUkdIiDeAMzm0gTLIcqJLA==",
    "shasum": "13fc1dafcacfe9649d2f2f3ffb608043570c1058",
    "tarball": "https://registry.npmjs.org/supi/-/supi-0.32.2.tgz",
    "fileCount": 120,
    "unpackedSize": 287287,
    "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwg1uCRA9TVsSAnZWagAArCQQAIqlKXfxWn9QtUBaJF9G\n1CKhFV93RaYNwWvVDHz6Fp8QlrpLghAexM23+Woqw46tSUIP6MZM00AGK625\niNvM0xLCdKNb2n1j3n+pQ5/efzFzqazxT268hIZ+5Lhr7cbSyAyD7RxWe8Q1\n3GUAFDSAqPPkupG7xXSY93oZlw0g6Wn9tHn+1gkAMq1M/4zPzCBZHoNPQ1Pe\nqh+tk0K0wuiSFtFb0Yn/esfflkYQzJV/fP2s9eRFVy2LQHQmhik+H4gWaxse\n1mDNbXIZseua92UjG6tMFNCwiBmcEawK/6KNRZk+hzMbll31wC3iJChEA7tp\n8wKn8PtfapYys2f59+lyxUd40s9Mh6+Iqe4MpleltYA/nSstu1vyImmnnHpm\n3UTd8SNxR4uSILttOiSMl/oNGLWBg6HI7ZTjuoLS+EcxhNQDpOL7oe4LnVOm\nfDpHEyS3+mNoVieInJNJOsw8yQSr3jLzZGlejBAR/0bRPVrfHqQS580TeG0Y\nXnCm1U9HsEqN5QiRRBvtmD5lg7slDHjXh0q/bJCFXsZXPLdsIaks8rzQA6Jn\nljOAA8CJdJOVOqXMfOJMNev+r0ahgLgi2a8EfVgiHbkJWRWKgDFxCn8v9L1i\nmlDjiVbJbvZem7EyGv37eqOPzzolskd8PLf0Em9e7HzWjtVKMJXBq6r+1U54\nuN4z\r\n=/BLk\r\n-----END PGP SIGNATURE-----\r\n"
  },
  "engines": {
    "node": ">=8.15"
  },
  "files": [
    "lib/"
  ],
  "homepage": "https://pnpm.js.org",
  "keywords": [
    "dependency manager",
    "install",
    "installer",
    "uninstall",
    "remove",
    "link",
    "prune",
    "shrinkwrap",
    "lockfile",
    "fast",
    "rapid",
    "efficient",
    "package.json",
    "packages",
    "dependencies",
    "symlinks",
    "hardlinks",
    "modules",
    "npm",
    "package manager"
  ],
  "license": "MIT",
  "main": "lib/index.js",
  "maintainers": [
    {
      "name": "etamponi",
      "email": "emanuele.tamponi@gmail.com"
    },
    {
      "name": "zkochan",
      "email": "z@kochan.io"
    }
  ],
  "name": "supi",
  "optionalDependencies": {},
  "peerDependencies": {
    "@pnpm/logger": "^2.1.0"
  },
  "readme": "<p align=\"center\">\n  <img alt=\"supi - pnpm's installation engine\" src=\"https://cdn.rawgit.com/pnpm/supi/master/logo.svg\" width=\"200\">\n</p>\n\n# supi\n\n> Fast, disk space efficient installation engine. Used by [pnpm](https://github.com/pnpm/pnpm)\n\n## Install\n\nInstall it via npm.\n\n```\nnpm install supi\n```\n\nIt also depends on `@pnpm/logger` version `1`, so install it as well via:\n\n```\nnpm install @pnpm/logger@1\n```\n\n## API\n\n### `supi.mutateModules(importers, options)`\n\nTODO\n\n### `supi.uninstall(pkgsToUninstall, [options])`\n\nUninstalls a package, completely removing everything pnpm installed on its behalf.\n\n**Arguments:**\n\n* `pkgsToUninstall` - *String[]* - the package names to be uninstalled.\n* `options.saveProd` - *Boolean* - the package will be removed from `dependencies`.\n* `options.saveDev` - *Boolean* - the package will be removed from `devDependencies`.\n* `options.saveOptional` - *Boolean* - the package will be removed from `optionalDependencies`.\n* `options.global` - *Boolean* - the packages will be uninstalled globally.\n* `options.reporter` - *Function* - A function that listens for logs.\n\n### `supi.link(linkFromPkgs, linkToNodeModules, [options])`\n\nCreate symbolic links from the linked packages to the target package's `node_modules` (and its `node_modules/.bin`).\n\n**Arguments:**\n\n* `linkFromPkgs` - *String[]* - paths to the packages that should be linked.\n* `linkToNodeModules` - *String* - path to the dependent package's `node_modules` directory.\n* `options.reporter` - *Function* - A function that listens for logs.\n\n### `supi.linkToGlobal(linkFrom, options)`\n\nCreate a symbolic link from the specified package to the global `node_modules`.\n\n**Arguments:**\n\n* `linkFrom` - *String* - path to the package that should be linked.\n* `globalPrefix` - *String* - path to the global directory.\n* `options.reporter` - *Function* - A function that listens for logs.\n\n### `supi.linkFromGlobal(pkgNames, linkTo, options)`\n\nCreate symbolic links from the global `pkgName`s to the `linkTo/node_modules` folder.\n\n**Arguments:**\n\n* `pkgNames` - *String[]* - packages to link.\n* `linkTo` - *String* - package to link to.\n* `globalPrefix` - *String* - path to the global directory.\n* `options.reporter` - *Function* - A function that listens for logs.\n\n### `supi.storeStatus([options])`\n\nReturn the list of modified dependencies.\n\n**Arguments:**\n\n* `options.reporter` - *Function* - A function that listens for logs.\n\n**Returns:** `Promise<string[]>` - the paths to the modified packages of the current project. The paths contain the location of packages in the store,\nnot in the projects `node_modules` folder.\n\n### `supi.storePrune([options])`\n\nRemove unreferenced packages from the store.\n\n## Hooks\n\nHooks are functions that can step into the installation process.\n\n### `readPackage(pkg)`\n\nThis hook is called with every dependency's manifest information.\nThe modified manifest returned by this hook is then used by supi during installation.\n\n**Example:**\n\n```js\nconst supi = require('supi')\n\nsupi.installPkgs({\n  hooks: {readPackage}\n})\n\nfunction readPackage (pkg) {\n  if (pkg.name === 'foo') {\n    pkg.dependencies = {\n      bar: '^2.0.0',\n    }\n  }\n  return pkg\n}\n```\n\n### `afterAllResolved(lockfile: Lockfile): Lockfile`\n\nThis hook is called after all dependencies are resolved. It recieves and returns the resolved lockfile object.\n\n## Acknowledgements\n\nThanks to [Valentina Kozlova](https://github.com/ValentinaKozlova) for the supi logo\n\n## License\n\n[MIT](LICENSE)\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "https://github.com/pnpm/pnpm/blob/master/packages/supi"
  },
  "scripts": {
    "?commit": "echo 'Run Git commit wizard'",
    "commit": "commit",
    "commitmsg": "commitlint -e",
    "info": "npm-scripts-info",
    "lint": "tslint -c tslint.json src/**/*.ts test/**/*.ts",
    "pnpm-registry-mock": "pnpm-registry-mock",
    "prepublishOnly": "npm run tsc",
    "pretest": "rimraf ../../../.tmp/ && pnpm-registry-mock prepare",
    "start": "npm run tsc -- --watch",
    "test": "npm run lint && npm run tsc && npm run test:e2e",
    "test-with-preview": "npm run lint && preview && npm run test:e2e",
    "test:e2e": "npm-run-all -p -r pnpm-registry-mock test:tap",
    "test:tap": "ts-node test",
    "tsc": "rimraf lib && tsc"
  },
  "typings": "lib/index.d.ts",
  "version": "0.32.2"
}
