{"_id":"standard-monorepo","_rev":"50-631db135200f0b85f390473eb54e8a06","time":{"1.0.0":"2020-11-29T12:17:27.881Z","created":"2020-11-30T14:51:07.482Z","0.0.1":"2020-11-30T14:51:07.628Z","modified":"2023-09-12T13:06:25.093Z","0.1.0":"2020-12-01T21:08:55.159Z","0.2.0":"2020-12-02T21:21:49.111Z","0.2.1":"2020-12-07T15:20:01.372Z","0.2.2":"2020-12-07T15:37:04.977Z","0.2.3":"2020-12-07T15:53:25.313Z","0.3.0":"2020-12-08T11:27:26.714Z","0.3.1":"2020-12-08T16:54:22.134Z","0.4.0":"2020-12-09T00:20:53.501Z","0.4.1":"2020-12-09T10:37:44.433Z","0.4.2":"2020-12-10T10:18:34.507Z","0.5.0":"2020-12-17T13:08:20.937Z","0.5.1-canary.3a8f908.0":"2020-12-18T12:47:40.859Z","0.5.1-canary.13.3a8f908.0":"2020-12-18T12:52:25.644Z","0.5.1-canary.13.1264006.0":"2020-12-18T12:54:04.479Z","0.5.1-canary.14.ba62460.0":"2020-12-18T12:54:29.686Z","0.5.1-canary.15.0aae50f.0":"2020-12-18T12:54:48.882Z","0.5.1":"2021-07-19T13:27:37.115Z","0.5.2-canary.26.7d57b66.0":"2021-07-21T14:32:49.171Z","0.5.2-canary.32.e10eedb.0":"2021-07-22T03:00:56.316Z","0.5.2--canary.29.52597c2.0":"2021-07-22T17:26:46.541Z","0.5.2-canary.15.20bbd55.0":"2021-07-24T18:59:08.266Z","0.5.2-canary.15.1cba66d.0":"2021-07-29T16:50:21.471Z","0.5.2-canary.21.e00aeab.0":"2021-07-30T12:24:04.460Z","0.5.2-canary.15.4ec22ae.0":"2021-08-01T12:45:38.457Z","0.5.2-canary.16.68fdba3.0":"2021-08-03T08:55:25.427Z","0.5.2-canary.15.cf5e378.0":"2021-08-04T11:30:09.210Z","0.5.2-canary.28.b2be10e.0":"2021-08-09T00:42:40.690Z","0.5.2-canary.33.6eebbbe.0":"2021-08-10T09:42:12.920Z","0.5.2-canary.33.1bd6446.0":"2021-08-10T09:44:11.622Z","0.5.2-canary.33.c3c6583.0":"2021-08-10T09:57:48.131Z","0.5.2":"2021-08-10T10:00:54.477Z","0.5.3-canary.34.f2c4b1a.0":"2021-10-22T13:14:04.033Z","0.5.3-canary.34.3f4e38f.0":"2021-10-22T13:16:46.280Z","0.6.0":"2021-10-22T13:18:53.079Z","0.6.1-canary.35.1619fde.0":"2021-10-22T17:27:29.449Z","0.6.1-canary.35.2b5e82b.0":"2021-10-22T17:33:10.065Z","0.6.1-canary.35.f020c8c.0":"2021-10-22T17:40:11.601Z","0.6.1":"2021-10-22T17:44:40.700Z","0.6.2-canary.36.75cfcb6.0":"2021-11-05T09:13:41.507Z","0.7.0":"2021-11-05T09:45:09.346Z","0.7.1-canary.37.e58e93c.0":"2021-11-10T11:42:14.831Z","0.7.1":"2021-11-10T11:43:28.665Z","0.8.0-canary.39.7e88663.0":"2022-04-07T09:14:30.384Z","0.8.0":"2022-04-07T09:16:19.138Z","0.9.0":"2023-09-12T13:06:24.886Z"},"name":"standard-monorepo","dist-tags":{"latest":"0.9.0","canary":"0.8.0-canary.39.7e88663.0"},"versions":{"0.0.1":{"name":"standard-monorepo","version":"0.0.1","main":"index.js","repository":{"type":"git","url":"git+ssh://git@github.com/imflavio/standard-monorepo.git"},"author":{"name":"Flávio Carvalho","email":"hey@flavio.uk"},"license":"MIT","gitHead":"b423423723f0215cb1ad1987fb1527dbdce59653","description":"","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"homepage":"https://github.com/imflavio/standard-monorepo#readme","_id":"standard-monorepo@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"dist":{"integrity":"sha512-1o5V1D4XjPJmX+mytlU+uykKydyf180tJfglGV3+1YLAmmV63WgYNx3b9obFSzwT7ck5njG7UuA2Fpwl53chFQ==","shasum":"9574228a7bbc5b9e8f418813ef9f433a0d2c55f2","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.0.1.tgz","fileCount":3,"unpackedSize":1303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxQbbCRA9TVsSAnZWagAA6ukP/0vRhVqvwXhN9hLVmkL1\ndOBCraSpJaMjbax6ffw6SoIHXSD53zwrUjNt95u94ykjyUJeoRtcjJu8o5gc\nvtU/owKjWyJ5arGbvKbPx8rfSuoG5Ms4NCiPtv3MuNb/O+0vSfY/M3kCCTTu\nmvFrDIy1Tk/aJxmBEtiErWc79XJgX+xYYvu+2RRrOVrgSwDnxy2djY4dDlFz\nw76EaywNDXon/D2VaLEYSppCoyvThjS/4d9AcfGun2ZNGp8mjSLN4bVGRCga\nOWOEQ4khdH15WMuo0SOsS4eINwT+zf/AfxmUsYhrIil4BpwPEzY69qzuPEN2\nBC8+o2i+KsOrCHjPy1hLioPqwPtC4/XlRnzxT9MxG91xeTV+SZBclJ1Y0Y3S\nqqYiuZ6OqbJZpjyKnedW/APADsrL5uKg9l54Oqm6MgrvZ4Yv7pSZ27l459n8\nHExPVM0bDT8ePkI39HAqjjmB0S+/vAU5kM5aAWNKdPdMVpQY4G6bUUZKCRLD\nvzJLqu1PMOXsZdpJ6GLAy+mbPokC+vhLJVDz+5jBOwqVO09/a/b6uW0pn4pD\n67L/pO2aJCAQ/TFgFITcCOc9Ozlqqvncr1NOgpuhFWA0+7KP13e9112xcjL4\n4FaA3lO8LjzhPz+eSlXpaHlpXdVpSMZOzprOVyUhvjhlAzLCnFKQiHdLPi4v\nGq16\r\n=S+0R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC32FDWxa9hqxsY6Sew71EZ9TwRr6frtWPJWjDaxAbJ/AiBcpAdQOupTUaGd04k2NGVPZzKIDcQz6T8xvv1bO2bUvw=="}]},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.0.1_1606747867482_0.10366885223573674"},"_hasShrinkwrap":false},"0.1.0":{"name":"standard-monorepo","version":"0.1.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"bin":{"standard-monorepo":"./bin/run"},"scripts":{"build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","inquirer":"^7.3.3"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"gitHead":"01a9c46f278b5296457d709b46ac926b55cb7988","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"dist":{"integrity":"sha512-pGWP4jmXzLlquqiT3Tg9smDzbZixMzS/YcUnLRNETWcSe7nvzaOuUPcITmxQ1DQSnqsSL6+oiZcE/bV1SldCgw==","shasum":"384cc1204965e77d5387cac13c1052a533a9577c","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.1.0.tgz","fileCount":11,"unpackedSize":14503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxrDnCRA9TVsSAnZWagAAFTAP+QEECKEJjCv2prjPZ4bP\nYYAk6CxkgCk32ZmyjVb2Hws/ktgbJirWAdl0VR9CtCfjV/qJFIoA4NUjpc+n\nE7OkmFhu5P18wCPWUunXUed4+gf54cUoHVKTerfQ+Gox15HMGNtQ0f5UITUF\nk5N+POVFodMbRTr64e3zLxezlPFPgDQIqCEe7RWu/Flxss3rickpvHnIY0K6\ni9TWv3jDo+EXKW93Y1K6uMvT6fwWr24mT2Xow4IrBSwbIhqW4HKuLBCH55la\nokOSJvs5KxqUE8QpJz9nKmsVqVnc3DNIMZ041dbC7hCV2szrGig73YbFMqll\nqmIopCOMYWWuIGJf/+p+38FUQownJ1tTzgbqJDMj1fCAZ8uFuoIpuQ/C/7r8\nIG4l0u08pEZ2MRxNUls1J68sjJRAAJprAF7kYE7/AhOIFc9cZFJpRi9bht3H\nCMR6y7NH5OAWARlRq7y9e4ggg2crMuN1nshKfK9wqXj7kdnGzuuK+A0OmWLs\naBmRu972pnbqgq6dridtdU82bhjq/qQzizBvmnMO44V916CxztEj0kLVOPxu\n/S0dkozkHUxC7O5QZ9/MH2a0KV0vDNh2OdnXAjIXxRtor/foPuKs/0tvNnRY\ns0frVNXb6ErsJ2BUpav2olIlMxIN9xxHlUoeOSgKih/a9zET7kByB3o1U83v\nN7P8\r\n=9tGH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCH1hK2rSrHcJZXi0YtSIUX80O+FJz/bxhEeoo7AHONcgIhAIxd1goFMMNsiePFjltO+0N5h4XzZbTb4jqi/r3o7BNL"}]},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.1.0_1606856935000_0.602849374822076"},"_hasShrinkwrap":false},"0.2.0":{"name":"standard-monorepo","version":"0.2.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=10"},"bin":{"standard-monorepo":"./bin/run"},"scripts":{"build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@lerna/package-graph":"3.18.0","@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","inquirer":"^7.3.3","lodash":"^4.17.20","glob":"7.1.5"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"gitHead":"335e20febcea85d6d31afe4fc4072f3f1e08833a","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"dist":{"integrity":"sha512-bS8A/LmWqcGG7fens5ANX9LVJmQ4RdhHjlA4GwsHdhNN4I9OLJnfb+EGIUlhI73t8DM9N2ESmVzErG/So6u0QA==","shasum":"b04208d6b9d69cddb32b9fc4cab5512c09d2e67f","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.2.0.tgz","fileCount":20,"unpackedSize":25326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyAVtCRA9TVsSAnZWagAAK2sP/1jUoN8PQbGsVNvkAFac\nnYi0X7uSDlMOiujwbveLA2iguXa2XbOjPWbjbTo8E8u0fwwYplggORmqr6Jg\nEWnxf84SAda9tCaGG+eSJvJFDU80cEZ2Zko/pczWTJkWpg7wbVu3Nsi0/XZQ\nTUDTGBU7WXr5TNRgkN2SgC4FwUiBd1CTw/eZ3uTzhkgZ7yjz20O5kHrN6LxI\nM3W6Q62oeh0Wy8vHVG+o6chKUdkV4fQEM/oB/jDqlUIPSOLsq58c/BxSG959\nX6HfdVdT0kNWUnhIlMT3uEwfpm0HOH10mkarVyQQkPfFCbyeDiIVCTsV1RnP\nFAAymZ0wEeMwyoQaPaGNetfj3Bfg4tvK/zBj+CAlCPyYE5ZOXlH7AwMANSsg\ncpbEgrJG4/mbigjeFeOs4CJFoT47SLhgWkJ0D6sbPK0darI6qgdlwHfzABgd\nnGM+TpRGcYGFbukvIzcQ5d3+ThRSGXNAnMN6zFgvheH/pThdrqONVZtc0/Ss\n2cf3UQZFRGehBv0q/X+CSPut+z70d4rEAwNVx1zYmtdRCB/qL9XmgDP6r7M/\naB7tu1x/Ba3yfVz1T/2HkJyQjhJMWk5yEbwZ+v0gH1eJX+FCEzP8QDW6s1Da\nJE8MhfaMWkviXBCHO3jni5R1f7fkQ3JsL7RCI2qSF11uUCO2X1yyUAS3PR+s\nn/3Q\r\n=HhVX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPQsPEsm2GnghQ3LvU4JjFZE/eJHKoXBO2cVpK2bv8/QIhAL2/RsdUIgg0Q+bUINuOZluQZOyFujnl4cOUMNWXouRZ"}]},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.2.0_1606944108970_0.9924569134191465"},"_hasShrinkwrap":false},"0.2.1":{"name":"standard-monorepo","version":"0.2.1","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"89dd5d4f97c83498fd86be8abb9763c2bdca688a","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.2.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-SDy8n4GZntfndjHmuhTEUmocnR8MdgjPhQB+S7iE5U+jIS73ef97jBg8SOsiGdzzjOuCktQIGyIrLxin7vI3XQ==","shasum":"3e938a86144d98f8d45eda8ddeef853cb55ad681","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.2.1.tgz","fileCount":43,"unpackedSize":57119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzkghCRA9TVsSAnZWagAADP4P/jka1X+VqtIm5wNS61GY\nzcaFoSjJZ52UFErrjWlLghithH8lpT8jvn+koRaQwtaPvpaiZigA1bgUfbS8\n2mTxTX6xdFVgKJcQ+alX/3nx9bFd7vjeZESZVk8qPsps1Rl/XYJzVgNEWRx6\nK87SR061wa0MhAPuXwTvML/S9oivFMdCZKkwCea/yHpfrfIz8JWN7sm5rWwV\nblcFNlCu7M9dJr5uMAvv8HZTnC08ZHbL1VRnDyRQ+v2AyfxK3KmDAfFQzFL3\nL5JRbZAhPfWcg+0479+Tc4ck3OD38oThocgmSuw1UR//TCvMimX4+D2McQLe\nU6YV4Uk0dVN7m+ksHv6+GwLS87c2jm69vo2IKin/EWIi0zKRfpZNKGhPorFP\nHbSw6hbW5ga6UdHHkPl/HsZYiRbqPAitIBji7zxPrtiIQdkg5C76OW3g4dV2\nSbo/ghqhnJrPVaoiQwHtjp4IytbODrZ/w7AxSFjIiE33paMR0uL1AlqgMk8w\nSNZI9QgEa4GT+bPUYSQ9BtdTAqXEYTxWca/pZVKJEFf9OOCopTSwJLsDtCVT\nRnXPHduxfHdHTCAKRaA9d98iB21p7rcM3Ht1Gq/Mz9yZ3t/8xI+Kb80oXxzX\nHp6oy89rKHWaio8cLdz/j4qaqL+92Q7Vhvj5euCbV4eNrJ2/DO1sI1pRpLSw\nNrTM\r\n=42lr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrcHdCq5NJmJt8fHN9EMyQ8sLcI6X7oJh2Q3x5Il75cAIgW+jJviZrEzK/uutdBEcVz1U/OBb4H9+h2Ol76kKG0i0="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.2.1_1607354401148_0.42583791006934923"},"_hasShrinkwrap":false},"0.2.2":{"name":"standard-monorepo","version":"0.2.2","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"5e3a061b376b2ac87752826aa993baaf8349746d","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.2.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qP1RQCOiwZc1ui8spAP8pzBCsxJ+SNO9gY6pR9dF2XZbTk1cKD52mBuJM8QYIwuBb1BZ484uRlA95BxtTPNPIw==","shasum":"18d746d405823f812369d71ce22ca91a809f4324","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.2.2.tgz","fileCount":43,"unpackedSize":56503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzkwhCRA9TVsSAnZWagAA5AEP/jvgsjXuD9kdsrxCXPWL\nFt1oh1WgK4nfEmDZ1KwDT9Geqsn6FzCUBB0klWCbYmmusLl6nEoEhLUd6Om+\nl48/TqRhNxRdkUn4WJckcxjh2LmvGRwYvg69QEr+wakE0CDA3wxXknAA1O5P\n+DPh7kaYLe3EU/24K0DMYF3D9KrMwN4TAH6Zagop48ugt2o3VYh/1JKBubHK\n/VTQ/l8r5gG9g1ScY9yfYpBc3mXSzGGqa66PT68Efs21Xv6u/wM55YN9W6FW\nCyZGX/V+QdgVkraBvn++k7jjQoJve0FoWMSZjs+gD6yHFT1Djff8VLBKh8Oy\n/TiY/N4YWbDGDGTR2LlcxIKjZivb6arhNavIHTAz3MyCC2sHgzNHW38bpigQ\nw0V00aGFqoMxwn/lmA3O1+q28a36ZBN3soboSmt3SkRkas4g9OJ0hLmXjOIp\n/Bd6dbHOw8Y5ZQ2NXYQqc+m8mxfGEJrnAkLVY73LP7K/sppIU+ZRl05HsLa1\nyOBn9B9hgavppl2A/HxNxL70NS3WcG97UzRmY7vmMOCpxbfbF6+C1ukz2bxt\njs2N1eJRbKqBAZ5ZnYlVQ+4Mxhf1Sr0Fg1mAv4Iyk2Eb+bDCHNA/z5fZSo6y\nQDIXUBYYZR3W73iMWVzKBQhydu3MQRsHvnyN1uH5glvJrQ+nn4onwG/TNxKN\nJFq8\r\n=tDn+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHSagxZaT6causck2obTFHuG9Ka7jwqUN5tgnDGvdfscAiEAsJ7sspIK0DPWchgMifuucBycYyjlHdbQXVg42Z94aZ0="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.2.2_1607355424819_0.48586342555968454"},"_hasShrinkwrap":false},"0.2.3":{"name":"standard-monorepo","version":"0.2.3","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"da333e4b03a3ac8fd5648ebbce80d9ba0057425e","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.2.3","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-fUktApNJs5BgKS2VSBWw8qhkOXBdrVeR7iWMN6KEFKurs//5/0rWSTo1ekvBvHzObS4ALXL7yorB7rad/VZpog==","shasum":"99c2257968e82f63b420627b034896da7dd75254","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.2.3.tgz","fileCount":43,"unpackedSize":56517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfzk/1CRA9TVsSAnZWagAAYJ8P/jNyMPHYH+O0dgbWOh0y\n7PoB6n21ubuH/0FFV7xJfhZWH36Rg5ZeoW4sx30/ndzwa+1SrNte9S6WpGG1\nNtknAisdjQudHIoNX05BPzwV5brg8BsKsdc5W5g9RuCfs74qWxrtHinHX8JF\nmhNxDdnMbMB5pdNI38OxpuQlpy/CzUVDhN/HDrvpHPFJWcVRYkZjTY0IX864\nUJolEC78OJwNMCmVxja2dP1xxJqWa8uRurNSP9Bbe3xOJ54I6aB6BdxECFjf\nqFNADbQzaSmM+3h7QUNk4dHPtiIQhQ4spkZfqhcW7A4yJA/3x86X7xf+64TZ\nIu5u1XkJKtli2vXAaLQnXfAEbunwIK2qHOUC4vw9NaD82pXBixd8ygMoo1ZB\ntMTnICQDhSUgNGQ1MhreQZv7XTzdv4kH8b+KJwMYpx5jbZxzaqTCkI2PY1sS\nz9Nz2kXYDvWeqiTYnrgPrUrVgTVqLr3zkhStHYHsrpt63Hw49tiU4MZyqqSC\n+vIPK+pmGTlDCv/liuTptVaP67tpx1u6/tF8dXM/ykCwOo6EcsK+yObd7p6k\njETCg/m0KcyKu9cWlnlarvc/pna0+ttTv28o0A8kNWw9GufoHBqEZMzvmh27\nEVdbedofAr7OvLStusOqCMZqITPV4fm17XgZjGfaegWWXhkM2VSrpghTXi93\nA6Gz\r\n=8U5h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfTj9gPRCdXScD12O1joDyxWor/oxmCzOsDXBadtNmfQIgHa0skOW53O/zzhmgORfymDAiXltUqBheEfpLvojtWcs="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.2.3_1607356405135_0.643457767635224"},"_hasShrinkwrap":false},"0.3.0":{"name":"standard-monorepo","version":"0.3.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"8d664b8f594588a6074b997636b30349fea8a57c","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.3.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ArHxqFqQAYLyRhc5tCCSR7ankBsLsW5yD8mozNIkxmGTSoUrupMBd6h63Sy1KsAOD00Rh1m1bDW5/8meR/1A8Q==","shasum":"cc7bc56451a7f543b22c6317c8b444062d633ee6","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.3.0.tgz","fileCount":44,"unpackedSize":81158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz2MfCRA9TVsSAnZWagAAT4kQAJGc+5icIapWs36NFG+Y\n8OOzWRftGcTdJIG0N/IYc4tMN+rPT5o5iJ49JhrIAU44al+JKRwjem5RWsz9\nlUT74kfdYINbW+/sAbnp+slKb/824Hi3Kiaaue1cbytNZ9D/CMZBRHYOLM45\nRT8bJziiE23ghJtHZ1QlSyk8tjl4UngnbqR41CT8UM5vitcI8OjYodA8YC9K\nLg0pAPogZNLKW/HTyu7mMJa8SznomWjP1STjgBpw4jeDx0OpJGfE7dS9pYE7\nZsVN1Za6IDHEuwUf4FEtdqp8EZHSqimIlIxBD2A9C7j08ruvvNIAXhAwv6A4\nYkv3i06MDIGQQbJsapG8yVM+gywtweQwPQqfPoC6ilN/OLPfXu2UvioNtrBK\ngo6FdTG1dqijXJxpfS2arj+5xRFgmCDCMryMytfPrW87uXC8KsMkkQnXdMnU\n9cyQx8JHOLJxYB65ie+Hj1is3w8pG6cPhhSyqhj1oCIj7m4orfz8fqrq3GK0\nxe8ISZBofkS9qRLs3D3dzlYgeey02cylRY2a511a0wp7gX5Z7lCgJ3Ua/Swb\n2Nz0xDQXDJ8154rj+h/JwpjMevfC7k/aVkNIP5P7Fy2PhF/m2kLy0jnEgDgc\nzxLXKvtS2f0Q45xd7zZb4OaDJi9aLhrxNBsKdF5xvV3k63c4IeoLsWzWfi0+\nyy3c\r\n=pdIX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEJien3mdzitUrV2lmBpgCUFtAY3MYCSy4kZwwCZLjQsAiA6LwCkURasvjMdlor1bpW4ULHPL86McSX2oJvtW7w+xA=="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.3.0_1607426846605_0.40821586704965274"},"_hasShrinkwrap":false},"0.3.1":{"name":"standard-monorepo","version":"0.3.1","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"1f9ad0d6665ee3009bf225c1defe8c946299554a","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.3.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-dbDXww8fxOtFO5YvOpReoXZ+B+sw61jPsjf8YWrNKd8U105WD9K8ak7h9YfHNNbtMFkmm783J3grZ9aUg8/ZzQ==","shasum":"a3502af07188562640a9c40f2b4b7316f2717514","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.3.1.tgz","fileCount":44,"unpackedSize":83732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz6++CRA9TVsSAnZWagAAVNYQAICUF5FrTYhOirUaL4OO\n8KCk1pYDIbT55ZFgoOlF3se/v60N3AB34tHJg6PoQ2x55zp0bSkfiCDRFy7/\nTzn/h7KznEV4noGvz+LwLDcsfxuvbk2Zfcfd1SU4TQ+JRSDs8FSMngbciFB8\nyulQZ3S3y9Y5/+3qyiXApJCfUAPdfcJuPiWYbACVIVcFdW976IlBVmiNd1FM\nJlZAjhigdUstbJ1YYiBSBCAbGmkodWm9qdbFkngc6ICJ6ZwKhgYi9/kaYGiw\ncQcW3uXbBLxqZhoOrjVaDZeUFLEZj843kDolFwvFEDYJAYaSSNB7GQe4NUj1\nifeh5VBfwR9eLHGlYSBu57pDjwtQhKDWK7IKD2FcizzrKJfiw5Ap4zlHc5Ay\n6mGm7jhDnnAVvwnmbKPeTqo4ajg/4CpYet0ghhLROEQMWvZ/n4JQyHmX+5Cc\nf8KNZNbvqST5ULGN0NyenCDcVnCpwJyIXloKw8rheWvyeHN0IsmMb7Qvh+8r\nvN0pWudzzDy9zDlfBXDdft9nlvkKSllP6w5UgpHSqWLeWPIBRgLoz4T9SgsP\nZIJzqbkbOnBpyYt9ao3iwd69U7xJJOnaSnuUnX0peGeWvY8vPqYeyT5/WVoP\nBB2Hmj5cokEy5gIjD0Vj2kNV5iWO3OtSUg0yH9PAsG7hcWa2AI7jLpYeNOfC\ntSNs\r\n=Pz6l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDT8W/GH3hSFFYo+BKvzrRc0vAbdoAaDXVVa1Q4tkX3zAIgHkPDxP8WXaUJD0Ir+bPvzA3pYMEkRmxJHvksrWaP0Vo="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.3.1_1607446461941_0.21772709232188192"},"_hasShrinkwrap":false},"0.4.0":{"name":"standard-monorepo","version":"0.4.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"9135f175340dde66c7e87ed4fa24174e4deaa91e","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.4.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1+SxQ2l64RZKuacLwv/Ykj8O8AKZyHMuIIHNMJBjr4Vjia0vi5DJXozJtiu6QngUGLgKJaqkOlsTKOds3PUNZA==","shasum":"0ead4dd4b650162bb36dd44676dc4b7f10375db0","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.4.0.tgz","fileCount":47,"unpackedSize":96071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0BhlCRA9TVsSAnZWagAAEaUP/j/fDnvx9Pxsi7RRDdIS\nNcL7YJ9r2VK+3oGK/H/3FFySHhRYkCKExysI04WVNx8KBC6MqMnCN3MpaPZx\ngn9RP5j7lXjdpSuOUtBF58TbhIkicUUlt7D7urm6aTRHD7Y1H4iKAePIz6JX\nsPP6kvz6r/SeJT6sClfnEHnFpPwUbI7i7BDfCroIbIKEszq/dXMEuCVOZZkP\niv/19a4VJhz3jD7OgOX7tSl0xe899lvb4Nv2l3W7MNcuGeY4V0aWkS5ILZR0\n0IcovW3rDg0/1bZasYku3jFv7Z8pzeFwQ4XwdVVomCMO3Sx9lhMkUDil4ssE\n84qaqG+hGt94scFunchgJ8m4g42LQ+D7vEBuSpNz/KqBwfW07uVJI14IaHw7\nkxzOBj2I2KdHhz9gA4Dss82kIa2kt2dnqL7velRTCFcTWMXuC+7UHTWrYPJ6\nPMYedusETxOrwkNTuRfAt/8VsF8WBuhuah3k71qbLuuFJQ+bgcnWOF8tB14L\ntGCZ8aFUxfKJuC9MUnhOKErjvDeV8Rms9VE6EdvGkws+nxsDuROG0l8YOSoh\n4tfCqe+ef7uTQq1cxIIJpfwom9hDtjxbipwEFMxITJXDuqscMcN5NeoeQYIg\n+qmdTgURmUV3wIfWcRXA4363MKSlZMee7mJQ+3Gdo9PnMKtlEZTJv1v920nL\nwr5Y\r\n=uDS6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICwge1x9wVkD91e8YHvdas6jHm/TiCwU9wy5UpF/mescAiBO7vJYJjJdx0UprYB7xi+dTA51Zs5C3fMkYmGtdvEDYw=="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.4.0_1607473253332_0.9853737918765071"},"_hasShrinkwrap":false},"0.4.1":{"name":"standard-monorepo","version":"0.4.1","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.5","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"^7.3.1","@types/jest":"^26.0.15","@types/lodash":"^4.14.165","@types/node":"^10","globby":"11.0.1","husky":"^4.3.0","jest":"^26.6.3","prettier":"2.2.1","ts-jest":"^26.4.4","ts-node":"9.0.0","tslib":"^2.0.3","typescript":"^4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"06c9db77fa59d392d549b73e94ca4577fe7e13d1","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.4.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-i4Tb7dMk9ViPFSb6rvWmXcKyUv2J/poQIXXY+wBa+y0MFI05ze6A/1VrciVvryYlSfvayTawTsCIDsyR9eIUfQ==","shasum":"c7c3ba5e59197410133411ce56a3345456943aa3","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.4.1.tgz","fileCount":47,"unpackedSize":99024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0Kj4CRA9TVsSAnZWagAAw+4QAJUjX5G49BIOrzPMHhmH\nSOYVliOtiwM0xo0bTn9JwXssWtZygLQijoxPPJVoI+2bHYvIY3gxgVm/JijI\n5X6H2ds0e6IVOn8mUn+rI18wPwez5CaYZyX6GkNnbbVWWUgJLOFNfQ1Y9qKt\nLMyUTEWZS/VvPsFBnLDeSGSxfq7AAy9xcnOBQnVTdEks5nlRaW0Wp/Xj45Lx\npsXIPpH3Kx3vqlgaJbavXSKTiZ3Q7Pi5xtCUpsiU/jg34tlAxUd0JsuLfIdk\nJOhVaPz6+/KEemCxu4qF/1k7Ef7tsKjwrYeUtH748QFJInou0wc7H7l3KiMW\nChAlhQXr6Aqg4UDhlqQptgXXZIBYBuL6GfFEjyuqV0rWPv3Um17b/KIccU98\niITOz10REbbrAK+E76i5+HQJRL3ltbj6hwFsBjtWJJ67AV9sF0xu7fCSPBvK\ncqb8/RD2X8uG5M5Obcs7PKOdYb+eZuzAX1wbpwE6Q/lk2VoZKLtEFnyJLbcY\nhAzNdXoFm3uziqxCECIK074RxYilkxfq8Tv+NNTZDWrCWqGnIijqzgSz3siL\nLksXqY8QLJjvfTPGk/Fd0AjYO4lY8CPzYU7zhayvCxt59EKyruYngqFKEXz5\nGIUddlmMAuR1ycTsXcLg/Kc9TUg318K5zuJ8ftDdRgAtaHvYj9jZ7YK2C9f1\nc8Ou\r\n=Y7XB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICnD0xdsdaJH/GeW0OjKb3Rl91JiKBif5PD3LKf+bH6AAiEAl2b0ZEC5p7+vh3qSsZAl2Q3n97lu3QPTPGm8hGJajhI="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.4.1_1607510264336_0.32627568743304036"},"_hasShrinkwrap":false},"0.4.2":{"name":"standard-monorepo","version":"0.4.2","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","version":"oclif-dev readme && git add README.md"},"husky":{"hooks":{"pre-commit":"yarn build && git add -A","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"4744ecd8324f2cc3a3f9e672a341a119ed51bdf3","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.4.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vBIUH1gRBoe22j8hrJcgu37Kn3EXmUNF4aVZ+me8myNcRGK8Yc0JTUHzH56ziN3HKKQxbODciDvKfvN0vQsl5Q==","shasum":"1349a50c6cfe5d772e1f6fb5dca46e678b8c0cd5","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.4.2.tgz","fileCount":47,"unpackedSize":99149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0fX6CRA9TVsSAnZWagAAc0cP/Rnm5+oxPXQuklBp80eT\ndEWwyjmJFqyP+M7G0BapllbtW4C+tjD9ihmErdaFtrZmr40alCaKw7PkZ19E\nGhaWmDCVTa7PLPL1472cUVNKzxAOLWEwh0BAb096GD96sbzo9J71NPM1eLPg\nCSuVn3gR5FXg57YkBgXtSsWniK/b+uGQxpaSVhkQ8wcxVhoPa1YQf0ldb2ri\nENIKDDvuo/GhVV6xmThT4eZnZ42dSkyIBAlYd+qo//rMHcPfa1oaCSutS+zp\nRY4svxfu9GSlZrWUW8qSalg+tLjH5V3MEH0rPWjf0fc4q8SPasiOjnwyHUkQ\njwytHoBatHkyhH7kgZjqsfnKOT5cDHXI0yIcO/BhT/+0TwHsZBb9YrXYPBrx\nwL9bY6V7h+JrE3UCPrjARrWkUrBJPDKUucv+8zVF+m9iEHFb3nWMAxrV0sjb\nSHEc6p7FOzmFDDGL4RTQFzg4rMH7jV9UjcyTPIGktMZmYjejqxT80zCjopcZ\ncwFfNaxu+y8R0M+hurCMqJCT+IPyZ/XdNiSTBpjLZ44SmhO8xG53kKSTNJYJ\nPvnarvG3TPnL08Re+sgzEX8osRhNRd9aLL04TbO98UGIhqWdEojCgfZ4N82Y\nFZvTI78sdpNaxWNc1rd+ex5VATUa8oQl9rupllLbVAcvmXMRwGNokpqj5LJL\nv4dQ\r\n=IFza\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBPLRjAh8r6aGfhaBMXCo+tPurdtZwG74hzPDwyqwlxQIgPPKBAjRxfTLKBYXNy8xfCF1/TPwPWhpbSdslhcZ/enw="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.4.2_1607595514290_0.6040226603991765"},"_hasShrinkwrap":false},"0.5.0":{"name":"standard-monorepo","version":"0.5.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json","test":"jest","prepare":"yarn build && yarn test"},"husky":{"hooks":{"pre-commit":"oclif-dev readme && git add README.md","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"gitHead":"954c5eccd55021b1e6eec12fef8c96d44d28675b","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bWYQYumk/4Njc/1s+nKVvyaM43LGBAPusOXdRgG8mHdq1VXLvhawv1dWXvCO9P9LfJYh/8Spr5mM+5LR9hpqBA==","shasum":"a7a109e002a103265ba9ebe3fd226b5bad111bc8","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.0.tgz","fileCount":47,"unpackedSize":99351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf21hFCRA9TVsSAnZWagAAKZsP/jGMzYE6gNg533MsKwy3\nrbTrlNdcuknNhPAKEEYsWTbXwPyC0PC1lVTMrxrzzLtcAwMuIVmED5P0QgTJ\n1GCaxhMXetWFjnXoq/RMwuncSxPU8tVZ4A1r2xYoJ6MK/CVywNmebwIpQxpb\n4eJbPPR+9l/pJ0qFTNBemlDQmMt1V1+FvU8opE29SH8vQ2ST79DZHbww3R2L\nZg1xsmaScY0faGBHr8R1yu5DrdOsyomA0E7Dw/kB0pBW5UQZeZVP9F8jEcxz\nDx85dn9n7PDpgR9KDOkq5a4YMNNcRo7SIh2gLD00iqa0BCtLlj1SqATY54zU\nRipKLgXZzW/3XFsEjPO1lslqYMwLI3n/f5szY9rsTmenYGDYMLgKF+oSIXKr\ntf6gsOGPhg4oOOH46e0w/LFmeXhtebDPvxvKnDJkpiX6VBvK3/ecavxTzuUm\nEMGZ/oX93dlLAG9skuwMCduOVZdBhkhdtr+SyxSWJCtGNtLNwfc3mdjo6HBP\nTpj8Pssv00jECLZL1/palFriS3S5oGZBnnKtQ+eH4suDEZxHHWGOMXmucCfQ\nhtPD0AURjZd5hImo07eu0MmOj51O6fEEtCRAN5AXzu+sdt1UCYAi5I4JVGzF\nCgoUXUeEd34/MfEEEHn7Ea2bvNa0BuGEpGFX+Mn45DUJ1D6tLmhBCVtBUHLj\nAu0X\r\n=j6j3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICPnr3Ctyj7VO1e8isrtnUED2+NhkR/J0qLaRYXHzWCsAiAa+CuFanaDGJtq5UbG9flHgaFFcJMiiTEh64PFIA6LRQ=="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.0_1608210500761_0.8427290114450874"},"_hasShrinkwrap":false},"0.5.1-canary.3a8f908.0":{"name":"standard-monorepo","version":"0.5.1-canary.3a8f908.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.4.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.1-canary.3a8f908.0 linux-x64 node-v12.20.0\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.3a8f908.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.3a8f908.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.3a8f908.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"3a8f908a4c9af3f656c6a1206c27adac011f5e2d","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.1-canary.3a8f908.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-DzHsd33t5JpAmsMbay43pKUJ27cc3x406cd8YTFxegXhxhsQ7t7NJ+zzMR7jhMCccGG4zrX+x/l05hoT2/Ue6Q==","shasum":"a8c445bdd36261268ae18fadf8553655a8e62c1b","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.1-canary.3a8f908.0.tgz","fileCount":47,"unpackedSize":99509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KTtCRA9TVsSAnZWagAAp5MP/jxz6v5eIzLNCrwg7fgP\nQ+iDPhG8UMw8dpu26lTeBzO/QsGZ+BTEGn6Tt8/hCijTwgutNmODVP7n2ZHk\nssx97ymeoUNrNWJPiKrNkuArydql773A42swUqKSG17oFGoEnukCYIh2NPcF\nq1nnEaZzgKLLjhsXCYEIEifiLnFVBln1R4GHRhh+8YCvgNYj9dsPmKAUoFE8\nQrwCPJVKWxefuEpusrZwYkRDq3PEwLtDiQp9aLliugbUxTbx8KwEW3F6hOBY\nUkAwPcDAzRvg8pH1Wb+Gt9Lzy9eqpKZY9Dg72YqFYiqLvCdDrYA9QoqA+zOO\nGtwOn6UUMRVFFfYYS9E/12csnsAD0ZCyJ2LUxxE5umeb579Em9Lme38V7UEv\njwys2+T3eXWilvELNRwFPrg/sfU0G0Ysw8NHFWGelRs7oyVGWzxFM2K8IQAt\ni0l7WtupqzA9sgWOxYd/KaGdycR78ObRfU4zNDTJJTRvutwbYe+lIWA14K97\nk3C9SKQRjioVrCftQjjTHbMTKSjiDT3B5+XFajycJvIarMofOGgz4+/UStPE\nuX5aDUt53jJTDXRInFkY7thSKls8SUiS+WKW7uOAzSTcLACV+hjtQ7qgTCGf\nhOyvNeV8ZHrcyui+oJoWEiIvRbwWgwEgi+BmmkJYblPaJpq4vF2HmqmzPUTh\n5B9l\r\n=B4L9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGLWYkmd5kbiLwsj+Wo7kWcAYw6w+L6WgPNmx2D9wJQwAiAShSlsNQpSf0vRTk4N7kQPx633GFsh6ZCPrPU7kL8Pvw=="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.1-canary.3a8f908.0_1608295660667_0.2282790109464523"},"_hasShrinkwrap":false},"0.5.1-canary.13.3a8f908.0":{"name":"standard-monorepo","version":"0.5.1-canary.13.3a8f908.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.4.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.1-canary.13.3a8f908.0 linux-x64 node-v12.20.0\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.13.3a8f908.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.13.3a8f908.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.13.3a8f908.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"3a8f908a4c9af3f656c6a1206c27adac011f5e2d","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.1-canary.13.3a8f908.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RqMf+QjxuzS/Ps3pkPz6znUR9mey8fX8XfDCTp0NQEUqFkfsLI2+3l8vRwE35m2xq0a+N9ZLcNiPz8E40uRIUg==","shasum":"1ad04d8bab26a923ba5889c0e68f61632eb71734","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.1-canary.13.3a8f908.0.tgz","fileCount":47,"unpackedSize":99524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KYJCRA9TVsSAnZWagAA2t4P/jxd3Ot8yfBz8tf2GK86\nG8bAdtE/hVKFdUR5WOviIFLuCmtpx5sVAhG2kvAkDi9TylMPupCnBvBqK/zv\n1yFtLgiDaadWGTWkakcxtP1jkeV/czru7gU5+q8kOaGCjxqe2Tk8lYsblmF2\nbRFJ+HlBQb2cxBB6noI2VUP2vzBgi6ld3y11qDhmkvV2ZToE2jy3Y4tGbW42\nm47BdnXeMxO/1+OrocI+HOh2mrQis5epEjEG7Um52sWIEr1uyAfGGXYSv/TH\ny5UhWDlt+1J61l5l7BbPZaTtfhNge3930Wbto6jh42lZTsdCIT4tp7Upkzl9\n2S8TU89QgO7LrtQS6mTmXbQiVhQPpkgOmLS0yJXbqoqsYmlL6MMDy5ld6Pml\nGizB3WJCB2jutfcyxHvVeVp4JY0yf7Fg7ZoZtmYeO5OdeNfiromxs3tTSJRa\nTXCt6pcgwcfBrqqFUe7lRUZ6yE+oJUKxsgyLEcQmWWUhFbrVnoNVMyp/5hcA\nm66BFGeze2PpOsn8uFraL7jdttii9Z2B4MHa4GDkqr/WmR1Po45KN416PTGC\ngCStw/JYi4r7hWhGNOgnRwp1sE3Ntpc49oCO0pQALPJOjfhfkWa+H0/J59BJ\nlnIVeNqYSvbnOEV065vitl2vxmMHsxVTvayVTMKrhVvYdKZ5DEbkUay7Ncam\n2SUC\r\n=Lsno\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHbMSB3uIk4Y25Tiu0LBdQTkFsMRMNVlDnBXka+KV+5kAiABKpniSsc2RvtuzxjZuX2hfrh03yOQjkPS4RtPW8/x8Q=="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.1-canary.13.3a8f908.0_1608295945475_0.4806716457049436"},"_hasShrinkwrap":false},"0.5.1-canary.13.1264006.0":{"name":"standard-monorepo","version":"0.5.1-canary.13.1264006.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.4.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.1-canary.13.1264006.0 linux-x64 node-v12.20.0\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.13.1264006.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.13.1264006.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.13.1264006.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"1264006e184f31d1891321e9cc1a828241be27d6","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.1-canary.13.1264006.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/vNYPyjPs4eI3xY6ycqB1r7AxZGMAxLIJMwv23/5WvWPyA/ifWwKiu1fn8/jKvQh19MCXxUvb5IbAvdXfD9qwQ==","shasum":"6643e07b156cfc85b1de621d2ce064e607921f90","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.1-canary.13.1264006.0.tgz","fileCount":47,"unpackedSize":99524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KZsCRA9TVsSAnZWagAAXtMP/1g60vm/mGtXJHt/Pase\n7XLGkMGu/EaXukQhOJzNomzjPwyqbC77GKtLykjrAZGxhSBCV94HXqcLLLA/\ntRgVOv1AznspFurZV6+YmR+oNyRiOI3vDrr0QOkAtO+GddGZMLbDgYN9TcTN\nMP6qAp0s5R7O0EeNQtrtFKTkzRX1qxg9r9g7/VYaykYGmj4BXmY3t+D0cCA7\n6R3pF9wtZigZWf6/GvFij7f0Mxu6tjBJc3aw1cdCqtya9LLjUePwhFWMAlqW\nsD3VkUR6fAG2phUrEtn5+Oy/VbeSzqbCzqQ2SCqqe0dytYKZB8g5PO8rDfmr\nZXTTBnsioOykybc/r4wC1MxICjIBFWOsdaZ+o+DmkN9JPVv3Bo6oeunXAHjm\nmWOCdWiuSoKIKrd4GOlrbj7LNPsXvH/X30VqgEplru8ClsaGAD7wSwzutAho\n5AsttqO9VNDsPvDY+OZLaWkNn5pjNJaiXsptt2RtvdrFUytl2i6Yvc7kUzZO\nNXXual2PzhztHYtv3zmS1Cc7Cww3wwBsctWkOBjr0I+rhy4IB2iKNb9ejYgk\ntamiL6xbun+AL9YQkA15ybrNB+gYoCzDg8b62dIpaei1J1gR/3xte2fkZa1X\nfDIxoybkAn4eYgLPNamKwKYv9f2YM8hr6czua6/ZcrMZLeqMZVfsriyBil8D\nxVVd\r\n=K5SK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHI2AklrE9ETJkTFnLsiFGrAVKaZMSiUYkUscCzdZZBWAiEAs4LWDX/1HbZrp1rSDQMa4M53KYiNe25zkVx06Fhsvcc="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.1-canary.13.1264006.0_1608296044375_0.28090642757375406"},"_hasShrinkwrap":false},"0.5.1-canary.14.ba62460.0":{"name":"standard-monorepo","version":"0.5.1-canary.14.ba62460.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.4.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.3"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.1-canary.14.ba62460.0 linux-x64 node-v12.20.0\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.14.ba62460.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.14.ba62460.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.14.ba62460.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"ba62460edfcc98753bec097d74b37923c16c68cd","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.1-canary.14.ba62460.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vF0gUrZU/z0X88uDyeTycqULQOTy/AGTMst2Tsi8idx8VGmo+35l1tp/WDogxqQ0LFiSkf+wc2DEqsuE739Lrw==","shasum":"3128c66631a1dffbc9b17805e49909f4c032fb9f","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.1-canary.14.ba62460.0.tgz","fileCount":47,"unpackedSize":99524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KaFCRA9TVsSAnZWagAAZ7wQAJOB35XBuGWqEDixd9aI\ns+9w/LvB2wDIYaB6nvSFGZd/OqJGnpbLZBf4l7+KnNKS+U5+q5yfE7aD5JxL\nlYpUegTgJioayrQcwOFfu/N7mzj20jvUisL365cwU35IwAPCP6X8HINXWKb9\ntEgcyYQ5/leQucverkCdo53/8fRkAWfq6Ng+3tlUDIrg3c2n77a948bsMQde\n6bi+SbrYAHfepOm9fYrI+xt3YGrPGnihuh2MqP52n1bg17E342LwkMs9MGf5\nn6kzHk1wuxo9ONM1sGymMop+9h6x+QSAc2j1DzH/3Nt2o5koVKQ8r8t+JVQ9\nDRX7gUVqW9uzPqtr4J/CLf2NbsOloL+ioFnqJW4sPcCRuUaLll8MY2JJN6Px\n3C5CrdTGwS+BuLaR1TDju45rPRNz11Msb0Z5iVIUK8Fn3hR1YJ5RPns0O68h\nHRcqq7DuuU2Gt0zbcU/6cCtj40f09iXh8s9sH2sWbRIPoeDQkATLeC3RmuMT\nJxEXj5O8chTBv2lgti80JxxwlrwHu7CF8G1WXb2Wd9nOoEzXM2UgnfGOfly6\nibS81zMNOW1CLdwEA4J1TqfTkaz1CdiQ0e28kqea3abjzQ4n104QKyh8d7JF\nQUC++F9xlVud4bCOQrdk9x0TREeIwSHsigt+Wxz2OgGVidm6DMYHdzEbKqOe\nESBq\r\n=lrhM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvz0HYeEt9fRdTfdUJ6YLpmAIGzU2udP8YsLKJiuUoSQIgap85pWCgMFa5NVDdXqdvp65u+W5B4MbbFG0aWghGXrI="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.1-canary.14.ba62460.0_1608296069549_0.5513782658119502"},"_hasShrinkwrap":false},"0.5.1-canary.15.0aae50f.0":{"name":"standard-monorepo","version":"0.5.1-canary.15.0aae50f.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.4.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"volta":{"node":"14.15.3"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.1-canary.15.0aae50f.0 linux-x64 node-v12.20.0\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.15.0aae50f.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.15.0aae50f.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.1-canary.15.0aae50f.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"0aae50f210a0388afcce90ec437615abb1e7ad01","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.1-canary.15.0aae50f.0","_nodeVersion":"12.20.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gl8JxBwIOZVHZFJQeEq16hVMqDecTOQNP9jgbNqe8P1HKn1JQjc9TlPHJ2BzBTW5KJbQxIoGUa0gUefIfVJqNg==","shasum":"2cec03a91fc5bb63e3aac2e036f63d32ee953697","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.1-canary.15.0aae50f.0.tgz","fileCount":47,"unpackedSize":99524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3KaZCRA9TVsSAnZWagAA3lEQAKJacoPR+BgDeagJ0b4X\nhW1DEJ0dVN62U8QgP30LPzYjt3pW1S6Bx7vAlsIeY5ERt6zuZOboyCqdXJzL\nw1z49d4J1oKXZALvapVOZmAxeFNB6R0nqKZnHSrm1KIuCiTL30FGWQOVim3K\nxWyljW9v5FAsnuJzCqBLppJSKnnzlK5V/DZcLKGhDhPRMKxrpQtWWS2nx5eg\nGD95CvYrQZl9LIBajkIaryZ9OVruCCPr+aWyCkKaL2nmnl/NFSIDyf8/wg11\ncrlrmNynpBUZeMV1Ya7QZzkvMk4PkGBQjK/nTfi1jYsCMb1x0jNEt+hMWwXc\nROWbq60/L9x3MDoQkuYn2u70ixIoxeUDEMltycJaAXcDz++kAO7+ag281q2S\np8UHpjkE/9Ngb1H/xmPvfWOa6xcSZCJ4+NlMktHd0lnnDthlgF5nvQwnZQlT\nJizx/pv1BsMrbw2BFO2egLJdkxbhLpibf4grJ6yI6nI8Fi1vrddyIWnuGL4k\nvBQQF+RyMjhzB70y5/gFZqgRU4N0ZK5G2FgLaAGEEZUAyr9+vfFnl7cznI+U\nV74NGYrFCkoWdJj4ejE0+msSQ2gHuKOJc2wTIdc/4Ug2riATaVhRFyZBU/zq\n9mYCgMpLbyYqA5k+eNWHMmxIeb80VtcUgHlGg2eKRnQKaj6P1Y7by16gWvMP\nzJBR\r\n=SVHX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICG+osHZMWaqz3uPXIaLLfqRIveaCPmD5JkDbnJSr0GvAiAAtEjkewac+MFjgFmSdZug+7yhnU1/SDafDSFjZ/5U7Q=="}]},"_npmUser":{"name":"imflavio","email":"flavio@imflavio.com"},"directories":{},"maintainers":[{"name":"imflavio","email":"flavio@imflavio.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.1-canary.15.0aae50f.0_1608296088775_0.45322150458156996"},"_hasShrinkwrap":false},"0.5.1":{"name":"standard-monorepo","version":"0.5.1","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"gitHead":"d6ad0c2673355f074dbaa80b0eccb46b15181031","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.1","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-/HlnzDOkBa591FqIanPzVKUHcIcU4HWT9GHV7CedgRNnY/D8YuhZwZqzKytEpTYXb5T47LnRPuBxb4MCs8GPxw==","shasum":"c13323b044843ca7835a8b18ad3a35c030b1e03c","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.1.tgz","fileCount":48,"unpackedSize":102150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9X3JCRA9TVsSAnZWagAA8zYP/jJQecBEHDJVAwsIvfCo\n+bxoJtu4mOQbyaIwGxfSA03869uCL+QgqhWiKBImL7VJcz23oi5xL5qQKvsH\ng/fBhPkt4WJoOtEzPYxHiBlZP/nkHuV/bDSKO6VGOsy3f2PXQRhkMU5qduaO\n3/2jm1TK0fBhh0cDMiwYa0ZjJ/DHLmBLSxwYk10rrQC2qt3fEP8lf+cYM+rx\nar7UoPBu2E3OjlvdJlVFxvaw79QEm+NHCjTVCzDhRUllNzovHtgllKwU+yDD\no7w5U0ryiuB7RRVwey2YpFA6Z48VM3ZdYGjnsgxhgUlYJJGjwrCZxjQL+J1P\nM7eK/sshZ0aqpe++svvdtt07aWXPoUpF6vr0XJxtP1y/A0FcS2UPHuCbSeT1\nG1+jFqp6j56NFSb4tc322W02sxDzCWKg9EH6QaujGn9kgttoTYmWEa7rfus3\nOM6vi60RCs/pKIQTOfhbampwYMIpbX+ogiBeHejCqo6/X7Gm5jBtPxzKBK95\n01g4yqC12qpHdzIsIbf6ci8JPNs4GRjo2qv52Fp3nJT3mFpQLPQobDvStfVE\n1EzBcgzuw1gSNxtexQ2Uttu0ZV939+cj/+NRW3XmG1zECC+SQxRPrvA52MzU\nW67XizRP/X01X0D8Ul3raVwekohDdZndjOhmZrV+zFFySOJO90Mly+MsLHcV\nG0q5\r\n=b6HU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEG0gSixzIG+9ugi9X9vqfS1kLLivVPIYRNRZ2QCzQfdAiBEoIdeEC5e7AQKaxAyoxf7AJhosfpdHyMSVWYpaCm2IQ=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.1_1626701256964_0.06898853777583436"},"_hasShrinkwrap":false},"0.5.2-canary.26.7d57b66.0":{"name":"standard-monorepo","version":"0.5.2-canary.26.7d57b66.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"27.0.6","prettier":"2.2.1","ts-jest":"27.0.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.26.7d57b66.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.26.7d57b66.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.26.7d57b66.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.26.7d57b66.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"7d57b6684bec09a6ca06489af22f4c6518479125","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.26.7d57b66.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-8795RpO6WslF4hr3jPwID9TGRHWiJ8xIiNeL1w3Yf5K0uLIknFgw0GZWmGFQJWsbdd6cnhwH3u6tUnemnl3bog==","shasum":"5415a988f3187f89734d77a4d4f20a1b882f6b88","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.26.7d57b66.0.tgz","fileCount":48,"unpackedSize":102250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+DARCRA9TVsSAnZWagAAcFwP/2kuRTwkbiCbSaTJA6hV\n8CN/dY7jFQ19TedPNnPIr9mENLT9RF1RvgezlaO7FIF1W8XCV0EN//7VwsI4\ntZxog5+ClUiRH6XBfxH8Whu92LWwoWB1Bm6cPxn3mUgnDB5PAxwg8dcvQPyu\nUyZhwXuj0xQ0P2oCW4eCwQmZ4LVpzqVMynFmWVSdfbdS6Xn1p4q+EJYeq6sX\nBzSkne9eC7XUeHzboEt/RBfi46WohYbf6EV3oTiR2TA45kop6wdaEhKCN72R\nB3lrimMm0ifCCFe6XdPsLWSsN7lfYUU1ZMvoF50FD9XGJ3ZCYylHRQqGKEAF\nwH7/Wig1XPNnFu62Akg/01P17wI/hkc3EELt9cw0oKLQ2t/I9HdBDM4ZqjmF\ntQgFocn13moixQfe5ZvfBMK/CJf+/9J87bO4BGmuwx4U2BRnTc/XOPVpQ3Ad\nypYPIrpvC8aeJBx045frZYRxyY1FbJhylDvKlrV6yseoAdUlLDiZcCSpR1jP\nF3M45lC8Ey6+kmHALLgy5ZT2GZM/8fZAozn54bOyGokHMIByhRffWqPH2L+2\nnVr1ZfYHRoyjNACERDntyKgI0wF7Q30XP1HD4G/TVDJq4pR/hsR50lSKk8Ay\nwzvftBtNcW6EZ4uF7xqwfjXyqCmlUjGpm3wCpncmPIwn37sQRHYWbVmidttn\nXWpn\r\n=Xte1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6kxFGePMAK+lL7i3nrj09I5Dr+WTswDPahYs4EWJP+wIhALt7i+wQqjBSSa6kY8e27zLoBcoPCQ3Hk7qO18VCWT92"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.26.7d57b66.0_1626877969015_0.04925394899259605"},"_hasShrinkwrap":false},"0.5.2-canary.32.e10eedb.0":{"name":"standard-monorepo","version":"0.5.2-canary.32.e10eedb.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"12.0.0","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.32.e10eedb.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"e10eedb9f937df914a9cc6a3d7226414def3278f","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.32.e10eedb.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-77291hAs/B6XnuVahvcegnb2gd1YF+esR9ixDIXfU0GmyOgEUO45XlS97euKJKkNbiYP7twQzECEsE4XUkBjMw==","shasum":"1dea793448235580da1e311f1f1781c4040364d5","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.32.e10eedb.0.tgz","fileCount":48,"unpackedSize":99086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+N9oCRA9TVsSAnZWagAAEJAP/0bmSmeNoFOUrMqNOk2a\nyhbwfY4squ1qX4w7mDhjSbuJm0kz+DMkFKDuNEDMxMPM5OY9Q959omYWLAu6\nkLUfiyZBC74q90Z8mThYR9PIFDiIsZGxYTpah3OT6bfs0cMnAiGHORlEjn5C\nJzN0GFuVWs+JLoWmoUGjMRjH4ojV8sQXr6brgTlWLqwunEKwlFQNhUlIDeAC\na0/TV/U/ha7ElMkcdgrxR71QQlBDYQ42U/7Gwasb3Ychqu5al1NAZUR3Ls4e\n3i1CuYkGlLzzkgNwqpIIhJc6J7vCMFh+X+3iI+KgOgXuwgM6kMCzqEEdo1+6\nay4tFLHK0qFKkTEZ7AN5woCqfiWuU4Z6YHZc4qM5obbmedTB2OuZ+E7Y5Oqg\nrY6tmyu14MLL1kCQ38cU3SSG11xUa6HlISj3IWQh6MloJTG0qT6jZHOUC0H8\nV5g/COxQQO+XctyqVZZh/Hul55/DDeRgSppLlmd6HrWWRbToYS7nK6E+NTnQ\nQuNEwHBvtrIP1CbKSCEty8cpAQEnEktIDbPh2NNFnAwRnOfNatBLGEFW+4eG\n7IyibI16ojl9XBNaKWwVg1A3I/WbtCE4Y9QdkAib3lD2k+l2EMEYQkdSLkZ7\ndieQIEsZQ+BVZgYsec3LkMdroRSrSXL7V6PUF/wm1/TqvuISUChvejfGoiSO\npTZ5\r\n=0FY3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwpdLKgheFkVac2BUSr+ieOHTcnSCK4vjYscx8bLjhhwIhAL2Jw5OeLUQghYRqjBrOgHhxCRe70tICCvqWeChH/QH+"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.32.e10eedb.0_1626922856130_0.8644313996120585"},"_hasShrinkwrap":false},"0.5.2--canary.29.52597c2.0":{"name":"standard-monorepo","version":"0.5.2--canary.29.52597c2.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.30.0","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2--canary.29.52597c2.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2--canary.29.52597c2.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2--canary.29.52597c2.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2--canary.29.52597c2.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"52597c28cd5f1aaa41c0e56dd56560477e68f4c0","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2--canary.29.52597c2.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-BeRtne9l/6KRI60BaRThhJF7KPl/7kRv+oqNQZYt0dQmk9V6S46hL5oCEtS2tbgdYehGoHfmDFhasoDEvZuq2Q==","shasum":"740bb22a0a4882c2a73acc0660e1db5262ac0a03","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2--canary.29.52597c2.0.tgz","fileCount":48,"unpackedSize":102255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+apWCRA9TVsSAnZWagAAW3gP/RNgX35N/d7NaDyEayA/\nnhrighSPQfjB/o6hKth6UeWRfgRd+4y5eVpI9uz3ewLs/UyjKwFU/Lf06TS4\nzd9aj6PMWbQvAL3L9mnImEv6KMqYcKFAjz/pzY5hlBoRFKR8p/oEa4RLMDey\nsOTlP7amA4Q1XqGgbjZzlJEI/cpAi4za0nzD8aUPa4rjcldeiTzDYw9hEKi6\n1cqLZtP0UAIAIx3E/J/6HlIR8OSBcHjs425X3jMlPJGoY1d6fqtOzibTPpyc\nHUNbev+z5/2aG32xOb4nYckamcf/OVaKR3lvASuRFl99Bz9ga2bpoqN91MAj\nRQ1X6GpATv5g+y0F/drxtXKYq2sMn5ZpGdmttTKNJt1NsMTi/oDU1FXZ0nLy\nS9u2MMu40gfCGjXT+LCb/CTvTtxuryDMWk8PiSrP70m2ugahu7tL84qyauqe\nd9U0xtG0z+8ZXJBNnrmMn0YeKcd076/tqFT5yuOOrRVu8tbnNm7QVkVUi9Xs\nYWQz+Gu3/wqum8xDSqwKhIbE13nLvWVXy7nRN7vzr/cuegK039LSt8aVGe2i\nJ7sHbNI6XkDvbjkAJBWM50wp5Rck6vGXb11OWmakQ3POl8U3+Qvn4qQLCDCv\nFXZBzcwsEFEwQErWYnyxtzfeMhtmlwr8j6uPeD4PqBypqq6ViKQ6UFbXjarT\nbfAW\r\n=OZaZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdT8fPtjIty99OS+uhstXKciaU7ABfOQRlWmue1KwO9AIhAPn54jfuAfe4D9WSD15MGBgqT+pbIVexDfre7L63ehsc"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2--canary.29.52597c2.0_1626974806412_0.5279997271154144"},"_hasShrinkwrap":false},"0.5.2-canary.15.20bbd55.0":{"name":"standard-monorepo","version":"0.5.2-canary.15.20bbd55.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"14.17.6","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.17.3"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.15.20bbd55.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.20bbd55.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.20bbd55.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.20bbd55.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"20bbd55f3a01a47faeba6d7a34e4d4e8daae2bf2","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.15.20bbd55.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-Azo6v9ANgHM/5r7VQ2JocDLib0dSrNFwkU/+hiV5SCv596qq1Vu9rCOhOfEN3y1E3w6jrWPzpci2xt5DwGubzQ==","shasum":"3b8e3b245406e49dbe6c5b1baec5699651b2c89a","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.15.20bbd55.0.tgz","fileCount":48,"unpackedSize":102249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/GL8CRA9TVsSAnZWagAAARQQAJP81GRoAz7uZZrnr/g2\n/CZsKNoZENIuj2lg2oc+tMmrWQHiG+p1ygM+TEVjBHMe5VNvZF6gx9lOv7Uk\nX9dH4561Ox9bwtU6Tylweoj4MJiI89IyhYWujMyKzXKTfNVF9xQnQBhVYPx8\nI17psePePQ93jsO1E+gahS8/djLUSiru98ZzkG0crWapKs1XdOwe0xD4jGr9\ngzu3LY9uPagwv44THqRoM/jNyH+aE13pxJaljEgpD6v/wXrkCAPatbRYT6xs\nCCyWyVtoF1WZ6/O5+i4p9AUR/NVEtZ8Z2ysl4Zfk2Yv26vCM2AkeNVCh7eY6\nhNNOhPLh3oVzOaAV3kDigles6auLdypLAFCwoNXOdSPZ67HGypK22qBARzmK\n/33lT5YXE1vrS8DDx1B1X6yCDJ8OWwXndpGoTkKoq+qm3TjmZRvqcq8vWdOe\neU26RvV6m5CqpxhhkXss+BMlCWGUEF8MulqL5JXOyuUeO0HjywxQWCiNJMHg\nL11ykK7go9I98nPj6dJLpotthKC6E08X4tWag4rsz1/VzXaSZYt7HjCrJKN5\nqWjJlm3HCz9LMJ4+2VBdK70FQE4UAFw+yUfddlK8FKrE82DKTyISMlyHjkYB\nURTodZN7XoVIYwKsfTe18ue/NoNVcFhDgInEt4/BCXEnl1f+3lhEjlXs8i/0\nJYDl\r\n=B2wC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB7rkmk07u5bDthy6T7M98kXiQa1DrrM8+dybuLLxef9AiABUVhQ2cIAUmmi1Q8mLsFYH0jViMFYmB3vf39IUT3mPA=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.15.20bbd55.0_1627153148114_0.717115002919487"},"_hasShrinkwrap":false},"0.5.2-canary.15.1cba66d.0":{"name":"standard-monorepo","version":"0.5.2-canary.15.1cba66d.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"14.17.6","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.17.4"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.15.1cba66d.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.1cba66d.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.1cba66d.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.1cba66d.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"1cba66dccdd9b1e05823621c6e345f5fd384afe2","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.15.1cba66d.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-bag9RS8imIRz2aw3WXj1izMfw0a4N165IlzZZQag7gz/kO5xAZglR7E4J+/pI19AK6++lrLBEoJDS85QCEnaag==","shasum":"5cf6c358f186970a051a3b28464a3e9b8a90ffe9","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.15.1cba66d.0.tgz","fileCount":48,"unpackedSize":102249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAtxNCRA9TVsSAnZWagAASLcQAJNJVekEK/xwoN5YoQbM\nxnZfY85ge76ojImTwvdtA+Z8PkzTCJVS2mOARyHTWSiBbthAZOQyvQl8kabO\nUZnugZBEVMoqorPwTfiG3/ku+Yr14MAOF8mEJzi6x9TxaHuXFKS3ENjfow0c\nPjwzl8vR5ohJpEPcIDxy9+gO3LyFAdCpisAi0SnzIdkQGtaEVyzebtzKtwea\ntEX9gq9CCX5b14ka2XbAgpzzQKHTjUgsTf4u200NlJeCs5C3v3BhvkSeCqiL\nN502FxFDOZ5BNrakMQjOp7jiUOUhCkLM9hW63fOxv79KhwQrz7O+MgexyTAN\nUnCHchZQ0OgIdB+8iVFbicvgvmGvXeB6rMTZIZ63l6xA75g0T63ScRtM2w1Q\nikjr0J5IvMdDfhtdu/9M5/EN70iIoNe9GzWIt2hoGlzZLconFOpAW+QHQTeC\nZI4Td9+hPZONt0UP39oQ3xH+hkk515Zzwer+hebhjW0FRb6ho9waJeBmw9mf\nLYZTno63LZ7+95uuEFEX3aehIKMIXC1rt+RxkQVGN4scpK0roMgQ1tfJ4Gai\nRXv/u35znXn5FjSUyRwUm8mB3QTZwwTGJiFxXwFqSm1N1qMiN3PNa6dlADfx\np1uOaoGJZH4YM8n45M5MUS/vrZEVo07YLRBrpWERevR4cIeSwLDLKkvcpgez\n9YoX\r\n=HupT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0zdElV6SGohy8dw8BBY/7NKioynXAa9eVdtdKpMSK7AiBTHv+tp2Se9MJlEYoo4DrT/RE835MAwdJu5eFoTUcUeA=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.15.1cba66d.0_1627577421299_0.28604577457910985"},"_hasShrinkwrap":false},"0.5.2-canary.21.e00aeab.0":{"name":"standard-monorepo","version":"0.5.2-canary.21.e00aeab.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.2","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.21.e00aeab.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.21.e00aeab.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.21.e00aeab.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.21.e00aeab.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"e00aeabcdb445ac3c87116c4519629d8cca44c23","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.21.e00aeab.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-fN95jpHK4NdSXWD+vPE/nEduqQVtsrbibx6xxvlJUF7q+TkF8O3ftkqe5ohwyvzi87w6z63/00yJJlCzAVOYYg==","shasum":"d66c10ed3c59bf8b5c543c9a09c2ed59dd370b8a","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.21.e00aeab.0.tgz","fileCount":48,"unpackedSize":102250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA+9kCRA9TVsSAnZWagAAiYUP/ikaOP2TvHmDykjIAcoW\nLEwPl14L0IiNyfRXpRuUiMfrjaLa8CtbRo32Ddq5B8JDc/FKlOPNkIq/gtPS\nCboG1VbI0aV7tLC5/COqKfZAQA96mBsp3wpGs9dLEEN9A5pWczGbFtgzMgIJ\nw2JNyD21vpZ/vnLQYBHty64U6G97o9+kwg4dEW0Au1tMLYSgmRliFQou3ikw\nFUIEixr4sn3fFJGOWc2GlSk0KedYhP6V5nXjgF2kDreE8U9sB+sptMj+nQ4Q\nA3eG2qHygvkUpNo6eWKrxnghZJnKIkDwkX3jhTfUvHxyj40ADEU6/AQZnjEH\nmQmrModUxUMoCey3cYRg4F5GMIJEiyUuXiCp1fIP7aHLeMSXmYBT7O+aFnRM\nhhiFyB6oypOH8XS2LxGStfpSVFzM18T82ZDOHb1fV/jtVgrN++GeOHBk2ca1\nq8oHUwyBUxFF4V687oo3EwymV+Ds7cAVvIiPTngwVgAOLYriZ6Zl0jVylWox\nh84rktKr6YbuWUyo18QhbtNDVEUWV5KMEiYiRUz4YaVkK9vRj/to7Rb1KfEv\nm6TIQgfSEVyL3UOxlg7fxq11cAH+WUjKqkSW8ppqA3yP/zo7fzXpwlxSB0P+\nIjxjH5nwLssO6OjgqwMQM1dPpddkDWxrw07sDvM56zMBwmvTOxsZKngFx0zr\n4kTN\r\n=Rk6T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIYDAQZMGcTJnaMSLVP8K7pt0vE7PtbhM1ISeHq2G35AIgLESg8mlfe7C9az7JHO2dSn+3KAHC93QdvsdmcUicRAo="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.21.e00aeab.0_1627647844303_0.36291103289132165"},"_hasShrinkwrap":false},"0.5.2-canary.15.4ec22ae.0":{"name":"standard-monorepo","version":"0.5.2-canary.15.4ec22ae.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"14.17.7","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.17.4"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.15.4ec22ae.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.4ec22ae.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.4ec22ae.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.4ec22ae.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"4ec22ae6be94a5c0b0583bfffbaf1ba9e336da98","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.15.4ec22ae.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-YAIPLqR6vRra9DhFCbw66/tLFzYpqpjiB9YvUwedNnAL5q4/kJHlpUa0DORoXpcbuVz2JoiqqKS2Pg1Arx1iSA==","shasum":"f8b18fb481e962063923b1f1a52fc4c85bc0cab6","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.15.4ec22ae.0.tgz","fileCount":48,"unpackedSize":102249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBpdyCRA9TVsSAnZWagAAea8P/1hlmTHUverPidFx8U2I\n6sCAUtZxx9fKxTlSOMDS438N1ru1u7TWVu8vGZ3rl8nWIYCZu28ENPVZwL0Z\nfqS4JyhnE3dpl/65HrzwXmnl0yxBDqqywvNV7d6AoqvCQWVbQMBf60qjtiVU\n7Tu9M9bSGn/+E/rDfBGpxtrm9w51VUwUYS1cz5VN3sR2MpfHgSJNH6qZpnU3\na7/twLZRmQ2YtPcY70dwtaZ5rwfvVpBxK10JQ54sHLM2/JZWqlcmpX7/wpIb\n5nVHo656oPgeFM4G5BdQJ3K/bWi0dunUYvuUB5S1szX2B47Ir9LLP7DBt9iW\nm8P0boglFUZ55rdyd7aqzQFVEZTiZ6oeTfsK4oZqKNYprRmhK4zlMVe7zxbT\nGnXxS6zlFDjHOOMTqoBUMqVlxRuqFcPOpPWMADdb0bekcDGmc8ZybUif5y39\nnbZ+g06RRbUhNrQuXb+1MUnonawFr9qsWbQKdycgv//GDc00c+7sSOPpeQ4Y\ntiQIQ1WZLQOILEMLLYLkavOffbHDJFlz5YkBn9HgAMQp4p9RoWNZu87w9IAj\nNJgZHRY/90KzM+vu+fJwupqeXuhqUOIN+y0kxae+3QZBTLUaFt0GUqjPEP+7\n/VLRNOlYzoYoduvsril67lQ2m89F6ucVDjRr3orT/A7gcbj52AeKo5MOZKhD\nsHq8\r\n=HhFH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLqUogrWwCBTau/q5vRZFETkXjhInzLGXRF270NAtFOAIgSmcNT/OVlTL5z0GjrGPjhfCuYxwHbllSgubYdKnLlUw="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.15.4ec22ae.0_1627821938319_0.8380351050746015"},"_hasShrinkwrap":false},"0.5.2-canary.16.68fdba3.0":{"name":"standard-monorepo","version":"0.5.2-canary.16.68fdba3.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.172","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.16.68fdba3.0 linux-x64 node-v12.22.3\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.16.68fdba3.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.16.68fdba3.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.16.68fdba3.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"68fdba3736e598edb8e5f77893d9d4cc0b321dcf","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.16.68fdba3.0","_nodeVersion":"12.22.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-2swZ0avzJehD6VC80/fpxQxNK5GjACkf3wqa3dPWa4YZ5qAQ6fAZrdGfuwCIr50Pc6qdMakUWoj9RdWYKPue+w==","shasum":"eadbf2b957a812f7c72997c066bcbe219c571571","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.16.68fdba3.0.tgz","fileCount":48,"unpackedSize":102250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCQR9CRA9TVsSAnZWagAAfU0QAIJKfk1ZMqvZY5Uh1qb8\nV+pC9SHIw8Pluf8X9hGadirzuQgR9dcHEBC2ms72B74hNgt34V8Ys4gaWm6t\nLBXbabJtaK7Okn6C6aVQYg5viQVudI2B9ux8OBrgVscpiNWiG4reaPOH5YOo\n8r4FwLDJijwEP/ZyeV01kr0+5ScirjA7wvdxoTDCcpcJJj1ZAbpcU81aAddb\nDRzdTIicJlzD+7Men+HomjG1+uAmUnSe8dCP67qJmeTcPE9ag+0rSj1O8JIN\nRvP4yubDFVpoyJ6XkgZRhuVptq47xUB2FTmSjEWtQ5kiJHOrnVx/EaPG7E0H\nu580gwa/0Jv+o4ofSh4wMSRnZ813agBtyiR323tTdfDnuo5X4bQqbufQyhoI\n8CMxxXHpmGkn0HPiaCVekQNGcmB0mRcSu+1E8S83orVg5LJl3xPaDGm5Rg9d\n5LZK3U5V2B5ZcdL+haXIUMjpmTzNO79a0KxAEOaQA1P6eDP5F+9ZOZx0/v0P\nNu1ANPe85gr39JZPmV76Nt5U7cj2WSeFqD0d7rRc+U5hd2sEgXzEkOznyJps\no7GGlK5RsQTLubaNk+8HjxJdfB18lU8TV19lJwNNTxpm0ou+hal3IdJP3lFt\nk9e2PSqab5W+iUl45aaOJpUlbsukBu3RAoDYpx+KH/QqSmtaz4IdfWXJxfmI\n4dtt\r\n=FzrD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAswTMowYOZKv679uVKGfIa0fpBatB0lf5ae4fBbOoa8AiEAxcrxGo9BX7IPLYZctYMUT3wmDRnd3RhweDtqPRwpKaY="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.16.68fdba3.0_1627980925221_0.2865095076555555"},"_hasShrinkwrap":false},"0.5.2-canary.15.cf5e378.0":{"name":"standard-monorepo","version":"0.5.2-canary.15.cf5e378.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"14.17.8","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.17.4"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.15.cf5e378.0 linux-x64 node-v12.22.4\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.cf5e378.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.cf5e378.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.15.cf5e378.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"cf5e3784ed09c0edd2bb1c2314868ec0d54c810c","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.15.cf5e378.0","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-m0ahccin02d6ADUa+Iw/8rSn9UPNdLpq6QZyQshOpCVY0+9FNkVfifclC/YeACmgran2rQYIQ69AnVch1kVtvg==","shasum":"657cc5af28737b37b56703fff517f4e439532db7","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.15.cf5e378.0.tgz","fileCount":48,"unpackedSize":102249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCnpBCRA9TVsSAnZWagAAw+MP/RkVlxbV0Mn9jK05ebnZ\nAIsae4mkH0rqnx3SJKXbYtCOJxQar32/zAQ2sjKAkGUq9gxha43c9dYy4uiy\nEYImhyW8nWCNtBMJIRvO6OiImVjKL/F7vM+kDcUnt2YNwQqnu8ZC9np3lElk\n6cf/PubXcZR2c0HzTk6+omhNhMrQbhLm4pmF70HlNSBQTQ9Nzo89zQY0AxcN\n8YWnsFmrx0kIR1SaJad6vV2w7Pfwi3ybteeCPW/sFDYFa4WroR/rDkBVzZcQ\ni3DbcHe2TnakH4kJ2dez77EqrAgPyVUzbSgrKfSkc4TtLc2A3SFdNExNfbJM\n1HmPh4x3WxnQ+NDP1sgw6HO0Q2emymMI7thBox0HVUfnDvHvkSOlbJyj/gbe\n50F8KiDexKFmzghcZbAVpsRX5u8OIdDD9nYR739+Mb09NfGMfojLnvpznsFM\nvBKT3SO5BzuepBzXkI65ngt8JYbWHSaTIxRi+bgkc03QPp3CG7Iwm40meMHt\nuRt7eglYNL7rjAmqdZfiz8nOftO3frv2KfiFoywE0eNfo69vRkbJ+pBIjX0y\nqARq5J9LbBeSsxC1biGAtHrl3caXeaTkoIl0igx/PwULhbk65Pdnwqas4Ix5\nC0rIj31zjE8XMLUrIOh0J3NYjyyPiqmyWfbnDVx2E+qmhXwnr9D6AvU6accT\nhLQb\r\n=o3i7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHP8Y/VBoQJBJXk3JdOD/STZ4k+l0hFU4bBP9Olie9jjAiEAmIKtu/TLRQ75AnNkPyggzYUM92S+5A5HbemAdlxBdQo="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.15.cf5e378.0_1628076609044_0.5642369752873375"},"_hasShrinkwrap":false},"0.5.2-canary.28.b2be10e.0":{"name":"standard-monorepo","version":"0.5.2-canary.28.b2be10e.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"10.2.0","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.28.b2be10e.0 linux-x64 node-v12.22.4\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.28.b2be10e.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.28.b2be10e.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.28.b2be10e.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"b2be10e54b8da2938cc617cca211c934f945b744","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.28.b2be10e.0","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-YqsRQtAdIL7B2tv5IE0Zu2A8kOMvvNdQliRpVUkYTT4jzouhPtvlspfL0QrLhgWoUZLjgBF9UocN2d/DxF9Inw==","shasum":"233a0e1aaf448e013ec80d37805ad90e609d5f99","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.28.b2be10e.0.tgz","fileCount":48,"unpackedSize":102251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEHoACRA9TVsSAnZWagAAuT4P/0K+AURDLP1sK1evU1LM\nOYs+k2cEIuqKZbfrX+1xIhVlGXkk3oSbzIFreoVPK8zrE8wVrgcNcELSVSBF\nzdRlS//XKHJfJ+w4Au+xH0FpvGDJ7MyINQXA0uHZ6TX8VsZHK3OtnKsJQX2a\n8niUdZOSWb5uKimNZTKTY+mFKOSqDrHrMkoRCBVI3IdXqBzZpJzCVlQh8uP7\n/AbUtocqvFKBPcJDRQAv4FEnqutsqCjkG+EE0W7t0a1GnYJpFHp0dzPYyBc2\n96LvfiLBpv0o/Ch7LU3p2d/sP5Itl2csb5pKjLHeHPgPb2nDn4YfusZTySRZ\nEN/nIduraW5DBfA5tJZYZFPkma0jpIdYajoh6B3zKDX9q83w6OfIAAoSxWDp\nVBEnVRtmy3dLII42IEc+ZeGMfB3YaK60tBk5DXD68J9khLAI+wyvCmJ1Jxpo\nz7Hxr1ZMiSXUAXmkBkTSFBKMNl8CGQGd+gdo0wZpGxmh9lDT5ocHa986OlnZ\n9kfnGgpVtJ9SQoDg8a4lK0KS3TMPgYti6XPmPhHh32ixvJjtLokMOtgSeu+T\nVLl4hcT91+WNR1UIFjofQEVqM5bjZJo0uaLJl3YMo/7UMKROBjdVIjC5sFUr\nhDyvtGg+9VDKzsTCBHhURh9pNpen9w8Wxb4BkOHCRH42uCl2R/ld4eZBOXyO\nFcqb\r\n=NrR/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhoabCeh6t9OAjCqgUIiQUG7bY60bqVs8SeomgNefoFQIgVLT+WGkpR3Zmbez2teEHt771//TxpqINHpdsM9LGbjw="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.28.b2be10e.0_1628469760526_0.105510079092064"},"_hasShrinkwrap":false},"0.5.2-canary.33.6eebbbe.0":{"name":"standard-monorepo","version":"0.5.2-canary.33.6eebbbe.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.33.6eebbbe.0 linux-x64 node-v12.22.4\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.6eebbbe.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.6eebbbe.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.6eebbbe.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"6eebbbe488f628bbd74cde3f771f33df21de05f8","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.33.6eebbbe.0","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-ngdzDaNcJ4o58nB2TF4rIEQ5dUS86wI2CTFiP/4eg2cSTUvdD0kBEQt/x9nUcHhoZrTg/ekP84hDKrVp4lHSaA==","shasum":"753097d173c3a3976221a2bdde8096fefe7fe896","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.33.6eebbbe.0.tgz","fileCount":48,"unpackedSize":102221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEkn0CRA9TVsSAnZWagAAlwcP/RUuLfFMIJo+geRyb8hN\nd0rgs3UNuFwuUAD8Oa9WTjT0zytPijBQdqU28+KrHSjF0gWR/npU7h0I3ggL\nGOcOEF+ZTXbudtC2YpXEtNF8BPSS46ntv63RxNWopWLB/14sU+wfcx0cOG7q\nMtSPwwzesLBsp7iFv3cUOcZbTbtQRs0SKryh5nbRfO4uwZS1wIlk51I6Jqcm\ns3QMQv/ZyWI/YPOzBdtXVOWBsV1gMSGH7Ftk1Q1QDMnAFrxfUy1FNuKVwX5r\nxf6BMah8XiVhHcMwBbX/qv8RsxIajpK5Cx18xhwtXRrrlMTW6woiDh3fVMsn\nbxEUYpkSUvEmoJ3vrKwQdiVF5w9Yc7hDus6bf+mKAcxI6TTluvJZNZd69MGZ\nMG0FsNDgOLoVA5O0Wan8E7iN2b2iVTo05+0WURdNaXBSiBTTP3oSCNjqmaZo\npI6INtFxushfTlhTFNaFQ4LbuL+lAVM8xjba3i6wcVtfi4DXHmO2ZqlPHRv/\ngRPMUjmoTdBLDuxg7KBdwc1CRd04dP9ajHXuOLUrmO0rXC5KFZPyrwcy0Ukp\noLaDCIE2Ek/8S0ig4a3mw4CxjW7NrmV1mOPwi7Nen2rU3VP8aVOQpESt9T3a\nLLbtIqUVd0ZWf/3zp4lhMstcxK2SnJGJqZj9jqlZ9HUeIyPa3WdX4TXNr6gC\n0vD7\r\n=GZ+e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+IQGZ/hr7i9YkqQJNFlOgeuE2+s5DUvTWjg2uRZ9RmQIgQrZuquXRKZSPIK+89UWmZ6xCo10gmPw0qtjtsetlJFA="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.33.6eebbbe.0_1628588532734_0.6607007066940043"},"_hasShrinkwrap":false},"0.5.2-canary.33.1bd6446.0":{"name":"standard-monorepo","version":"0.5.2-canary.33.1bd6446.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.33.1bd6446.0 linux-x64 node-v12.22.4\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.1bd6446.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.1bd6446.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.1bd6446.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"1bd6446dc4d01d1a2a5d6672747bb91c61c9c40b","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.33.1bd6446.0","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-rJ+WftN/FZhEVqarGdimvcQkqz47AVBz7mV8L5rToKbN4bbUtwWSKhssoxKTsNiZUFqQ4INFkNLUwxqLrfMBzw==","shasum":"a14c74812bb529c5f2c4753b7f4b62a3f4670488","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.33.1bd6446.0.tgz","fileCount":48,"unpackedSize":102221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEkprCRA9TVsSAnZWagAA1SUP/1lkVKj3kuebw6EqvPEw\nNc0dNqXAAAKfdAdNORw5xTlyDDAikzZvjn4J4G5O/omwstI7OOQLjZEpfe+t\ncm97fbh0hi9plg/zcIhWDjO/qbfTd/Nx8Q0AqAKJWnKQsneYOpkxbxLVPNHr\nfmNl0uslbEkfW2md0pJc2bRBme1uPBnwmm3HO0U6S923zkfLE4APS4tK4MGQ\n1d+jdKvogWIE/ypdEoNCUbkxvsEkLxNLPJA/dw4om97CsxU/RHfQz7qyZDi7\nleo+xZrao/ki178kVaFrnkCH19mWhOvHRsZAfKZBTvZWGnWxTtVYKTcTTCez\n6Xuuw7W17yHMRissiMfFlRlz51iHiRqkUuza1Vl4vFp/eSCv+MigPn1Rn9UF\nFGPJIvPDZrlhH0nCLZ3fAUOkhvj7baKO1/VnXY41fKyraDXzjHywQ56G9Fyf\n+VNiSwyK96Bx6aBg1y9HmS35z1PCZF9xp14zyur9OSQHOEJt8DSVUZvIKeS8\nZo1RdIreg3HaYedeFbK1SkMuQJ5LHW4ob69HMz84RfniVd+qofcFMd6lAXi5\nwLAR2al4hrnGopG5CxNKoa/Ix83WE7EnVeWOh1p3aFUF0jOcIHr/riJpZhLz\nr3/2fIoT8F6ozwaHZX1+avJE5AUzFwPMmV6eFxHjULv+Y1kJIbRUa8ZkzHD4\n46FU\r\n=4f3C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBjDY4e7M7Wr5LzEHs8zX/gg6ruFODKv/Vj31XPSU1OGAiEA08RJCZiC3OfSwvxqqYBmk9ZiAG8KLqh2uLcx9GpVT7s="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.33.1bd6446.0_1628588651443_0.021394491518577308"},"_hasShrinkwrap":false},"0.5.2-canary.33.c3c6583.0":{"name":"standard-monorepo","version":"0.5.2-canary.33.c3c6583.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.2-canary.33.c3c6583.0 linux-x64 node-v12.22.4\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.c3c6583.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.c3c6583.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.2-canary.33.c3c6583.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"c3c658319bc97fe45e83d92aadf8ef25b1af4b02","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2-canary.33.c3c6583.0","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-edNEav+2UrZacpeUg9hQSYT2Zn4WfnukL8qVkxIipCVaxbOHh6kajE2LsuFLrpLbCt63gwNH3gekUIRUw+5oiQ==","shasum":"dc0b33508802b7a548e419dcd7703361d321e883","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2-canary.33.c3c6583.0.tgz","fileCount":48,"unpackedSize":101559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEk2cCRA9TVsSAnZWagAAISEP/0JtmYTYtU35MpK08+ZN\ng9GSEn2NTBAKfJiRpZ14zj2SPe15m+u56LJPVUa+OsTi2O6Xm2lVGwrYHY16\nLUwcMCmz8/2echnC6yNhvcxaptSJE+V5iqeiAFN+s2hzdWVCbH649lu3Lb8U\nRk1tmuyPNBEydt9IU2yRGULa/LC2PBUBOBgTvKNaGfLX1G3lMGnGuS0nA3Rr\n6c6xX5n1NNttVQLEY9MDYODNjJ/kWTV0EWnlZTStWPgryJ9I71rOJ0wUQm7O\nM16J3WWyl9Pk55RxCxMCnOfiHTc+UCTYxrdB2nmfZo0M5tN8bMi1qqL1Q5RA\nvVy2O3wCJ53xnYyAD9C5dvBHBCYBnjFgoOP5QekVvPmXupnWlkGDv2YyPMx8\n56hqES4gMx0zngnuHRMg67u4TFdYtMyGh4r6x3jrc8yKrBNhGVQM+fw8q7JG\nGYEIevRTtsl7VooNgpA5k79XfteRkDgoPK7kqFFgniI3D2RZpMnbgeQ/bbtH\nRa4sLsxomZPV+6kD/GV/GmIhgA55VRtM/ZE8KezefTWnrZgzAyb8Ehr0T2zq\nSf+LnAx2mveMXvT2l2N3ZSDFuBiUWZOqkmK+HDe5LyRy55JUOxhv0r3ze12i\nZ5gnyzVrO3ae4ozEulixDkjT+cQMG7Gm+rrvKRobHh0NtqTdbNQ1Rxv4uiAV\nxE/C\r\n=fQr2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDi26jVYCuMQNaV9aFjurhxL7BGe9pEia8sFE6sgBmFGAiBXQpKaozX3WEUfL36DmfCkT2WfseuiwKVuZP6q3HCwOg=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2-canary.33.c3c6583.0_1628589467916_0.5151828552787601"},"_hasShrinkwrap":false},"0.5.2":{"name":"standard-monorepo","version":"0.5.2","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"gitHead":"5c98d1e6f2ca05b9f1d8721bab51bd2e67c3a49f","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.2","_nodeVersion":"12.22.4","_npmVersion":"6.14.14","dist":{"integrity":"sha512-+OWUVeqFdmajpDCEhOiJ62DyeSg9ONdhYpx5EP+hoSSScw/VCmrOBUi7TIvLTPcJgrnwKEXvca3/mnVJq8CdCA==","shasum":"f501550f4df3c8cf4de212a537d06c6086d1d5f6","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.2.tgz","fileCount":48,"unpackedSize":101736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEk5WCRA9TVsSAnZWagAAFM0QAIjQVPyzNOnLMME+4Gnh\nIR1aBSEYYs96z/ImMm21PRh8I0U+a6ayRh+A42BYbL/Ic650Yab1hXF232vH\nIXBfWMQgS79mNKf5yytzANyfjaa6BzvRfO7OlgZunD67x3wIOxQE9d4bEixM\nrdS4CXsZ9jMG2w15J5FAU4hi8/y5giRMphdfuhTIJe12ZwOacjZIy3g/aevH\nG5PzpggA2IlYMBP0MEJsDe7YX/sjTxY+erleHELx5oU8TsT6cT/Xym3nh0PU\nzhzBEM7fzUsvy2RFykPLLFLsAAw+zxuwA08p6imuu2wiDiUDo0x0u21BneEP\nvUW6zmkPGwTsTSZYrjshNlPgCDEGlj4T9R8cDTyUG+dDfBuHrLZrr+lgWo4S\nvquaFgsJXZoaZF/eb21KnrPHVS/PrDC4ypeTpJfd9leCkZMu47FDTnnCxfYE\nHfdrMsTNrfJwT7GE1pfU2rYLW9slDbq/ac67KuxdKbymIEYWiDOStWMAm09x\nPcns7yVo8tsBrkgMzECuJqVOfa8HCB3WpVsuhmlnA45Ghi+fLKTziCA4AxUk\nygG6xdLxD/PcSL6Xz30RoxCug+jbSE7AjSkLJ7HibN3GcQGNPQNgerQ2IfHC\ntlBnzTjMxy3xLnVkMk1GQeFH1Dk/3Cynh0WvuR7qJdUr7N5TxLXmt1yy4mHw\nn6Jm\r\n=OJGh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHUFhUUjUxGayqlsywQbaYQgyiT49AGkz2gpfhjRsl18AiEA/S+YVNLxA4ndRLg4MC0uhWUAfueF39ToFCcfjdi1Kqs="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.2_1628589654329_0.5206054761642394"},"_hasShrinkwrap":false},"0.5.3-canary.34.f2c4b1a.0":{"name":"standard-monorepo","version":"0.5.3-canary.34.f2c4b1a.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.3-canary.34.f2c4b1a.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       context should be from where the command was run\n\nEXAMPLE\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.f2c4b1a.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.f2c4b1a.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.f2c4b1a.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.f2c4b1a.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"f2c4b1ab97c525b24a6d36dd09a9130783666d4f","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.3-canary.34.f2c4b1a.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-aNKMzumVgRNrD2d0Icqo2JoPwY+yFBu5JevuSo1GexlTi/kBjVsZIBcgtxQfzt60fYsQy8k0Nn68UXhlYqr/qw==","shasum":"23fe4e23a816350f880221d4a7ca044aae7364fe","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.3-canary.34.f2c4b1a.0.tgz","fileCount":51,"unpackedSize":105479,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBuhEjSwsBxhNaJ9yQykJ55uaBM3YaACPMPh7PArWsQ0AiBCe4zlpydMCC9McTxhkiVp7aJIdzUyr97JcckqEBASvQ=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.3-canary.34.f2c4b1a.0_1634908443851_0.051912102573775654"},"_hasShrinkwrap":false},"0.5.3-canary.34.3f4e38f.0":{"name":"standard-monorepo","version":"0.5.3-canary.34.3f4e38f.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.5.3-canary.34.3f4e38f.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n\nEXAMPLE\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.3f4e38f.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.3f4e38f.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.3f4e38f.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.5.3-canary.34.3f4e38f.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"3f4e38f47e3551152b9afe97fc759d130d64f372","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.5.3-canary.34.3f4e38f.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-K4aY8z6dcT0pJoML+1quoUk2ZM2lQOcRsnwNDSk1NQ6m21mJKMmQ2Llnp61GnjcES1KKFgepL62tnWkSw5v6HQ==","shasum":"e39a8bcd32d55128cbceb22bdada05ac1708b580","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.5.3-canary.34.3f4e38f.0.tgz","fileCount":51,"unpackedSize":105569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLKUBVHqLv48eVo1twcBMrLIrYSnPVe++iv0e6ShYMsQIgbECYMaaBw8ObLl+9Q8W73j/EXw6yrIrEisjpFUAgiEI="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.5.3-canary.34.3f4e38f.0_1634908606056_0.8195812352870555"},"_hasShrinkwrap":false},"0.6.0":{"name":"standard-monorepo","version":"0.6.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"gitHead":"0bbfabf04028e953de2f3e78cb2c476eb5cef65d","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.6.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Brz8MFfC7ZsIS29DqYVwCd+Pm97e2oaVo0zzz63Ngr3sGdv/bcrcvgjGdOoQiD1TFNQHf/sj9CJzYvtQAOEUBA==","shasum":"320700a6c6d04830268b7e97065f4ce9ebb9bac1","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.6.0.tgz","fileCount":51,"unpackedSize":105720,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5bDRe+rv3rKIEhcn0xedTiTgTENnKqlj/V/KULn1nEAIgD2cbgVzQ1PgqsQsPgHkQZe+LVgqL9p74N+T51HhbR18="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.6.0_1634908732968_0.8938520051256742"},"_hasShrinkwrap":false},"0.6.1-canary.35.1619fde.0":{"name":"standard-monorepo","version":"0.6.1-canary.35.1619fde.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.6.1-canary.35.1619fde.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n  --github    print github actions output\n\nEXAMPLES\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --cwd # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --github # ::set-output name=cacheKey::{env.PREFIX}-93ead503b3bc9b08c2e07da10ef34162\n  - name: Get nodemodules cache key\n           id: cache-key\n           shell: bash\n           run: npx standard-monorepo cache-key\n           env:\n             PREFIX: ubuntu-latest-node-14.16.0\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.1619fde.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.1619fde.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.1619fde.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.1619fde.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"1619fde1059c8e83ad6dab02206443af8130c557","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.6.1-canary.35.1619fde.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-wgj5BrtmdQMhbI44PYWL3A0Ix3bqG8aBEFtBVUZRpBRe6deqBODzZJYMLV2nfVLx6uxWoQnSDuosnwgBaMJ90g==","shasum":"3b39ea48529fff6c514b0afd284e2cf4a3707c02","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.6.1-canary.35.1619fde.0.tgz","fileCount":51,"unpackedSize":107780,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBzZcX0rgTXXQkWfRmKYASjBKKwqIaIixP9Yz488dGhRAiAfTHwRFMHT/UWK7E6IcFQYAfHLnvxOeCcamk04XbjZxQ=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.6.1-canary.35.1619fde.0_1634923649289_0.9030602075513732"},"_hasShrinkwrap":false},"0.6.1-canary.35.2b5e82b.0":{"name":"standard-monorepo","version":"0.6.1-canary.35.2b5e82b.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.6.1-canary.35.2b5e82b.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n  --github    print github actions output\n\nEXAMPLES\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --cwd # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --github # ::set-output name=cacheKey::{env.PREFIX}-93ead503b3bc9b08c2e07da10ef34162\n  - name: Get nodemodules cache key\n           id: cache-key\n           shell: bash\n           run: npx standard-monorepo cache-key\n           env:\n             PREFIX: ubuntu-latest-node-14.16.0\n          \n         - name: Cache node modules\n           id: cache-node-modules\n           uses: actions/cache@v2\n           env:\n             cache-name: cache-node-modules\n           with:\n             path: |\n               node_modules\n               **/node_modules\n             key: steps.cache-key.outputs.cacheKey\n             restore-keys: steps.cache-key.outputs.cacheKey\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.2b5e82b.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.2b5e82b.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.2b5e82b.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.2b5e82b.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"2b5e82b3f0c4419e91b7e4418307a4ee22b3d0ed","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.6.1-canary.35.2b5e82b.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-7IZUSiYN8xIGN/Hl8AeNFKBio5WzlPi1WTPQxv0M+E5p79LH4A+Me3U+Z4U/IdbihFXgAW4/xpydU6T+81D1ng==","shasum":"a29692a0842990e3ed626301d63649d25e1bd93b","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.6.1-canary.35.2b5e82b.0.tgz","fileCount":51,"unpackedSize":108863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF/JFyRvhpXL7sbtcxbOV9kXP8YZMTZUBo/lAyhOE1XcAiEAwULnCMfZjnBch1wKSUr0Z426328Z3noOkT7aZTNSJgg="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.6.1-canary.35.2b5e82b.0_1634923989923_0.5922045471153228"},"_hasShrinkwrap":false},"0.6.1-canary.35.f020c8c.0":{"name":"standard-monorepo","version":"0.6.1-canary.35.f020c8c.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.6.1-canary.35.f020c8c.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n  --github    print github actions output\n\nEXAMPLES\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --cwd # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --github # ::set-output name=cacheKey::{env.PREFIX}-93ead503b3bc9b08c2e07da10ef34162\n  - name: Get nodemodules cache key\n           id: cache-key\n           shell: bash\n           run: npx standard-monorepo cache-key\n           env:\n             PREFIX: ubuntu-latest-node-14.16.0\n          \n         - name: Cache node modules\n           id: cache-node-modules\n           uses: actions/cache@v2\n           env:\n             cache-name: cache-node-modules\n           with:\n             path: |\n               node_modules\n               **/node_modules\n             key: steps.cache-key.outputs.cacheKey\n             restore-keys: steps.cache-key.outputs.cacheKey\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.f020c8c.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.f020c8c.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.f020c8c.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.1-canary.35.f020c8c.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"f020c8c0b262482810b0b1678c5318e6b5d20947","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.6.1-canary.35.f020c8c.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-dg5hF0h7xiT0aNnVIoRYnSWdk6qXIeSDhR0KErBO/7AktnQH7OJB8SXe6LRRJLYTQbMt7xM1yFBjJhT6td+gXQ==","shasum":"0e2e3a6c061c7bd5afe4d6fe1df6bc37aa4a27e6","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.6.1-canary.35.f020c8c.0.tgz","fileCount":51,"unpackedSize":108738,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxNXR+9bt2IHkZJFzSM29S1+uHa/QC6RRfqNDiSzZgQwIhAOT+g0SbwcnudJ2CFQ7lFYiwyGA80JKAbDtxj6/Rv469"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.6.1-canary.35.f020c8c.0_1634924411489_0.08087861495470783"},"_hasShrinkwrap":false},"0.6.1":{"name":"standard-monorepo","version":"0.6.1","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"jest":{"automock":true},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1"},"gitHead":"b8ddba16dcf40c727b88ab482aaf0dc196687ddc","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.6.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-sDUkLUabEKl2e4qYRX9aQGFOAdWMRD8DP7iT/z+t9dERw1JOeVj7BMWmluwRA49cvHByJerDeStXoVagRfTxpg==","shasum":"c4a956d997da9d2bcc0a0cd8f89cc9d96003350a","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.6.1.tgz","fileCount":51,"unpackedSize":108884,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDnzfJDLUQmqXzUPCbApdOldrIRaqQ33ocSBJkrrHDvFAIhANA3RZjTl/zXXotg2BWFryFsyVExMtPxvYgV50+9E7dp"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.6.1_1634924680534_0.15546531103454697"},"_hasShrinkwrap":false},"0.6.2-canary.36.75cfcb6.0":{"name":"standard-monorepo","version":"0.6.2-canary.36.75cfcb6.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.6.2-canary.36.75cfcb6.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n  --github    print github actions output\n\nEXAMPLES\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --cwd # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --github # ::set-output name=cacheKey::{env.PREFIX}-93ead503b3bc9b08c2e07da10ef34162\n  - name: Get nodemodules cache key\n           id: cache-key\n           shell: bash\n           run: npx standard-monorepo cache-key\n           env:\n             PREFIX: ubuntu-latest-node-14.16.0\n          \n         - name: Cache node modules\n           id: cache-node-modules\n           uses: actions/cache@v2\n           env:\n             cache-name: cache-node-modules\n           with:\n             path: |\n               node_modules\n               **/node_modules\n             key: steps.cache-key.outputs.cacheKey\n             restore-keys: steps.cache-key.outputs.cacheKey\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.2-canary.36.75cfcb6.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.2-canary.36.75cfcb6.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.2-canary.36.75cfcb6.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n  --filter=filter    glob to filter packages\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --only=\"name\" --filter=\"foo\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.6.2-canary.36.75cfcb6.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"75cfcb60033c7b77867352ae2902259582ebcd53","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.6.2-canary.36.75cfcb6.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-J9MUoss7E1fiig62fFdVAReiSQslTJ1rDoOTqUTonyIeVUo0+xyx2KNoVeR+J7hQosS14IKPjuf6/ty1RB9y4g==","shasum":"37f827d976f6b9eb90ca7ee5898b91dead70b1ed","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.6.2-canary.36.75cfcb6.0.tgz","fileCount":51,"unpackedSize":113569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICf5/z5YEZsd7aUYX11Ueu48J1e4TCucjL36Hfylk7xXAiAteAKUGgdrsglhq7BTEPSSstcnkD3rpH7ATSwtk0P7DQ=="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.6.2-canary.36.75cfcb6.0_1636103621362_0.2843744933287169"},"_hasShrinkwrap":false},"0.7.0":{"name":"standard-monorepo","version":"0.7.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"gitHead":"f4e95ce95d6e5b5245bff39774805e39fce10cb2","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.7.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-0uT0CDdgc6CTG7CeBgV1Q2aS2vkStbeGS1WspVPeYhGKFMQzuvvsGw/RXjGyZXAb3JsAGpO5A0U5rCja0BN2CQ==","shasum":"617ec1b67079ec829876fa36c2cae22a224fbb75","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.7.0.tgz","fileCount":51,"unpackedSize":113714,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClOym1lft8ozj+4Tebtyc1O+RiDHJKdfyTZ8Q3ZrFIugIgSf78trwdhU7gy2xouSnfu3KHUI0gzLifKXnrO9ZOgpc="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.7.0_1636105509175_0.564187009308899"},"_hasShrinkwrap":false},"0.7.1-canary.37.e58e93c.0":{"name":"standard-monorepo","version":"0.7.1-canary.37.e58e93c.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.7.1-canary.37.e58e93c.0 linux-x64 node-v12.22.7\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n  --github    print github actions output\n\nEXAMPLES\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --cwd # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --github # ::set-output name=cacheKey::{env.PREFIX}-93ead503b3bc9b08c2e07da10ef34162\n  - name: Get nodemodules cache key\n           id: cache-key\n           shell: bash\n           run: npx standard-monorepo cache-key\n           env:\n             PREFIX: ubuntu-latest-node-14.16.0\n          \n         - name: Cache node modules\n           id: cache-node-modules\n           uses: actions/cache@v2\n           env:\n             cache-name: cache-node-modules\n           with:\n             path: |\n               node_modules\n               **/node_modules\n             key: steps.cache-key.outputs.cacheKey\n             restore-keys: steps.cache-key.outputs.cacheKey\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.7.1-canary.37.e58e93c.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.7.1-canary.37.e58e93c.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.7.1-canary.37.e58e93c.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help         show CLI help\n  --filter=filter    glob to filter packages\n\n  --[no-]fork-point  list all packages that have changed since a fork point, using \"git merge-base --fork-point\n                     $YOUR_REF\"\n\n  --nodes            list a representation of the dependency graph\n\n  --only=only        [default: name,version,private,location] fields to return for each package\n\n  --since=since      list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --only=\"name\" --filter=\"foo\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version --no-fork-point\n  $ standard-monorepo list --since=$(git merge-base --fork-point main)\n  $ standard-monorepo list --since=main --fork-point # same as above\n  $ standard-monorepo list --since=main # same as above as --fork-point default is true\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.7.1-canary.37.e58e93c.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"e58e93cf66bf36ebdb8759baeac6c5ba93a5b282","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.7.1-canary.37.e58e93c.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-LDaRkB1PzXK0prLFbiI/PyIYQB3MIxooFf/BZoKLXSbMX0vGH+StQbK3xcRD3QwCpvEDRUoiz35O7/0cTZAsUg==","shasum":"ea99429770fa4222affa2124ce5ef187a05e57fd","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.7.1-canary.37.e58e93c.0.tgz","fileCount":51,"unpackedSize":114187,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGP3b/h5CJsX0o3qVz+l+AWK/9zzV3+wCAVU5UoM6KhcAiEA6/8s1MUAdO7Y0ItPG680KwoLTAQPKhSHxboy5/0iXJY="}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.7.1-canary.37.e58e93c.0_1636544534697_0.2136023103230702"},"_hasShrinkwrap":false},"0.7.1":{"name":"standard-monorepo","version":"0.7.1","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"gitHead":"a738328f55704db50fffb211e29d9d8a1d26e1ba","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.7.1","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ZV0EfFm4zlRozU5cNwkQnTik18TTnWx8umYH5Ij3YiBscxiFJlRwzb9/KplIDQR2JrPgzQ462/ZuayZ4TLnE7A==","shasum":"404f0c422b3b4115bddb991b28fec17a6b589882","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.7.1.tgz","fileCount":51,"unpackedSize":114340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh278/CRA9TVsSAnZWagAAGGIP/iSCA13B5fn9DHMYMLC7\nFmaxnu1+/5xW44kzCFIC3afvro2ZhryEenh+neFJrlpp5JYVmEHzdgJex07l\n0VnZUL1qka34S+xbK1n5mHYO6GNlJpVKrVNVw69ZxdmIS2xJUjRQzw68bI5k\nW3+aKB8YC2TkrZRYwjvjQdi5hsShfVcco+NqlxrbVnOhBb9JM7uW9h2rADwf\nMZov6XlTEkGdmDmoskWcmQC4y/vu7NG7jcu/k7RSLZcLc3bSxgelWdEsQoI5\nWSz+TFQzKvKORXW4I49rUSWxbbt9xefqwW/WRRwpyAa1dzv6whsbAoRKC8MM\n3Nl4hV6lD1lReFZpiQJtdcaMH3OFPUNvNWzKlwYyTuxVMvCn2ZqenMzEP3NM\nvFmmB39KgSKpkv1fRnjWMqUUtfq+CHFlYWLsWQvQjkQfhgXxZdBDQfDv6yO3\nDkkimdFICKi7Fmr3Y8z5F83qsG9dsFkze6DcY51/3O5MylQvp1C/ADarNASG\nMnQUzzWmjizgnBXR1Lcc/p63bOBQXWiY+HmTRM/xlvvFiX9ue4ReXOFgp7tu\njxWLT2VX1hyktw/JqEytBDqdfYiWHEXzqW/ITGLCx0PwKpRp/yZeq1rIac3z\n7T5q5LpjdhSGW71pjP5W47jZdnTMzIyoi/MwZe3BDu8S1MsoVUBElE2VWkeM\n/hm5\r\n=C3yj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsPKJKKEP04ryxeR1yz6SmSXass4rbIsfGhihf+Sc7NgIhAJ1qYHJZcffi7HsR8IE58OCfadNpECY4yjtdNj9Js7yn"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.7.1_1636544608450_0.769265389504671"},"_hasShrinkwrap":false},"0.8.0-canary.39.7e88663.0":{"name":"standard-monorepo","version":"0.8.0-canary.39.7e88663.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.8.0-canary.39.7e88663.0 linux-x64 node-v12.22.11\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo cache-key`](#standard-monorepo-cache-key)\n* [`standard-monorepo circular-deps`](#standard-monorepo-circular-deps)\n* [`standard-monorepo commit [COMMIT]`](#standard-monorepo-commit-commit)\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n* [`standard-monorepo list`](#standard-monorepo-list)\n\n## `standard-monorepo cache-key`\n\n```\nUSAGE\n  $ standard-monorepo cache-key\n\nOPTIONS\n  -h, --help  show CLI help\n  --cwd       use the context from where the command was run to determine root of the monorepo\n  --github    print github actions output\n\nEXAMPLES\n  $ standard-monorepo cache-key # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --cwd # 93ead503b3bc9b08c2e07da10ef34162\n  $ standard-monorepo cache-key --github # ::set-output name=cacheKey::{env.PREFIX}-93ead503b3bc9b08c2e07da10ef34162\n  - name: Get nodemodules cache key\n           id: cache-key\n           shell: bash\n           run: npx standard-monorepo cache-key\n           env:\n             PREFIX: ubuntu-latest-node-14.16.0\n          \n         - name: Cache node modules\n           id: cache-node-modules\n           uses: actions/cache@v2\n           env:\n             cache-name: cache-node-modules\n           with:\n             path: |\n               node_modules\n               **/node_modules\n             key: steps.cache-key.outputs.cacheKey\n             restore-keys: steps.cache-key.outputs.cacheKey\n```\n\n_See code: [src/commands/cache-key.ts](https://github.com/imflavio/standard-monorepo/blob/v0.8.0-canary.39.7e88663.0/src/commands/cache-key.ts)_\n\n## `standard-monorepo circular-deps`\n\n```\nUSAGE\n  $ standard-monorepo circular-deps\n\nOPTIONS\n  -h, --help                         show CLI help\n  --max=max                          maximum allowed individual circular dependencies\n  --max-total-paths=max-total-paths  maximum allowed circular dependencies paths\n\nEXAMPLES\n  $ standard-monorepo circular-deps\n  $ standard-monorepo circular-deps --max=5 --max-total-paths=10 # default is 0 for both\n```\n\n_See code: [src/commands/circular-deps.ts](https://github.com/imflavio/standard-monorepo/blob/v0.8.0-canary.39.7e88663.0/src/commands/circular-deps.ts)_\n\n## `standard-monorepo commit [COMMIT]`\n\n```\nUSAGE\n  $ standard-monorepo commit [COMMIT]\n\nARGUMENTS\n  COMMIT  The commit message\n\nOPTIONS\n  -h, --help   show CLI help\n  -s, --scope  should include scope in the commit message\n\nEXAMPLES\n  $ standard-monorepo commit # this will create a prompt like commitizen\n  $ standard-monorepo commit --scope # this will create a prompt like commitizen\n  $ standard-monorepo commit \"feat: did things\"\n  $ standard-monorepo commit \"feat!: did things\"\n  $ standard-monorepo commit \"feat(ABC-123): did things\" --scope\n  $ standard-monorepo commit \"feat!(ABC-123): did things\" --scope\n  \"husky\": {\n     \"hooks\": {\n       \"commit-msg\": \"standard-monorepo commit $HUSKY_GIT_PARAMS\"\n     }\n  }\n```\n\n_See code: [src/commands/commit.ts](https://github.com/imflavio/standard-monorepo/blob/v0.8.0-canary.39.7e88663.0/src/commands/commit.ts)_\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n\n## `standard-monorepo list`\n\n```\nUSAGE\n  $ standard-monorepo list\n\nOPTIONS\n  -h, --help       show CLI help\n  --filter=filter  glob to filter packages\n  --nodes          list a representation of the dependency graph\n  --only=only      [default: name,version,private,location] fields to return for each package\n  --since=since    list all packages that have changed since a git ref\n\nEXAMPLES\n  $ standard-monorepo list\n  $ standard-monorepo list >> list.json\n  $ standard-monorepo list --only=\"name,version\"\n  [\n     {\n       \"name\": \"a\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"b\",\n       \"version\": \"1.0.0\"\n     },\n     {\n       \"name\": \"c\",\n       \"version\": \"1.0.0\"\n     }\n  ]\n  $ standard-monorepo list \n  --only=\"name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies\"\n  $ standard-monorepo list --only=\"name\" --filter=\"foo\"\n  $ standard-monorepo list --nodes # Shows all packages and their dependencies in an indexed table\n  $ standard-monorepo list --since=gitsha --only=name,version\n  $ standard-monorepo list --since=$(git merge-base main HEAD)\n```\n\n_See code: [src/commands/list.ts](https://github.com/imflavio/standard-monorepo/blob/v0.8.0-canary.39.7e88663.0/src/commands/list.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","gitHead":"7e886632809d297f1c0f6ff19894e7af20a50429","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.8.0-canary.39.7e88663.0","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-H1pT94v9lXBK3wJ1Wc6/Xtx9liHxQaAyFyEhwjrKphk/niynuZCXKeX5tyaY9NoiCCEK8gbH8PP1X6sxunkzlA==","shasum":"3f08d35b64b099a50cbb41d50c71cebb6b45e05e","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.8.0-canary.39.7e88663.0.tgz","fileCount":51,"unpackedSize":112827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFER5FiOcs8vLpqChNRfAlooOpDsY7udc4DiuB9709zgIgYU4LlnJWw/+0C4e25JRRmZ7e5s/FCR+XuQOpyCeEE0A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTqt2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqaYhAAmmKlxMe40yDLvXVgYAZ30TR9PxmkFJ6Gv4rQkztK80sPLtcw\r\nlWaMY1q/4RtvewfTV1IURU9N4FFrGFfgR5ZUzbVKSsWwofIjDVAOe+LgorDv\r\nLGmdgNj4HBF+NMk5ync/Xym8SPzLUU2oePV7L5BrQjfShzrn01izj9FT71A1\r\nAe6oTbmPmL2n4vaEIETA5LogHkNKnQvkwr8I9x1Ia2awf4Rx/T3zlMBlls/d\r\nPkAfkw0+StnZsi8qB9uailmFSLQVtaXmXWTf0xcMY0OExNRVgf22S7d+oSLI\r\nsi8mWdlFBIq4W/J3KGYxZJh5hYbdwVJsS+s2Uj7GYVuMBdM0O3byhfLIqLM4\r\n7bhNCtFBN3UKYEzhFiAr25QTXwC2tFXONUbkbx3Vm9gY7JvNB6RCN89U4GKR\r\nTuG1OjLN1OGMmCTV40tp6R6WmBHh1OhfeI4N1k9YhxLwsooPwWZPl7nsHkYE\r\nQv/IyLrgx+wpEW+lOIajuYvIFPHurRYf3Hi1S1nBhetJd7N/jEMv2eQW6L1h\r\n/ZhiVgbXEgAzSSmxOTMbrDPr3KGHJlq+Cbzc7TXkty5LT8af0Q+nROyCt+jk\r\nQ4gzxm9jq4UxBKnQuqdCANuLVvmJVXbX6/0Xns8hqQn006yzoCyt7lq0Kk2p\r\nDyrJ3FUzLqwQJ+Vdv6R/WQLCe3MD2csRbKo=\r\n=DNRT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.8.0-canary.39.7e88663.0_1649322870232_0.7516364243593696"},"_hasShrinkwrap":false},"0.8.0":{"name":"standard-monorepo","version":"0.8.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"11.0.1","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"gitHead":"aaaaec6ad6a4efdeaba5229959f8681f3c038c3d","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.8.0","_nodeVersion":"12.22.11","_npmVersion":"6.14.16","dist":{"integrity":"sha512-ZME/IIX0Htfrcce9hSgNv3RYg5PhamRSO6VwGl7CmlWAKTNnHMy1eQZ+rMqRznUaeOug8lzKPtIl3umfk6HzjQ==","shasum":"95ce724fdfe3ec3156d39b1a6d7072ff78b36d47","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.8.0.tgz","fileCount":51,"unpackedSize":112973,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHU7kO+xOG1M/YgP7OSEwllYHTzr+WC4l/XbIj7d6HdNAiBWVil6G+WyT7n3EXFXaF6ZPaOFuOR7W+HVKYkKfm7t7w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTqvjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0OA//SVf3Fwuz4UlfYNDIKd6EODXdJ9Omr3kXkX7HRrc1DbFPcw14\r\n9rFqf5v1iolJG5+MD30fqpjQrozSXYHqX1qOppzqnpwIvAVe0DP46p2ySiqd\r\n28DOs2glAaJtTaxEiWp3zZAW550leofJAwBRr1JJerh6GjgNoNQ2mwGKHrn6\r\nKUZirXFdZ0cgK5POL2rO6w2Qipgd0mlF1UPjIMspJllqL6SIzfXVMX7B6Yn9\r\nOnTAmyba3bQF9cjz83QDYFnlYBV0J7e9lRfRaxIJpnr56HbuL1jYvC2avOa4\r\nNjATnrEHBE31Nly3mlr1qJfidF9vmYSdR4u6V+Y8z7dxTye7IxKAUuxzDjhH\r\nW0CnJkNNJQIQN0Fk96Y1wkrZf5I9L9AC7mXkKRZu+es2lk1fuR0yH0A29lSD\r\nfQVq36nJFnBlLWdRJeWZ6jw8Lar8nfYu+l86n+PV9m+WCIvwxWzhR9vMxWc8\r\nJSR5v2F1e+N1qoxiBKH27DktikgtXTWy9wReeINW9QvxB6hhgSVNogbS61jl\r\ntJBS0jVG7swrK+Gqqdgheg6s/OOFSRjV+7OtTF2P3Bc1KkV6Md8XooAaKZqW\r\n8s8IQos3VGw3SUstI00z6/qXyTXZZBvBdK+XWDGJbIN4aGHXqJZgFUpSTwOA\r\nkcpnBdgUAIBjakSFOK2SB7oPvUMYBcibUIo=\r\n=21IX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.8.0_1649322978996_0.8943896070148469"},"_hasShrinkwrap":false},"0.9.0":{"name":"standard-monorepo","version":"0.9.0","author":{"name":"Flávio Carvalho"},"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","bin":{"standard-monorepo":"bin/run"},"scripts":{"format:all":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --write","format:check":"prettier '**/*.{js,jsx,ts,tsx,json,css}' --check","build":"rm -rf lib && tsc -b","test":"jest","update:readme":"oclif-dev manifest && oclif-dev readme && rm -f oclif.manifest.json && git add README.md","prepublishOnly":"yarn build && yarn test && yarn update:readme"},"husky":{"hooks":{"pre-commit":"yarn update:readme","commit-msg":"./bin/run commit $HUSKY_GIT_PARAMS"}},"dependencies":{"@oclif/command":"^1","@oclif/config":"^1","@oclif/plugin-help":"^3","chalk":"4.1.0","execa":"^5.0.0","glob":"7.1.6","md5":"2.3.0","md5-file":"5.0.0","app-root-path":"3.0.0","inquirer":"^7.3.3","lodash":"^4.17.20","semver":"^7.3.4"},"devDependencies":{"@oclif/dev-cli":"1.24.1","@types/inquirer":"7.3.1","@types/jest":"26.0.15","@types/lodash":"4.14.165","@types/node":"10.17.48","auto":"10.29.2","globby":"12.0.0","husky":"4.3.0","jest":"26.6.3","prettier":"2.2.1","ts-jest":"26.4.4","ts-node":"9.1.1","tslib":"2.0.3","typescript":"4.1.2"},"peerDependencies":{},"homepage":"https://github.com/imflavio/standard-monorepo","bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"oclif":{"commands":"./lib/commands","bin":"standard-monorepo","plugins":["@oclif/plugin-help"]},"prettier":{"printWidth":80,"semi":false,"singleQuote":true,"trailingComma":"all"},"engines":{"node":">=10"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"volta":{"node":"14.15.1","yarn":"1.22.17"},"gitHead":"c023f22cd34ff934d5b5870740faf9d3487a77f3","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo","_id":"standard-monorepo@0.9.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-KS6d/axylXQ3lvr7tMSiphCxSKdI9AWFzE8+FbTJL1h73si944qu9BR/kxvXpZPxl80dg/pXtzzdizvCSXIR/g==","shasum":"de3b350d8cc9c512d5fa9724ac4a3d4bde3d01c9","tarball":"https://registry.npmjs.org/standard-monorepo/-/standard-monorepo-0.9.0.tgz","fileCount":51,"unpackedSize":109221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDgQ8jXLVnq3Oh84NmcJcT8+8YYbgPe5trO+mIkGQtSigIhAOeOb48x/3q4M1K1nBQuq1kFhoCaKzfvuIEKIgRgcqkK"}]},"_npmUser":{"name":"flaviouk","email":"hey@flavio.uk"},"directories":{},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/standard-monorepo_0.9.0_1694523984631_0.8954341609851357"},"_hasShrinkwrap":false}},"maintainers":[{"name":"flaviouk","email":"hey@flavio.uk"}],"homepage":"https://github.com/imflavio/standard-monorepo","repository":{"type":"git","url":"git+https://github.com/imflavio/standard-monorepo.git"},"author":{"name":"Flávio Carvalho"},"bugs":{"url":"https://github.com/imflavio/standard-monorepo/issues"},"license":"MIT","readme":"# standard-monorepo\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![Downloads/week](https://img.shields.io/npm/dw/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo)\n[![License](https://img.shields.io/npm/l/standard-monorepo.svg)](https://github.com/imflavio/standard-monorepo/blob/master/package.json)\n\n<!-- toc -->\n* [standard-monorepo](#standard-monorepo)\n* [Goal](#goal)\n* [Roadmap v1](#roadmap-v1)\n* [Usage](#usage)\n* [Commands](#commands)\n<!-- tocstop -->\n\n# Goal\n\nThe goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.\n\nstandard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.\n\n# Roadmap v1\n\n- [x] [Conventional commits](https://www.conventionalcommits.org/)\n      Also supports a \"--scope\" flag and validates against a JIRA ticket number\n  - [x] Lint (Similar to [commitlint](https://github.com/conventional-changelog/commitlint), without the configuration)\n    ```sh-session\n    $ standard-monorepo commit \"feat: did things\"\n    > [SUCCESS] Commit message meets the conventional commit standard\n    ```\n    ```sh-session\n    $ standard-monorepo commit \"did things\"\n    ›   Error: [FAIL]\n    ›\n    ›   ####################################\n    ›   did things\n    ›   ####################################\n    ›\n    ›\n    ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.\n    ```\n  - [x] Prompt (Similar to [commitizen](https://github.com/commitizen/cz-cli), without the configuration)\n- [x] Detect packages (yarn workspaces glob)\n- [x] Circular Dependencies\n\n  - [x] Find circular dependencies\n  - [x] \"--max\" and \"--max-total-paths\" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)\n\n  ```sh-session\n  $ standard-monorepo circular-deps --max=1 --max-total-paths=55\n\n  Found 2 circular dependencies in the project, please fix these as soon as possible.\n\n      |> Maximum circular dependencies allowed is 1 \"--max\", found: 2\n\n      |> Maximum circular dependencies *paths* allowed is 55 \"--max-total-paths\", found: 5\n\n      #######################################################################\n\n      |> foo ->\n          bar ->\n\n\n      |> a ->\n          b ->\n           c ->\n  ```\n\n- [x] Print what packages have changed since a git ref. See [`standard-monorepo list`](#standard-monorepo-list)\n- [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed\n- [ ] Run command (Similar to `lerna exec \"echo hello\" --stream` and `lerna exec \"echo hello\" --parallel`)\n- [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)\n- [ ] Publish (Similar to `lerna publish --conventional-commits`)\n\n# Usage\n\n<!-- usage -->\n```sh-session\n$ npm install -g standard-monorepo\n$ standard-monorepo COMMAND\nrunning command...\n$ standard-monorepo (-v|--version|version)\nstandard-monorepo/0.9.0 linux-x64 node-v12.22.12\n$ standard-monorepo --help [COMMAND]\nUSAGE\n  $ standard-monorepo COMMAND\n...\n```\n<!-- usagestop -->\n\n# Commands\n\n<!-- commands -->\n* [`standard-monorepo help [COMMAND]`](#standard-monorepo-help-command)\n\n## `standard-monorepo help [COMMAND]`\n\n```\nUSAGE\n  $ standard-monorepo help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.0/src/commands/help.ts)_\n<!-- commandsstop -->\n","readmeFilename":"README.md","description":"[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) [![Version](https://img.shields.io/npm/v/standard-monorepo.svg)](https://npmjs.org/package/standard-monorepo) [![Downloads/week](https://img.shields.io/npm/dw/standard-mo"}