Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 0 additions & 56 deletions .circleci/config.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]
Comment on lines +5 to +7

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20, 22]
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm build
- run: pnpm test
- run: pnpm audit
- run: ./bin/run --version
- run: ./bin/run --help
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@
/package-lock.json
/tmp
node_modules
tsconfig.tsbuildinfo
.kiro/
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20
49 changes: 34 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,69 @@
<a href="https://codeclimate.com/github/nitaking/gitmoji-c/maintainability"><img src="https://api.codeclimate.com/v1/badges/43280ad2293c1c1d1be5/maintainability" /></a> <a href="https://codeclimate.com/github/nitaking/gitmoji-c/test_coverage"><img src="https://api.codeclimate.com/v1/badges/43280ad2293c1c1d1be5/test_coverage" /></a>
[![CI](https://github.com/nitaking/gitmoji-c/actions/workflows/ci.yml/badge.svg)](https://github.com/nitaking/gitmoji-c/actions/workflows/ci.yml)
[![Version](https://img.shields.io/npm/v/gitmoji-c.svg)](https://npmjs.org/package/gitmoji-c)
[![Downloads/week](https://img.shields.io/npm/dw/gitmoji-c.svg)](https://npmjs.org/package/gitmoji-c)

gitmoji-c
=========
# gitmoji-c

gitmoji-c is a [gitmoji-cli](https://github.com/carloscuesta/gitmoji-cli) clone tool that does not use gpg.

![2019-06-21 09 44 06](https://user-images.githubusercontent.com/10850034/59889833-35d0be80-9409-11e9-93b1-dd76da26d442.gif)

# Install
## Requirements

- Node.js >= 20

## Install

```
$ yarn global add gitmoji-c
$ pnpm add -g gitmoji-c
```

# Usage
or

```
$ npm i -g gitmoji-c
```

## Usage

```
$ gitmoji --help
```

## Commit
### Commit

Interactively commit using gitmoji prompts.

```
$ gitmoji commit
```

![2019-06-19 07 40 52](https://user-images.githubusercontent.com/10850034/59724737-dedeb400-9265-11e9-9d39-76beec62f99c.gif)

## List
### List

List all available gitmojis.

```
$ gitmoji list
```

## Search
### Search

Search gitmojis by keyword.

```
$ gitmoji list <search word>
$ gitmoji search bug
🐛 - :bug: - Fix a bug.
```

ex:
Without arguments, launches interactive autocomplete search:

```
$ gitmoji list apple

🍎 - :apple: - Fixing something on macOS.
🍏 - :green_apple: - Fixing something on iOS.
$ gitmoji search
? Search gitmojis: (type to filter)
```

## License

MIT
50 changes: 50 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Release Guide

## Prerequisites

- npm アカウントにログイン済み (`npm whoami` で確認)
- `main` ブランチが最新の状態

## Release Steps

```bash
# 1. main に切り替え、最新化
git checkout main
git pull origin main

# 2. バージョンを上げる (patch / minor / major)
npm version patch # 1.0.0 → 1.0.1
npm version minor # 1.0.0 → 1.1.0
npm version major # 1.0.0 → 2.0.0

# 3. ビルド・テスト・監査
pnpm install
pnpm build
pnpm test
pnpm audit

# 4. publish (prepack が自動で build + oclif manifest を実行)
npm publish

# 5. タグとコミットを push
git push origin main --tags

# 6. GitHub Release を作成
gh release create v$(node -p "require('./package.json').version") --generate-notes
```

## Dry Run

publish 前に内容を確認したい場合:

```bash
npm pack --dry-run
```

## Revert

publish を取り消す場合 (72時間以内):

```bash
npm unpublish gitmoji-c@<version>
```
6 changes: 3 additions & 3 deletions bin/run
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env node

require('@oclif/command').run()
.then(require('@oclif/command/flush'))
.catch(require('@oclif/errors/handle'))
import {execute} from '@oclif/core'

await execute({dir: import.meta.dirname})
24 changes: 24 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import tseslint from '@typescript-eslint/eslint-plugin'
import tsparser from '@typescript-eslint/parser'

export default [
{
files: ['src/**/*.ts'],
languageOptions: {
parser: tsparser,
parserOptions: {
project: './tsconfig.json',
},
},
plugins: {
'@typescript-eslint': tseslint,
},
rules: {
...tseslint.configs.recommended.rules,
'@typescript-eslint/no-explicit-any': 'warn',
},
},
{
ignores: ['lib/', 'node_modules/'],
},
]
66 changes: 30 additions & 36 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,56 +1,50 @@
{
"name": "gitmoji-c",
"description": "gitmoji-c is a gitmoji-cli clone tool that does not use gpg.",
"version": "0.2.1",
"author": "nitaking @nitaking",
"version": "1.0.0",
"author": "nitaking",
"bin": {
"gitmoji": "./bin/run"
},
"bugs": "https://github.com/nitaking/gitmoji-c/issues",
"dependencies": {
"@oclif/command": "^1",
"@oclif/config": "^1",
"@oclif/plugin-help": "^2",
"axios": "^0.21.1",
"chalk": "^2.4.2",
"execa": "^1.0.0",
"inquirer": "^6.3.1",
"inquirer-autocomplete-prompt": "^1.0.1",
"listr": "^0.14.3",
"tslib": "^1"
"@oclif/core": "^4.11.2",
"@oclif/plugin-help": "^6.2.48",
"axios": "^1.7.9",
"chalk": "^4.1.2",
"execa": "^9.6.1",
"inquirer": "9",
"inquirer-autocomplete-prompt": "3"
},
"devDependencies": {
"@oclif/dev-cli": "^1",
"@oclif/test": "^1",
"@oclif/tslint": "^3",
"@types/chai": "^4",
"@types/execa": "^0.9.0",
"@types/inquirer": "^6.0.3",
"@types/listr": "^0.14.0",
"@types/mocha": "^5",
"@types/node": "^10",
"chai": "^4",
"globby": "^8",
"mocha": "^5",
"nyc": "^13",
"ts-node": "^8",
"tslint": "^5",
"typescript": "^3.3"
"@oclif/test": "^4.1.18",
"@types/inquirer": "9",
"@types/inquirer-autocomplete-prompt": "^3.0.3",
"@types/node": "^20.17.0",
"@typescript-eslint/eslint-plugin": "^8.18.0",
"@typescript-eslint/parser": "^8.18.0",
"eslint": "^9.16.0",
"oclif": "^4.23.0",
"ts-node": "^10.9.2",
"typescript": "^5.7.2",
"vitest": "^3.2.1"
},
"packageManager": "pnpm@9.15.4",
"engines": {
"node": ">=8.0.0"
"node": ">=20.0.0"
},
"files": [
"/bin",
"/lib",
"/npm-shrinkwrap.json",
"/oclif.manifest.json"
],
"homepage": "https://github.com/nitaking/gitmoji-c",
"keywords": [
"oclif"
"oclif",
"gitmoji"
],
"license": "MIT",
"type": "module",
"main": "lib/index.js",
"oclif": {
"commands": "./lib/commands",
Expand All @@ -61,12 +55,12 @@
},
"repository": "nitaking/gitmoji-c",
"scripts": {
"build": "tsc -b",
"lint": "eslint src/",
"postpack": "rm -f oclif.manifest.json",
"posttest": "tslint -p test -t stylish",
"prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme && yarn tags",
"test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"",
"version": "oclif-dev readme && git add README.md",
"tags": "git push origin --tags"
"prepack": "rm -rf lib && tsc -b && oclif manifest",
"test": "vitest run",
"test:watch": "vitest"
},
"types": "lib/index.d.ts"
}
Loading
Loading