{"bugs":{"url":"https://github.com/pnpm/pnpm/issues"},"dist":{"shasum":"31121bf5cc728af0dcb98ed891be000cd1c53792","tarball":"https://registry.npmjs.org/supi/-/supi-0.24.13-0.tgz","fileCount":135,"integrity":"sha512-MdnINMJPWiZ0gY2yQUtA7vQmPs5yI/nD0lkSlKZ328CqPZmA7tRgJxjm4aLQQNF2MKW01jmbhwHvtZv9lq4caQ==","signatures":[{"sig":"MEYCIQD8zhkWzf1FwJHHrDZYvZS2J9gKVCaT6Jf/0VX0a3wKXQIhAMw/KgACCQnQ7VI6C4KuEi6OCLfUnqQc3RzTueKuBRKu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":323296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxNebCRA9TVsSAnZWagAAdEQP+gLzMxFpGfisjX0k2D/b\nFMjU3+DU40Sdy+u42lbs43Zo7FpZmh+NhyAeey/PQUHEDmYTHuHkSLn7zTbV\ng5QzuU+mAhxBXIS+XUe48B3Vcu2a+5KtP9/asrMdoMNDDklHxjowPuf76Bhm\nzIkhIXsUyoPNMrzc8hO9WLcXh0QaZh4eOcnPNHJ+VSSMd+rdK0TuY2jU5mR9\nMWvk5WOXpe9PsgpeyLmqt+JoeF4u9RyTLJr63/BcdW1ElynpuNWrHxiRM1Um\nvidSGUtKBEU41IGAnRjARgAtQOL0ltSVFRwlIHMNqhKZ5EXN7udk73MuPnDh\nhWAN90Z682uKS0RNAelqJhdkw2dt2DjpqSTdlZZew0Kazb/EyrI1nNcYiN4Z\nEReryuWuCLck+ek9mxDS7JCYuvLgHIzoEXHjfxkIejniz+vMWnA8W3f58OOv\nCU3wUrOqVhniOGI2yymfBhAHH0zUeyJdwTXqy8Ovd3Enl3Z0HLmfg/hG/WbC\nQg2ZZWGKOTuvkDDMlr+Gs8MNXSFUFMsuZvC0Bt2wowUVFhdRREMV2MXt9DXT\n2+ApIjr9aL+TygPPOBVKWjXpxPEFpx/OIiNJfe2IacnFZWppf4/OKcPqZ/+C\nEToJiJm655FKMJG0fqYTi/X2j/iNK9WX9EMkbQjAAX0FqfRdsgCadABWzGHA\nWcBR\r\n=kTPQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","name":"supi","author":{"url":"https://www.kochan.io/","name":"Zoltan Kochan","email":"z@kochan.io"},"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.installPkgs(pkgsToInstall, [options])`\n\nInstall packages.\n\n**Arguments:**\n\n* `pkgsToInstall` - *Object | String[]* - either an object that maps package names to version ranges or inputs usually passed to `npm install` (e.g., `foo@1.0.0`, `foo`).\n* `options.storeController` - *Object* - required. An object that does all the manipulations with the store.\n* `options.store` - *String* - required. Location of the store.\n* `options.saveProd` - *Boolean* - package will appear in `dependencies`.\n* `options.saveDev` - *Boolean* - package will appear in `devDependencies`.\n* `options.saveOptional` - *Boolean* - package will appear in `optionalDependencies`.\n* `options.saveExact` - *Boolean* - saved dependencies will be configured with an exact version rather than using npm's default semver range operator.\n* `options.global` - *Boolean* - the packages will be installed globally rather than locally.\n* `options.prefix` - *String* - the directory in which the installation will be performed. By default the `process.cwd()` value is used.\n* `options.reporter` - *Function* - A function that listens for logs.\n* `options.packageManager` - *Object* - The `package.json` of the package manager.\n* `options.hooks` - *Object* - A property that contains installation hooks. Hooks are [documented separately](#hooks).\n* `options.shrinkwrap` - *Boolean* - `true` by default. When `false`, ignores the `shrinkwrap.yaml` file and doesn't create/update one.\n* `options.shrinkwrapOnly` - *Boolean* - `false` by default. When `true`, only updates `shrinkwrap.yaml` and `package.json` instead of checking `node_modules` and downloading dependencies.\n* `options.allowNew` - *Boolean* - `true` by default. When `true`, packages that are not yet in `package.json` may be installed.\n\n**Returns:** a Promise\n\n**Example:**\n\n```js\nconst pnpm = require('pnpm')\n\npnpm.installPkgs({\n  'is-positive': '1.0.0',\n  'hello-world': '^2.3.1'\n}, { saveDev: true })\n```\n\n### `supi.install([options])`\n\nInstall all modules listed as dependencies in `package.json`.\n\n**Arguments:** (same as in named install and additionally)\n\n* `options.production` - *Boolean* - `true` by default. If `true`, packages listed in `dependencies` will be installed.\n* `options.development` - *Boolean* - `true` by default. If `true`, packages listed in `devDependencies` will be installed.\n* `options.optional` - *Boolean* - Has the value of `options.production` by default. If `true`, packages listed in `optionalDependencies` will be installed.\n  Can be `true` only when `options.production` is `true` as well.\n* `options.frozenShrinkwrap` - *Boolean* - `false` by default. When `true`, shrinkwrap file is not generated and installation fails if an update is needed.\n  With this option, a headless installation is performed. A headless installation is ~33% faster than a regular one because it skips\n  dependencies resolution and peers resolution.\n* `options.preferFrozenShrinkwrap` - *Boolean* - `true` by default. When `true`, a headless installation is performed if the shrinkwrap file\n  is up-to-date with the `package.json` file.\n* `options.ownLifecycleHooksStdio` - *'inherit' | 'pipe'* - the stdio of the project's lifecycle hooks. Does not affect the stdio of the dependencies' hooks.\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.unlink([options])`\n\nUnlinks all packages that were linked during development in a project. If the linked package is in `package.json` of the project,\nit is installed after unlinking.\n\n**Arguments:**\n\n* `options.prefix` - *String* - by default `process.cwd()`. Path to the project.\n* `options.reporter` - *Function* - A function that listens for logs.\n\n### `supi.unlinkPkgs(pkgsToUnlink, [options])`\n\nUnlinks the listed packages that were linked during development in a project. If the linked package is in `package.json` of the project,\nit is installed after unlinking.\n\n**Arguments:**\n\n* `pkgsToUnlink` - *String[]* - the list of packages that have to be unlinked. If the passed in package is not an external link, then a warning is reported.\n* `options.prefix` - *String* - by default `process.cwd()`. Path to the project.\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(shr: Shrinkwrap): Shrinkwrap`\n\nThis hook is called after all dependencies are resolved. It recieves and returns the resolved shrinkwrap 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","engines":{"node":">=6"},"license":"MIT","scripts":{"tsc":"rimraf lib && tsc","info":"npm-scripts-info","lint":"tslint -c tslint.json --project .","test":"npm run lint && npm run lint-test && npm run tsc && pnpm link . && npm run test:e2e","start":"npm run tsc -- --watch","commit":"commit","?commit":"echo 'Run Git commit wizard'","pretest":"rimraf ../../../.tmp/ && pnpm-registry-mock prepare","test:e2e":"npm-run-all -p -r pnpm-registry-mock test:tap","test:tap":"ts-node test","commitmsg":"commitlint -e","lint-test":"tslint -c tslint.json --project test","prepublishOnly":"npm run tsc","test-with-preview":"npm run lint && npm run lint-test && preview && npm run test:e2e","pnpm-registry-mock":"pnpm-registry-mock"},"typings":"lib/index.d.ts","_npmUser":{"name":"zkochan","email":"z@kochan.io"},"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"],"deprecated":"This package was renamed to @pnpm/core","repository":{"url":"https://github.com/pnpm/pnpm/blob/master/packages/supi","type":"git"},"_npmVersion":"6.1.0","description":"Fast, disk space efficient installation engine","directories":{"test":"test"},"greenkeeper":{"ignore":["pnpm-default-reporter","pnpm-file-reporter","pnpm-install-checks","pnpm-logger","pnpm-registry-mock","remove-all-except-outer-links","pnpm-shrinkwrap"]},"maintainers":[{"name":"zkochan","email":"zoltan.kochan@gmail.com"}],"_nodeVersion":"6.12.3","dependencies":{"mz":"2.7.0","execa":"1.0.0","is-ci":"1.2.1","ramda":"0.25.0","semver":"5.6.0","p-limit":"2.0.0","p-filter":"1.0.0","@types/mz":"^0.0.32","@types/rc":"^0.0.1","is-subdir":"1.0.2","write-pkg":"3.2.0","@types/npm":"^2.0.28","os-homedir":"1.0.2","@pnpm/types":"^1.8.0","@pnpm/utils":"0.9.0-0","@types/node":"^10.0.6","@types/nopt":"^3.0.29","common-tags":"1.8.0","graceful-fs":"4.1.11","import-from":"2.1.0","rimraf-then":"1.0.1","symlink-dir":"1.1.3","@types/ramda":"0.25.34","@types/byline":"^4.2.31","@types/semver":"^5.3.30","is-inner-link":"2.0.2","package-store":"0.23.4","path-absolute":"1.0.0","@pnpm/headless":"0.6.8-1","load-json-file":"5.1.0","mkdirp-promise":"5.0.1","normalize-path":"3.0.0","replace-string":"1.1.0","util.promisify":"1.0.0","@pnpm/fs-locker":"1.0.2","@pnpm/lifecycle":"3.0.1","@pnpm/link-bins":"3.0.0","@types/p-series":"^1.0.0","dependency-path":"2.0.0","encode-registry":"1.1.0","graph-sequencer":"2.0.0","pnpm-shrinkwrap":"8.0.0-1","@pnpm/core-loggers":"0.0.0","@pnpm/modules-yaml":"2.0.0-0","@types/common-tags":"^1.2.5","@pnpm/check-package":"2.0.0","@pnpm/resolver-base":"1.2.0","get-npm-tarball-url":"2.0.1","resolve-link-target":"1.0.1","@pnpm/modules-cleaner":"1.0.0-1","normalize-registry-url":"1.0.0","@pnpm/package-requester":"4.1.4","@pnpm/pkgid-to-filename":"2.0.0","@pnpm/read-package-json":"1.0.0","@zkochan/npm-package-arg":"1.0.0","validate-npm-package-name":"3.0.0","@pnpm/resolve-dependencies":"1.0.0-1","remove-all-except-outer-links":"1.0.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"caw":"^2.0.0","ncp":"^2.0.0","tape":"^4.8.0","sepia":"^2.0.2","sinon":"^6.0.0","mkdirp":"^0.5.1","rimraf":"^2.6.2","tslint":"^5.4.2","ts-node":"^6.2.0","read-pkg":"4.0.1","path-name":"^1.0.0","is-windows":"^1.0.2","typescript":"^3.0.0","@types/tape":"^4.2.30","cross-spawn":"^6.0.5","exists-link":"^2.0.0","npm-run-all":"^4.0.1","path-exists":"3.0.0","@pnpm/logger":"^2.1.0","@types/sinon":"^5.0.0","tape-promise":"^4.0.0","@pnpm/prepare":"0.0.0","@types/mkdirp":"^0.5.1","load-yaml-file":"^0.1.0","package-preview":"^1.0.0","write-json-file":"^3.0.0","write-yaml-file":"^1.0.1","@pnpm/store-path":"^1.0.0","deep-require-cwd":"^1.0.0","npm-scripts-info":"^0.3.6","@types/is-windows":"^0.2.0","pnpm-registry-mock":"^2.2.0","tslint-eslint-rules":"5.4.0","@pnpm/assert-project":"link:../../privatePackages/assert-project","@pnpm/default-fetcher":"^2.0.0","@pnpm/default-resolver":"^2.0.0","tslint-config-standard":"8.0.1","anonymous-npm-registry-client":"^0.1.2"},"peerDependencies":{"@pnpm/logger":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/supi_0.24.13-0_1539626906077_0.07490349081322156","host":"s3://npm-registry-packages"},"_id":"supi@0.24.13-0","version":"0.24.13-0"}