JSPM

  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q45831F
  • License MIT

A small hook cli that can be used with for example husky

Package Exports

  • @beuluis/hook-cli

Readme

Contributors Forks Stargazers Issues


hook-cli demo

hook-cli

A small hook cli

· Report Bug · Request Feature ·

About The Project

A small hook cli that can be used with for example husky.

Disclaimer

I know that most of this stuff is already solved by some awesome tools. So this is really just a CLI playground for me.

Installation

npm i -D @beuluis/hook-cli

Usage

Run commands. For example using the hooks in .husky.

```bash
npx hook-cli [command] [...]
```

Commands

checkCommitMessageIssueKey

Check the pattern of a commit message

Option Description Type default
-p, --prefix Prefix of the issue key. string ``
-m, --message Get message from command line instead of file. string ``
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli checkCommitMessageIssueKey "$1" -p "HelloWorld"
npx hook-cli checkCommitMessageIssueKey .git/COMMIT_EDITMSG -p "KEY"
npx hook-cli checkCommitMessageIssueKey -m "KEY-12 message" -p "KEY"
npx hook-cli checkCommitMessageIssueKey -m "KEY-12 message" -p "KEY" -w

checkCommitMessagePattern

Check the pattern of a commit message

Option Description Type default
-p, --pattern Regex pattern to check the message against. string ``
-m, --message Get message from command line instead of file. string ``
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli checkCommitMessagePattern "$1" -p "HelloWorld"
npx hook-cli checkCommitMessagePattern .git/COMMIT_EDITMSG -p "HelloWorld"
npx hook-cli checkCommitMessagePattern -m "I say HelloWorld" -p "HelloWorld"
npx hook-cli checkCommitMessagePattern -m "I say HelloWorld" -p "HelloWorld" -w

checkForFileChanged

Check if a staged file like a changelog was changed locale or remote compared to another branch

Option Description Type default
-b, --branch Branch to compare to. string main
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli checkForFileChanged CHANGELOG.md
npx hook-cli checkForFileChanged CHANGELOG.md -b trunk
npx hook-cli checkForFileChanged CHANGELOG.md -w
npx hook-cli checkForFileChanged CHANGELOG.md -b trunk -w

checkForVulnerabilities

Runs a package audit and collects the results.

Option Description Type default
-m, --package-manager The package manager you want to use. Keep in mind that both package managers report differently. yarn, npm npm
-l, --audit-level The severity of the vulnerabilities what the script will report. info, low, moderate, high, critical critical
-p, --prod If true only run audit for prod dependencies and skip dev ones. boolean false
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli checkForVulnerabilities
npx hook-cli checkForVulnerabilities --package-manager yarn
npx hook-cli checkForVulnerabilities --audit-level low
npx hook-cli checkForVulnerabilities --warn-only
npx hook-cli checkForVulnerabilities --prod
npx hook-cli checkForVulnerabilities -l high -m yarn -w -p

checkPackageVersion

Check if the version field is the same for package.json and package-lock.json

Option Description Type default
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli checkPackageVersion

checkPackageVersionInFile

Check if the version field is the same for package.json and file

Option Description Type default
-p, --json-path Path in json file to check string ``
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli checkPackageVersionInFile hello.json -p 'path.version'
npx hook-cli checkPackageVersionInFile hello.json -p 'path.version' -w

updateReminder

Prints a list of packages that have updates.

Option Description Type default
-m, --package-manager The package manager you want to use. Keep in mind that both package managers report differently. yarn, npm npm
-w, --warn-only If true only prints warning messages and do not exit with not zero code. boolean false
Example usage
npx hook-cli updateReminder
npx hook-cli updateReminder -m yarn
npx hook-cli updateReminder -w
npx hook-cli updateReminder -m yarn -w

Useful

  • Print help page for command
npx hook-cli [command] --help
  • Test command during development (Exit codes get not correctly forwarded).
npm run hook-cli -- [command]
  • Test command during development with correct exi code.
npx tsx src/index.ts [command]