From 9d4406ee546a28f3a368a8f2fe7fd0ec55d099c7 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 29 Jun 2026 20:27:42 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Initial=20implementation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 763 ++++++++++++++++++++++++++++++++++++++++++++++ src/gitmoji.tsx | 252 +++------------ src/gitmojis.json | 437 ++++++++++++++++++++++++++ 3 files changed, 1243 insertions(+), 209 deletions(-) create mode 100644 package-lock.json create mode 100644 src/gitmojis.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6c6ee5c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,763 @@ +{ + "name": "gitmoji", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "gitmoji", + "license": "MIT", + "dependencies": { + "@vicinae/api": "^0.22.0" + }, + "devDependencies": { + "@biomejs/biome": "2.3.2", + "typescript": "^5.9.2" + } + }, + "node_modules/@biomejs/biome": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.2.tgz", + "integrity": "sha512-8e9tzamuDycx7fdrcJ/F/GDZ8SYukc5ud6tDicjjFqURKYFSWMl0H0iXNXZEGmcmNUmABgGuHThPykcM41INgg==", + "dev": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "2.3.2", + "@biomejs/cli-darwin-x64": "2.3.2", + "@biomejs/cli-linux-arm64": "2.3.2", + "@biomejs/cli-linux-arm64-musl": "2.3.2", + "@biomejs/cli-linux-x64": "2.3.2", + "@biomejs/cli-linux-x64-musl": "2.3.2", + "@biomejs/cli-win32-arm64": "2.3.2", + "@biomejs/cli-win32-x64": "2.3.2" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.2.tgz", + "integrity": "sha512-4LECm4kc3If0JISai4c3KWQzukoUdpxy4fRzlrPcrdMSRFksR9ZoXK7JBcPuLBmd2SoT4/d7CQS33VnZpgBjew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.2.tgz", + "integrity": "sha512-jNMnfwHT4N3wi+ypRfMTjLGnDmKYGzxVr1EYAPBcauRcDnICFXN81wD6wxJcSUrLynoyyYCdfW6vJHS/IAoTDA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.2.tgz", + "integrity": "sha512-amnqvk+gWybbQleRRq8TMe0rIv7GHss8mFJEaGuEZYWg1Tw14YKOkeo8h6pf1c+d3qR+JU4iT9KXnBKGON4klw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.2.tgz", + "integrity": "sha512-2Zz4usDG1GTTPQnliIeNx6eVGGP2ry5vE/v39nT73a3cKN6t5H5XxjcEoZZh62uVZvED7hXXikclvI64vZkYqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.2.tgz", + "integrity": "sha512-8BG/vRAhFz1pmuyd24FQPhNeueLqPtwvZk6yblABY2gzL2H8fLQAF/Z2OPIc+BPIVPld+8cSiKY/KFh6k81xfA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.2.tgz", + "integrity": "sha512-gzB19MpRdTuOuLtPpFBGrV3Lq424gHyq2lFj8wfX9tvLMLdmA/R9C7k/mqBp/spcbWuHeIEKgEs3RviOPcWGBA==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.2.tgz", + "integrity": "sha512-lCruqQlfWjhMlOdyf5pDHOxoNm4WoyY2vZ4YN33/nuZBRstVDuqPPjS0yBkbUlLEte11FbpW+wWSlfnZfSIZvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.2.tgz", + "integrity": "sha512-6Ee9P26DTb4D8sN9nXxgbi9Dw5vSOfH98M7UlmkjKB2vtUbrRqCbZiNfryGiwnPIpd6YUoTl7rLVD2/x1CyEHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@types/node": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.1.tgz", + "integrity": "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==", + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~8.3.0" + } + }, + "node_modules/@types/react": { + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", + "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@vicinae/api": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@vicinae/api/-/api-0.22.0.tgz", + "integrity": "sha512-C9TkKeS2Y5/NTHS07a9lYM3GVfC6S76VRCmrIpnA/0NCFMA4A29sxAaNGobnW1K351+IO9GvBIpiI8hW1G3wkA==", + "license": "ISC", + "dependencies": { + "chokidar": "^4.0.3", + "esbuild": "^0.25.2", + "react": "^19.0.0", + "zod": "^4.0.17" + }, + "bin": { + "vici": "dist/bin.js" + }, + "peerDependencies": { + "@types/node": ">=18", + "@types/react": "19.0.10" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT", + "peer": true + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", + "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", + "license": "MIT", + "peer": true + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/src/gitmoji.tsx b/src/gitmoji.tsx index c682a87..773b5a7 100644 --- a/src/gitmoji.tsx +++ b/src/gitmoji.tsx @@ -1,214 +1,48 @@ -import { - Action, - ActionPanel, - Icon, - List, - showToast, - Toast, -} from "@vicinae/api"; +import gitmojisData from "./gitmojis.json"; +import { Action, ActionPanel, List, showToast, Toast } from "@vicinae/api"; -export default function SimpleList() { +type Gitmoji = { + emoji: string; + entity?: string; + code: string; + description: string; + name: string; +}; + +const gitmojis = gitmojisData.gitmojis as Gitmoji[]; + +export default function GitmojiList() { return ( - - - {fruits.map((fruit) => ( - - - { - const toast = await showToast( - Toast.Style.Success, - "title", - "selected successfully", - ); - setTimeout(() => toast.hide(), 500); - }} - /> - - showToast({ title: "Hello from custom action" }) - } - /> - - {/* Sub Menu */} - - showToast({ title: `More actions for ${fruit.name}` }) - } - > - {/* Sections inside Sub Menu */} - - {/* Sub Menu inside Section */} - - {["Breakfast boost", "Green refresh"].map((recipe) => ( - - showToast({ - title: `${recipe} smoothie recipe selected with fruit ${fruit.name}`, - }) - } - /> - ))} - - - {/* Multiple Sub Menus in a Section */} - - {["Fruit skewer", "Yogurt parfait"].map((recipe) => ( - - showToast({ - title: `${recipe} snack recipe selected with fruit ${fruit.name}`, - }) - } - /> - ))} - - - - {/* Regular action in a Sub Menu */} - - - showToast({ - title: `Random ${fruit.name} fact: ${randomFact(fruit.name)}`, - }) - } - /> - - - - } - /> - ))} - + + {gitmojis.map((gitmoji) => ( + + + showToast( + Toast.Style.Success, + "Copied to clipboard", + String(content), + ) + } + /> + + + } + /> + ))} ); } - -type Fruit = { - emoji: string; - name: string; - keywords: string[]; -}; - -const fruits: Fruit[] = [ - { - emoji: "🍎", - name: "Apple", - keywords: ["red", "crisp", "sweet", "orchard", "healthy"], - }, - { - emoji: "🍊", - name: "Orange", - keywords: ["citrus", "vitamin C", "juicy", "tangy", "breakfast"], - }, - { - emoji: "🍌", - name: "Banana", - keywords: ["yellow", "potassium", "smoothie", "energy", "tropical"], - }, - { - emoji: "πŸ‰", - name: "Watermelon", - keywords: ["summer", "refreshing", "hydrating", "seeds", "picnic"], - }, - { - emoji: "πŸ‡", - name: "Grapes", - keywords: ["wine", "cluster", "sweet", "purple", "vineyard"], - }, - { - emoji: "πŸ“", - name: "Strawberry", - keywords: ["berry", "jam", "dessert", "romantic", "garden"], - }, - { - emoji: "🍍", - name: "Pineapple", - keywords: ["tropical", "spiky", "Hawaiian", "sweet", "vacation"], - }, - { - emoji: "πŸ₯­", - name: "Mango", - keywords: ["tropical", "creamy", "exotic", "Indian", "smoothie"], - }, - { - emoji: "πŸ‘", - name: "Peach", - keywords: ["fuzzy", "summer", "pit", "Georgia", "cobbler"], - }, - { - emoji: "🍐", - name: "Pear", - keywords: ["teardrop", "autumn", "crisp", "Bartlett", "elegant"], - }, - { - emoji: "πŸ₯", - name: "Kiwi", - keywords: ["fuzzy", "green", "tangy", "New Zealand", "exotic"], - }, - { - emoji: "πŸ’", - name: "Cherries", - keywords: ["red", "pit", "pie", "sweet", "Michigan"], - }, - { - emoji: "🫐", - name: "Blueberries", - keywords: ["antioxidants", "pancakes", "muffin", "Maine", "superfood"], - }, - { - emoji: "πŸ₯₯", - name: "Coconut", - keywords: ["tropical", "milk", "hard shell", "palm tree", "island"], - }, - { - emoji: "πŸ‹", - name: "Lemon", - keywords: ["sour", "citrus", "yellow", "zest", "cooking"], - }, - { - emoji: "🍈", - name: "Melon", - keywords: ["cantaloupe", "orange", "sweet", "breakfast", "honeydew"], - }, - { - emoji: "🍏", - name: "Green Apple", - keywords: ["tart", "Granny Smith", "baking", "crisp", "sour"], - }, -]; - -const randomFact = (fruitName: string) => { - const facts = [ - (name: string) => `${name} are tasty!`, - (name: string) => `People love ${name.toLowerCase()}s.`, - (name: string) => `${name}s are cool.`, - ]; - - return facts[Math.floor(Math.random() * facts.length)](fruitName); -}; diff --git a/src/gitmojis.json b/src/gitmojis.json new file mode 100644 index 0000000..38b0c67 --- /dev/null +++ b/src/gitmojis.json @@ -0,0 +1,437 @@ +{ + "gitmojis": [ + { + "emoji": "🎨", + "entity": "🎨", + "code": ":art:", + "description": "Improving structure / format of the code.", + "name": "art" + }, + { + "emoji": "⚑️", + "entity": "⚡", + "code": ":zap:", + "description": "Improving performance.", + "name": "zap" + }, + { + "emoji": "πŸ”₯", + "entity": "🔥", + "code": ":fire:", + "description": "Removing code or files.", + "name": "fire" + }, + { + "emoji": "πŸ›", + "entity": "🐛", + "code": ":bug:", + "description": "Fixing a bug.", + "name": "bug" + }, + { + "emoji": "πŸš‘", + "entity": "🚑", + "code": ":ambulance:", + "description": "Critical hotfix.", + "name": "ambulance" + }, + { + "emoji": "✨", + "entity": "✨", + "code": ":sparkles:", + "description": "Introducing new features.", + "name": "sparkles" + }, + { + "emoji": "πŸ“", + "entity": "📝", + "code": ":memo:", + "description": "Writing docs.", + "name": "memo" + }, + { + "emoji": "πŸš€", + "entity": "🚀", + "code": ":rocket:", + "description": "Deploying stuff.", + "name": "rocket" + }, + { + "emoji": "πŸ’„", + "entity": "&#ff99cc;", + "code": ":lipstick:", + "description": "Updating the UI and style files.", + "name": "lipstick" + }, + { + "emoji": "πŸŽ‰", + "entity": "🎉", + "code": ":tada:", + "description": "Initial commit.", + "name": "tada" + }, + { + "emoji": "βœ…", + "entity": "✅", + "code": ":white_check_mark:", + "description": "Adding tests.", + "name": "white-check-mark" + }, + { + "emoji": "πŸ”’", + "entity": "🔒", + "code": ":lock:", + "description": "Fixing security issues.", + "name": "lock" + }, + { + "emoji": "🍎", + "entity": "🍎", + "code": ":apple:", + "description": "Fixing something on macOS.", + "name": "apple" + }, + { + "emoji": "🐧", + "entity": "🐧", + "code": ":penguin:", + "description": "Fixing something on Linux.", + "name": "penguin" + }, + { + "emoji": "🏁", + "entity": "🏁", + "code": ":checkered_flag:", + "description": "Fixing something on Windows.", + "name": "checkered-flag" + }, + { + "emoji": "πŸ€–", + "entity": "🤖", + "code": ":robot:", + "description": "Fixing something on Android.", + "name": "robot" + }, + { + "emoji": "🍏", + "entity": "🍏", + "code": ":green_apple:", + "description": "Fixing something on iOS.", + "name": "green-apple" + }, + { + "emoji": "πŸ”–", + "entity": "🔖", + "code": ":bookmark:", + "description": "Releasing / Version tags.", + "name": "bookmark" + }, + { + "emoji": "🚨", + "entity": "🚨", + "code": ":rotating_light:", + "description": "Removing linter warnings.", + "name": "rotating-light" + }, + { + "emoji": "🚧", + "entity": "🚧", + "code": ":construction:", + "description": "Work in progress.", + "name": "construction" + }, + { + "emoji": "πŸ’š", + "entity": "💚", + "code": ":green_heart:", + "description": "Fixing CI Build.", + "name": "green-heart" + }, + { + "emoji": "⬇️", + "entity": "⬇️", + "code": ":arrow_down:", + "description": "Downgrading dependencies.", + "name": "arrow-down" + }, + { + "emoji": "⬆️", + "entity": "⬆️", + "code": ":arrow_up:", + "description": "Upgrading dependencies.", + "name": "arrow-up" + }, + { + "emoji": "πŸ“Œ", + "entity": "📌", + "code": ":pushpin:", + "description": "Pinning dependencies to specific versions.", + "name": "pushpin" + }, + { + "emoji": "πŸ‘·", + "entity": "👷", + "code": ":construction_worker:", + "description": "Adding CI build system.", + "name": "construction-worker" + }, + { + "emoji": "πŸ“ˆ", + "code": ":chart_with_upwards_trend:", + "description": "Adding analytics or tracking code.", + "name": "chart-with-upwards-trend" + }, + { + "emoji": "♻️", + "entity": "♲", + "code": ":recycle:", + "description": "Refactoring code.", + "name": "recycle" + }, + { + "emoji": "🐳", + "entity": "🐳", + "code": ":whale:", + "description": "Work about Docker.", + "name": "whale" + }, + { + "emoji": "βž•", + "entity": "➕", + "code": ":heavy_plus_sign:", + "description": "Adding a dependency.", + "name": "heavy-plus-sign" + }, + { + "emoji": "βž–", + "entity": "➖", + "code": ":heavy_minus_sign:", + "description": "Removing a dependency.", + "name": "heavy-minus-sign" + }, + { + "emoji": "πŸ”§", + "entity": "🔧", + "code": ":wrench:", + "description": "Changing configuration files.", + "name": "wrench" + }, + { + "emoji": "🌐", + "entity": "🌐", + "code": ":globe_with_meridians:", + "description": "Internationalization and localization.", + "name": "globe-with-meridians" + }, + { + "emoji": "✏️", + "entity": "", + "code": ":pencil2:", + "description": "Fixing typos.", + "name": "pencil" + }, + { + "emoji": "πŸ’©", + "entity": "", + "code": ":hankey:", + "description": "Writing bad code that needs to be improved.", + "name": "hankey" + }, + { + "emoji": "βͺ", + "entity": "⏪", + "code": ":rewind:", + "description": "Reverting changes.", + "name": "rewind" + }, + { + "emoji": "πŸ”€", + "entity": "🔀", + "code": ":twisted_rightwards_arrows:", + "description": "Merging branches.", + "name": "twisted-rightwards-arrows" + }, + { + "emoji": "πŸ“¦", + "entity": "F4E6;", + "code": ":package:", + "description": "Updating compiled files or packages.", + "name": "package" + }, + { + "emoji": "πŸ‘½", + "entity": "F47D;", + "code": ":alien:", + "description": "Updating code due to external API changes.", + "name": "alien" + }, + { + "emoji": "🚚", + "entity": "F69A;", + "code": ":truck:", + "description": "Moving or renaming files.", + "name": "truck" + }, + { + "emoji": "πŸ“„", + "entity": "F4C4;", + "code": ":page_facing_up:", + "description": "Adding or updating license.", + "name": "page-facing-up" + }, + { + "emoji": "πŸ’₯", + "entity": "💥", + "code": ":boom:", + "description": "Introducing breaking changes.", + "name": "boom" + }, + { + "emoji": "🍱", + "entity": "F371", + "code": ":bento:", + "description": "Adding or updating assets.", + "name": "bento" + }, + { + "emoji": "πŸ‘Œ", + "entity": "👌", + "code": ":ok_hand:", + "description": "Updating code due to code review changes.", + "name": "ok-hand" + }, + { + "emoji": "♿️", + "entity": "♿", + "code": ":wheelchair:", + "description": "Improving accessibility.", + "name": "wheelchair" + }, + { + "emoji": "πŸ’‘", + "entity": "💡", + "code": ":bulb:", + "description": "Documenting source code.", + "name": "bulb" + }, + { + "emoji": "🍻", + "entity": "🍻", + "code": ":beers:", + "description": "Writing code drunkenly.", + "name": "beers" + }, + { + "emoji": "πŸ’¬", + "entity": "💬", + "code": ":speech_balloon:", + "description": "Updating text and literals.", + "name": "speech-balloon" + }, + { + "emoji": "πŸ—ƒ", + "entity": "🗃", + "code": ":card_file_box:", + "description": "Performing database related changes.", + "name": "card-file-box" + }, + { + "emoji": "πŸ”Š", + "entity": "🔊", + "code": ":loud_sound:", + "description": "Adding logs.", + "name": "loud-sound" + }, + { + "emoji": "πŸ”‡", + "entity": "🔇", + "code": ":mute:", + "description": "Removing logs.", + "name": "mute" + }, + { + "emoji": "πŸ‘₯", + "entity": "👥", + "code": ":busts_in_silhouette:", + "description": "Adding contributor(s).", + "name": "busts-in-silhouette" + }, + { + "emoji": "🚸", + "entity": "🚸", + "code": ":children_crossing:", + "description": "Improving user experience / usability.", + "name": "children-crossing" + }, + { + "emoji": "πŸ—", + "entity": "f3d7;", + "code": ":building_construction:", + "description": "Making architectural changes.", + "name": "building-construction" + }, + { + "emoji": "πŸ“±", + "entity": "📱", + "code": ":iphone:", + "description": "Working on responsive design.", + "name": "iphone" + }, + { + "emoji": "🀑", + "entity": "🤡", + "code": ":clown_face:", + "description": "Mocking things.", + "name": "clown-face" + }, + { + "emoji": "πŸ₯š", + "entity": "🥚", + "code": ":egg:", + "description": "Adding an easter egg.", + "name": "egg" + }, + { + "emoji": "πŸ™ˆ", + "entity": "bdfe7;", + "code": ":see_no_evil:", + "description": "Adding or updating a .gitignore file", + "name": "see-no-evil" + }, + { + "emoji": "πŸ“Έ", + "entity": "📸", + "code": ":camera_flash:", + "description": "Adding or updating snapshots", + "name": "camera-flash" + }, + { + "emoji": "βš—", + "entity": "📸", + "code": ":alembic:", + "description": "Experimenting new things", + "name": "alembic" + }, + { + "emoji": "πŸ”", + "entity": "🔍", + "code": ":mag:", + "description": "Improving SEO", + "name": "mag" + }, + { + "emoji": "☸️", + "entity": "☸", + "code": ":wheel_of_dharma:", + "description": "Work about Kubernetes", + "name": "wheel-of-dharma" + }, + { + "emoji": "🏷️", + "entity": "🏷", + "code": ":label:", + "description": "Adding or updating types (Flow, TypeScript)", + "name": "label" + } + ] +}