{"_id":"@alaiacano/changelog","_rev":"1-3d13dbf03faca092e97c261917f627e1","name":"@alaiacano/changelog","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@alaiacano/changelog","version":"0.1.0","description":"This is a simple utility to manage Changelogs. It was inspired by https://keepachangelog.com/, which has the caveat that there is no standard changelog format. Rather than try to parse arbitrary markdown, this project defines typed json schema for a Chang","main":"index.js","scripts":{"build":"npx tsc","test":"echo \"Error: no test specified\" && exit 1","schemagen":"ts-node ./src/schemagen.ts"},"bin":{"changelog":"dist/index.js"},"keywords":[],"author":"","license":"ISC","dependencies":{"@types/fs-extra":"^11.0.1","commander":"^10.0.0","figlet":"^1.5.2","fs-extra":"^11.1.1","ts-node":"^10.9.1","yaml":"^2.2.1","zod":"^3.21.4","zod-to-json-schema":"^3.20.4"},"devDependencies":{"@types/commander":"^2.12.2","@types/node":"^18.15.11","typescript":"^5.0.3"},"gitHead":"53fcbb7f3ad90a20eb54d8e8690c0b0580a244d4","_id":"@alaiacano/changelog@0.1.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-SR00/qG7AcCjWVa3dMpn3Zo89Af125wYcaTIa5okAUhtU0W9Y7q3VbwLk0TSn2xWPQwMOSmadgSoVQLaK04EiA==","shasum":"abf63e33a91462305474e5c2eb9f190f00845210","tarball":"https://registry.npmjs.org/@alaiacano/changelog/-/changelog-0.1.0.tgz","fileCount":24,"unpackedSize":41692,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAsRgV2S4VIU5DFmi/F86KxKxNjIgDpTVB+fMitQygpMAiAFgDgrN9NdRWR/j9gEclXn29xDhNQOtpANvfp1d/UhDg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL/4ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq72Q//TShjX+P04bBkbURy4YoLivOBFRFV9mo9iwdvsu18jKdPn5ug\r\nklpP9wmtfSkM8uZ/3iCx22NbK2EP12oDwDHX0JsuRGFQa9nnytUtmthhamPd\r\nqOZbZapTw6RDpg/zTtF5sOPtgES/HjJTbHr8mHE1t4m2NNBeLg3a1H/cgy+I\r\nYDcPrK7J0vAWawJlqYOwPduCizfdMQXFPUvpJa1p6+sp0a8bQS903K5Q+GQ0\r\n+TPnRpttqH7bfmoH3NcCvvzGoXJpx09UJThQ+db8a9dk03hnvKGfe4jO+1mQ\r\nYD06jcGDGuHwIGKlh+cG/eNN8LYHjsopl60oF/eHJ5bdImAFbO5h21q7aHLh\r\nh0rEZA5l0akMVKYTTZkuOdx0V1jKWTjycmWz6owm+55I/GHhiR7InjbqMq+w\r\nvjn917jMezsWqTCJba98twyUyUdT9cLlVvxp1aeX+VPC+2o+obqsV8hype0K\r\nkgnYs8w3MJxS3RS4JjycGGfGAKP1BN3Tu8DqCmiLEYuy/KNeQp4daSwrbPHj\r\nDsHqL81SbV1gD9D03GO3o9RQMTCiXU5ekxxk0ImVrFCF6MqTD/wrBu4uVOG/\r\nrS4bA/RDSqXuft6B3lVXc9C+BxxEn3Edm2+W5jRTwngSnFJ8s/XgW5r0rdBG\r\nCBZkNsWvP0MuvLJMJlKvu1nZ1gGkaWVYRbQ=\r\n=a5RV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alaiacano","email":"adam.laiacano@gmail.com"},"directories":{},"maintainers":[{"name":"alaiacano","email":"adam.laiacano@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/changelog_0.1.0_1680866841292_0.897541122961607"},"_hasShrinkwrap":false},"0.1.1":{"name":"@alaiacano/changelog","version":"0.1.1","description":"This is a simple utility to manage Changelogs. Consider it in alpha for now, until there are tests.","main":"index.js","scripts":{"build":"npx tsc","test":"echo \"Error: no test specified\" && exit 1","schemagen":"ts-node ./src/schemagen.ts"},"bin":{"changelog":"dist/index.js"},"keywords":[],"author":"","license":"ISC","dependencies":{"@types/fs-extra":"^11.0.1","commander":"^10.0.0","figlet":"^1.5.2","fs-extra":"^11.1.1","ts-node":"^10.9.1","yaml":"^2.2.1","zod":"^3.21.4","zod-to-json-schema":"^3.20.4"},"devDependencies":{"@types/commander":"^2.12.2","@types/node":"^18.15.11","typescript":"^5.0.3"},"gitHead":"23e6945ad5ea614f9e89c932180b2bde5a1abdd7","_id":"@alaiacano/changelog@0.1.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-SEvlVLcWeER5mi4vzwhsGxfcEA4PzcZ3Jux2tFIh5hHvaxGflz9TEszjXK67pDz2Py29aKmbkaP1PUH7QTVorw==","shasum":"cded25aac00ef55d457ea5a0b18167a64e6c135c","tarball":"https://registry.npmjs.org/@alaiacano/changelog/-/changelog-0.1.1.tgz","fileCount":24,"unpackedSize":41910,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIESe1LTNavujTeV4Ghgln3DCaRYl2kbR1h7Sl4kyqeyQAiEAuCQc6BFjchLkG+Gf493s657DZVEJtMRg0Meax/K25tI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMBidACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruoA//XXbTOmhkTM8CHQwNRylZdDe12oxJmmCKZy3HI5PqLuhrQP80\r\nEf87fBnVqgfOULIdDDFsCPB9IYm9SPvM8B/MhD8H1Wj1VEWIjkJsEiSK10u0\r\npmtsWwAwrE6E9NWUuzSKhSWLiw4sEJMAJaGNdyFPT2dLEEkn9rlHYLNrsFb1\r\nRJmB2XZxmUMnA2BxWUOB+4Qx5btfIqP3qjF2R0JzPVSagF6x+J6qsvsQHAOO\r\nN2GBZAiDlFtc2ZLLklUcN0ulHZ2ZSTKzdnWoVzznqkaX5ASY7+cwJAYVtOUg\r\nhhaKmxJVthBzfRiWoU/mM7kRajo8TRxYnAfBl6wzbWBzwpRpVTb5jSgoThss\r\n8YGgGQSajcQQXz86HHVRi352nT1M12xAe8c3iv7foO5mIhfkOjYNdNZ0Yab2\r\ngzBLjTEgN6m5ah7XvXjmsrHw9MXuMWRAuOoAHkgBPdlinvQS+3gcGrwTbrfo\r\ntpdZRxFBC0j5SDb/yksbg99JBd2RAS0UVpbEnNJPeWzIQRBoaxCabJ9J9gUo\r\nFDPoq9CsTZ/juwwK6adfygeatUfVIcX5AfythgowEAf4pmNC3BBd0IzmztMB\r\n+WXUM5Yvy6t5vwb+goyJ5gw8SEH8QAizThwdWp4u8+pt1c2WYqiFL6HzJum/\r\n6qKh0xIyngSGfw/Imn7viPilpjqtsn41wIU=\r\n=jfD0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alaiacano","email":"adam.laiacano@gmail.com"},"directories":{},"maintainers":[{"name":"alaiacano","email":"adam.laiacano@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/changelog_0.1.1_1680873629037_0.08352521142841862"},"_hasShrinkwrap":false}},"time":{"created":"2023-04-07T11:27:21.218Z","0.1.0":"2023-04-07T11:27:21.479Z","modified":"2023-04-07T13:20:29.365Z","0.1.1":"2023-04-07T13:20:29.245Z"},"maintainers":[{"name":"alaiacano","email":"adam.laiacano@gmail.com"}],"description":"This is a simple utility to manage Changelogs. Consider it in alpha for now, until there are tests.","keywords":[],"license":"ISC","readme":"This is a simple utility to manage Changelogs. Consider it in alpha for now, until there are tests.\n\nIt was inspired by two things:\n\n- https://keepachangelog.com and is intended to help you manage changelogs using that paradigm. Unfortunately, there are no standard formats for changelogs which makes it difficult to build tooling.\n- The [ADR plugin for Backstage](https://github.com/backstage/backstage/tree/master/plugins/adr), and using tools like [pyadr](https://github.com/opinionated-digital-center/pyadr) to produce markdown documents in a consistent and reliable format.\n\nThis tool defines a standard schema for changelogs, both as TypeScript types and a JSON Schema. Developers create their changelog in YAML format, and use `changelog` to migrate it to markdown and/or manage the release cycle.\n\n# Installing\n\nTo install:\n\n```bash\nnpm i @alaiacano/changelog\n```\n\nor\n\n```bash\nyarn add @alaiacano/changelog\n```\n\nFrom source:\n\n```bash\nnpm run build\nnpm install -g\n```\n\nThis will give you a `changelog` command.\n\n```bash\n▶ changelog\nUsage: Changelog Util [options] [command]\n\nA CLI for managing changelogs\n\nOptions:\n  -V, --version      output the version number\n  -h, --help         display help for command\n\nCommands:\n  gen [options]\n  release [options]  Moves the unreleased section to the head of the releases section and creates a new empty unreleased section.\n\n                     This is not a versioning tool! It simply moves some text around, and doesn't actually bump versions.\n  help [command]     display help for command\n```\n\n# Example: Generating Markdown\n\nHere's an example input. Note that the `yaml-language-server` line at the top is important! You should be using the [Redhat YAML Language Support for VSCode](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) (or similar) in order to get real-time verification of your syntax.\n\n```yaml\n# yaml-language-server: $schema=schema.json\n\ntitle: My Changelog\ndescription: This is an example changelog in the format I made.\nunreleased:\n  version: unreleased\n  date: \"2023-04-03\"\n  description: This is the stuff that will be released soon. The `version` is probably still \"unreleased.\"\n  added:\n    - description: Created the \"gen\" sub command to convert changelog.yaml to changelog.md\n\nreleases:\n  - version: \"0.0.0\"\n    date: \"2023-04-01\"\n    description: Came up with the idea\n    added: []\n    changed:\n      - description: Description of a breaking change\n        author:\n          name: john doe\n          email: john@doe.com\n        breaking: true\n      - description: A notable but non-breaking change.\n        author:\n          name: Jane Doe\n          email: jane@doe.com\n        breaking: false\n    removed:\n      - description: Got rid of the depreated code.\n        url: http://www.github.com/org/project/pull/420\n    fixed:\n      - description: Finally fixed the bug everyone ran into.\n        url: http://www.github.com/org/project/issues/421\n```\n\nRunning `changelog gen -y changelog.yml` produces:\n\n```markdown\n<!--\nNOTE! This is an auto-generated changelog file.\nEdit example.yaml instead of this otherwise changes will likely be lost.\n-->\n\n# My Changelog\n\nThis is an example changelog in the format I made.\n\n## [unreleased] - 2023-04-03\n\nThis is the stuff that will be released soon. The `version` is probably still \"unreleased.\"\n\n### Added\n\n- Created the \"gen\" sub command to convert changelog.yaml to changelog.md\n\n## [0.0.0] - 2023-04-01\n\nCame up with the idea\n\n### Changed\n\nBreaking:\n\n- Description of a breaking change - john doe (john@doe.com)\n\nNon-Breaking:\n\n- A notable but non-breaking change. - Jane Doe (jane@doe.com)\n\n### Fixed\n\n- Finally fixed the bug everyone ran into. [#](http://www.github.com/org/project/issues/421)\n\n### Removed\n\n- Got rid of the depreated code. [#](http://www.github.com/org/project/pull/420)\n```\n\n# Example: Making a Release\n\nThe `changelog release` command will put the `unreleased` section into the head of the `releases` list and create a new `unreleased` section for you. Running these two commands using the `changelog.yaml` from above\n\n```bash\nchangelog release -y example.yaml -v 2.0.0\nchangelog gen -y example.yaml\n```\n\nwill yield:\n\n```markdown\n# My Changelog\n\nThis is an example changelog in the format I made.\n\n## [unreleased] - 2023-04-03\n\n## [2.0.0] - 2023-04-02\n\n### Added\n\n- Created the \"gen\" sub command to convert changelog.yaml to changelog.md- Created the \"release\" sub command to move `unreleased` to the head of the `releases` list and make a new `unreleased`.\n\n### Fixed\n\n- TODO: forgot to include a description of the ChangelogVersion.\n\n## [0.0.0] - 2023-04-01\n\n### Changed\n\nBreaking:\n\n- Description of a breaking change - john doe (john@doe.com)\n\nNon-Breaking:\n\n- A notable but non-breaking change. - Jane Doe (jane@doe.com)\n\n### Fixed\n\n- Finally fixed the bug everyone ran into.\n\n### Removed\n\n- Got rid of the depreated code.\n```\n","readmeFilename":"README.md"}