{"_id":"@dougkulak/multi-semantic-release","_rev":"2-d33d6a0f94ecd671d31860d7461b5cdf","name":"@dougkulak/multi-semantic-release","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@dougkulak/multi-semantic-release","author":{"name":"Doug Kulak","email":"dougkulak@gmail.com"},"version":"1.0.0","license":"MIT","private":false,"publishConfig":{"access":"public"},"engines":{"node":">=10.18","yarn":">=1.0.0"},"main":"lib/multiSemanticRelease.js","bin":{"multi-semantic-release":"bin/cli.js"},"scripts":{"watch":"jest --watchAll","jest":"TRAVIS_PULL_REQUEST_BRANCH=main jest --coverage","lint":"eslint ./","lint:fix":"eslint --fix ./","test":"yarn lint && yarn jest","test:report":"yarn test && yarn coveralls:push","codeclimate:push":"codeclimate-test-reporter < ./coverage/lcov.info","coveralls:push":"cat ./coverage/lcov.info | coveralls","_publish":"semantic-release","build":"echo 'There is no need for build && exit 0'","postupdate":"yarn && npx yarn-audit-fix && yarn build && yarn test","publish:beta":"npm publish --no-git-tag-version --tag beta"},"husky":{"hooks":{"commit-msg":"commitlint -E $HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"jest":{"testURL":"http://localhost","collectCoverage":true,"collectCoverageFrom":["lib/**/*.js"],"modulePathIgnorePatterns":["<rootDir>/test/fixtures"],"testTimeout":10000},"dependencies":{"blork":"^9.3.0","@manypkg/get-packages":"^1.1.1","cosmiconfig":"^7.0.0","debug":"^4.3.2","detect-indent":"^6.1.0","detect-newline":"^3.1.0","execa":"^5.1.1","get-stream":"^6.0.1","git-log-parser":"^1.2.0","globby":"11.0.4","lodash":"^4.17.21","meow":"^9.0.0","promise-events":"^0.2.4","semantic-release":"^17.4.4","semver":"^7.3.5","signale":"^1.4.0","stream-buffers":"^3.0.2","tempy":"^1.0.1"},"devDependencies":{"@commitlint/config-conventional":"^12.1.4","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","commitlint":"^12.1.4","coveralls":"^3.1.1","env-cmd":"^10.1.0","eslint":"^7.30.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","file-url":"^3.0.0","husky":"^7.0.1","jest":"^27.0.6","prettier":"^2.3.2"},"release":{"branches":["main"],"verifyConditions":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"prepare":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"publish":["@semantic-release/npm","@semantic-release/github"],"noCi":true},"repository":{"type":"git","url":"git+https://github.com/dougkulak/multi-semantic-release.git"},"gitHead":"143af8b6a449d1d09202069d9b1673f826d62611","description":"hacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos","bugs":{"url":"https://github.com/dougkulak/multi-semantic-release/issues"},"homepage":"https://github.com/dougkulak/multi-semantic-release#readme","_id":"@dougkulak/multi-semantic-release@1.0.0","_nodeVersion":"16.6.2","_npmVersion":"7.19.1","dist":{"integrity":"sha512-VHk3+2T0bGmfqrGY2tshXCZWA/4ApVEaRUJLq8UP4gHsC7eS2OChXmMNv69WiSnlHe3kJxLheHXN0myI5AB4ng==","shasum":"95368602a99eae228fa52cb0695e1ca4f51e1766","tarball":"https://registry.npmjs.org/@dougkulak/multi-semantic-release/-/multi-semantic-release-1.0.0.tgz","fileCount":24,"unpackedSize":78483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhINeLCRA9TVsSAnZWagAA3NcQAJGCmSUVocF1sJe/KCeX\nDAtcPMjcQSRycRYH3+MH4vG3dqm1CDF9+XmoeyRI/e5yhmwoZZDdHXY0jjmu\nTtOmZfd/fa9gjVbY75ilz98GQeVcvdaxpQla1hLlkU+7Wwha/M2USLvv3cAk\nn4vASr5BeXnAtR9YWosWbI3Bg8ljoFiya1OrKMSRl9uwvnqTMA968sG4UeEU\ntYweZXxctY5w+kHR7vOMBPSfXfZ1/B4B8EfMHliAz5+m95TA+s0QACW0Dq3p\n4fK9a/SYBa7pWlL1IbtQHpGMau5BvWqhzWzSS2Th2FikE/AbDmTNIh1LdMYq\nTsCXiRA6cfeBsQtZZ/ZoqEr42aKnLx4wBKG3FRJE9GNvNsh9fsP2epyY3Ivv\nMpNRE7tmY0ScsG1hgA5ehL1HGuKFNyIpDL29Wxc7Sx5eXH7pxGKJRnrhMo7c\nJyg8+WM02i1nbgYcYRySPj7aSwZh3HyDQw7/vIIdD0NexHlMdqY4Knug6iF9\nfglVcE4iQHfGjLQVWt98lEd4LSZua0PiKmJ2SCGr56GgZWIpwRRCcEw4DH05\n23HJE4XbNGG5xlmHZnflTSK/8hCxyjsON3iY5pvsdz9RTPAWl8qY214hhUFW\nwk5SHDBffMmm04XiRl6hVWEQ7tJHmKcYQBHIQsD6FGL+0xrHBZJnWsyjJYnA\nXN3d\r\n=mgaf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdYV2IX9Wd7RWPwbBqwAiwEtgBEY2MGVn8qNmbWuP9pQIgHMagFCIsCmA6qb5SS0pCsS1Z3Gl5aPjSzIXIV1QFRZU="}]},"_npmUser":{"name":"dougkulak","email":"doug.kulak@gmail.com"},"directories":{},"maintainers":[{"name":"dougkulak","email":"doug.kulak@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/multi-semantic-release_1.0.0_1629542283831_0.8765691092052994"},"_hasShrinkwrap":false},"1.1.0":{"name":"@dougkulak/multi-semantic-release","author":{"name":"Doug Kulak","email":"dougkulak@gmail.com"},"version":"1.1.0","license":"MIT","private":false,"publishConfig":{"access":"public"},"engines":{"node":">=10.18","yarn":">=1.0.0"},"main":"lib/multiSemanticRelease.js","bin":{"multi-semantic-release":"bin/cli.js"},"scripts":{"watch":"jest --watchAll","jest":"TRAVIS_PULL_REQUEST_BRANCH=main jest --coverage","lint":"eslint ./","lint:fix":"eslint --fix ./","test":"yarn lint && yarn jest","test:report":"yarn test && yarn coveralls:push","codeclimate:push":"codeclimate-test-reporter < ./coverage/lcov.info","coveralls:push":"cat ./coverage/lcov.info | coveralls","_publish":"semantic-release","build":"echo 'There is no need for build && exit 0'","postupdate":"yarn && npx yarn-audit-fix && yarn build && yarn test","publish:beta":"npm publish --no-git-tag-version --tag beta"},"husky":{"hooks":{"commit-msg":"commitlint -E $HUSKY_GIT_PARAMS"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"jest":{"testURL":"http://localhost","collectCoverage":true,"collectCoverageFrom":["lib/**/*.js"],"modulePathIgnorePatterns":["<rootDir>/test/fixtures"],"testTimeout":10000},"dependencies":{"blork":"^9.3.0","@manypkg/get-packages":"^1.1.1","cosmiconfig":"^7.0.0","debug":"^4.3.2","detect-indent":"^6.1.0","detect-newline":"^3.1.0","execa":"^5.1.1","get-stream":"^6.0.1","git-log-parser":"^1.2.0","globby":"11.0.4","lodash":"^4.17.21","meow":"^9.0.0","promise-events":"^0.2.4","semantic-release":"^17.4.4","semver":"^7.3.5","signale":"^1.4.0","stream-buffers":"^3.0.2","tempy":"^1.0.1"},"devDependencies":{"@commitlint/config-conventional":"^12.1.4","@semantic-release/changelog":"^5.0.1","@semantic-release/git":"^9.0.0","@semantic-release/github":"^7.2.3","@semantic-release/npm":"^7.1.3","commitlint":"^12.1.4","coveralls":"^3.1.1","env-cmd":"^10.1.0","eslint":"^7.30.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","file-url":"^3.0.0","husky":"^7.0.1","jest":"^27.0.6","prettier":"^2.3.2"},"release":{"branches":["main"],"verifyConditions":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"prepare":["@semantic-release/changelog","@semantic-release/npm","@semantic-release/git"],"publish":["@semantic-release/npm","@semantic-release/github"],"noCi":true},"repository":{"type":"git","url":"git+https://github.com/dougkulak/multi-semantic-release.git"},"gitHead":"ff50cf3fcae8c98b7a6763f1351ec3d6c119643e","description":"hacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos","bugs":{"url":"https://github.com/dougkulak/multi-semantic-release/issues"},"homepage":"https://github.com/dougkulak/multi-semantic-release#readme","_id":"@dougkulak/multi-semantic-release@1.1.0","_nodeVersion":"16.6.2","_npmVersion":"7.19.1","dist":{"integrity":"sha512-nwed0whUbfBnTiKQu2AeOkbEVFeiDYr6N+B1/JWc2YGKlQEiwXz6nUG7nFbhRvhUIOdZfoWI4nHzR4pV+J/hBQ==","shasum":"6e85d30a60d7119210a8c2f21cd35590c0e4a911","tarball":"https://registry.npmjs.org/@dougkulak/multi-semantic-release/-/multi-semantic-release-1.1.0.tgz","fileCount":24,"unpackedSize":78751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhIPJjCRA9TVsSAnZWagAAOokQAJdgbRsBtPriSYYuaAT6\nKQiG4TJITplhodBOFBB1SWVDpJDGM5tNu29yRbt9g7ycH9b281QSj/6ZpZlJ\n4+XVYR11ww606IaBHoasbfj31cPlfVnoMZEgs0iY+fwSCLdtXBvnMvIaaRP9\nRsnKhfo5WmLt+PQaJ1QY7XI1tOep+bzGuKnzBye3zfkKmiiTwCKp6u4JLD5Z\nAwpCCuMlJ0ooM9GT8DTvhg+TTHkwzSHIVP8OZyRqX6Bm/I+1TvnOK86bDCqE\nF6udP8RcqyvYeF0iGQ2PFwZdqcm8Gm2LU6guyL+8vnC3Be3N/afLGWkukY+u\nzGOrieNHgFCDFVdlF7tI6ICNXLctOUZmduNZUra81/q1yxh2ohksmBv6Jzkp\nLZy3mQwGKlaaZeTh2t51yaRRPZYYOQQoRd6h294GCGLHE+8hmV0HJ7BGGdjL\nBNY+VCbwVJxpZ1kWi24FDGbawPNKXLcyU3xXLHPKxO4uJofGiw0fSWNRQtsk\niv+IJMy38tWM5YSJf0CdhvWCQ6ktZhWtBBI7KGmjfHmfFDYwDmL4jVM91+zw\nZtFLt7dbipU1YyREVWvgqGRP0qjxA2EyxG7slaDnPp6lepIWkBcBjrqKWLYU\nS9zrfcKfvDuPuRigAYHk3KyI45awb65AJ02DKR5aO13M0a75ozHuhkis6ijP\n7Umj\r\n=FGAJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHanHeQstn/fCOqgU+3XQH00afVad3/6sqXFtTEfD6NbAiEAzB12DpbzXHUQ92zDGk4xBkXvcro6Ty7DaxjoiwOsZT0="}]},"_npmUser":{"name":"dougkulak","email":"doug.kulak@gmail.com"},"directories":{},"maintainers":[{"name":"dougkulak","email":"doug.kulak@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/multi-semantic-release_1.1.0_1629549155505_0.8070516732879882"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-21T10:38:03.759Z","1.0.0":"2021-08-21T10:38:03.980Z","modified":"2022-04-05T05:30:27.020Z","1.1.0":"2021-08-21T12:32:35.710Z"},"maintainers":[{"name":"dougkulak","email":"doug.kulak@gmail.com"}],"description":"hacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos","homepage":"https://github.com/dougkulak/multi-semantic-release#readme","repository":{"type":"git","url":"git+https://github.com/dougkulak/multi-semantic-release.git"},"author":{"name":"Doug Kulak","email":"dougkulak@gmail.com"},"bugs":{"url":"https://github.com/dougkulak/multi-semantic-release/issues"},"license":"MIT","readme":"# @dougkulak/multi-semantic-release\nhacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos\n\n[![Travis CI](https://travis-ci.com/dougkulak/multi-semantic-release.svg?branch=main)](https://travis-ci.com/dougkulak/multi-semantic-release)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat)](https://github.com/semantic-release/semantic-release)\n[![Maintainability](https://api.codeclimate.com/v1/badges/6fa2d94f6ec3e57aefc4/maintainability)](https://codeclimate.com/github/dougkulak/multi-semantic-release/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/6fa2d94f6ec3e57aefc4/test_coverage)](https://codeclimate.com/github/dougkulak/multi-semantic-release/test_coverage)\n\nThis fork of [dhoub/multi-semantic-release](https://github.com/dhoulb/multi-semantic-release) replaces [`setImmediate` loops](https://github.com/dhoulb/multi-semantic-release/blob/561a8e66133d422d88008c32c479d1148876aba4/lib/wait.js#L13)\nand [`execa.sync` hooks](https://github.com/dhoulb/multi-semantic-release/blob/561a8e66133d422d88008c32c479d1148876aba4/lib/execaHook.js#L5) with event-driven flow and finally makes possible to run the most release operations in parallel.  \n🎉 🎉 🎉\n\n## Install\n\n```sh\nyarn add @dougkulak/multi-semantic-release --dev\n```\n\n## Usage\n\n```sh\nmulti-semantic-release\n```\n\nCLI flag options:\n\n```sh\n  Options\n    --dry-run Dry run mode.\n    --debug Output debugging information.\n    --sequential-init  Avoid hypothetical concurrent initialization collisions.\n    --first-parent Apply commit filtering to current branch only.\n\t--ignore-packages  Packages list to be ignored on bumping process (append to the ones that already exist at package.json workspaces)\n    --deps.bump Define deps version updating rule. Allowed: override, satisfy, inherit.\n\t\t--deps.release Define release type for dependent package if any of its deps changes. Supported values: patch, minor, major, inherit.\n    --help Help info.\n\n  Examples\n    $ multi-semantic-release --debug\n\t$ multi-semantic-release --deps.bump=satisfy --deps.release=patch\n\t$ multi-semantic-release --ignore-packages=packages/a/**,packages/b/**\n```\n\n## Configuration\n**MSR** requires **semrel** config to be added [in any supported format](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration) for each package or/and declared in repo root (`globalConfig` is extremely useful if all the modules have the same strategy of release).  \nNOTE config resolver joins `globalConfig` and `packageConfig` during execution.\n```javascript\n// Load the package-specific options.\nconst { options: pkgOptions } = await getConfig(dir);\n\n// The 'final options' are the global options merged with package-specific options.\n// We merge this ourselves because package-specific options can override global options.\nconst finalOptions = Object.assign({}, globalOptions, pkgOptions);\n```\n\nMake sure to have a `workspaces` attribute inside your `package.json` project file. In there, you can set a list of packages that you might want to process in the msr process, as well as ignore others. For example, let's say your project has 4 packages (i.e. a, b, c and d) and you want to process only a and d (ignore b and c). You can set the following structure in your `package.json` file:\n\n```json\n{\n\t\"name\": \"msr-test-yarn\",\n\t\"author\": \"Doug Kulak <dougkulak@gmail.com>\",\n\t\"version\": \"0.0.0-semantically-released\",\n\t\"private\": true,\n\t\"license\": \"MIT\",\n\t\"engines\": {\n\t\t\"node\": \">=8.3\"\n\t},\n\t\"workspaces\": [\n      \"packages/*\",\n      \"!packages/b/**\",\n      \"!packages/c/**\"\n\t],\n\t\"release\": {\n\t\t\"plugins\": [\n\t\t\t\"@semantic-release/commit-analyzer\",\n\t\t\t\"@semantic-release/release-notes-generator\"\n\t\t],\n\t\t\"noCi\": true\n\t}\n}\n```\n\nYou can also ignore it with the CLI:\n\n```bash\n$ multi-semantic-release --ignore-packages=packages/b/**,packages/c/**\n```\n\nYou can also combine the CLI ignore options with the `!` operator at each package inside `workspaces` attribute. Even though you can use the CLI to ignore options, you can't use it to set which packages to be released – i.e. you still need to set the `workspaces` attribute inside the `package.json`.\n","readmeFilename":"README.md"}