The goal of this package is to create (and push) git tags that are date based. This is sometimes used to push applications that aren't "versioned" in the semver sense, but have date-based deployments.
Note: these tags are annotated tags. See the "Creating Tags" section of the Tagging docs.
The git tag that is created will come in the format of:
<prefix><YYYY>-<MM>-<DD>.<version>
- Prefix
- Denotes whether it was a full release or a release candidate
- YYYY
- 4-digit calendar year
- MM
- 2-digit calendar month
- DD
- 2-digit calendar day
- Version
- Denotes which deployment this is for today.
.1
would be the first deployment with that prefix.10
would be the tenth.
- Denotes which deployment this is for today.
Example | Command | Prefix | YYYY | MM | DD | Version |
---|---|---|---|---|---|---|
rc-v2022-01-06.15 | date-tag rc |
rc-v |
2022 |
01 |
06 |
15 |
v2022-10-20.2 | date-tag prod |
v |
2022 |
10 |
20 |
2 |
The easiest way to use this package is simply to use npx
to call it. You do not need to install it first.
$ npx date-tag <rc | prod | push>
First install it in your project with either:
npm install -D date-tag
yarn install -D date-tag
You can then use the same npx command
npx date-tag <rc | prod | push>
Or you can add it to your package.json
{
"scripts": {
"release": "yarn run date-tag"
}
}
and then you can use
yarn release <rc | prod | push>
There is only one option with multiple possible values:
Option | Purpose | Variations |
---|---|---|
rc |
Publishes a tag with the prefix rc-v e.g. rc-v2022-01-01.1 |
date-tag rc date-tag beta date-tag demo |
prod |
Publishes a tag with the prefix v e.g. v2022-01-01.1 |
date-tag prod date-tag full date-tag release |
push |
Shows you the tags for today and allows you to choose one to push to Github. (See Note below). | date-tag push |
The reason the command push
exists when git push --tags
also exists is that I was personally frustrated when I had OTHER tags that shouldn't be pushed. For example, if I tagged a release yesterday that was never deployed, I don't want to push that one. The equivalent git command to push only the one tag would be:
git push origin "refs/tags/v2022-01-01.1"