https://github.com/itsdouges/deno_changesets
A Deno native way to manage versioning and changelogs.
https://github.com/itsdouges/deno_changesets
Last synced: 6 months ago
JSON representation
A Deno native way to manage versioning and changelogs.
- Host: GitHub
- URL: https://github.com/itsdouges/deno_changesets
- Owner: itsdouges
- Created: 2022-12-19T05:58:24.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-05T12:21:53.000Z (about 3 years ago)
- Last Synced: 2025-04-14T23:32:48.487Z (9 months ago)
- Language: TypeScript
- Homepage: https://deno.land/x/deno_changesets
- Size: 120 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# deno_changesets
A [Deno](https://deno.land) native way to manage versioning and changelogs.
Get started by running:
```bash
deno run --unstable --allow-read --allow-write --allow-run https://deno.land/x/deno_changesets/main.ts --help
```
## Getting started
Deno changesets comes with opinions and constraints:
- Versioning follows [semver](https://semver.org)
- Changelogs follow [keep a changelog](https://keepachangelog.com/en/1.0.0/)
- Versions are stored in git tags
- Enforces
[minor bumps](https://semver.org/#how-should-i-deal-with-revisions-in-the-0yz-initial-development-phase)
when pre-1.0
- All modules are versioned together, there is no way currently to version
independently
See: [Adding a module](https://deno.land/add_module) on Deno's docs.
## Creating a changeset
Creates a new changeset inside the `.changeset` folder.
```bash
➜ deno run --unstable --allow-read --allow-write --allow-run https://deno.land/x/deno_changesets/main.ts create
? Select a module (deno_changesets) › deno_changesets
? What type of change? › added
? Description › Prompts when creating a changeset now come with hints.
? Confirm (y/n) › Yes
```
### Options
| Option | Description |
| ----------- | ------------------------------------- |
| --commit -C | Commits the changeset after creation. |
## Releasing
Releasing collects all previously created changsets, translates them to a
version bump (patch, minor, major) with the highest taking precedence, updates
changelogs, and then pushes to remote.
```bash
➜ deno run --unstable --allow-read --allow-write --allow-run https://deno.land/x/deno_changesets/main.ts release
? Will publish from 0.1.0 to 0.2.0 (y/n) › Yes
```
### Multiple modules
If your repository has a top level folder called `modules` then
`deno_changesets` will assume it's where subdirectory modules are defined. When
releasing all references to these modules will be updated to the latest version,
including imports and import maps.
See:
[An example release](https://github.com/itsdouges/TRIPLEX/commit/97ff2959a05b53dc814fa7977a81fece2b7d0189).
### Options
| Option | Description |
| --------------- | ----------------------------------------------------------- |
| --prod-ready -P | Releases a 1.0 version, will error if already 1.0 or above. |