{"_id":"@alwyn974/devmoji","_rev":"4-58d76a7d48c61c6a4fc91d3b26ff14d1","name":"@alwyn974/devmoji","dist-tags":{"latest":"2.5.4"},"versions":{"2.5.0":{"name":"@alwyn974/devmoji","version":"2.5.0","description":"Enhance your conventional commits with gitmoji","keywords":["cli","command-line","commit","commitlint","commitzen","conventional-commits","emoji","emojify","gitmoji","pre-commit","precommit","terminal"],"author":{"name":"Folke Lemaitre","email":"folke.lemaitre@gmail.com"},"homepage":"https://github.com/alwyn974/devmoji#readme","license":"MIT","main":"lib/cli.js","bin":{"devmoji":"bin/devmoji.js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/alwyn974/devmoji.git"},"scripts":{"generate:emoji":"npx ts-node --transpile-only src/scripts/updater.ts","generate:config":"npx ts-interface-builder src/config-options.ts","generate":"pnpm generate:config","prebuild":"pnpm generate && pnpm lint && npx jest","build:rollup":"npx rollup -c","build":"pnpm build:rollup","clean":"npx rimraf lib coverage *.log","test":"npx jest","test:cov":"npx jest --coverage","lint":"pnpm lint:eslint && pnpm lint:ts","lint:eslint":"npx eslint src/**/*.ts __tests__/**/*.ts --cache --fix","lint:ts":"npx tsc -p tsconfig.build.json --noEmit","prepack":"pnpm build","release":"npx semantic-release --color --no-ci"},"husky":{"hooks":{"prepare-commit-msg":"npx --no-install devmoji -e --lint"}},"ultra":{"concurrent":["generate","prebuild","lint"]},"dependencies":{"chalk":"^5.2.0","commander":"^11.0.0","ts-interface-checker":"^1.0.2"},"devDependencies":{"@rollup/plugin-commonjs":"^19.0.2","@rollup/plugin-node-resolve":"^15.1.0","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-typescript":"^8.5.0","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^9.0.1","@types/jest":"^29.5.2","@types/node":"^18.16.18","@types/node-fetch":"^2.6.4","@typescript-eslint/eslint-plugin":"^5.59.11","@typescript-eslint/parser":"^5.59.11","concurrently":"^8.2.0","conventional-changelog-conventionalcommits":"^6.0.0","copyfiles":"^2.4.1","eslint":"^8.43.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jest":"^27.2.1","eslint-plugin-prettier":"^4.2.1","husky":"^8.0.3","jest":"^29.5.0","node-fetch":"^3.3.1","prettier":"^2.8.8","rimraf":"^5.0.1","rollup":"^2.79.1","rollup-plugin-progress":"^1.1.2","rollup-plugin-sizes":"^1.0.5","semantic-release":"^21.0.5","ts-interface-builder":"^0.3.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","tslib":"^2.5.3","typescript":"^5.1.3"},"resolutions":{"minimist":"^1.2.2"},"types":"./lib/cli.d.ts","gitHead":"4a075989558c480ec7c0c5f9e986bbdcd8ef79b9","bugs":{"url":"https://github.com/alwyn974/devmoji/issues"},"_id":"@alwyn974/devmoji@2.5.0","_nodeVersion":"18.16.0","_npmVersion":"9.6.3","dist":{"integrity":"sha512-k6DpZ1gxnrL1Z7jQvc4e2eyE37Gm5C3oy5RWdMuS1hDZSsQ/OyHd5+3L7MsMWelsIeCw4ynIgwbve250XtFYng==","shasum":"b7d3e3543bac6315272180cee0bb5ceb0fcf0f97","tarball":"https://registry.npmjs.org/@alwyn974/devmoji/-/devmoji-2.5.0.tgz","fileCount":21,"unpackedSize":87051,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD987+63JjKbrRGRq/r5yZ375unKvYrmP0Y7ekeyTbyvQIhAKKep1+dB2MrQjUvRc34kB8qNuE3Sd2kZzFGg2oGRmgd"}]},"_npmUser":{"name":"alwyn974","email":"alwyn974@gmail.com"},"directories":{},"maintainers":[{"name":"alwyn974","email":"alwyn974@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/devmoji_2.5.0_1687023815234_0.9043259114081095"},"_hasShrinkwrap":false},"2.5.1":{"name":"@alwyn974/devmoji","version":"2.5.1","description":"Enhance your conventional commits with gitmoji","keywords":["cli","command-line","commit","commitlint","commitzen","conventional-commits","emoji","emojify","gitmoji","pre-commit","precommit","terminal"],"author":{"name":"Folke Lemaitre","email":"folke.lemaitre@gmail.com"},"homepage":"https://github.com/alwyn974/devmoji#readme","license":"MIT","main":"lib/cli.js","bin":{"devmoji":"bin/devmoji.js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/alwyn974/devmoji.git"},"scripts":{"generate:emoji":"npx ts-node --transpile-only src/scripts/updater.ts","generate:config":"npx ts-interface-builder src/config-options.ts","generate":"pnpm generate:config","prebuild":"pnpm generate && pnpm lint && npx jest","build:rollup":"npx rollup -c","build":"pnpm build:rollup","clean":"npx rimraf lib coverage *.log","test":"npx jest","test:cov":"npx jest --coverage","lint":"pnpm lint:eslint && pnpm lint:ts","lint:eslint":"npx eslint src/**/*.ts __tests__/**/*.ts --cache --fix","lint:ts":"npx tsc -p tsconfig.build.json --noEmit","prepack":"pnpm build","release":"npx semantic-release --color --no-ci"},"husky":{"hooks":{"prepare-commit-msg":"npx --no-install devmoji -e --lint"}},"ultra":{"concurrent":["generate","prebuild","lint"]},"dependencies":{"chalk":"^4.1.2","commander":"^11.0.0","ts-interface-checker":"^1.0.2"},"devDependencies":{"@rollup/plugin-commonjs":"^19.0.2","@rollup/plugin-node-resolve":"^15.1.0","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-typescript":"^8.5.0","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^9.0.1","@types/jest":"^29.5.2","@types/node":"^18.16.18","@types/node-fetch":"^2.6.4","@typescript-eslint/eslint-plugin":"^5.59.11","@typescript-eslint/parser":"^5.59.11","concurrently":"^8.2.0","conventional-changelog-conventionalcommits":"^6.0.0","copyfiles":"^2.4.1","eslint":"^8.43.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jest":"^27.2.1","eslint-plugin-prettier":"^4.2.1","husky":"^8.0.3","jest":"^29.5.0","node-fetch":"^3.3.1","prettier":"^2.8.8","rimraf":"^5.0.1","rollup":"^2.79.1","rollup-plugin-progress":"^1.1.2","rollup-plugin-sizes":"^1.0.5","semantic-release":"^21.0.5","ts-interface-builder":"^0.3.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","tslib":"^2.5.3","typescript":"^5.1.3"},"resolutions":{"minimist":"^1.2.2"},"types":"./lib/cli.d.ts","gitHead":"6823ddfb705cef8e481ebb55db0e8b429d44557d","bugs":{"url":"https://github.com/alwyn974/devmoji/issues"},"_id":"@alwyn974/devmoji@2.5.1","_nodeVersion":"18.16.0","_npmVersion":"9.6.3","dist":{"integrity":"sha512-OSmDP5DArLCFiX1yHWRckw7uPKW7TZYi3n7RL38k0JECYMRRRXxtke0MAKZeXf8e6LCOGMu4vXPtgbAbrdTeUw==","shasum":"d24d967f2ead22fe75178b25d54a456852837a6a","tarball":"https://registry.npmjs.org/@alwyn974/devmoji/-/devmoji-2.5.1.tgz","fileCount":21,"unpackedSize":87186,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmWwWVFK7ICBaHyB1iX9s0KAl+1Z2uRJsI5zLlH96tSQIhAPoczG7i4yuURnGkYxV/fJbD/4Ax8EQ1JCvpshlqiCDO"}]},"_npmUser":{"name":"alwyn974","email":"alwyn974@gmail.com"},"directories":{},"maintainers":[{"name":"alwyn974","email":"alwyn974@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/devmoji_2.5.1_1687025173578_0.23091863234875953"},"_hasShrinkwrap":false},"2.5.2":{"name":"@alwyn974/devmoji","version":"2.5.2","description":"Enhance your conventional commits with gitmoji","keywords":["cli","command-line","commit","commitlint","commitzen","conventional-commits","emoji","emojify","gitmoji","pre-commit","precommit","terminal"],"author":{"name":"Folke Lemaitre","email":"folke.lemaitre@gmail.com"},"homepage":"https://github.com/alwyn974/devmoji#readme","license":"MIT","main":"lib/cli.js","bin":{"devmoji":"bin/devmoji.js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/alwyn974/devmoji.git"},"scripts":{"generate:emoji":"npx ts-node --transpile-only src/scripts/updater.ts","generate:config":"npx ts-interface-builder src/config-options.ts","generate":"pnpm generate:config","prebuild":"pnpm generate && pnpm lint && npx jest","build:rollup":"npx rollup -c","build":"pnpm build:rollup","clean":"npx rimraf lib coverage *.log","test":"npx jest","test:cov":"npx jest --coverage","lint":"pnpm lint:eslint && pnpm lint:ts","lint:eslint":"npx eslint src/**/*.ts __tests__/**/*.ts --cache --fix","lint:ts":"npx tsc -p tsconfig.build.json --noEmit","prepack":"pnpm build","release":"npx semantic-release --color --no-ci"},"husky":{"hooks":{"prepare-commit-msg":"npx --no-install devmoji -e --lint"}},"ultra":{"concurrent":["generate","prebuild","lint"]},"dependencies":{"chalk":"^4.1.2","commander":"^11.0.0","ts-interface-checker":"^1.0.2"},"devDependencies":{"@rollup/plugin-commonjs":"^19.0.2","@rollup/plugin-node-resolve":"^15.1.0","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-typescript":"^8.5.0","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^9.0.1","@types/jest":"^29.5.2","@types/node":"^18.16.18","@types/node-fetch":"^2.6.4","@typescript-eslint/eslint-plugin":"^5.59.11","@typescript-eslint/parser":"^5.59.11","concurrently":"^8.2.0","conventional-changelog-conventionalcommits":"^6.0.0","copyfiles":"^2.4.1","eslint":"^8.43.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jest":"^27.2.1","eslint-plugin-prettier":"^4.2.1","husky":"^8.0.3","jest":"^29.5.0","node-fetch":"^3.3.1","prettier":"^2.8.8","rimraf":"^5.0.1","rollup":"^2.79.1","rollup-plugin-progress":"^1.1.2","rollup-plugin-sizes":"^1.0.5","semantic-release":"^21.0.5","ts-interface-builder":"^0.3.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","tslib":"^2.5.3","typescript":"^5.1.3"},"resolutions":{"minimist":"^1.2.2"},"types":"./lib/cli.d.ts","gitHead":"6158372f90e4b245cfdc759b65a8397244846765","bugs":{"url":"https://github.com/alwyn974/devmoji/issues"},"_id":"@alwyn974/devmoji@2.5.2","_nodeVersion":"18.16.0","_npmVersion":"9.6.3","dist":{"integrity":"sha512-CVpSmzGFDJqLCXh02XoQ1uxr5zm4Aqt1qfkfY7rF5w4afNvR6Xet5ADo2sEn+qoiOetEZJj5YBVDh8/da2fyEw==","shasum":"facbf428f7238aa16ed36d4b71035423d4ba699c","tarball":"https://registry.npmjs.org/@alwyn974/devmoji/-/devmoji-2.5.2.tgz","fileCount":21,"unpackedSize":87211,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNlMGDM1ch7KJgeyKIigJHvpI0MF/vSg6N2H6JN6y8igIhALEemXgVEXiiCmv1WYevWduL8gsSWEwgrKuoMt45JtCO"}]},"_npmUser":{"name":"alwyn974","email":"alwyn974@gmail.com"},"directories":{},"maintainers":[{"name":"alwyn974","email":"alwyn974@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/devmoji_2.5.2_1687026628859_0.2172656969076101"},"_hasShrinkwrap":false},"2.5.3":{"name":"@alwyn974/devmoji","version":"2.5.3","description":"Enhance your conventional commits with gitmoji","keywords":["cli","command-line","commit","commitlint","commitzen","conventional-commits","emoji","emojify","gitmoji","pre-commit","precommit","terminal"],"author":{"name":"Folke Lemaitre","email":"folke.lemaitre@gmail.com"},"homepage":"https://github.com/alwyn974/devmoji#readme","license":"MIT","main":"lib/cli.js","bin":{"devmoji":"bin/devmoji.js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/alwyn974/devmoji.git"},"scripts":{"generate:emoji":"npx ts-node --transpile-only src/scripts/updater.ts","generate:config":"npx ts-interface-builder src/config-options.ts","generate":"pnpm generate:config","prebuild":"pnpm generate && pnpm lint && npx jest","build:rollup":"npx rollup -c","build":"pnpm build:rollup","clean":"npx rimraf lib coverage *.log","test":"npx jest","test:cov":"npx jest --coverage","lint":"pnpm lint:eslint && pnpm lint:ts","lint:eslint":"npx eslint src/**/*.ts __tests__/**/*.ts --cache --fix","lint:ts":"npx tsc -p tsconfig.build.json --noEmit","prepack":"pnpm build","release":"npx semantic-release --color --no-ci","prepare":"husky install"},"husky":{"hooks":{"prepare-commit-msg":"npx --no-install devmoji -e --lint"}},"ultra":{"concurrent":["generate","prebuild","lint"]},"dependencies":{"chalk":"^4.1.2","commander":"^11.0.0","ts-interface-checker":"^1.0.2"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.1","@rollup/plugin-node-resolve":"^15.1.0","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-typescript":"^11.1.1","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/node-fetch":"^2.6.4","@typescript-eslint/eslint-plugin":"^5.59.11","@typescript-eslint/parser":"^5.59.11","concurrently":"^8.2.0","conventional-changelog-conventionalcommits":"^6.0.0","copyfiles":"^2.4.1","eslint":"^8.43.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jest":"^27.2.1","eslint-plugin-prettier":"^4.2.1","husky":"^8.0.3","jest":"^29.5.0","node-fetch":"^3.3.1","prettier":"^2.8.8","rimraf":"^5.0.1","rollup":"^2.79.1","rollup-plugin-progress":"^1.1.2","rollup-plugin-sizes":"^1.0.5","semantic-release":"^21.0.5","ts-interface-builder":"^0.3.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","tslib":"^2.5.3","typescript":"^5.1.3"},"resolutions":{"minimist":"^1.2.2"},"types":"./lib/cli.d.ts","gitHead":"1abf30ec711cfb0d3ce1af7a6e3b0f80e61617d5","bugs":{"url":"https://github.com/alwyn974/devmoji/issues"},"_id":"@alwyn974/devmoji@2.5.3","_nodeVersion":"18.16.0","_npmVersion":"9.6.3","dist":{"integrity":"sha512-Q2N/okY2QRFRTGOpis/eW8dk1zfsxJRB1PYV6YnML2blnEb8bPinqEKafotXlwYfZNUx/UMEGR1+Pd0iFCvLQw==","shasum":"b6fc062646886d4565e3e0d4148c4b0519c2b4e0","tarball":"https://registry.npmjs.org/@alwyn974/devmoji/-/devmoji-2.5.3.tgz","fileCount":21,"unpackedSize":87255,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsUxGZ5GdjKDAb5VXlsbT1DzRNYW0pRysCz17tGYwG7wIhAI2nAjB8UggjnxW14ivYCLpin/1ah94D23gAimQ9QkiZ"}]},"_npmUser":{"name":"alwyn974","email":"alwyn974@gmail.com"},"directories":{},"maintainers":[{"name":"alwyn974","email":"alwyn974@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/devmoji_2.5.3_1687189601461_0.3123200303915259"},"_hasShrinkwrap":false},"2.5.4":{"name":"@alwyn974/devmoji","version":"2.5.4","description":"Enhance your conventional commits with gitmoji","keywords":["cli","command-line","commit","commitlint","commitzen","conventional-commits","emoji","emojify","gitmoji","pre-commit","precommit","terminal"],"author":{"name":"Folke Lemaitre","email":"folke.lemaitre@gmail.com"},"homepage":"https://github.com/alwyn974/devmoji#readme","license":"MIT","main":"lib/cli.js","bin":{"devmoji":"bin/devmoji.js"},"publishConfig":{"registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/alwyn974/devmoji.git"},"scripts":{"generate:emoji":"npx ts-node --transpile-only src/scripts/updater.ts","generate:config":"npx ts-interface-builder src/config-options.ts","generate":"pnpm generate:config","prebuild":"pnpm generate && pnpm lint && npx jest","build:rollup":"npx rollup -c","build":"pnpm build:rollup","clean":"npx rimraf lib coverage *.log","test":"npx jest","test:cov":"npx jest --coverage","lint":"pnpm lint:eslint && pnpm lint:ts","lint:eslint":"npx eslint src/**/*.ts __tests__/**/*.ts --cache --fix","lint:ts":"npx tsc -p tsconfig.build.json --noEmit","prepack":"pnpm build","release":"npx semantic-release --color --no-ci","prepare":"husky install"},"husky":{"hooks":{"prepare-commit-msg":"npx --no-install devmoji -e --lint"}},"ultra":{"concurrent":["generate","prebuild","lint"]},"dependencies":{"chalk":"^4.1.2","commander":"^11.0.0","ts-interface-checker":"^1.0.2"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.1","@rollup/plugin-node-resolve":"^15.1.0","@rollup/plugin-terser":"^0.4.3","@rollup/plugin-typescript":"^11.1.1","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/node-fetch":"^2.6.1","@typescript-eslint/eslint-plugin":"^5.59.11","@typescript-eslint/parser":"^5.59.11","concurrently":"^8.2.0","conventional-changelog-conventionalcommits":"^6.0.0","copyfiles":"^2.4.1","eslint":"^8.43.0","eslint-config-prettier":"^8.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jest":"^27.2.1","eslint-plugin-prettier":"^4.2.1","husky":"^8.0.3","jest":"^29.5.0","node-fetch":"2.6.1","prettier":"^2.8.8","rimraf":"^5.0.1","rollup":"^2.79.1","rollup-plugin-progress":"^1.1.2","rollup-plugin-sizes":"^1.0.5","semantic-release":"^21.0.5","ts-interface-builder":"^0.3.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","tslib":"^2.5.3","typescript":"^5.1.3"},"resolutions":{"minimist":"^1.2.2"},"types":"./lib/cli.d.ts","gitHead":"a591c6b8321b20cd5e7a3245dbd747aaad43a297","bugs":{"url":"https://github.com/alwyn974/devmoji/issues"},"_id":"@alwyn974/devmoji@2.5.4","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-PBwZgp2C6CzeaeoSXCYVUcZL2AcDm8AeHpmBMCVTYVvFuBvli4u5JiMffcFBHrmAVIPT+mz1kTpli/impdhxBg==","shasum":"8d3c11686a6eeb85744dc864ad21d3d41aae075d","tarball":"https://registry.npmjs.org/@alwyn974/devmoji/-/devmoji-2.5.4.tgz","fileCount":21,"unpackedSize":98760,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCd+xdQLDXvp+4kL18HETamghEGcoyIPeGOGsY7wDxn+QIgTJcnaPaXd2u1Fq9+xjxiVYO+R8XNYtQuiESbliq/IQI="}]},"_npmUser":{"name":"alwyn974","email":"alwyn974@gmail.com"},"directories":{},"maintainers":[{"name":"alwyn974","email":"alwyn974@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/devmoji_2.5.4_1687268211126_0.6349662298314203"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-17T17:43:35.155Z","2.5.0":"2023-06-17T17:43:35.484Z","modified":"2023-06-20T13:36:51.406Z","2.5.1":"2023-06-17T18:06:13.838Z","2.5.2":"2023-06-17T18:30:29.074Z","2.5.3":"2023-06-19T15:46:41.651Z","2.5.4":"2023-06-20T13:36:51.300Z"},"maintainers":[{"name":"alwyn974","email":"alwyn974@gmail.com"}],"description":"Enhance your conventional commits with gitmoji","homepage":"https://github.com/alwyn974/devmoji#readme","keywords":["cli","command-line","commit","commitlint","commitzen","conventional-commits","emoji","emojify","gitmoji","pre-commit","precommit","terminal"],"repository":{"type":"git","url":"git+https://github.com/alwyn974/devmoji.git"},"author":{"name":"Folke Lemaitre","email":"folke.lemaitre@gmail.com"},"bugs":{"url":"https://github.com/alwyn974/devmoji/issues"},"license":"MIT","readme":"# ✨ Devmoji\n\n> **Warning**\n> Forked from https://github.com/folke/devmoji\n\n[![Node CI](https://github.com/alwyn974/devmoji/workflows/Node%20CI/badge.svg)](https://github.com/alwyn974/devmoji/actions)\n[![npm](https://img.shields.io/npm/v/@alwyn974/devmoji)](https://www.npmjs.com/package/@alwyn974/devmoji)\n[![GitHub](https://img.shields.io/github/license/alwyn974/devmoji)](https://github.com/alwyn974/devmoji/blob/master/LICENSE)\n[![GitHub top language](https://img.shields.io/github/languages/top/alwyn974/devmoji)](https://github.com/alwyn974/devmoji/)\n[![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com)\n\nUsing [Conventional Commits :star:](https://www.conventionalcommits.org/) as a\nstandard for your commit messages, makes\n[Semantic Versioning :bookmark:](https://semver.org/) as easy as can be, with\ntools like\n[Conventional Changelog :page_facing_up:](https://github.com/conventional-changelog/conventional-changelog),\n[Standard Version :bookmark:](https://github.com/conventional-changelog/standard-version)\nand\n[Semantic Release :package::rocket:](https://github.com/semantic-release/semantic-release)\n\n**Devmoji** is a command line tool that adds color :rainbow: to conventional\ncommits, using emojis inspired by\n[Gitmoji :stuck_out_tongue_winking_eye:](https://gitmoji.carloscuesta.me/)\n\nSome of the things **Devmoji** can do:\n\n- [**emojify:**](###devmoji-emojify) convert input between diferent emoji\n  formats `unicode`, `shortcode` and `devmoji`. **devmoji** are easy to remember\n  aliases like: `:test:`, `:refactor:`, `:docs:`, `:security` instead of hard to\n  remember emoji codes\n- [**git commit:**](###devmoji---edit) install a **`prepare-commit-msg` commit\n  hook** to :sparkles: automagically emojify and lints your commit message\n- [**git log:**](###devmoji---log) emojify and colorify the output of `git log`\n  even for projects not using emojis\n\nWhat does it look like?\n\n- see the commit messages of the Devmoji\n  [github repository](https://github.com/alwyn974/devmoji)\n- generated Devmoji\n  [CHANGELOG.md](https://github.com/alwyn974/devmoji/blob/master/CHANGELOG.md)\n\n## 📦️ Installation\n\nInstall with `npm` or `pnpm`\n\n> globally\n\n```sh\nnpm install -g @alwyn974/devmoji\npnpm global add @alwyn974/devmoji\n```\n\n> locally inside your project. use with `npx devmoji`\n\n```shell\nnpm install --dev @alwyn974/devmoji\npnpm add --dev @alwyn974/devmoji\n```\n\nSee [`--edit`](###devmoji---edit) for information on how to setup a git commit\nhook.\n\n## 💥 Usage\n\n### `devmoji --help`\n\n```console\n$ devmoji --help\nUsage: cli [options]\n\nOptions:\n  -c|--config <file>    location of the devmoji.config.js file\n  -l|--list             list all known devmojis\n  -t|--text <text>      text to format. reads from stdin when omitted\n  --lint                lint the conventional commit. disabled for --log\n  -f|--format <format>  format should be one of: unicode, shortcode, devmoji (default: \"unicode\")\n  --commit              automatically add a devmoji to the conventional commit header (default: true)\n  --no-commit           do not process conventional commit headers\n  -e|--edit             read last commit message from .git/COMMIT_EDITMSG in the git root\n  --log                 format conventional commits in text similar to git log\n  --color               use colors for formatting. Colors are enabled by default, unless output is piped to another command (default: true)\n  --no-color            don't use colors\n  -b|--body             process the body too of the commit message (default: false)\n  --version             output the version number\n  -h, --help            display help for command\n\n```\n\n### `devmoji` emojify\n\nEmojify text using `--text` or piping it to `stdin`. Input can be a combination\nusing any valid format. Output formats:\n\n| Format      | Description                                                      |\n| ----------- | ---------------------------------------------------------------- |\n| `shortcode` | outputs Github Markdown short codes like `:sparkles:` `:rocket:` |\n| `unicode`   | outputs the emoji unicode symbols like :sparkles: :rocket:       |\n| `devmoji`   | outputs the devmoji shortcodes like `:feat:` `:chore-release:`   |\n| `strip`     | removes all emoji from the input                                 |\n\n> The default format is `unicode`, since this can be used pretty much everywhere\n> and has the shortest text length (relevant for commit messages)\n\n```console\n$ echo \"This is a :test: of the first :release: :boom: ✨\" | devmoji --format shortcode\nThis is a :rotating_light: of the first :rocket: :boom: :sparkles:\n\n$ echo \"This is a :test: of the first :release: :boom: :sparkles:\" | devmoji --format unicode\nThis is a 🚨 of the first 🚀 💥 ✨\n\n$ echo \"🚀 :boom: :sparkles:\" | devmoji --format devmoji\n:chore-release: :breaking: :feat:\n\n$ echo \"test 🚀 :boom: :sparkles: :security:\" | devmoji --format strip\ntest\n```\n\n### `devmoji --commit`\n\nAutomagically :sparkles: emojifies a conventional commit message of the format\n`type(scope): something useful`, using the following pseudo code:\n\n```js\nif (exists(\":type-scope:\")) return emoji(\":type-scope:\")\n\nif (exists(\":type:\") && exists(\":scope:\"))\n  return emoji(\":type:\") + emoji(\":scope:\")\n\nif (exists(\":type:\")) return emoji(\":type:\")\n```\n\n> example ouput:\n\n```console\n$ echo \"feat: added a new feature :smile:\" | devmoji --commit\nfeat: ✨ added a new feature 😄\n\n$ echo \"chore(release): 1.1.1\" | devmoji --commit\nchore(release): 🚀 1.1.1\n\n$ echo \"fix(security): upgraded lodash\" | devmoji --commit\nfix(security): 🐛 🔒 upgraded lodash\n```\n\n### `devmoji --lint`\n\nLints your commit message to see if they are valid conventional commits\n\n### `devmoji --edit`\n\nFormats and saves your current commit message `.git/COMMIT_EDITMSG`. This is\nonly really useful as a `prepare-commit-msg` or `commit-msg` hook.\n\nWhen to use what hook?\n\n* `prepare-commit-msg`: use this if you do not use **Devmnojis** `--lint` option and want to use it with something like [commitlint](https://commitlint.js.org/) instead.\n* `commit-msg`: use this hook if you also want to use **Devmoji** for linting \n\nConfiguration using [Husky](https://typicode.github.io/husky/)\n\n```shell\n# make sure husky hooks are installed\n$ npx husky install\n\n# add a hook for devmoji\n$ npx husky add .husky/prepare-commit-msg \"npx devmoji -e --lint\"\n```\n\nConfiguration using [Yorkie](https://www.npmjs.com/package/yorkie)\n\n```json\n// package.json\n{\n  \"gitHooks\": {\n    \"prepare-commit-msg\": \"devmoji -e --lint\"\n  }\n}\n```\n\n> If you installed **Devmoji** locally in your project as a dev dependency, then\n> use something like `npx --no-install devmoji -e` instead of the commands\n> above.\n\n> Alternatively, if you don't want to use **Husky** or **Yorkie**, you can [manually](https://github.com/alwyn974/devmoji/issues/87) create the git hooks.\n\n### `devmoji --log`\n\nWorks similar to `--commit`, but formats `type(scope): something useful`\nanywhere in the input instead of the beginning of the first line.\n\nThis is useful to format the output of `git log`. Any `git log` option works,\nbut my favorite alias is:\n\n```shell\n$ git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --decorate --date=short\n```\n\n> I'll use my alias `git l`, instead of the above, for clarity. The\n> `devmoji --format strip` is only for demonstration purposes, since all devmoji\n> commits already have emoji\n> ![devmoji --list](https://github.com/alwyn974/devmoji/raw/master/assets/git--log.png)\n\n> using `devmoji --log` >\n> ![devmoji --list](https://github.com/alwyn974/devmoji/raw/master/assets/devmoji--log.png)\n\n### `devmoji --list`\n\nTo get a list of all available **Devmoji**, run with `--list`. (see also\n[Default Devmoji](###Default-Devmoji))\n\n![devmoji --list](https://github.com/alwyn974/devmoji/raw/master/assets/devmoji--list.png)\n\n## ⚙️ Configuration\n\n`devmoji` uses the config file as specified with the `--config` option, or looks\nfor `devmoji.config.js` in the following paths:\n\n- current directory\n- parent directory that contains a `package.json` file\n- parent directory that is a `git` repository\n- home directory\n\n### Example Config File\n\n```js\nmodule.exports = {\n  // extra types used in commit messages\n  types: [\"lint\"],\n  // custom devmoji\n  devmoji: [\n    // use :boom: instead of :sparkles: for the type 'feat'\n    { code: \"feat\", emoji: \"boom\" },\n    // add a custom devmoji\n    {\n      code: \"fail\",\n      emoji: \"poop\",\n      description: \"something bad happened\",\n    },\n    // add a new devmoji based on an existing gitmoji. description will be taken from the gitmoji\n    {\n      code: \"css\",\n      gitmoji: \"art\",\n    },\n    // the emoji from the gitmoji can be overriden as well\n    {\n      code: \"config\",\n      gitmoji: \"wrench\",\n      emoji: \"gear\",\n    },\n  ],\n}\n```\n\n### Default Devmoji Reference\n\n| Emoji                  | Devmoji Code      | Description                                                                                                       |\n| ---------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------- |\n| :sparkles:             | `:feat:`          | **feat:** a new feature                                                                                           |\n| :bug:                  | `:fix:`           | **fix:** a bug fix                                                                                                |\n| :books:                | `:docs:`          | **docs:** documentation only changes                                                                              |\n| :art:                  | `:style:`         | **style:** changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |\n| :recycle:              | `:refactor:`      | **refactor:** a code change that neither fixes a bug nor adds a feature                                           |\n| :zap:                  | `:perf:`          | **perf:** a code change that improves performance                                                                 |\n| :rotating_light:       | `:test:`          | **test:** adding missing or correcting existing tests                                                             |\n| :wrench:               | `:chore:`         | **chore:** changes to the build process or auxiliary tools and libraries such as documentation generation         |\n| :rocket:               | `:chore-release:` | **chore(release):** code deployment or publishing to external repositories                                        |\n| :link:                 | `:chore-deps:`    | **chore(deps):** add or delete dependencies                                                                       |\n| :package:              | `:build:`         | **build:** changes related to build processes                                                                     |\n| :construction_worker:  | `:ci:`            | **ci:** updates to the continuous integration system                                                              |\n| :rocket:               | `:release:`       | code deployment or publishing to external repositories                                                            |\n| :lock:                 | `:security:`      | Fixing security issues.                                                                                           |\n| :globe_with_meridians: | `:i18n:`          | Internationalization and localization.                                                                            |\n| :boom:                 | `:breaking:`      | Introducing breaking changes.                                                                                     |\n| :gear:                 | `:config:`        | Changing configuration files.                                                                                     |\n| :heavy_plus_sign:      | `:add:`           | add something                                                                                                     |\n| :heavy_minus_sign:     | `:remove:`        | remove something                                                                                                  |\n","readmeFilename":"README.md"}