Auri
Organize package changes and releases.
npm i -D auri
yarn add -D auri
pnpm add -D auri
Run commands:
npx auri
pnpm exec auri
yarn auri
Set up
- Create
.auri
directory - Create
config.json
inside .auri
- Generate a Github personal access token with the following scopes:
repo
, user:email
- Store the token as
AURI_GITHUB_TOKEN
in Github actions secrets - Add
auri.publish
script to each package's package.json - this will be the command Auri will use to publish - Make sure "Read and write permission" is enabled in repository settings > Actions > General > Workflow permissions
- Add
auri.deploy
script to your documentation sites
Config
File: .auri/config.json
.
ignore
string[]
. Paths to ignore when searching for packages. node_modules
and .git
already included.
{
"ignore": ["node_modules"]
}
repository
Required string
. Full Github repository url.
{
"repository": "https://github.com/pilcrowOnPaper/auri"
}
Project package.json
auri.format
{
"scripts": {
"auri.format": "pnpm prettier -w ."
}
}
auri.publish_setup
This will be called before publishing packages.
{
"scripts": {
"auri.publish_setup": "pnpm install-some-dependencies"
}
}
Release config
File: .auri/release.config.json
.
stage
Set to stable
for a normal release, or beta
for beta release. You do not need to create a new config file for a release if you're going to use the same release stage (e.g. 1.0.0-beta.0
=> 1.0.0-beta.1
). This means you need to create a new release config file with stage: stable
to publish a new stable release that was previously in beta.
{
"stage": "beta"
}
Package package.json
auri.publish
{
"scripts": {
"auri.publish": "pnpm i && pnpm build && pnpm publish"
}
}
Documentation package.json
auri.deploy
{
"scripts": {
"auri.deploy": "pnpm deploy"
}
}
Commands
auri add
Creates a new changeset in .auri
directory. A changeset is a markdown file:
---
package: "" # package name (package.json)
type: "" # "major", "minor", "patch" (semver)
---
auri prepare
- Generate changelogs based on changesets
- Update package.json
- Delete all changesets
- Commits all code to
auri
branch - Creates new PR
auri
=> main
auri publish
Compares version of package.json and one in the NPM registry, and runs auri.publish
if it differs.
auri list
Lists all packages handled by Auri.
auri release-config
Create a new .auri/release.config.json
File