@beuluis/hook-cli

1.2.1 • Public • Published

Contributors Forks Stargazers Issues


Logo

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 ``
-n, --no-fail 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" -n

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 ``
-n, --no-fail 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" -n

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
-n, --no-fail If true only prints warning messages and do not exit with not zero code. boolean true
Example usage
npx hook-cli checkForFileChanged CHANGELOG.md
npx hook-cli checkForFileChanged CHANGELOG.md -b trunk
npx hook-cli checkForFileChanged CHANGELOG.md -n
npx hook-cli checkForFileChanged CHANGELOG.md -b trunk -n

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
-n, --no-fail 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 --no-fail
npx hook-clicheckForVulnerabilities --prod
npx hook-cli checkForVulnerabilities -l high -m yarn -n -p

checkPackageVersion

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

Option Description Type default
-n, --no-fail 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 ``
-n, --no-fail 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' -n

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
-n, --no-fail 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 -n
npx hook-cli updateReminder -m yarn -n

Register new command

  1. Create new command module at src/modules.
touch src/modules/helloWorld.ts
  1. Use the register helper to register a module and export it. See the Jsdoc for more usage information.
import { registerCommandModule } from '../util/commandModule.helper';

export = registerCommandModule()({
    command: 'helloWorld',
    describe: 'HelloWorld',
    handler: () => console.log('HelloWorld'),
});

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 ts-node src/index.ts [command]

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

TODOs:

  • [ ] Add command to check version between package.json and package-lock.json
  • [ ] Add command to check engine
  • [ ] Add command to check types
  • [ ] Add command to check peerDependencies

Contact

Luis Beu - me@luisbeu.de

Package Sidebar

Install

npm i @beuluis/hook-cli

Weekly Downloads

1

Version

1.2.1

License

MIT

Unpacked Size

103 kB

Total Files

27

Last publish

Collaborators

  • beuluis