{"_id":"@bernierllc/validators-changelog-presence","_rev":"7-f825c5d12ef3bbfa4014064261de8ec1","name":"@bernierllc/validators-changelog-presence","dist-tags":{"latest":"1.5.0"},"versions":{"1.0.0":{"name":"@bernierllc/validators-changelog-presence","version":"1.0.0","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-changelog-presence@1.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"c61bfea937659419fd517a075b8026eead6b21c7","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.0.0.tgz","fileCount":17,"integrity":"sha512-8yWZbZzLkylqmLDpr0TW+2iD5phRrLPUFRk5pt2y+bT5nyhReQZ4TiieXYGCp8brC0PFX9tBMiKx7Zje6XZzOw==","signatures":[{"sig":"MEUCIDk9RFN74M0CNLGNCcGIFdyYLnGJ4U1z3IEFroMtZIRnAiEAxmoEAulsqYxtsI+ICo/ScPuYiBZNIsU4+q0o3+J3ork=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36689},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3a89160c2db33cae3b460b005163697c6800479b","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","typecheck":"tsc --noEmit","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/validators/validators-changelog-presence"},"_npmVersion":"11.4.2","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@bernierllc/validators-core":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-changelog-presence_1.0.0_1760218750369_0.6348806592352869","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/validators-changelog-presence","version":"1.2.0","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-changelog-presence@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"745b8a750d8cb42fde937bb3a167ee8036a55a42","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.2.0.tgz","fileCount":17,"integrity":"sha512-XmJ4rS83ecJIc+4a14mHEs7SlJN7jvPTaMYzusWeIBnkvxzAjC1CqZazlwRlT+/Onzq8m5txzlIlbtn5kC9H0Q==","signatures":[{"sig":"MEUCIAf5aRveb/EbTIei/XaLlkAVQVr/DfQZSJsjnaXudmTYAiEA/xmX83aZ/a9BhIr63qcCg+K00AUoGaA5oFBoeJfdWpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36792},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","typecheck":"tsc --noEmit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe0e163c-965b-43af-9f4f-137df317a2cd"}},"repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/validators/validators-changelog-presence"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/validators-core":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-changelog-presence_1.2.0_1767642359522_0.7726735788365242","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@bernierllc/validators-changelog-presence","version":"1.2.1","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-changelog-presence@1.2.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"08ca56f5f42f9619939f102661c56f1044daca23","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.2.1.tgz","fileCount":17,"integrity":"sha512-rflzZ7jUg53nAfW5HOgOvAXB5L1oUO+hQ8lLQsBUbdKrbqDLxpGSScDDnOeVWugvG5heiOKw4Wl9wsAJsBQjGg==","signatures":[{"sig":"MEYCIQDxt7ev7yOA2jAGzR4sQGDu6dteHmXc7d2Bu9790gI5rAIhALavHb01c9Aogl1cX0PmsE9L2AH/M2P3Vdx8i9RUCkqe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36734},"main":"./dist/index.js","type":"module","_from":"file:bernierllc-validators-changelog-presence-1.2.1.tgz","types":"./dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","typecheck":"tsc --noEmit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe0e163c-965b-43af-9f4f-137df317a2cd"}},"_resolved":"/tmp/e9215c4be939442795b60e89ca42d34e/bernierllc-validators-changelog-presence-1.2.1.tgz","_integrity":"sha512-rflzZ7jUg53nAfW5HOgOvAXB5L1oUO+hQ8lLQsBUbdKrbqDLxpGSScDDnOeVWugvG5heiOKw4Wl9wsAJsBQjGg==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/validators/validators-changelog-presence"},"_npmVersion":"11.11.0","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/validators-core":"0.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-changelog-presence_1.2.1_1773078264834_0.2871013591824554","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@bernierllc/validators-changelog-presence","version":"1.2.2","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-changelog-presence@1.2.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"985c1aeefbe3678d4062f0884adbc21ef197fa40","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.2.2.tgz","fileCount":17,"integrity":"sha512-xijvROnjcMDq3xS/4PQfSLU3hgnvaDa1YNSDM4XsbZND1DJ86QIkzARmaRUcqHIoEdIvaKHyxhsE49itNGtn9A==","signatures":[{"sig":"MEQCIBD9PbJvO8HbGXK8gOgmF2f/UFrA59T0zLtw/eOlfot+AiBltSJY739XC12TdM8gFyc/61gB3EZ1FX21cnI+ay3/jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36734},"main":"./dist/index.js","type":"module","_from":"file:bernierllc-validators-changelog-presence-1.2.2.tgz","types":"./dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","typecheck":"tsc --noEmit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe0e163c-965b-43af-9f4f-137df317a2cd"}},"_resolved":"/home/runner/work/tools/tools/packages/validators/validators-changelog-presence/bernierllc-validators-changelog-presence-1.2.2.tgz","_integrity":"sha512-xijvROnjcMDq3xS/4PQfSLU3hgnvaDa1YNSDM4XsbZND1DJ86QIkzARmaRUcqHIoEdIvaKHyxhsE49itNGtn9A==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/validators/validators-changelog-presence"},"_npmVersion":"11.11.0","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/validators-core":"0.1.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-changelog-presence_1.2.2_1773163879625_0.8783258250666077","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/validators-changelog-presence","version":"1.3.0","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-changelog-presence@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"63ff83a2bd26a4ab525266e2bf91c743ad10d749","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.3.0.tgz","fileCount":17,"integrity":"sha512-dNe+7jaFkfZJaHsqvccvIo3UkFhOFgw/z/LrBgh7hW1aKLou3ExjVdFMNFOrVFDy6MJSB6myh3Uv5azB85TXcA==","signatures":[{"sig":"MEQCIE41Q6+K0E9KhyrUKh1sDVdNzNQ9wAI6OcpqD6Ngff1/AiA+7IF9BGWirsFucwsV/O+I4gsYOyHMr42zenMG6DBNQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36734},"main":"./dist/index.js","type":"module","_from":"file:bernierllc-validators-changelog-presence-1.3.0.tgz","types":"./dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","typecheck":"tsc --noEmit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe0e163c-965b-43af-9f4f-137df317a2cd"}},"_resolved":"/home/runner/work/tools/tools/packages/validators/validators-changelog-presence/bernierllc-validators-changelog-presence-1.3.0.tgz","_integrity":"sha512-dNe+7jaFkfZJaHsqvccvIo3UkFhOFgw/z/LrBgh7hW1aKLou3ExjVdFMNFOrVFDy6MJSB6myh3Uv5azB85TXcA==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/validators/validators-changelog-presence"},"_npmVersion":"11.14.1","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/validators-core":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-changelog-presence_1.3.0_1779242110005_0.30981546205557464","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/validators-changelog-presence","version":"1.4.0","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-changelog-presence@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"51b4c01bba6f99fdc7bf9aba00aaac3fe70e1e36","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.4.0.tgz","fileCount":17,"integrity":"sha512-D+XrhIZ1iYCk6NAC7wrZahl1Vvzucvx5udtOKQ+5fWAg8umfUHUDXqA+LOE0+yY082k3M4ATEYO4texhzGqh3g==","signatures":[{"sig":"MEYCIQDi2nlISdiAB8uswzRkCURA3BnaIwcpcWHP0/ShBfgXSgIhAKR4en2bRU3hr6oFT+0bXFAdq3W8xwaLSXqaLGbRnhlm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36734},"main":"./dist/index.js","type":"module","_from":"file:bernierllc-validators-changelog-presence-1.4.0.tgz","types":"./dist/index.d.ts","scripts":{"lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","typecheck":"tsc --noEmit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe0e163c-965b-43af-9f4f-137df317a2cd"}},"_resolved":"/home/runner/work/tools/tools/packages/validators/validators-changelog-presence/bernierllc-validators-changelog-presence-1.4.0.tgz","_integrity":"sha512-D+XrhIZ1iYCk6NAC7wrZahl1Vvzucvx5udtOKQ+5fWAg8umfUHUDXqA+LOE0+yY082k3M4ATEYO4texhzGqh3g==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/validators/validators-changelog-presence"},"_npmVersion":"11.14.1","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/validators-core":"0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-changelog-presence_1.4.0_1779250866408_0.2798491364141591","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@bernierllc/validators-changelog-presence","version":"1.5.0","description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","dependencies":{"@bernierllc/validators-core":"0.4.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.40.0","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/BernierLLC/tools.git","directory":"packages/validators/validators-changelog-presence"},"scripts":{"build":"tsc","clean":"rm -rf dist","test":"jest --watch","test:run":"jest","test:coverage":"jest --coverage","lint":"eslint src --ext .ts","typecheck":"tsc --noEmit"},"_id":"@bernierllc/validators-changelog-presence@1.5.0","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"homepage":"https://github.com/BernierLLC/tools#readme","_integrity":"sha512-27FdG4hVfs3rF9gIjBBOyyHzaRxHsmvOvTpo+ijRat2BtIRePh7HAf3/YMA7wT1/nqb/zGuYi2ACBuCwMITbBw==","_resolved":"/home/runner/work/tools/tools/packages/validators/validators-changelog-presence/bernierllc-validators-changelog-presence-1.5.0.tgz","_from":"file:bernierllc-validators-changelog-presence-1.5.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-27FdG4hVfs3rF9gIjBBOyyHzaRxHsmvOvTpo+ijRat2BtIRePh7HAf3/YMA7wT1/nqb/zGuYi2ACBuCwMITbBw==","shasum":"c81391c5a78347dacc2b49d58d8d818f77fd4bcd","tarball":"https://registry.npmjs.org/@bernierllc/validators-changelog-presence/-/validators-changelog-presence-1.5.0.tgz","fileCount":19,"unpackedSize":38352,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDz2efm9ZLdUJwzUb4oTevkR0chwWJcUA3hmcaZh2gV2AIgJ34cBoGQ+vYqnq4mN1OzoD9Id3YFQ9QRDHKw/rm9wuA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe0e163c-965b-43af-9f4f-137df317a2cd"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/validators-changelog-presence_1.5.0_1779252157282_0.7391221045692284"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-11T21:39:10.280Z","modified":"2026-05-20T04:42:37.590Z","1.0.0":"2025-10-11T21:39:10.584Z","1.2.0":"2026-01-05T19:45:59.663Z","1.2.1":"2026-03-09T17:44:24.974Z","1.2.2":"2026-03-10T17:31:19.772Z","1.3.0":"2026-05-20T01:55:10.140Z","1.4.0":"2026-05-20T04:21:06.578Z","1.5.0":"2026-05-20T04:42:37.436Z"},"bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"author":{"name":"Bernier LLC"},"license":"UNLICENSED","homepage":"https://github.com/BernierLLC/tools#readme","keywords":["validator","changelog","changeset","release","validation","primitive","bernierllc"],"repository":{"type":"git","url":"git+https://github.com/BernierLLC/tools.git","directory":"packages/validators/validators-changelog-presence"},"description":"Primitive validator for changelog presence validation - changeset entries, release notes, breaking changes","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/validators-changelog-presence\n\nPrimitive validator for changelog presence validation - changeset entries, release notes, breaking changes, and version entries.\n\n## Installation\n\n```bash\nnpm install @bernierllc/validators-changelog-presence\n```\n\n## Usage\n\n### Basic Validation\n\n```typescript\nimport { validateChangelogPresence } from '@bernierllc/validators-changelog-presence';\n\nconst changeData = JSON.stringify({\n  packageName: '@bernierllc/my-package',\n  version: '1.0.0',\n  hasChanges: true,\n  changesetFiles: ['.changeset/my-change.md'],\n  hasBreakingChanges: false,\n  releaseNotes: 'This release adds core functionality',\n});\n\nconst problems = await validateChangelogPresence(changeData);\n\nif (problems.length === 0) {\n  console.log('Changelog validation passed!');\n} else {\n  problems.forEach((problem) => {\n    console.log(`[${problem.severity}] ${problem.message}`);\n  });\n}\n```\n\n### Check Package Documentation\n\n```typescript\nimport { hasChangelogDocumentation } from '@bernierllc/validators-changelog-presence';\n\nconst isDocumented = await hasChangelogDocumentation({\n  packageName: '@bernierllc/my-package',\n  hasChanges: true,\n  changesetFiles: ['.changeset/change.md'],\n});\n\nif (!isDocumented) {\n  throw new Error('Package changes must be documented');\n}\n```\n\n### Validate Version Entry\n\n```typescript\nimport { validateVersionEntry } from '@bernierllc/validators-changelog-presence';\n\nconst problems = await validateVersionEntry(\n  '1.0.0',\n  '### Added\\n- New feature\\n\\n### Fixed\\n- Bug fix'\n);\n```\n\n## API Reference\n\n### `validateChangelogPresence(content, options?, utils?)`\n\nValidates changelog and changeset presence.\n\n**Parameters:**\n- `content: string` - JSON string with package change information\n- `options?: ChangelogPresenceOptions` - Validation options\n- `utils?: SharedUtils` - Shared utilities (optional)\n\n**Returns:** `Promise<Problem[]>` - Array of validation problems\n\n### `hasChangelogDocumentation(packageData)`\n\nChecks if a package has proper changelog documentation.\n\n**Parameters:**\n- `packageData: PackageChange` - Package change data\n\n**Returns:** `Promise<boolean>` - True if properly documented\n\n### `validateVersionEntry(version, changelogContent)`\n\nValidates a version entry in changelog.\n\n**Parameters:**\n- `version: string` - Version to validate\n- `changelogContent: string` - Changelog content\n\n**Returns:** `Promise<Problem[]>` - Validation problems\n\n## Configuration Options\n\n```typescript\ninterface ChangelogPresenceOptions {\n  checkChangesetPresence?: boolean;      // Check for changeset file presence (default: true)\n  checkChangelogEntries?: boolean;       // Check for changelog entries (default: true)\n  checkBreakingChanges?: boolean;        // Check for breaking change documentation (default: true)\n  checkReleaseNotes?: boolean;           // Check for release note completeness (default: true)\n  checkVersionEntries?: boolean;         // Check for version entry validation (default: true)\n  requireSummary?: boolean;              // Require changeset summary (default: true)\n  minSummaryLength?: number;             // Minimum summary length (default: 20)\n  allowEmptyChangesets?: boolean;        // Allow empty changesets (default: false)\n  changesetDir?: string;                 // Changeset directory path (default: '.changeset')\n  changelogPath?: string;                // Changelog file path (default: 'CHANGELOG.md')\n}\n```\n\n## Validation Rules\n\n### Changeset Presence (`changeset-presence`)\n- Validates that changeset files exist for package changes\n- Ensures changesets match actual code changes\n- Warns about unnecessary changesets\n\n### Changelog Entry (`changelog-entry`)\n- Validates that changelog entries are complete\n- Checks for proper formatting\n- Ensures version entries exist\n- Validates release dates\n\n### Breaking Changes (`breaking-changes`)\n- Validates breaking change documentation\n- Checks for BREAKING CHANGE markers\n- Validates major version bumps\n- Ensures semantic versioning compliance\n\n### Version Entry (`version-entry`)\n- Validates semantic version format\n- Checks for changelog entry presence\n- Validates entry completeness\n- Suggests standard changelog sections\n\n### Release Notes (`release-notes`)\n- Validates release notes completeness\n- Checks minimum summary length\n- Ensures meaningful descriptions\n- Validates user impact clarity\n\n## Problem Severities\n\n- **error**: Critical issues that must be fixed\n- **warn**: Issues that should be addressed\n- **info**: Suggestions for improvement\n\n## Examples\n\n### Complete Package Release\n\n```typescript\nconst releaseData = JSON.stringify({\n  packageName: '@bernierllc/my-package',\n  version: '1.0.0',\n  hasChanges: true,\n  changesetFiles: ['.changeset/initial-release.md'],\n  hasBreakingChanges: false,\n  changesetContent: 'Initial release with core features',\n  releaseNotes: 'This release adds core functionality for users',\n  changelogContent: '## 1.0.0\\n\\n### Added\\n- Core features',\n  changelogEntry: {\n    content: '### Added\\n- Core features\\n\\n### Fixed\\n- Initial bugs',\n    date: '2025-01-15',\n  },\n});\n\nconst problems = await validateChangelogPresence(releaseData);\n```\n\n### Major Version with Breaking Changes\n\n```typescript\nconst majorReleaseData = JSON.stringify({\n  packageName: '@bernierllc/my-package',\n  version: '2.0.0',\n  hasChanges: true,\n  changesetFiles: ['.changeset/major-update.md'],\n  hasBreakingChanges: true,\n  breakingChangesDocs: 'API signature changed',\n  changesetContent: 'BREAKING CHANGE: Updated API to use async/await',\n  releaseNotes: 'Major version with breaking API changes',\n  changelogEntry: {\n    content: '### Breaking Changes\\n- Updated API to async/await',\n    date: '2025-01-15',\n  },\n});\n\nconst problems = await validateChangelogPresence(majorReleaseData);\n```\n\n### Custom Validation Options\n\n```typescript\nconst problems = await validateChangelogPresence(changeData, {\n  checkChangesetPresence: true,\n  checkBreakingChanges: true,\n  requireSummary: true,\n  minSummaryLength: 30,\n  allowEmptyChangesets: false,\n});\n```\n\n## Integration with Changesets\n\nThis validator is designed to work with [@changesets/cli](https://github.com/changesets/changesets):\n\n```bash\n# Create a changeset\nnpx changeset\n\n# Validate changesets\nnode -e \"\nconst { validateChangelogPresence } = require('@bernierllc/validators-changelog-presence');\n// Validate your changesets\n\"\n```\n\n## Integration Status\n\n- **Logger**: not-applicable - Pure validation functions with no runtime logging\n- **Docs-Suite**: ready - Exports complete TypeDoc documentation\n- **NeverHub**: not-applicable - Primitive validator with no service dependencies\n\n## See Also\n\n- [@bernierllc/validators-core](../validators-core) - Core validation framework\n- [@bernierllc/validators-runner](../validators-runner) - Run validators in batch\n- [@bernierllc/validators-reporters](../validators-reporters) - Format validation results\n- [@bernierllc/validators-semver-consistency](../validators-semver-consistency) - Semver validation\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n","readmeFilename":"README.md"}