@retestify/pkg-ntc
v0.0.5
Published
Package Template - Node, Tsup, Changeset (NTC)
Maintainers
Readme
@retestify-pkg-ntc
NTC (NODE - TSUP - CHANGESETS)
Format: [Framework] - [Bundler] - [Versioning] Only for testing purposes
Getting started
Installation
Install the package through any of the package managers:
# npm
npm i @retestify-pkg-ntc
# yarn
yarn add @retestify-pkg-ntc
# pnpm
pnpm add @retestify-pkg-ntc
# bun
bun add @retestify-pkg-ntc
Import Package
The package can be used by type common js or es modules
// cjs
const ntc = require("@retestify-pkg-ntc");
// mjs
import ntc from "@retestify-pkg-ntc";Versioning Documentation
CURRENT VERSION: changeset/cli: ^2.27.8
NOTE: All steps indicated here are not part of a standard procedure, as this is experimental.
Instructions:
- Follow the steps listed below even though they may not align with typical best practices.
- If you find areas of improvement, you are encouraged to submit a pull request to refine this experimental process. Otherwise, ensure that you comply with the rules as they are, without deviation.
Changeset Options:
- Patch: Fix Release
- Minor: Feature Release
- Major: Breaking Release
Changeset Versioning:
Package: @[organization] / [package]
Default Version: @[major].[minor].[patch]
Pre-release Version: 0.0.0-[tag].[increment]
Pre-release Behaviors:
- Always increments after the
tagversion - Overrides
main versionwith the highest version change(changesets)made inpre-release- Highest Version (HV): (
Major|Minor|Patch) - Format:
[HV].[HV].[HV]-[tag].[incremental]
- Highest Version (HV): (
Changeset Version (COMMAND) Behavior
- Pre-relaese
[Optional]:- The trigger to publish a new
pre-releaseversion beforechangeset publishis to update the versionschangeset version - ONLY PUBLISH IF NEEDED
- The trigger to publish a new
- Main Release
[NOT required]: If changes are made in main tag(latest) - Merge Tags
[Required]: If merging tags(next)to main tags(latest)
# [optional] if: pre-release (next)
# [required] if: merge tags (next)
# [not required] if: main tag (latest)
npm changeset versionChangeset Pre-release:
Pre-release (Default Sequence):
Main Version: (0.0.0)
@Patch Release (Default Procedure)
# checkout next branch
git checkout -b next
# [required] pull / rebase changes from ( master | main )
git pull --rebase origin master
# [required] initialize pre-release tag (next)
npm changeset pre enter next
# [optional] Make changeset
npm changeset
# [optional] if: workflow doesnt work
npm changeset version
# push changes@Patch Release
# Make changeset (patch)
npm changeset
# Current version: 0.0.1-next.0
# Succeeding versions: 0.0.1-next.[increment]
# [optional] if: workflow doesnt work
npm changeset version
# push changes@Minor Release
# Make changeset (minor)
npm changeset
# Current version: 0.0.1-next.0
# Succesucceeding versions:
# 0.1.0-next.2
# 0.1.0-next.3
# [optional] if: workflow doesnt work
npm changeset version
# push changes@Major Release
# Make changeset (major)
npm changeset
# Current version: 0.1.0-next.3
# Succesucceeding versions:
# 1.0.0-next.5
# 1.0.0-next.6
# [optional] if: workflow doesnt work
npm changeset version
# push changesPre-release Exit (Merging Sequence):
Pre-release Version: 1.0.0-next.6
@Exit Pre-release version: (Default procedure)
# [required] checkout master
git checkout master
# merge feature branch (next)
git merge next
# [required] exit pre-release version
npm changeset pre exit
# [optional] if: workflow doesnt work
npm changeset version
# push changes@Merge Tags: Sequence #1
# [optional] if: workflow doesnt work
npm changeset version
# Current version: 1.0.0
# push changes@Merge Tags: Sequence #2
# next branch
git checkout next
git pull --rebase origin master
# changeset (@major)
npm changeset pre enter next
npm changeset
# Current version: 2.0.0-next.0
# Succesucceeding versions:
# 2.0.0-next.1
# 2.0.0-next.2
# [optional] if: workflow doesnt work
npm changeset version
# push changes# master branch
git checkout master
git merge next
# [optional] if: manually update versions
npm changeset pre exit
npm changeset version
# else: update version by changeset
npm changeset
# Current version: 2.0.0
# push changes@Merge Tags: Sequence #3
# next branch
git checkout next
git pull --rebase origin master
# changeset (@minor)
npm changeset pre enter next
npm changeset
# Current version: 2.1.0-next.0
# Succesucceeding versions:
# 2.1.0-next.1
# 2.1.0-next.2
# [optional]
npm changeset version
# push changes# master branch
git checkout master
git merge next
# [optional] if: manually update versions
npm changeset pre exit
npm changeset version
# else: update version by changeset
npm changeset
# Current version: 2.1.0
# push changes@Merge Tags: Sequence #4
# next branch
git checkout next
git pull --rebase origin master
# changeset (@patch)
npm changeset pre enter next
npm changeset
# Current version: 2.1.1-next.0
# Succesucceeding versions:
# 2.1.1-next.1
# 2.1.1-next.2
# [optional]
npm changeset version
# push changes# master branch
git checkout master
git merge next
# [optional] if: manually update versions
npm changeset pre exit
npm changeset version
# else: update version by changeset
npm changeset
# Current version: 2.1.1
# push changesLICENSE
MIT. See the LICENSE file.
