UNPKG

alfred-git-commit-emoji

Version:

Alfred 3 workflow to sort applicable emoji for git commit message quickly.

324 lines (320 loc) 6.58 kB
const alfy = require('alfy'); const path = require('path'); const MAPPING = { initail: { desc: 'Initial commit.', emoji: ':tada:', icon: '1f389' }, tag: { desc: 'Releasing / Version tags.', emoji: ':bookmark:', icon: '1f516' }, feature: { desc: 'Introducing new features.', emoji: ':sparkles:', icon: '2728' }, bug: { desc: 'Fixing a bug.', emoji: ':bug:', icon: '1F41B' }, meta: { desc: 'Metadata', emoji: ':card_index:', icon: '1f5c2' }, documentation: { desc: 'Writing Documentations.', emoji: ':books:', icon: '1f4da' }, 'documentation-source': { desc: 'Documenting source code.', emoji: ':bulb:', icon: '1f4a1' }, performance: { desc: 'Performance', emoji: ':racehorse:', icon: '1F3C7' }, style: { desc: 'Updating the UI and style files.', emoji: ':lipstick:', icon: '1F484' }, tests: { desc: 'Adding tests.', emoji: ':white_check_mark:', icon: '2705' }, general: { desc: 'Improving performance.', emoji: ':zap:', icon: '26A1' }, improve: { desc: 'Improving structure / format of the code.', emoji: ':art:', icon: '1F3A8' }, refactor: { desc: 'Refactoring code.', emoji: ':recycle:', icon: '267B' }, remove: { desc: 'Removing code/files.', emoji: ':fire:', icon: '1f525' }, ci: { desc: 'Fixing CI Build.', emoji: ':green_heart:', icon: '1F49A' }, security: { desc: 'Fixing security issues.', emoji: ':lock:', icon: '1F512' }, 'upgrade-dep': { desc: 'Upgrading dependencies.', emoji: ':arrow_up:', icon: '2B06' }, 'downgrade-dep': { desc: 'Downgrading dependencies.', emoji: ':arrow_down:', icon: '2B07' }, 'liner-warnings': { desc: 'Removing linter warnings.', emoji: ':rotating_light:', icon: '1F6A8' }, lint: { desc: 'Lint', emoji: ':shirt:', icon: '1F455' }, i18n: { desc: 'Internationalization(i18n) and localization.', emoji: ':globe_with_meridians:', icon: '1F310' }, typo: { desc: 'Fixing typos.', emoji: ':pencil:', icon: '270F' }, hotfix: { desc: 'Critical hotfix.', emoji: ':ambulance:', icon: '1F691' }, deploy: { desc: 'Deploying stuff.', emoji: ':rocket:', icon: '1F680' }, macos: { desc: 'Fixing something on macOS.', emoji: ':apple:', icon: '1F34E' }, linux: { desc: 'Fixing something on Linux.', emoji: ':penguin:', icon: '1F427' }, windows: { desc: 'Fixing something on Windows.', emoji: ':checkered_flag:', icon: '1F3C1' }, android: { desc: 'Fixing something on Android.', emoji: ':robot:', icon: '1F916' }, ios: { desc: 'Fixing something on IOS.', emoji: ':green_apple:', icon: '1F34F' }, wip: { desc: 'Work in progress.', emoji: ':construction:', icon: '1F6A7' }, 'add-ci': { desc: 'Adding CI build system.', emoji: ':construction_worker:', icon: '1F477' }, analytics: { desc: 'Analytics or tracking code.', emoji: ':chart_with_upwards_trend:', icon: '1F4C8' }, 'remove-dep': { desc: 'Removing a dependency', emoji: ':heavy_minus_sign:', icon: '2796' }, 'add-dep': { desc: 'Adding a dependency', emoji: ':heavy_plus_sign:', icon: '2795' }, docker: { desc: 'Docker', emoji: ':whale:', icon: '1F433' }, configuration: { desc: 'Changing configuration files.', emoji: ':wrench:', icon: '1F527' }, merge: { desc: 'Merging branches', emoji: ':twisted_rightwards_arrows:', icon: '1f500' }, bas: { desc: 'Writing bad code that needs to be improved.', emoji: ':hankey:', icon: '1f4a9' }, revert: { desc: 'Reverting changes', emoji: ':rewind:', icon: '23EA' }, 'breaking-change': { desc: 'Introducing breaking changes.', emoji: ':boom:', icon: '1F4A5' }, review: { desc: 'Updating code due to code review changes.', emoji: ':ok_hand:', icon: '1F44C' }, accessibility: { desc: 'Improving accessibility.', emoji: ':wheelchair:', icon: '267F' }, mock: { desc: "Mocking things.", emoji: ":clown_face:", icon: '1F921' }, pin: { desc: 'Pinning dependencies to specific versions.', emoji: ':pushpin:', icon: '1F4CC' }, 'update-files': { desc: 'Updating compiled files or packages.', emoji: ':package:', icon: '1F4E6' }, 'update-external': { desc: 'Updating code due to external API changes.', emoji: ':alien:', icon: '1F47D' }, rename: { desc: 'Moving or renaming files.', emoji: ':truck:', icon: '1F69A' }, license: { desc: 'Adding or updating license.', emoji: ':page_facing_up:', icon: '1F4C4' }, assets: { desc: 'Adding or updating assets.', emoji: ':bento:', icon: '1F371' }, drunkenly: { desc: 'Writing code drunkenly.', emoji: ':beers:', icon: '1F37B' }, literals: { desc: 'Updating text and literals.', emoji: ':speech_balloon:', icon: '1F4AC' }, database: { desc: 'Performing database related changes.', emoji: ':card_file_box:', icon: '1F5C3' }, 'add-log': { desc: 'Adding logs.', emoji: ':loud_sound:', icon: '1F50A' }, 'remove-log': { desc: 'Removing logs.', emoji: ':mute:', icon: '1F507' }, contributor: { desc: 'Adding contributor(s).', emoji: ':busts_in_silhouette:', icon: '1F465' }, ux: { desc: 'Improving user experience / usability.', emoji: ':children_crossing:', icon: '1F6B8' }, architectural: { desc: 'Making architectural changes.', emoji: ':building_construction:', icon: '1F3D7' }, responsive: { desc: 'Working on responsive design.', emoji: ':iphone:', icon: '1F4F1' }, gitignore: { desc: 'Adding or updating a .gitignore file', emoji: ':see_no_evil:', icon: '1F648' }, egg: { desc: 'Adding an easter egg.', emoji: ':egg:', icon: '1F95A' }, snapshots: { desc: 'Adding or updating snapshots.', emoji: ':camera_flash:', icon: '1F4F8' } } const data = alfy.input.toLowerCase(); let res = Object.values(MAPPING).filter(m => m.desc.toLowerCase().includes(data.toLowerCase())); res = res.map(m => ({ title: m.emoji, subtitle: m.desc, arg: m.emoji, icon: { path: path.join(__dirname, `./images/emoji/${m.icon.toLowerCase()}.png`) } })); alfy.output(res);