New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@owngames/git-cz

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@owngames/git-cz

git(moji)-cz => conventional commits, gitflow branching

latest
Source
npmnpm
Version
0.0.1--canary.51.2893023504.0
Version published
Maintainers
1
Created
Source

🥳️ git(moji)-cz => @owngames/git-cz

🍴️ Why this Fork

npm i -g git-cz
added 1 package in 0.612s

Installs in 0.6s vs 31.1s.

🍽️ But Why this Fork

I needed to customize some things, and seemed like the intent was breaking away from streamich/git-cz.

  • Package Upgrades
  • Node14 Support
  • Subject Customization
  • Theming: Gitmoji ✨️ (new default)
    • Semantic Versioning Requirements for CI/CD
  • Gitflow Brancing
    • CLI Customizations
  • Codestyle Preference
    • Getting there
  • TypeScript Migration
    • Eventually getting there

📝️ Note: @owngames/git-cz-v7.0.0 is the main breaking off point

🔧️ Custom config

You can provide a custom configuration in a changelog.config.js file in your repo, or in any parent folder.

git-cz will search for the closest config file.

🚧️ Non-interactive mode

Using --non-interactive flag you can run git-cz non-interactive mode.

For example:

git-cz --non-interactive --type=feat --subject="add onClick prop to component"

CLI parameters:

  • --body
  • --breaking
  • --issues
  • --lerna
  • --scope
  • --subject
  • --type

:octocat: Commit

Subject via Format

By default the subject format is: {emoji} {scope} {branchName}{subject}

--format "{emoji} {scope} {branchName}{subject}"
{
  "commit": {
    "format": "{emoji} {scope} {branchName}{subject}"
  }
}

You can configure your own using the following fields:

  • {branchName}
  • {emoji}
  • {scope}
  • {subject}
  • {type}

These are the only fields that will be dynamically replaced by @owngames/git-cz.

These are not ${type} so in your configuration if you need to pass dynamically values to format you can while keeping these separate. Helpful for when adding [skip ci] to format conditionally.

📝️ Note: If your configuration file is dynamic and you want to override these change yours at run time to ${type} 😅️. These fields are only replaced if they exist. Heck, you can have a format of: format: "static(hard): code value" if you really want (please do not).

branchName

This is really only useful if you are using an issue tracker like Jira.

▲ git-cz [ABC-1234] git-cz

Would pull ABC-1234 in for {branchName}

If you were doing something like:

▲ git-cz [feature/gitflow-branch-names]

You would not want to pass branchPrefix as that would be a long commit message.

Also most likely if you are doing feature branches you are doing ABC-1234's into it.

Types

From gitmoji:

  • access: Improve accessibility
  • analytics: Add or update analytics or track code
  • animation: Add or update animations and transitions
  • arch: Make architectural changes
  • assets: Add or update assets
  • beer: Write code drunkenly
  • breaking: Introduce breaking changes
  • build: Add or update development scripts
  • catch: Catch errors
  • ci: Add or update CI build system
  • clean: Deprecate code that needs to be cleaned up
  • compat: Update code due to external API changes
  • config: Add or update configuration files
  • contrib-add: Add or update contributor(s)
  • data: Data exploration/inspection
  • db: Perform database related changes
  • dep-add: Add a dependency
  • dep-rm: Remove a dependency
  • dep-up: Add or update compiled files or packages
  • deploy: Deploy stuff
  • docs: Add or update documentation
  • docs-code: Add or update comments in source code
  • downgrade: Downgrade dependencies
  • egg: Add or update an easter egg
  • experiment: Perform experiments
  • feat: Introduce new features
  • fix: Fix a bug
  • fix-ci: Fix CI Build
  • flags: Add, update, or remove feature flags
  • hotfix: Critical hotfix
  • i18n: Internationalization and localization
  • ignore: Add or update a .gitignore file
  • init: Begin a project
  • iphone: Work on responsive design
  • license: Add or update license
  • lint: Fix compiler / linter warnings
  • log-add: Add or update logs
  • log-rm: Remove logs
  • merge: Merge branches
  • mock: Mock things
  • mv: Move or rename resources (e.g.: files, paths, routes)
  • patch: Simple fix for a non-critical issue
  • perf: Improve performance
  • poo: Write bad code that needs to be improved
  • prune: Remove code or files
  • pushpin: Pin dependencies to specific versions
  • refactor: Refactor code
  • release: Release / Version tags
  • revert: Revert changes
  • rip: Remove dead code
  • roles: Work on code related to authorization, roles and permissions
  • security: Fix security issues
  • seed: Add or update seed files
  • seo: Improve SEO
  • snapshot: Add or update snapshots
  • style: Improve structure / format of the code
  • test: Add or update tests
  • texts: Add or update text and literals
  • types: Add or update types
  • typo: Fix typos
  • ui: Add or update the UI and style files
  • upgrade: Upgrade dependencies
  • ux: Improve user experience / usability
  • wip: Work in progress

Custom additivies:

  • chore: Changes that don’t modify src or test file
  • rollforward: Create rollforward version
  • run-build: Custom type for CI/CD to hook into run build override

Subject

The subject contains succinct description of the change:

  • Use the imperative, present tense: "change" not "changed" nor "changes"
  • No dot (.) at the end.

Body

Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.

Breaking Changes

Breaking Changes must start with the words BREAKING CHANGE:.

Husky

If you are using husky@5.x on your project that has git-cz as a local dependency please be cognizant of locally installed binaries:

If you were calling directly locally installed binaries, you need to run them via your package manager:

npx --no-install git-cz --hook || true
yarn git-cz --hook || true

Branch

Change the mode and create branches via gitflow:

git-cz -m branch

Roadmap

This is not going to be great to type, but may be good to move to:

  • https://github.com/commitizen/cz-cli and create adapter/plugins.
    • ⭐️ 11.k to 500
    • ⬇️ 373k to 23.9k

Keywords

commit

FAQs

Package last updated on 20 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts