{"_id":"@antfu/nip","_rev":"4-8a66cd741b019e7dc2c496b2975f2d93","name":"@antfu/nip","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.0":{"name":"@antfu/nip","version":"0.0.0","keywords":[],"author":{"name":"Anthony Fu","email":"anthonyfu117@hotmail.com"},"license":"MIT","_id":"@antfu/nip@0.0.0","maintainers":[{"name":"antfu","email":"anthonyfu117@hotmail.com"}],"homepage":"https://github.com/antfu/nip#readme","bugs":{"url":"https://github.com/antfu/nip/issues"},"bin":{"nip":"bin/nip.mjs"},"dist":{"shasum":"97c5ca5824c3a5206708db08e6d2d32e979c59ea","tarball":"https://registry.npmjs.org/@antfu/nip/-/nip-0.0.0.tgz","fileCount":8,"integrity":"sha512-DFGEDJ0oSgwOZmel7PqhHccYtSCeJt1/lnCEg9o2n1kVdGU7kFzZV6lTNXKLmER7b8gW7mamZBbtK62NaH816w==","signatures":[{"sig":"MEYCIQDTDphiP6Tn/VmIzS5/LBDhi5GmPIOAPo1R4tooh0tGcQIhAO/RgodH6dfYKxV+gnb421wDJarv1i2yy4OOUk2mw7AD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13213},"main":"./dist/index.mjs","type":"module","_from":"file:antfu-nip-0.0.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./cli":"./dist/cli.mjs","./package.json":"./package.json"},"funding":"https://github.com/sponsors/antfu","scripts":{"dev":"unbuild --stub","lint":"eslint","test":"vitest","build":"unbuild","start":"tsx src/cli.ts","release":"bumpp && pnpm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"antfu","email":"anthonyfu117@hotmail.com"},"_resolved":"/private/var/folders/30/nymxcyb909ggq2j5lwn7b_600000gn/T/578590d706d0ca8a38450feb0b9bdbea/antfu-nip-0.0.0.tgz","_integrity":"sha512-DFGEDJ0oSgwOZmel7PqhHccYtSCeJt1/lnCEg9o2n1kVdGU7kFzZV6lTNXKLmER7b8gW7mamZBbtK62NaH816w==","repository":{"url":"git+https://github.com/antfu/nip.git","type":"git"},"_npmVersion":"10.9.2","description":"A better pnpm install xxx with prompts and catalogs support","directories":{},"lint-staged":{"*":"eslint --fix"},"sideEffects":false,"_nodeVersion":"22.13.1","dependencies":{"cac":"^6.7.14","ansis":"^3.17.0","find-up":"^7.0.0","@antfu/ni":"^24.2.0","fast-npm-meta":"^0.3.1","@clack/prompts":"^0.10.0","pnpm-workspace-yaml":"^0.3.1","package-manager-detector":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","vite":"^6.2.1","yaml":"^2.7.0","bumpp":"^10.1.0","eslint":"^9.22.0","vitest":"^3.0.8","unbuild":"^3.5.0","tinyexec":"^0.3.2","typescript":"^5.8.2","@types/node":"^22.13.10","lint-staged":"^15.5.0","@antfu/utils":"^9.1.0","simple-git-hooks":"^2.11.1","@antfu/eslint-config":"^4.10.1","vitest-package-exports":"^0.1.1"},"simple-git-hooks":{"pre-commit":"pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/nip_0.0.0_1741936788343_0.3525382509896138","host":"s3://npm-registry-packages-npm-production"},"deprecated":"use @antfu/ni or @rizumu/nai instead"},"0.1.0":{"name":"@antfu/nip","version":"0.1.0","keywords":[],"author":{"name":"Anthony Fu","email":"anthonyfu117@hotmail.com"},"license":"MIT","_id":"@antfu/nip@0.1.0","maintainers":[{"name":"antfu","email":"anthonyfu117@hotmail.com"}],"homepage":"https://github.com/antfu/nip#readme","bugs":{"url":"https://github.com/antfu/nip/issues"},"bin":{"nip":"bin/nip.mjs"},"dist":{"shasum":"a6e92f571562605a8e56e0e172dba162a6e9ea14","tarball":"https://registry.npmjs.org/@antfu/nip/-/nip-0.1.0.tgz","fileCount":8,"integrity":"sha512-iNSjTsty20VIdjEeulB3zRmeZKnlnMD4ACVWWvGRgBoKLJiAGN3lBVffxtiKXGSJNHuqd+djNhjRNT3t7/6Jog==","signatures":[{"sig":"MEQCICMDxYifqLUtjfoLc3udpzFueOnvRDlahRpXsyBfczvPAiAIFb7ZPqWIoZKRhgKlxTQcwKSDVBkhUfRNPv2CCLMKLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13812},"main":"./dist/index.mjs","type":"module","_from":"file:antfu-nip-0.1.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./cli":"./dist/cli.mjs","./package.json":"./package.json"},"funding":"https://github.com/sponsors/antfu","scripts":{"dev":"unbuild --stub","lint":"eslint","test":"vitest","build":"unbuild","start":"tsx src/cli.ts","release":"bumpp && pnpm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"antfu","email":"anthonyfu117@hotmail.com"},"_resolved":"/private/var/folders/30/nymxcyb909ggq2j5lwn7b_600000gn/T/d96c448abba2101c155b358f7069a1ac/antfu-nip-0.1.0.tgz","_integrity":"sha512-iNSjTsty20VIdjEeulB3zRmeZKnlnMD4ACVWWvGRgBoKLJiAGN3lBVffxtiKXGSJNHuqd+djNhjRNT3t7/6Jog==","repository":{"url":"git+https://github.com/antfu/nip.git","type":"git"},"_npmVersion":"10.9.2","description":"A better pnpm install xxx with prompts and catalogs support","directories":{},"lint-staged":{"*":"eslint --fix"},"sideEffects":false,"_nodeVersion":"22.13.1","dependencies":{"cac":"^6.7.14","ansis":"^3.17.0","find-up":"^7.0.0","@antfu/ni":"^24.3.0","fast-npm-meta":"^0.4.2","@clack/prompts":"^0.10.1","pnpm-workspace-yaml":"^0.3.1","package-manager-detector":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","vite":"^6.3.3","yaml":"^2.7.1","bumpp":"^10.1.0","eslint":"^9.25.1","vitest":"^3.1.2","unbuild":"^3.5.0","tinyexec":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.2","lint-staged":"^15.5.1","@antfu/utils":"^9.2.0","simple-git-hooks":"^2.13.0","@antfu/eslint-config":"^4.12.0","vitest-package-exports":"^0.1.1"},"simple-git-hooks":{"pre-commit":"pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/nip_0.1.0_1745645556178_0.6241825193529853","host":"s3://npm-registry-packages-npm-production"},"deprecated":"use @antfu/ni or @rizumu/nai instead"},"0.1.1":{"name":"@antfu/nip","version":"0.1.1","keywords":[],"author":{"name":"Anthony Fu","email":"anthonyfu117@hotmail.com"},"license":"MIT","_id":"@antfu/nip@0.1.1","maintainers":[{"name":"antfu","email":"anthonyfu117@hotmail.com"}],"homepage":"https://github.com/antfu/nip#readme","bugs":{"url":"https://github.com/antfu/nip/issues"},"bin":{"nip":"bin/nip.mjs"},"dist":{"shasum":"51b628492522d81b7f862f4f174cdf00a8e43987","tarball":"https://registry.npmjs.org/@antfu/nip/-/nip-0.1.1.tgz","fileCount":8,"integrity":"sha512-SpTor2KsPPCY0M9ZDgQ8iTo5inbQIgHB04qPrTf+/lL1NXNQC2D1Pzmen5JKyFJe3RaM7o7/qR+OVkcTEjex2w==","signatures":[{"sig":"MEYCIQDg975yXi5W+Lmm7C38dmpiF6VZN2X1/wh3hIbcZmfwqgIhAMX+hDtLkrzzcvBGBoty6lGqcqnsvSIY+qBqrddcdfCs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@antfu%2fnip@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14511},"main":"./dist/index.mjs","type":"module","_from":"file:antfu-nip-0.1.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":"./dist/index.mjs","./cli":"./dist/cli.mjs","./package.json":"./package.json"},"funding":"https://github.com/sponsors/antfu","scripts":{"dev":"unbuild --stub","lint":"eslint","test":"vitest","build":"unbuild","start":"tsx src/cli.ts","release":"bumpp","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9ba194f7-3fd4-475e-8a44-4ecead609a87"}},"_resolved":"/tmp/87759569237293d9127b36b8ea1dc182/antfu-nip-0.1.1.tgz","_integrity":"sha512-SpTor2KsPPCY0M9ZDgQ8iTo5inbQIgHB04qPrTf+/lL1NXNQC2D1Pzmen5JKyFJe3RaM7o7/qR+OVkcTEjex2w==","repository":{"url":"git+https://github.com/antfu/nip.git","type":"git"},"_npmVersion":"11.6.2","description":"A better pnpm install xxx with prompts and catalogs support","directories":{},"lint-staged":{"*":"eslint --fix"},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"cac":"^6.7.14","ansis":"^4.2.0","find-up":"^8.0.0","@antfu/ni":"^28.1.0","fast-npm-meta":"^0.4.7","@clack/prompts":"^0.11.0","pnpm-workspace-yaml":"^1.4.3","package-manager-detector":"^1.6.0","@pnpm/workspace.find-packages":"^1000.0.54"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vite":"^7.3.1","yaml":"^2.8.2","bumpp":"^10.3.2","eslint":"^9.39.2","vitest":"^4.0.17","unbuild":"^3.6.1","tinyexec":"^1.0.2","typescript":"^5.9.3","@types/node":"^25.0.7","lint-staged":"^16.2.7","@antfu/utils":"^9.3.0","simple-git-hooks":"^2.13.1","@antfu/eslint-config":"^6.7.3","vitest-package-exports":"^1.1.2"},"simple-git-hooks":{"pre-commit":"pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/nip_0.1.1_1768286908640_0.502711772928518","host":"s3://npm-registry-packages-npm-production"},"deprecated":"use @antfu/ni or @rizumu/nai instead"}},"time":{"created":"2025-03-14T07:19:48.268Z","modified":"2026-05-19T20:29:08.839Z","0.0.0":"2025-03-14T07:19:48.625Z","0.1.0":"2025-04-26T05:32:36.377Z","0.1.1":"2026-01-13T06:48:28.775Z"},"bugs":{"url":"https://github.com/antfu/nip/issues"},"author":{"name":"Anthony Fu","email":"anthonyfu117@hotmail.com"},"license":"MIT","homepage":"https://github.com/antfu/nip#readme","keywords":[],"repository":{"url":"git+https://github.com/antfu/nip.git","type":"git"},"description":"A better pnpm install xxx with prompts and catalogs support","maintainers":[{"name":"antfu","email":"anthonyfu117@hotmail.com"}],"readme":"# nip\n\n[![npm version][npm-version-src]][npm-version-href]\n[![npm downloads][npm-downloads-src]][npm-downloads-href]\n[![bundle][bundle-src]][bundle-href]\n[![JSDocs][jsdocs-src]][jsdocs-href]\n[![License][license-src]][license-href]\n\nA better `pnpm install xxx` with prompts and catalogs support.\n\n> [!NOTE]\n> This CLI is [pnpm](https://pnpm.io/)-specific and opinionated, you might want to use [`@antfu/ni`](https://github.com/antfu-collective/ni) for other scenarios.\n```bash\npnpm i @antfu/nip\n```\n\n```bash\nnip vue\n```\n\nThen it will prompts you to select the catalog to install the package to, and update `pnpm-workspace.yaml` and `package.json` for you.\n\n![Image](https://github.com/user-attachments/assets/a300868e-95fd-4f93-984b-0ed638b90485)\n\n![Image](https://github.com/user-attachments/assets/45d1b47b-8c3e-4bd2-912d-e4fdfbf886af)\nYou can also explicitly set the catalog with `--catalog` flag.\n\n```bash\nnip vue --catalog frontend\n```\n\n## Why?\n\n- `pnpm` is currently lacking of the `--catalog` option to directly install packages to catalog, resulting in quite a few manual operations to maintain the catalogs. On the other hand, pnpm's current codebase structure is a bit too complex to add this feature as an outside contributor. So this tool is more like a quick workaround.\n- Sometimes the dependency might already presented in the workspace/catalogs. This tool would pick existing version/catalog automatically.\n- My workflow might be a bit opinionated, FYI: [Categorize Your Dependencies](https://antfu.me/posts/categorize-deps)\n\n## Todos\n\n- [x] Support inferring current workspace packages and fill `workspace:*` automatically.\n- [ ] Prompts to edit entries (if select \"no\" in \"looks good\")\n\n## Sponsors\n\n<p align=\"center\">\n  <a href=\"https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg\">\n    <img src='https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg'/>\n  </a>\n</p>\n\n## License\n\n[MIT](./LICENSE) License © [Anthony Fu](https://github.com/antfu)\n\n<!-- Badges -->\n\n[npm-version-src]: https://img.shields.io/npm/v/@antfu/nip?style=flat&colorA=080f12&colorB=1fa669\n[npm-version-href]: https://npmjs.com/package/@antfu/nip\n[npm-downloads-src]: https://img.shields.io/npm/dm/@antfu/nip?style=flat&colorA=080f12&colorB=1fa669\n[npm-downloads-href]: https://npmjs.com/package/@antfu/nip\n[bundle-src]: https://img.shields.io/bundlephobia/minzip/@antfu/nip?style=flat&colorA=080f12&colorB=1fa669&label=minzip\n[bundle-href]: https://bundlephobia.com/result?p=@antfu/nip\n[license-src]: https://img.shields.io/github/license/antfu/nip.svg?style=flat&colorA=080f12&colorB=1fa669\n[license-href]: https://github.com/antfu/nip/blob/main/LICENSE\n[jsdocs-src]: https://img.shields.io/badge/jsdocs-reference-080f12?style=flat&colorA=080f12&colorB=1fa669\n[jsdocs-href]: https://www.jsdocs.io/package/@antfu/nip\n","readmeFilename":"README.md"}