{"_id":"@cenk1cenk2/semantic-release-config","_rev":"16-f5f4cfa2ecacc377e32625739ce7b2f1","name":"@cenk1cenk2/semantic-release-config","dist-tags":{"latest":"6.0.2"},"versions":{"1.0.1":{"name":"@cenk1cenk2/semantic-release-config","version":"1.0.1","author":{"name":"Cenk Kilic"},"license":"MIT","_id":"@cenk1cenk2/semantic-release-config@1.0.1","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"36685db74278b06b5542ae5a6de6d55d4b3595a9","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-1.0.1.tgz","fileCount":6,"integrity":"sha512-22ELA3J2w7+XcoYDYYPCaw7L7rmTzcaWe2EcGmKyA6+bOp61qtf0aDxzdBa9pe0N/1k6lFTYSdgV5xdD+fMWkw==","signatures":[{"sig":"MEQCIG6J2TVHpPrlmnxn1xSvSjO2pfMcRdxmndCCiCeC6UHGAiAarXZaR8XKzYyiOtftIBmqCyfRfooPjYNKkCp7/U8kxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15186},"main":"index.js","type":"module","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./npm.js","./base":"./base.js"},"gitHead":"5cf309ddcd286240c9ea9a0bb4e8be1115c98ca8","scripts":{"lint":"eslint","probe":"node scripts/probe.js","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev"},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"_npmVersion":"11.17.0","description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"_nodeVersion":"26.5.0","dependencies":{"@semantic-release/npm":"^13.1.5","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@12.3.1","devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^2.3.3","@cenk1cenk2/eslint-config":"^3.3.2","@anolilab/semantic-release-pnpm":"^8.1.23"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_1.0.1_1789040754495_0.9082873679615338","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@cenk1cenk2/semantic-release-config","version":"2.0.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@2.0.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"d53ab3f09d37d39f7f66260f79cff5171c4819a5","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-2.0.0.tgz","fileCount":6,"integrity":"sha512-BZ+gWPB0XdNP6m9d5fv+zPkkeBy+48NLigol348MkE4XMY4Pt34s/VvrkljJgYBYBNPwMGS0sAqJ2AdTpNKk6Q==","signatures":[{"sig":"MEYCIQDfhkI9SZkZ1SN267hGf1xR2kcV2GchNlzo31PaXDKxBAIhAPoi9N2TEsRwbpyCpcE7gK2f6J4phUr0ntJBqj44CaKm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17824},"main":"index.js","type":"module","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./npm.js","./base":"./base.js"},"scripts":{"lint":"eslint","probe":"node scripts/probe.js","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"@semantic-release/npm":"^13.1.5","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^2.3.3","@cenk1cenk2/eslint-config":"^3.3.2","@anolilab/semantic-release-pnpm":"^8.1.23"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_2.0.0_1789043931224_0.6872585126467292","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@cenk1cenk2/semantic-release-config","version":"3.0.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@3.0.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"289ef8d87f23a8eceacee4f0c07cd2b04da3f97c","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-3.0.0.tgz","fileCount":16,"integrity":"sha512-0qCoKAgedmUWbeSGU9NlRlTJ4LA6kmALV9cCxgC2IXk6OdvRO9JlZx9VbZ+5PP4Gd4MTjOGmD3JIt4pT3JBaag==","signatures":[{"sig":"MEUCIQDYj7XFbmjLrLOQCfI+cH8sIAn7g0tOSpbpo2Y86okZPAIgSuD9xHAQByJdujHWkL+eHbiD9hHL6pl0VmNvA/7vf6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88091},"main":"index.js","type":"module","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./npm.js","./base":"./base.js","./flows/npm":"./flows/npm.js","./flows/tag":"./flows/tag.js","./flows/helm":"./flows/helm.js","./flows/docker":"./flows/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.23","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^2.3.3","@cenk1cenk2/eslint-config":"^3.3.2"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_3.0.0_1789057429824_0.8984527496123675","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@cenk1cenk2/semantic-release-config","version":"4.0.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@4.0.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"473d24a59b5c821918b1701de82fc99e6fbf9196","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-4.0.0.tgz","fileCount":16,"integrity":"sha512-ALT9+ijDpbZ99+Ta5rWWyNMYy2RL2217OXGrkLSVhVbfwszEEEL5sW4JkUjIBn6qfKCGMkpj6G+SMz7EhXVdIw==","signatures":[{"sig":"MEUCIHLRFakPuJqE53tzBquKo/ODUswfC3W2YjoYu1jbE7BqAiEA4aQeSQxK0tQQETn9x6uFav0cIy+GOvBtqeQIlQCHPD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88205},"main":"index.js","type":"module","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./npm.js","./base":"./base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.23","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^2.3.3","@cenk1cenk2/eslint-config":"^3.3.2"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_4.0.0_1789059131452_0.3390646535050301","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@cenk1cenk2/semantic-release-config","version":"4.0.1","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@4.0.1","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"5c04b27d702f06b2338da660ab708f07a4b38b60","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-4.0.1.tgz","fileCount":16,"integrity":"sha512-iIfTLmzhe5DNZVFLbR3rbnwzggOj5k5mN+IiA6OLqYamvYmUKnBVkPaWPfGqpLfsD453Yu6TunL7RFnU2B4SFg==","signatures":[{"sig":"MEQCIH8lTb9OXSQwbzmiDC1tZyoXb7DQ2a5vicWjPPMwxzaHAiAuwVM3SOC0zIscPrGIrbRDIyU4jKEELRzkE9Ypm8tUww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88107},"main":"index.js","type":"module","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./npm.js","./base":"./base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.23","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^2.3.3","@cenk1cenk2/eslint-config":"^3.3.2"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_4.0.1_1789062075346_0.9803337985333012","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@cenk1cenk2/semantic-release-config","version":"5.0.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.0.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"5fc918d17ab0101af9cebc03c8794a8023a135e7","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.0.0.tgz","fileCount":36,"integrity":"sha512-j9JNzGD0I+C07Fn1KpPS9zZa8GOrdERn2dt6FmJ56W3GIktaBM6fwd1fCp1HeqxyTRa3MSU4c7TdkKZjrPRGNQ==","signatures":[{"sig":"MEYCIQC7/5aB7RUanN5BuiFRFL7ehggs2QXnt2KDacxb60DiBQIhAOVmoHQar2LtedqCoAMHZGCfHn2DJLU2+6tdgowGzqLQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124108},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.23","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^2.3.3","@cenk1cenk2/eslint-config":"^3.3.2","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.0.0_1789070964694_0.5186725785591797","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@cenk1cenk2/semantic-release-config","version":"5.1.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.1.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"45348b7c71b8318cdaa68f78b5d8511a7876d25b","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.1.0.tgz","fileCount":38,"integrity":"sha512-kCWhvdnd6+REYct9ruGylXUgmay8MIH42QitB1L26sOoXfGsuk1bnK6F1WLL7s1EI5iEYWhaE4oASJUEWeKRSQ==","signatures":[{"sig":"MEQCIERVB/WiEwGeyPQdIEyitrvT+o6ItSmZz8l7pG53WNZMAiAOVzI+IWcB74tzscWTL4fF+ygF2Tegei1eZW0kL7nG6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142621},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.23","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.0","lint-staged":"^17.5.0","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^3.0.0","@cenk1cenk2/eslint-config":"^3.3.2","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.1.0_1789074348430_0.9639575162849647","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"@cenk1cenk2/semantic-release-config","version":"5.1.1","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.1.1","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"e27c2e51ccb5617c1278197ff7be9cafd853595e","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.1.1.tgz","fileCount":38,"integrity":"sha512-fyiyd5vLpfGyRLd5y9tAL3lvhvnPDISDnZChPjabcG4doXEX3PzqkcJ4yxzpXPDBOdVkbkn4StZhEdEIz0UfQA==","signatures":[{"sig":"MEUCIQDbX0pcK2DdCg9mc437xV/i9p1TY6MgM6ZYi8f358B5JQIgSy4NSAODL67pwrLIwdoPYp9sTX7nQpZ4vQ3Keu0r13o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142652},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.23","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","lint-staged":"^17.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^3.0.0","@cenk1cenk2/eslint-config":"^3.3.5","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.1.1_1790002828254_0.9144919717717166","host":"s3://npm-registry-packages-npm-production"}},"5.1.2":{"name":"@cenk1cenk2/semantic-release-config","version":"5.1.2","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.1.2","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"26bea251e4c2916280e1dab1b1403c85f8f9e90a","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.1.2.tgz","fileCount":38,"integrity":"sha512-uM3tqJw3ZbVgJOnCpzm0YX86F6geucEO1XHX5QX9fG63P1GWKwet3qFil4tz1l+UYlWNon5rVHa47Tk8BM8jkw==","signatures":[{"sig":"MEUCIQCYabaj6XfTFjwMzAwFEpJKL5Z89qLw403t3h6l8mw/SAIgOcrNVVpl3YsR/Pz5sftHToshwaWh0w55xBcPgYC+ZzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142652},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"lint-staged":{"*.{json,md}":["prettier --log-level warn --write"],"*.{ts,js,tsx,jsx}":["prettier --log-level warn --write","eslint --fix"]},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.24","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","lint-staged":"^17.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","simple-git-hooks":"^2.14.0","@cenk1cenk2/cz-cc":"^3.0.0","@cenk1cenk2/eslint-config":"^3.3.5","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"simple-git-hooks":{"pre-commit":"pnpm exec lint-staged","prepare-commit-msg":"[ -t 1 ] && exec < /dev/tty && git cz --hook || true"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.1.2_1790005558537_0.416648507683681","host":"s3://npm-registry-packages-npm-production"}},"5.1.3":{"name":"@cenk1cenk2/semantic-release-config","version":"5.1.3","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.1.3","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"e464c3c0f4490695af18fd13336da3cedab251a0","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.1.3.tgz","fileCount":38,"integrity":"sha512-Qq+USpV043FvjK8cfgGXjWXREXT7lgN3wu9ILaGWEMN/nuob+zGcfxUouNrdECmJk/e5kwNs13BwwFLTYzvsOA==","signatures":[{"sig":"MEYCIQDthUTiVZ64vlG2H9FtXBNvKXM3BBvIUtb3Z9XMCvtjgwIhAI0DFRvuvrADlKnmv4UiSun+PhwoJIxCIF6meE8i+Uw6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142243},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.25","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.1.3_1790179485077_0.5286361859601809","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@cenk1cenk2/semantic-release-config","version":"5.2.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.2.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"164f53b9f36b165112068d3c1dd7c94266068d52","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.2.0.tgz","fileCount":38,"integrity":"sha512-kOgYScR9NRzHs8spIgwlq2kCSMEWIrlU95iKNUSeM3hVGIZPFjhpOxE13auA286oFhivwpODuCHQ4ytRWYpRlg==","signatures":[{"sig":"MEYCIQDyVbiKxC12XFU6k0Exl5x+x7bi7Z1IMCwDNp2ZvdjGOgIhAIrc5m/zqbp2lXwRISqKNnxuqn7XooUourjz5NpAu923","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144483},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.25","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.2.0_1790362132401_0.10688441228271306","host":"s3://npm-registry-packages-npm-production"}},"5.1.4":{"name":"@cenk1cenk2/semantic-release-config","version":"5.1.4","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@5.1.4","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"6589ec4328bc984063664ce950bc27a489bbe35e","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-5.1.4.tgz","fileCount":38,"integrity":"sha512-UqY/95w6Po4/Sa+xTw64YG/ySDxU02jQIvDH4l2rFcYUoiLIHwpIZFhg506xeq/SyxUTZZFt2xtUsSeaokhkMg==","signatures":[{"sig":"MEUCIQDWXf8Gxhll7LTqb+F3zlUHIU62OFyT3BlJWGG2/9xNJQIgIW8smqru5FavJA97YCi9iRXRjavD776a8JeAZakEbaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142438},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.25","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_5.1.4_1790362142098_0.9563400854157564","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@cenk1cenk2/semantic-release-config","version":"6.0.0","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@6.0.0","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"66098d313833299d151c2c4a8680995c8f4d3501","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-6.0.0.tgz","fileCount":38,"integrity":"sha512-kInSjdnD8s3q7zCgQGxkI+/piUzI+OsvAKf4KPlOJNI/EuU7X0cYTXceIuOs0uQgclgPkl4sjq6uOXPNSZ1v/w==","signatures":[{"sig":"MEYCIQCAhH4M5SHFdanKHkC2LCnj0g8ZOCDAlTNxZJfXnLTeowIhAN5zF3zahW/OzOL86lVXbVupXulJaji6WAdhqWznD6+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144754},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.25","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_6.0.0_1790364829049_0.23207924445861572","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"@cenk1cenk2/semantic-release-config","version":"6.0.3","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@6.0.3","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"a021d22d4cd28d349ef1fd38d208ca76f9b7efff","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-6.0.3.tgz","fileCount":38,"integrity":"sha512-uLGg/cePSkmuo5dxSVrS/Jp9PNJvSxUI0Yj12HNVXKMrX5hEwZ1THb8SiyD4ENwp2Op0czCpv+9RSs4nNAftsw==","signatures":[{"sig":"MEUCIDCUqgXpVSLWIphGS+NV8kZxSCLoq/FHxcfa83NE/TFDAiEAi1wpWh32gr8NCKTAEEyFCu/zchiDxKcyG/XejQKCq1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144754},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.2.0","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.26","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.11.0","prettier":"^3.9.8","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.6.2","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_6.0.3_1790868674480_0.3949134614843697","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"@cenk1cenk2/semantic-release-config","version":"6.0.1","author":"Cenk Kilic","license":"MIT","_id":"@cenk1cenk2/semantic-release-config@6.0.1","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dist":{"shasum":"b64462b26e2568d8d6c99a9dce3c7e2f1d4c8e2f","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-6.0.1.tgz","fileCount":38,"integrity":"sha512-SyKJuxUSqFjTfSKCxGma9M77aJYDbfw8fZJQSWzbeEgk9lMNBGeXYzzd3Oa1d1gl8dbiexWXV/ozPLJqdVqUHw==","signatures":[{"sig":"MEUCIFv1rOmGIw3SOf760EY/BAqOki8y/BlY/uuDLGMpK/i8AiEAnx6iPtwAEheb6oup1UaOvTv/Z4bedR6+FBgGhxrSvRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144754},"main":"index.js","type":"module","types":"./index.d.ts","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.25","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"tmp":"tmp/semantic-release-config_6.0.1_1790868797896_0.4481266205246548","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"_id":"@cenk1cenk2/semantic-release-config@6.0.2","dist":{"shasum":"7e0bf6685524381e23c0e120ab95da729f1663cb","tarball":"https://registry.npmjs.org/@cenk1cenk2/semantic-release-config/-/semantic-release-config-6.0.2.tgz","integrity":"sha512-ZqGK1dUqM7+UUjeHx1YQ/9y51opBcS9JIjpcR8FmXyZ1hdZxlAGDi93vtRJ3uO+hnuztj7ZnnlKLz5/zS3BmMA==","fileCount":38,"unpackedSize":144754,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEXoVVtawWRFxGz6F4qTTtP8mwwTUaXCe96PW+fn51q5AiBvyz3RbTvYQGaI99lTdxj1krMt+/bEpRH5Nz4J43EfTw=="}]},"main":"index.js","name":"@cenk1cenk2/semantic-release-config","type":"module","types":"./index.d.ts","author":"Cenk Kilic","config":{"commitizen":{"path":"./node_modules/@cenk1cenk2/cz-cc"}},"exports":{".":"./index.js","./npm":"./configs/npm.js","./base":"./configs/base.js","./presets/npm":"./presets/npm.js","./presets/tag":"./presets/tag.js","./presets/helm":"./presets/helm.js","./presets/docker":"./presets/docker.js","./plugin/staged-publish":"./plugin/staged-publish.js"},"license":"MIT","scripts":{"lint":"eslint","test":"node --test --test-reporter=spec test/*.test.js","types":"rm -f index.d.ts configs/*.d.ts lib/*.d.ts plugin/*.d.ts presets/*.d.ts && tsc -p tsconfig.build.json","format":"prettier --log-level warn --write ./ && eslint --fix","typecheck":"tsc --noEmit"},"version":"6.0.2","_npmUser":{"name":"cenk1cenk2","email":"cenk@kilic.dev","approver":{"name":"cenk1cenk2","email":"cenk@kilic.dev"}},"repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","directories":{},"maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"dependencies":{"rc":"^1.2.8","nerf-dart":"^1.0.0","@visulima/yaml":"1.0.0","registry-auth-token":"^5.1.1","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.1.5","@semantic-release/error":"^4.0.0","@semantic-release/changelog":"^7.0.0","@anolilab/semantic-release-pnpm":"^8.1.26","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"^9.3.1"},"publishConfig":{"access":"public"},"devDependencies":{"eslint":"^10.10.0","prettier":"^3.9.6","@types/rc":"^1.2.4","typescript":"^6.0.3","@types/node":"^26.5.1","@tsconfig/node24":"^24.0.5","semantic-release":"^25.0.9","@cenk1cenk2/cz-cc":"^3.0.1","@cenk1cenk2/eslint-config":"^3.3.6","@types/semantic-release__error":"^3.0.3"},"peerDependencies":{"semantic-release":">= 24"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/semantic-release-config_6.0.2_1790870072882_0.3773898395156958"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-10T11:45:54.311Z","modified":"2026-10-01T15:54:33.090Z","1.0.1":"2026-09-10T11:45:54.637Z","2.0.0":"2026-09-10T12:38:51.332Z","3.0.0":"2026-09-10T16:23:49.922Z","4.0.0":"2026-09-10T16:52:11.534Z","4.0.1":"2026-09-10T17:41:15.434Z","5.0.0":"2026-09-10T20:09:24.834Z","5.1.0":"2026-09-10T21:05:48.520Z","5.1.1":"2026-09-21T15:00:28.354Z","5.1.2":"2026-09-21T15:45:58.622Z","5.1.3":"2026-09-23T16:04:45.175Z","5.2.0":"2026-09-25T18:48:52.502Z","5.1.4":"2026-09-25T18:49:02.175Z","6.0.0":"2026-09-25T19:33:49.143Z","6.0.3":"2026-10-01T15:31:14.569Z","6.0.1":"2026-10-01T15:33:17.979Z","6.0.2":"2026-10-01T15:54:32.969Z"},"author":"Cenk Kilic","license":"MIT","repository":{"url":"git@gitlab.kilic.dev:renovate/semantic-release-config.git","type":"git"},"description":"Shared semantic-release configuration for my taste.","maintainers":[{"name":"cenk1cenk2","email":"cenk@kilic.dev"}],"readme":"# @cenk1cenk2/semantic-release-config\n\nShared [semantic-release](https://github.com/semantic-release/semantic-release) defaults for the repositories on `gitlab.kilic.dev`.\n\nThere are two ways to use it, and both are supported.\n\nA **release preset** is a whole release in one plugin entry. It owns the branch list, the commit-analysis preset, whether a changelog or a release commit is written at all — neither, by default — and the publish, and the repository says only what is true of that repository.\n\n```js\n// release.config.js — a chart repository, entire\nexport default {\n  extends: '@cenk1cenk2/semantic-release-config',\n  plugins: [['@cenk1cenk2/semantic-release-config/presets/helm', { changelog: {}, commit: {}, assets: { extend: ['Chart.yaml'] } }], '@semantic-release/gitlab']\n}\n```\n\n**`extends` plus your own plugins array** is the older shape, and nothing about it has changed. The package contributes the branch list and the commit-analysis preset, the repository writes out every plugin, and the array in front of you is the array that runs.\n\nReach for a preset when a repository releases the way the rest of the estate does. Write the array out when it does not, or when you would rather read the whole pipeline than open this package to find out what it does.\n\n## Release presets\n\n> **Two things are called a preset here, and they are not the same thing.** A **release preset** is one of this package's entrypoints — `presets/npm`, `presets/helm` and the rest — and is what this section is about. The analyzer's **`preset`** option names a `conventional-changelog-*` package and is what decides how a commit message parses. A release preset owns that option rather than exposing it, which is the only place the two meet.\n\nA release preset is one plugin object implementing every step of a release. Where the older shape asks each repository to write out the same six plugins and keep them in the right order, a preset puts that order inside itself and asks for the handful of things that actually differ.\n\nThat inverts the merge problem below rather than dodging it. semantic-release replaces an extended `plugins` array outright, which is why this package could never ship a useful one — every repository needing a provider would throw it away. A preset makes the repository's array one entry long, so replacing it costs nothing.\n\n### What a preset owns\n\n- **The branch list, the commit-analysis preset and the release rules.** The analyzer's `preset` option is not exposed: the plugins default to `angular`, whose parser does not match `feat!:` at all, and a repository that could set it could turn that back on by accident. Which commit types earn a release, and which earn a changelog section, are settled the same way — see [Which commit types release](#which-commit-types-release). `analysis` carries everything else the analyzer and the notes generator take.\n- **Whether a changelog or a release commit exists at all**, and both are off by default: the tag and the forge release are the release. A repository that opts in with `changelog: {}` or `commit: {}` gets them in that order, after the version bump — which is the order the estate got wrong by hand often enough to be worth fixing once.\n- **The publish**, through the providers named below, and the dist-tag promotion that follows it: a version released on `next` and later merged to `main` becomes `latest` without being republished.\n\nA preset does **not** own the provider. Whether a release goes to GitLab or to GitHub is the repository's fact, so it names its own — a preset entry and a provider entry is still a plugins array a person can read at a glance.\n\n### Preset entrypoints\n\n| Entrypoint        | For                               | `provider` | `tagsFile` | `tagPrefix` | `publish` | Release commit carries (with `commit: {}`) |\n| ----------------- | --------------------------------- | ---------- | ---------- | ----------- | --------- | ------------------------------------------ |\n| `/presets/npm`    | npm packages                      | `['npm']`  | —          | `v`         | `direct`  | changelog, `package.json`                  |\n| `/presets/helm`   | helm charts                       | `['tag']`  | `.tags`    | `v`         | `false`   | changelog                                  |\n| `/presets/docker` | container images                  | `['tag']`  | `.tags`    | `v`         | `false`   | changelog                                  |\n| `/presets/tag`    | ansible roles, CI catalogs, sites | `['tag']`  | `.tags`    | `v`         | `false`   | changelog                                  |\n\nEvery family writes a `v`-prefixed version, `/presets/docker` included — the image tag is `v1.2.3`, the same string the git tag carries, so a released version reads the same wherever it is written down. `/presets/helm`, `/presets/docker` and `/presets/tag` carry the same defaults today; they are three names so that a repository declares what it is, and so the day a chart preset has to rewrite `Chart.yaml` there is one place to do it.\n\n### Options\n\nEvery preset takes the same options. A family only decides what they default to.\n\n| Option | Default | What it does |\n| --- | --- | --- |\n| `provider` | the family's | Publish targets, in the order they run. `npm`, `tag`, or both. `[]` publishes nothing and leaves the tag as the release. |\n| `assets` | the family's | Files in the release commit, only read when `commit` is on. `{ extend: [...] }` adds to the family's, `{ set: [...] }` replaces them, a bare array is `set`. |\n| `changelog` | `false` | Passed to `@semantic-release/changelog`. `{}` writes `CHANGELOG.md`; `changelogFile` and `changelogTitle` override the file and its title. |\n| `commit` | `false` | Passed to `@semantic-release/git`. `{}` commits the assets back to the branch as `chore(release): … [skip ci]`; `message` replaces the message. |\n| `tagsFile` | `$TAGS_FILE`, else the family's | Where the `tag` provider writes the version. |\n| `tagPrefix` | the family's | Prefix on the version the `tag` provider writes. |\n| `client` | `npm` | `npm` or `pnpm`. Picks the plugin behind the version bump and the publish. |\n| `publish` | the family's | `direct`, `staged`, or `false` — how the `npm` provider ships the tarball. |\n| `workspace` | unset | pnpm package selector, passed to a staged publish as `--filter`. |\n| `analysis` | the estate's rules and sections | Extra analyzer and notes options: `releaseRules`, `presetConfig`, `parserOpts`. Not the analyzer's `preset`. `releaseRules` takes `extend` / `set` like `assets`. |\n\n`assets` is two words rather than one because there are two things a repository means. `extend` adds to what the family already commits and is what almost every repository wants; `set` replaces the list, for the one that does not. A bare array is read as `set` — that is the shape semantic-release's own plugins take, so it is the shape written without thinking, and quietly treating it as `extend` would commit files nobody listed.\n\n### Providers\n\n`provider` is an array because a repository can release to more than one place, and the order is the order they run in.\n\n- **`npm`** verifies the registry, writes the version into `package.json`, and ships the tarball according to `publish`.\n- **`tag`** writes `<tagPrefix><version>` to `tagsFile` for the job that runs after semantic-release. Charts, images and roles are not published by semantic-release at all — the release run decides the version and a later job builds and pushes something tagged with it. This replaces the `@semantic-release/exec` entry the estate hand-copied for it.\n\nsemantic-release shows one row per `publish` hook, so a preset with several providers reports the **first** one — the array is ordered, and what a repository lists first is what it releases. Nothing is dropped: every provider's result rides along on that row, and `success` reports from all of them.\n\n**The one combination a preset rejects** is more than one provider together with a release commit, which is only reachable with `commit: {}`. It fails at `verifyConditions` with `EMULTIPROVIDERPUSH`, before a release is decided:\n\n```js\n// rejected — the release commit is pushed before the first publish, and cannot be taken back\nplugins: [['@cenk1cenk2/semantic-release-config/presets/npm', { provider: ['npm', 'tag'], commit: {} }]]\n```\n\n```js\n// fine — the tag alone marks the release\nplugins: [['@cenk1cenk2/semantic-release-config/presets/npm', { provider: ['npm', 'tag'] }]]\n```\n\nWith one provider, a publish failure leaves a pushed commit and tag for a version that exists nowhere, which is recoverable by hand. With several, the run can also stop _between_ them, and the branch is then claiming a release that happened in one registry and not the other. semantic-release cannot roll a pushed commit back, so the preset refuses the shape rather than discovering it during an incident.\n\n### What the guards raise\n\nEvery check below runs at `verifyConditions`, before a release is decided, and fails with a code the job log carries:\n\n| Code                  | Raised when                                                                                 |\n| --------------------- | ------------------------------------------------------------------------------------------- |\n| `EPRESETDOUBLEENTRY`  | the same preset is listed twice — a preset is the whole release, so two of them do it twice |\n| `EMULTIPROVIDERPUSH`  | several providers together with a release commit (`commit: {}`)                             |\n| `EASSETSMERGE`        | `assets` was given both `extend` and `set`, or an object with neither                       |\n| `ERELEASERULESMERGE`  | `analysis.releaseRules` was given both `extend` and `set`, or an object with neither        |\n| `EINVALIDPROVIDER`    | `provider` names something other than `npm` or `tag`                                        |\n| `EINVALIDCLIENT`      | `client` is neither `npm` nor `pnpm`                                                        |\n| `EINVALIDPUBLISH`     | `publish` is not `direct`, `staged` or `false`                                              |\n| `ENOTAGSFILE`         | the `tag` provider has nowhere to write: `tagsFile` is `false` and `$TAGS_FILE` is unset    |\n| `EINVALIDSTAGECLIENT` | a staged publish was asked for through a client that has no `stage publish`                 |\n| `ENOSTAGECLIENT`      | that client is not on `PATH` in the release job                                             |\n| `ESTAGECLIENTVERSION` | it is on `PATH` but older than the version that carries `stage`                             |\n| `ENOSTAGECREDENTIALS` | nothing in the config chain holds a credential for the registry being staged to             |\n\nA preset aggregates them, so a repository being configured for the first time learns about the missing token and the unknown provider in one pipeline run rather than three.\n\n### Staged publishing\n\nStaged publishing uploads the tarball to the registry in a state nothing resolves, and a maintainer approves it later with a 2FA challenge. The release job never holds a credential that can publish on its own.\n\nThrough a preset it is one option:\n\n```js\nplugins: [['@cenk1cenk2/semantic-release-config/presets/npm', { client: 'pnpm', publish: 'staged' }]]\n```\n\nStandalone, it is a plugin, for a repository that writes its own array:\n\n```js\nplugins: [\n  ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }],\n  ['@semantic-release/release-notes-generator', { preset: 'conventionalcommits' }],\n  ['@anolilab/semantic-release-pnpm', { npmPublish: false }],\n  ['@cenk1cenk2/semantic-release-config/plugin/staged-publish', { client: 'pnpm' }],\n  '@semantic-release/changelog',\n  ['@semantic-release/git', { assets: ['CHANGELOG.md', 'package.json'] }],\n  '@semantic-release/gitlab'\n]\n```\n\nEither way:\n\n- **It never blocks.** A release job that waits on a human is a release job that times out.\n- **It reports what happened.** `publish` stages, so the run would otherwise report a published version that nobody can install. It reports `npm package (staged, pending approval: <stage-id>)` instead, which is what the run's summary shows, and `success` prints the one command that finishes it:\n\n  ```\n  @scope/package@1.2.3 is STAGED, not published — nothing resolves it until a maintainer approves it with a 2FA challenge.\n    approve with: pnpm stage approve <stage-id>\n  ```\n\n  No file is written. The stage id comes back on the release object the plugin's own `publish` returned, so semantic-release already carries it into `success` and into the summary.\n\n- **It authenticates itself.** `NPM_TOKEN` in the environment is the whole setup — no `before_script`, no npmrc for the job to write. This was the trap it exists to close: `@semantic-release/npm` and `@anolilab/semantic-release-pnpm` build a temporary npmrc from `NPM_TOKEN` and pass it to their own client calls as `--userconfig`, and that file is invisible to any other process, so a staged publish saw no credentials at all and every repository had to echo one into `~/.npmrc` first. This plugin builds its own the same way and passes it the same way — `pnpm` takes `--userconfig` too, aliased to `--npmrc-auth-file`.\n\n  What lands in that file is the literal `${NPM_TOKEN}`, which both clients expand from the environment as they read it, so the token itself is never on disk. An npmrc the job already has wins: when the existing config chain carries a token for the registry, it is passed through unchanged.\n\n- **It checks what it can up front.** `verifyConditions` rejects an unknown client, one too old for the subcommand (`npm` 11.15.0, `pnpm` 11.3.0), and a registry it has no credential for — all before a release is decided.\n\nOptions are `client`, `tag`, `access`, `workspace`, `pkgRoot` and `rejectOnFail`. `rejectOnFail` is off by default and best-effort when on: `stage reject` wants proof of presence too, so without an OTP in the job it logs what to reject by hand rather than masking the failure that got there.\n\n### Upgrading to 6.0.0\n\n- **The changelog and the release commit are off.** A preset writes no `CHANGELOG.md` and pushes nothing back to the branch unless the repository opts in with `changelog: {}` and `commit: {}`.\n- **`skipCi` is gone**, and `ECOMMITSKIPCI` with it. An opted-in release commit always carries `[skip ci]`; `message` still replaces the message outright.\n- **Tags point at the merged commit.** With no release commit, the tag lands on the commit the pipeline ran for rather than on a `[skip ci]` commit, so tag pipelines run.\n\n### Migrating\n\nNothing is removed. `/base` and `/npm` still resolve, the recipes below still work, and a repository can stay on them indefinitely — the presets are an additional shape, not a replacement.\n\nMoving one repository over is deleting its plugins array and naming a preset. Read the [options](#options) table for what its old array said that the family's defaults do not, and check two things in particular: whether the release commit's asset list matches, and whether it published to more than one place, which a preset will reject if it also opts into `commit: {}`.\n\n## Bringing your own plugins array\n\nEverything below is the older shape, unchanged.\n\n## Why the plugins array is repeated\n\nsemantic-release merges an extended config **shallowly, per top-level option** ([`lib/get-config.js`](https://github.com/semantic-release/semantic-release/blob/master/lib/get-config.js)). A repository that declares `plugins` replaces the extended array outright — there is no append, no deep merge, no way to add one plugin to an inherited list.\n\nThat is not a limitation to work around. It is the reason this package does not ship pipelines: any plugin it put in `plugins` would be thrown away by every repository that needed to add a provider, so shipping one would only create the illusion of a shared default. What survives the merge is `branches`, and that is what `extends` is for here.\n\nSo yes, the two analysis plugins are written out again in each repository. In exchange, the plugin list in front of you is the plugin list that runs.\n\nOne thing does not survive that trade. The estate's release rules are a **plugin option**, not a top-level one, so a hand-written array gets `@semantic-release/commit-analyzer`'s defaults and not this package's — a `refactor:` or `revert:` commit releases nothing there. Extend `/base`, use a preset, or write the rules out beside the plugin: [Which commit types release](#which-commit-types-release) has the array.\n\n## Entrypoints for `extends`\n\n| Entrypoint | Contents                                                                                                                                    |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| `/base`    | branches, commit-analyzer and release-notes-generator with `preset: conventionalcommits`, the estate's release rules and changelog sections |\n| `/npm`     | the same, plus `@semantic-release/npm` at its own defaults                                                                                  |\n\nThe bare specifier `@cenk1cenk2/semantic-release-config` resolves to `/base`.\n\n`/npm` exists because the registry auth check and the `package.json` version bump are done identically everywhere; the publish mode is not. A package that publishes directly and writes nothing back can use it through `extends` alone. Anything else declares its own array.\n\nNeither `/chart`, `/docker` nor `/tag` is an `extends` entrypoint. Once write-back and tag behaviour belong to the repository, those three had nothing left in them that `/base` did not already have, and three names for one object is worse than one. The `/presets/*` entrypoints above carry those names because a preset does own that behaviour, and there the names mean something.\n\n### Building the config yourself\n\nThe bare specifier also exports the two factories the entrypoints above are built from, for a config file that wants the estate's defaults with one of them moved:\n\n```js\n// release.config.js\nimport { base } from '@cenk1cenk2/semantic-release-config'\n\nexport default base({ branches: ['main', { name: 'edge', prerelease: true }] })\n```\n\n| Option     | Default                                                       | What it does                                                                 |\n| ---------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------- |\n| `branches` | `main`, `master`, `next`, `next-major`, `alpha`, `beta`, `rc` | The release branch list, replaced outright rather than added to              |\n| `preset`   | `conventionalcommits`                                         | The `conventional-changelog-*` package the analyzer and the notes parse with |\n\n`base()` and `npm()` called with no arguments are exactly what `/base` and `/npm` are: the subpaths are those calls, prebuilt, and stay the `extends` targets to name. Reach for a factory only where a repository has to change one of the two — an `extends` string needs no `node_modules` in the release job, and an import does.\n\n## Repository recipes\n\nCopy, adjust, own. Each needs `extends` for the branch list.\n\n**Chart** — changelog committed back, GitLab release, `v`-prefixed tag for the chart publish job:\n\n```js\nplugins: [\n  ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }],\n  ['@semantic-release/release-notes-generator', { preset: 'conventionalcommits' }],\n  '@semantic-release/changelog',\n  ['@semantic-release/git', { assets: ['CHANGELOG.md'] }],\n  '@semantic-release/gitlab',\n  ['@semantic-release/exec', { publishCmd: \"echo 'v${nextRelease.version}' > $TAGS_FILE\" }]\n]\n```\n\n**Docker** — the same again, `v` prefix included: the image tag is `v1.2.3`, so the exec line is the chart one unchanged.\n\n**npm, published directly** — `extends` `/npm`, and order `@semantic-release/npm` **before** `@semantic-release/git` so the version bump it writes into `package.json` is staged into the release commit:\n\n```js\nplugins: [\n  ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }],\n  ['@semantic-release/release-notes-generator', { preset: 'conventionalcommits' }],\n  '@semantic-release/npm',\n  '@semantic-release/changelog',\n  ['@semantic-release/git', { assets: ['CHANGELOG.md', 'README.md', 'package.json'] }],\n  '@semantic-release/gitlab'\n]\n```\n\n**npm, staged publish** — `npmPublish: false` plus `npm stage publish` shelled out, because `@semantic-release/npm` still has no custom publish command ([semantic-release/npm#1160](https://github.com/semantic-release/npm/issues/1160)). Swap `@semantic-release/gitlab` for `@semantic-release/github` on a repository that releases to a GitHub mirror:\n\n```js\nplugins: [\n  ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }],\n  ['@semantic-release/release-notes-generator', { preset: 'conventionalcommits' }],\n  ['@semantic-release/npm', { npmPublish: false }],\n  ['@semantic-release/exec', { publishCmd: 'npm stage publish ${nextRelease.channel ? \"--tag \" + nextRelease.channel : \"\"}' }],\n  '@semantic-release/changelog',\n  ['@semantic-release/git', { assets: ['CHANGELOG.md', 'README.md', 'package.json'] }],\n  '@semantic-release/gitlab'\n]\n```\n\nPrefer [`plugin/staged-publish`](#staged-publishing) over the `exec` entry above. Shelling the command out means the job also has to hand it credentials, because the plugin beside it keeps its own npmrc private — that is the `before_script` echoing `//registry.npmjs.org/:_authToken=${NPM_TOKEN}` into `~/.npmrc` that the estate carried in every repository. The plugin writes its own and needs nothing but `NPM_TOKEN`.\n\nIt handles the rest of it too. pnpm runs its publish git checks at a point in the run where the tree cannot pass them — the version bump is written into `package.json` and `@semantic-release/git` has not committed yet — so `--no-git-checks` is required, and the same flag waives the publish-branch check that would otherwise reject every prerelease branch. The plugin passes it; a hand-written `exec` command has to remember to.\n\n[`@anolilab/semantic-release-pnpm`](https://www.npmjs.com/package/@anolilab/semantic-release-pnpm) is a drop-in replacement for `@semantic-release/npm` that does all of it through pnpm, and takes the same `npmPublish: false`. It has no staged mode of its own, which is what `plugin/staged-publish` is for. It is not one of the plugins the CI image carries — semantic-release also resolves plugins from the repository's own `node_modules`, so a repository using it declares it as a devDependency and relies on the install job's artifact.\n\nThis repository releases itself that way, through its own `/presets/npm` rather than by hand — see [Releasing this package](#releasing-this-package).\n\n**Tag only** — ansible roles, CI component catalogs, static sites:\n\n```js\nplugins: [\n  ['@semantic-release/commit-analyzer', { preset: 'conventionalcommits' }],\n  ['@semantic-release/release-notes-generator', { preset: 'conventionalcommits' }],\n  '@semantic-release/changelog',\n  ['@semantic-release/git', { assets: ['CHANGELOG.md'] }],\n  '@semantic-release/gitlab'\n]\n```\n\n## Notes\n\n### Plugin names resolve from the image, not from the repository\n\nName plugins as strings. semantic-release resolves a plugin the repository names from its own install directory, which in the CI image holds every plugin, so a repository needs no `node_modules` of its own. `extends` resolves the same way. `pnpm test` checks both against a real install.\n\nImporting a plugin module in `release.config.js` instead would make node resolve it from the repository, which is the one thing that does not work there.\n\nA preset looks like it breaks that rule and does not. The repository still names a **string** — `@cenk1cenk2/semantic-release-config/presets/helm` — which semantic-release resolves from the image exactly like any other plugin. The plugins a preset delegates to are resolved by node from _this package_, where they are declared dependencies, so they come along with it. That is why `@semantic-release/changelog`, `@semantic-release/git`, `@semantic-release/npm` and `@anolilab/semantic-release-pnpm` are dependencies here rather than devDependencies: a preset that imports them has to carry them. A repository consuming a preset declares none of them, and still needs no `node_modules` of its own.\n\n### The exports map has no conditions\n\nEvery target in `exports` is a plain string. That is load-bearing, not tidiness.\n\nsemantic-release finds a plugin with [`resolve-from`](https://github.com/sindresorhus/resolve-from), which is the **CommonJS** resolver, and then `import()`s the path it gets back ([`lib/plugins/utils.js`](https://github.com/semantic-release/semantic-release/blob/master/lib/plugins/utils.js)). So a subpath is resolved under the `require` condition and loaded as ESM. Split it — `{ import: './x.js', require: './x.cjs' }` — and semantic-release resolves the CommonJS file and then imports it, which is the one combination nobody tested. A plain string has one answer for both conditions. `pnpm test` asserts each subpath resolves under `require.resolve` **and** under `import()`, from the packed package.\n\nWhat it reads off the loaded module is the default export where there is one and the named exports where there is not. A release preset is one object implementing every step, so it is the default; `plugin/staged-publish` is a module of hooks, so it is the names. A repository names either as a plugin string and never sees the difference.\n\n### Types ship with the package\n\nThe sources are plain JavaScript with JSDoc, and `tsc -p tsconfig.build.json` emits a `.d.ts` beside each of them. It runs on `prepack`, so a consumer installs declarations for the entrypoints, the preset options and the factory options without this package shipping TypeScript. `semantic-release` supplies the option and context types the declarations refer to — it is already a peer dependency, so an editor that can see one can see the other.\n\n### Which commit types release\n\n| Type                                              | Release | Changelog section        |\n| ------------------------------------------------- | ------- | ------------------------ |\n| `feat`                                            | minor   | Features                 |\n| `fix`                                             | patch   | Bug Fixes                |\n| `perf`                                            | patch   | Performance Improvements |\n| `refactor`                                        | patch   | Code Refactoring         |\n| `revert`                                          | patch   | Reverts                  |\n| `docs`, `style`, `chore`, `test`, `build`, `ci`   | none    | hidden                   |\n| any type with `!`, or a `BREAKING CHANGE:` footer | major   | Breaking Changes         |\n| git's own `Revert \"...\"` commit                   | patch   | Reverts                  |\n\n`refactor` and `revert` are this package's addition; the rest is what `@semantic-release/commit-analyzer` already did. Two things decided that pair:\n\n- **The bot writes none of them.** The estate's renovate configuration emits `feat`, `perf`, `ci`, `build`, `docs` and — through `config:recommended` — `fix(deps)` and `chore(deps)`. A rule for `build` or `chore` would turn every dependency bump into a release. A rule for `refactor` or `revert` changes only what a person wrote by hand.\n- **`revert` was a gap rather than a policy.** The plugin's `{ revert: true }` default matches the shape `git revert` writes and not a `revert:` type, so a hand-written `revert:` released nothing while already printing under Reverts in someone else's changelog.\n\nThe rules are configured, not restated. The analyzer consults its own defaults for any commit that no configured rule matched, so only the difference is written down:\n\n```js\n// lib/rules.js\nexport const RELEASE_RULES = [\n  { breaking: true, release: 'major' },\n  { type: 'refactor', release: 'patch' },\n  { type: 'revert', release: 'patch' }\n]\n```\n\n**`breaking` is in that list on purpose.** The fallback is per commit and only for a commit nothing matched, so `refactor!:` matching the `refactor` rule never reaches the defaults — and without the first line a breaking change would land as a patch. Anything that adds a type rule has to carry it.\n\nThe changelog side works the other way round: `presetConfig.types` replaces the preset's list outright, so `COMMIT_TYPES` is built from `conventional-changelog-conventionalcommits`' own exported default with `refactor` unhidden, and a type the preset adds later arrives on its own.\n\nA repository changes either through `analysis`, which merges the way `assets` does:\n\n```js\n// releases on docs as well, and stops releasing on refactor\nplugins: [\n  [\n    '@cenk1cenk2/semantic-release-config/presets/npm',\n    {\n      analysis: {\n        releaseRules: {\n          extend: [\n            { type: 'docs', release: 'patch' },\n            { type: 'refactor', release: false }\n          ]\n        }\n      }\n    }\n  ]\n]\n```\n\n`extend` appends, and for release rules that ordering is the behaviour rather than a detail: the analyzer keeps the highest release type a commit matched, but `release: false` outranks every named type, so a rule landing after this package's can promote a type and can also switch one off. `{ set: [...] }`, or a bare array, replaces the estate's rules entirely.\n\n### `conventionalcommits`, and why not the default\n\nThe analyzer's `preset` option is pinned to `conventionalcommits`, by the release presets and by `/base` and `/npm` alike. The plugins default to `angular`, whose parser has no `!` support: its header pattern is `^(\\w*)(?:\\((.*)\\))?: (.*)$`, which does not match `feat!:`. Under it a `!` commit parses with **no type at all** — so it is not a major, and not a release either. `conventionalcommits` carries `breakingHeaderPattern`, and accepts `BREAKING-CHANGE` as well as `BREAKING CHANGE` in the footer.\n\nNothing else about bump edges moves with it. `@semantic-release/commit-analyzer` decides releases from `releaseRules` and its own `defaultReleaseRules`, never from a preset's `whatBump`, so a `conventional-changelog-*` package supplies the parser and the writer and no more — what moves the edges is [the rules above](#which-commit-types-release). What the switch changes is `!`, the hyphenated keyword, and how the notes render.\n\nIt costs a dependency. The plugins bundle `conventional-changelog-angular` and nothing else, so this package depends on `conventional-changelog-conventionalcommits` itself. That is enough to make it resolvable: the plugins look beside their own directory before the repository's cwd, and pnpm's hidden hoist at `node_modules/.pnpm/node_modules` sits on that path. Nothing is added to the CI image, and a repository consuming this package declares nothing of its own — but the suite installs its scratch image with **pnpm** rather than npm, because npm's flat hoisting resolves preset packages through paths the image does not have, and a scratch image built differently from the real one cannot answer the question.\n\nThe dependency is held at **major 9**, and [`renovate.json`](./renovate.json) pins it there. Major 10 renders only through `conventional-changelog-writer@9`, while `@semantic-release/release-notes-generator@14` pins writer `^8` — so 10 throws `Missing helper` out of handlebars while generating the notes, which happens _after_ the release type has been decided. The pin lifts when the plugin carries writer 9.\n\n### `rc` appears once\n\nThe estate's inlined configs carried a duplicated `rc` entry in 26+ repositories. The list here has it once.\n\n### `$TAGS_FILE` has no default\n\nThe chart and docker recipes write to `$TAGS_FILE`, and it has to be set in the job — the `devops/pipelines` semantic-release component does not export it. The presets do not have this problem: they fall back to the family's `.tags` when `$TAGS_FILE` is unset. There is no shell fallback: semantic-release runs `@semantic-release/exec` commands through a lodash template that claims `${...}` for itself, so `${TAGS_FILE:-.tags}` is not expressible.\n\n## Gates\n\n`pnpm lint`, `pnpm typecheck` (`tsc --noEmit` over JSDoc-typed plain JavaScript) and `pnpm test`.\n\n`pnpm test` is the real gate — [`test/consumption.test.js`](./test/consumption.test.js), on node's built-in runner, no framework. **Nothing in it asserts against the working tree.** It packs the package, installs it beside `semantic-release` in a scratch directory standing in for the CI image, and drives everything through that copy. A unit test over the source would restate the config objects as assertions and could only fail when someone edited one of two copies; this can fail for the reasons a release job fails.\n\nThat also puts `files` and `exports` under test with everything else — a module present in the working tree and missing from either is missing here. The suite reaches the installed package through a bridge module written into the scratch directory rather than by file path, so bare specifiers resolve from _there_, under the CommonJS resolver semantic-release actually uses as well as the ESM one.\n\nWhat it covers:\n\n- **`extends`, from a repository with no `node_modules` of its own** — `/base` and `/npm` resolve and their plugins load.\n- **A repository-declared `plugins` array** — the branch list survives it, and a provider the repository names itself resolves.\n- **Against a previous release** — a `!` commit reaches a major, which only happens when `conventionalcommits` is the commit preset parsing; a plugins array holding nothing but a preset entry still does the same. A negative control proves the branch assertions are not vacuous.\n- **The exports map** — every subpath answers `require.resolve` and `import()` alike, and each one carries the hooks in the shape semantic-release reads them from.\n- **The `extends` factories** — `base()` and `npm()` are what the prebuilt subpaths were built from, and a branch list handed to one replaces the branch list and nothing else.\n- **The preset entrypoints** — no two presets share a hook function, each reports its own name, both guards reject what they exist to reject and allow what they do not, and each family writes the tag shape it is named for.\n- **The staged publish** — it reads a stage id out of its client, and refuses to run without credentials it can reach.\n\nEvery scratch run gets a whitelisted environment rather than the ambient one, and asserts which branch semantic-release thought it was on before asserting anything about branches — see below. It needs network. `TEST_DEBUG=1` dumps raw semantic-release output.\n\nThe whitelisted environment is not tidiness. semantic-release takes the branch it thinks it is on from env-ci, which reads the surrounding CI's variables, and `--no-ci` does not turn that off — inside a GitLab job the fixture would otherwise be judged against the outer pipeline's branch and every branch assertion would quietly answer the wrong question. That is exactly how this passed locally and failed in CI once.\n\n## Releasing this package\n\nThrough its own preset, in [`release.config.js`](./release.config.js): `/presets/npm` with `client: 'pnpm'` and `publish: 'staged'`, plus `@semantic-release/gitlab`.\n\nIt imports the preset from the working tree — `./presets/npm.js` — rather than by package name. The specifier is the point. A bare specifier resolves the last published version, so the release shipping a change to the engine would be cut by the engine as it was _before_ the change, which is the one shape of dogfooding that proves nothing.\n\nThe branch list comes from `./lib/defaults.js` for the same reason, and because the package still cannot `extends` itself: semantic-release resolves `extends` from the repository's `node_modules`, and this package is not a dependency of itself.\n","readmeFilename":""}