Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itsdouges/deno_changesets
A Deno native way to manage versioning and changelogs.
https://github.com/itsdouges/deno_changesets
Last synced: 29 days 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 (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-05T12:21:53.000Z (almost 2 years ago)
- Last Synced: 2024-10-02T08:43:30.741Z (about 1 month 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
independentlySee: [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. |