{"_id":"@blitzjs/manypkg","_rev":"6-1123dcf29b637f62bf75491e93f8825b","name":"@blitzjs/manypkg","dist-tags":{"latest":"0.19.1"},"versions":{"0.19.1":{"name":"@blitzjs/manypkg","version":"0.19.1","license":"MIT","_id":"@blitzjs/manypkg@0.19.1","maintainers":[{"name":"anemone","email":"alexsandra.sikora@gmail.com"},{"name":"mabadir","email":"mina.youssef@gmail.com"},{"name":"flybayer","email":"b@bayer.ws"},{"name":"skn0tt","email":"info@simonknott.de"}],"homepage":"https://github.com/Thinkmill/manypkg#readme","bugs":{"url":"https://github.com/Thinkmill/manypkg/issues"},"bin":{"manypkg":"bin.js"},"dist":{"shasum":"c4472784d5d7e004ae52b8fb8c6e5ea9d1a9590a","tarball":"https://registry.npmjs.org/@blitzjs/manypkg/-/manypkg-0.19.1.tgz","fileCount":50,"integrity":"sha512-Z8liT59nSKynZceIN5tba7cZuM15vOuSGTOGNhgcaLlTMtqp/Jlo3wVvvLn9YEIe/V+nwlq5ydLrjPl4I6ZLYA==","signatures":[{"sig":"MEUCIA824UiE7JzZr3FqSkc69oMnyFtxZ7pRYe2jpQ53yDRdAiEAp4l/MSsxaFdalLIBkyFpsUCot3arZ+iFJo6HAkIcUhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":241837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKNq6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppMQ//Z/FLm7EvBymaaBA2eaPd+28wWyPefe2HwTUf927DTEb1U6VA\r\n7R3ksWa7hSbR/mbH++Rb842RCWWGlMiXdWk+sAa7ABC2QyTxV6+pTEMI10x1\r\n4yx0JKYEfW5aVNArMjx3ms/y5TX3BHBFTP1g4elnoYAZLefe2cNuXB03Oa5s\r\nWkf6noMD9QSdGuPP2HOKGbxkr2iEBHBqQRTFxZlE0zfj0HOM1CYlQCn9nUVI\r\ndVp67a32xtPJU/jYG8uE2Rg7P4KLsKeLVCilG2xYQH7hUTw2T+ND5ohyoKgf\r\npuGBVGox7YhUZ7i6S0dkaSfTAnDU1IqpKd9TsElzqdzjLYgO7NjW7s8oM5rm\r\n5ESY+u7Yt9GEykrYpMg75/oMmIzAcjJpYJPueE9i1E6vIznp8P6ig3sFHRlX\r\nBCI6PXTrECSXaShLaNU+w3GpePHQ0zZHW/yGXlY9SP4ZcHOGy3uU1frE4yW6\r\nzuFOmxwkmNj+iK/GD4JJY3/Pg2dsA6D819bAYs1BgQWpe99XVNimJb4u0YMD\r\nJ55kL6Dt/4T90o63WYVb+0+HrBo5EFQ99Fu7r2T4BoHreFR49SbtR5tvZt1v\r\n65psBmmmcwZ+vvCvXzuCUoOkKVjn9LmQkzFeKeCY3HBUMUaoYzMN5rYPxyWx\r\nPxeFmpQPYBLuDiSdawMlfqfVTBGhM2F6Yho=\r\n=KDri\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/manypkg.cjs.js","types":"./dist/manypkg.cjs.d.ts","module":"dist/manypkg.esm.js","gitHead":"067ea53e3c80eeba1c64b2895a73da393a2f34aa","_npmUser":{"name":"flybayer","email":"b@bayer.ws"},"repository":{"url":"git+https://github.com/Thinkmill/manypkg.git","type":"git","directory":"packages/cli"},"_npmVersion":"8.1.4","description":"Manypkg is a linter for `package.json` files in Yarn, Bolt or pnpm monorepos.","directories":{},"_nodeVersion":"16.13.0","dependencies":{"chalk":"^2.4.2","semver":"^6.3.0","find-up":"^4.1.0","p-limit":"^2.2.1","sembear":"^0.5.0","fs-extra":"^8.1.0","spawndamnit":"^2.0.0","package-json":"^6.5.0","detect-indent":"^6.0.0","@babel/runtime":"^7.5.5","get-workspaces":"^0.6.0","normalize-path":"^3.0.0","parse-github-url":"^1.0.2","@manypkg/get-packages":"^1.1.3","validate-npm-package-name":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"fixturez":"^1.1.0","strip-ansi":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/manypkg_0.19.1_1646844602312_0.23499732986751276","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-03-09T16:50:02.232Z","modified":"2025-07-02T15:24:38.853Z","0.19.1":"2022-03-09T16:50:02.478Z"},"bugs":{"url":"https://github.com/Thinkmill/manypkg/issues"},"license":"MIT","homepage":"https://github.com/Thinkmill/manypkg#readme","repository":{"url":"git+https://github.com/Thinkmill/manypkg.git","type":"git","directory":"packages/cli"},"description":"Manypkg is a linter for `package.json` files in Yarn, Bolt or pnpm monorepos.","maintainers":[{"email":"mina.youssef@gmail.com","name":"mabadir"},{"email":"b@bayer.ws","name":"flybayer"},{"email":"info@simonknott.de","name":"skn0tt"},{"email":"siddh.suresh@gmail.com","name":"siddhsuresh"}],"readme":"# Manypkg\n\nManypkg is a linter for `package.json` files in Yarn, Bolt or pnpm monorepos.\n\n## Install\n\n```\nyarn add @manypkg/cli\n```\n\n## Usage\n\n### `manypkg check`\n\n`manypkg check` runs all of the [checks](#checks) against your repo, logs any errors and exits with a code\n\n### `manypkg fix`\n\n`manypkg check` runs all of the [checks](#checks) against your repo and fixes any of problems that can be fixed.\n\n### `manypkg upgrade <packageName> <tag or version>`\n\nThis command helps you quickly upgrade your dependencies in a monorepo, or for packages from another scope. This is similar to `yarn upgrade` with slightly different ergonomics. At its most basic:\n\n`manypkg upgrade react`\n\nThis will find every instance of react in your packages, and upgrade it to latest.\n\n`manypkg upgrade react next`\n\nThis will find every instance of react in your packages, and upgrade it to the next tag on npm.\n\nUsing tags respects your version range specifier (carat, or tilde dependency type).\n\nYou can also specify a version or version range such as:\n\n`manypkg upgrade react ^16.3.0`\n\n#### Upgrading all dependencies in a scope\n\nIf you specify a scope, rather than a package name, you can upgrade all packages within a scope, for example:\n\n`manypkg upgrade @keystonejs`\n\nThis would upgrade all packages in the `keystone` scope to latest across your repository. You can specify a tag, or a version range. If you specify a tag, it will update every package that has a tag at this scope.\n\nIf you specify a version range, all packages in the scope will be updated to that version range and then an install will be attempted, but you will have errors if not all packages in the scope have that version.\n\n### `manypkg npm-tag tagname (--otp OTP_CODE)`\n\nThis gets each public package in the repo, and adds the npm tag specified to the current version of each. This can be run after publish to give a particular release a name.\n\n`manypkg npm-tag charmander`\n\n> WARNING - npm-tag is not currently particularly robust in its implementation. The logging and feedback are likely to be poor\n\n### `manypkg run <partial package name or directory> <script>`\n\n`manypkg run` executes scripts for packages within a monorepo.\n\nAs an example, let's say there are two packages: `@project/package-a` at `packages/pkg-a` and `@project/package-b` at `packages/pkg-a` which both have a `start` script, `manypkg run` can be used like this:\n\n```bash\nyarn manypkg run pkg-a start\nyarn manypkg run a start\nyarn manypkg run package-a start\nyarn manypkg run @project/package-a start\nyarn manypkg run packages/pkg-a start\nyarn manypkg run package-b start\nyarn manypkg run b start\n```\n\nThe following wouldn't work though because the `package` and `pkg` aren't unique among the package names/directories:\n\n```bash\nyarn manypkg run package start\nyarn manypkg run pkg start\n```\n\nIn order to target a package with a name that is a substring of another (`@project/package-a` at `packages/pkg-a` and `@project/package-a-1` at `packages/pkg-a-1`), use the exact package or directory name:\n\n```bash\nyarn manypkg run @project/package-a start\nyarn manypkg run packages/pkg-a start\n```\n","readmeFilename":"README.md"}