From 9b33fd778dce8dcfa8b3ffc40a587bd9a832aff3 Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Mon, 24 Apr 2023 13:30:28 -0500 Subject: [PATCH 01/13] =?UTF-8?q?=F0=9F=93=A6=20FEAT:=20[cli]=20add=20nake?= =?UTF-8?q?d=20flag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cli.ts b/src/cli.ts index f64a8d7..e38fbbb 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -65,6 +65,11 @@ const commitTypes: Record = { name: "BUILD", description: "build for production", }, + naked: { + emoji: "", + name: "", + description: "naked commit", + }, }; const questions = [ @@ -212,6 +217,7 @@ async function confirmCommitHasManyFiles(stagedFilesCount: number) { .option("-t, --test", "add/edit test") .option("-y, --try", "add untested to production") .option("-b, --build", "build for production") + .option("-n, --naked", "no-emoji naked commit") .version(version) .parse(process.argv); From 23b02066973e079963111a4a6cd4f3905f83e0cf Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Mon, 24 Apr 2023 13:30:37 -0500 Subject: [PATCH 02/13] 1.23.1-alpha.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c8cc7a7..d914fcf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "git-emoji-commit", - "version": "1.23.0", + "version": "1.23.1-alpha.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "git-emoji-commit", - "version": "1.23.0", + "version": "1.23.1-alpha.0", "license": "ISC", "dependencies": { "commander": "^10.0.0", diff --git a/package.json b/package.json index 73acefd..2d7ab65 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "git-emoji-commit", - "version": "1.23.0", + "version": "1.23.1-alpha.0", "description": "Simple CLI to encourage more concise commits using emojis.", "main": "dist/cli.js", "type": "module", From e5fe920b98b17b9fdc89a58ab92f07882a5b07ff Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Mon, 24 Apr 2023 13:31:06 -0500 Subject: [PATCH 03/13] =?UTF-8?q?=F0=9F=9A=80=20BUILD:=20bump=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.ts b/src/version.ts index d48e5df..2c6369a 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = "1.23.0"; \ No newline at end of file +export const version = "1.23.1-alpha.0"; \ No newline at end of file From 20c24cd0522e5926db4dde76f2b008a76c21d6a3 Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Mon, 24 Apr 2023 13:46:58 -0500 Subject: [PATCH 04/13] =?UTF-8?q?=F0=9F=93=A6=20FEAT:=20[cli]=20add=20chec?= =?UTF-8?q?k=20for=20any=20deltas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.ts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/cli.ts b/src/cli.ts index e38fbbb..8a01672 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -140,10 +140,25 @@ async function checkVersion() { } } +async function getDeltaFiles() { + try { + const { stdout } = await exec("git status -s"); + const arrayOfDeltaFiles = stdout.trim().split("\n"); + return arrayOfDeltaFiles; + } catch (err) { + // @ts-ignore + if (err.code === 1) { + return []; + } + throw err; + } +} + async function getStagedFiles() { try { const { stdout } = await exec("git diff --cached --name-only"); - return stdout.trim().split("\n"); + const arrayOfStagedFiles = stdout.trim().split("\n"); + return arrayOfStagedFiles; } catch (err) { // @ts-ignore if (err.code === 1) { @@ -230,6 +245,14 @@ async function confirmCommitHasManyFiles(stagedFilesCount: number) { return; } + const deltaFiles = await getDeltaFiles(); + if (deltaFiles.length === 0) { + console.log( + "๐Ÿชน There are no files to stage. Make some changes then try again." + ); + return; + } + const stagedFiles = await getStagedFiles(); if (stagedFiles.length === 0) { console.log( From 5b2a29d5dbcddd50b4281bf3dc21f36dedc0f613 Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Mon, 24 Apr 2023 13:47:10 -0500 Subject: [PATCH 05/13] 1.23.1-alpha.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index d914fcf..6462f6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "git-emoji-commit", - "version": "1.23.1-alpha.0", + "version": "1.23.1-alpha.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "git-emoji-commit", - "version": "1.23.1-alpha.0", + "version": "1.23.1-alpha.1", "license": "ISC", "dependencies": { "commander": "^10.0.0", diff --git a/package.json b/package.json index 2d7ab65..2ffa327 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "git-emoji-commit", - "version": "1.23.1-alpha.0", + "version": "1.23.1-alpha.1", "description": "Simple CLI to encourage more concise commits using emojis.", "main": "dist/cli.js", "type": "module", From a0a430f9118ffae8466250a4c4c6ffa746a63528 Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Mon, 24 Apr 2023 13:47:46 -0500 Subject: [PATCH 06/13] =?UTF-8?q?=F0=9F=9A=80=20BUILD:=20bump=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.ts b/src/version.ts index 2c6369a..e64d278 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = "1.23.1-alpha.0"; \ No newline at end of file +export const version = "1.23.1-alpha.1"; \ No newline at end of file From 96d2f095cd0061db7ed55c3272ed8b2ffbe33f1b Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Tue, 25 Apr 2023 06:27:15 -0500 Subject: [PATCH 07/13] =?UTF-8?q?=F0=9F=93=96=20DOC:=20[doc]=20list=20emoj?= =?UTF-8?q?is,=20[cli]=20update=20icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 23 +++++++++++++---------- src/cli.ts | 4 ++-- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c945ac9..45d2c44 100644 --- a/README.md +++ b/README.md @@ -33,16 +33,19 @@ PR early, PR often. ## commit types -- `--feat` or `-f` to make a feature commit -- `--style` or `-s` to make a style commit -- `--fix` or `-x` to make a fix commit -- `--chore` or `-c` to make a chore commit -- `--doc` or `-d` to make a docs commit -- `--refactor` or `-r` to make a refactor commit -- `--content` or `-n` to make a content commit -- `--test` or `-t` to make a test commit -- `--try` or `-y` to make a try commit -- `--build` or `-b` to make a build commit +| Commit Type | Emoji | Flag | +| ---------------- | ----- | -------------------- | +| New Feature | ๐Ÿ“ฆ | `--feat` or `-f` | +| Style | ๐ŸŽจ | `--style` or `-s` | +| Bugfix | ๐Ÿ› | `--fix` or `-x` | +| Chore | ๐Ÿงน | `--chore` or `-c` | +| Documentation | ๐Ÿ“š | `--doc` or `-d` | +| Refactor | ๐Ÿ›  | `--refactor` or `-r` | +| Content | ๐Ÿ“ | `--content` or `-n` | +| Test | โœ… | `--test` or `-t` | +| Try | ๐Ÿคž | `--try` or `-y` | +| Build | ๐Ÿš€ | `--build` or `-b` | +| Naked (no emoji) | | `--naked` or `-n` | ## details diff --git a/src/cli.ts b/src/cli.ts index 8a01672..57ffa52 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -21,7 +21,7 @@ const commitTypes: Record = { description: "new feature", }, style: { - emoji: "๐Ÿ’…", + emoji: "๐ŸŽจ", name: "STYLE", description: "layout or style change", }, @@ -36,7 +36,7 @@ const commitTypes: Record = { description: "update packages, gitignore etc; (no prod code)", }, doc: { - emoji: "๐Ÿ“–", + emoji: "๐Ÿ“š", name: "DOC", description: "documentation", }, From ae13195c95ab089f3a16949391f5334f0c48d43c Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Tue, 25 Apr 2023 06:27:23 -0500 Subject: [PATCH 08/13] 1.23.1-alpha.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6462f6d..ad98076 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "git-emoji-commit", - "version": "1.23.1-alpha.1", + "version": "1.23.1-alpha.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "git-emoji-commit", - "version": "1.23.1-alpha.1", + "version": "1.23.1-alpha.2", "license": "ISC", "dependencies": { "commander": "^10.0.0", diff --git a/package.json b/package.json index 2ffa327..c0026bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "git-emoji-commit", - "version": "1.23.1-alpha.1", + "version": "1.23.1-alpha.2", "description": "Simple CLI to encourage more concise commits using emojis.", "main": "dist/cli.js", "type": "module", From df4f60cd46118d2f0601810deaf719c0ecf6e0ca Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Tue, 25 Apr 2023 06:29:46 -0500 Subject: [PATCH 09/13] =?UTF-8?q?=F0=9F=9A=80=20BUILD:=20bump=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.ts b/src/version.ts index e64d278..717ddc7 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = "1.23.1-alpha.1"; \ No newline at end of file +export const version = "1.23.1-alpha.2"; \ No newline at end of file From abc088d3a20e160f2b06b1dfe79883bea0c9b72f Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Tue, 25 Apr 2023 06:47:27 -0500 Subject: [PATCH 10/13] =?UTF-8?q?=F0=9F=90=9B=20FIX:=20[cli]=20filter=20al?= =?UTF-8?q?l=20empty=20lines=20checkf=20for=20deltas/staged?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 57ffa52..e4c11ae 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -143,7 +143,10 @@ async function checkVersion() { async function getDeltaFiles() { try { const { stdout } = await exec("git status -s"); - const arrayOfDeltaFiles = stdout.trim().split("\n"); + const arrayOfDeltaFiles = stdout + .trim() + .split("\n") + .filter((line) => line.length); return arrayOfDeltaFiles; } catch (err) { // @ts-ignore @@ -157,7 +160,10 @@ async function getDeltaFiles() { async function getStagedFiles() { try { const { stdout } = await exec("git diff --cached --name-only"); - const arrayOfStagedFiles = stdout.trim().split("\n"); + const arrayOfStagedFiles = stdout + .trim() + .split("\n") + .filter((line) => line.length); return arrayOfStagedFiles; } catch (err) { // @ts-ignore From c49078a02a7d3d06abf9cbb99c9041cf6620d5f8 Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Tue, 25 Apr 2023 09:40:03 -0500 Subject: [PATCH 11/13] 1.23.1-alpha.3 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad98076..b05d72f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "git-emoji-commit", - "version": "1.23.1-alpha.2", + "version": "1.23.1-alpha.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "git-emoji-commit", - "version": "1.23.1-alpha.2", + "version": "1.23.1-alpha.3", "license": "ISC", "dependencies": { "commander": "^10.0.0", diff --git a/package.json b/package.json index c0026bd..6ddf775 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "git-emoji-commit", - "version": "1.23.1-alpha.2", + "version": "1.23.1-alpha.3", "description": "Simple CLI to encourage more concise commits using emojis.", "main": "dist/cli.js", "type": "module", From c03d3cdb2dce68507f7596d70f211cff98825861 Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Tue, 25 Apr 2023 09:40:33 -0500 Subject: [PATCH 12/13] =?UTF-8?q?=F0=9F=9A=80=20BUILD:=20bump=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/version.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.ts b/src/version.ts index 717ddc7..c96164d 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = "1.23.1-alpha.2"; \ No newline at end of file +export const version = "1.23.1-alpha.3"; \ No newline at end of file From 752593c1c34e854dc40dd9146cdb003adff119bb Mon Sep 17 00:00:00 2001 From: Chance Smith Date: Thu, 17 Aug 2023 07:12:24 -0500 Subject: [PATCH 13/13] =?UTF-8?q?=F0=9F=90=9B=20FIX:=20[cli]=20add=20answe?= =?UTF-8?q?rs=20type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cli.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cli.ts b/src/cli.ts index e4c11ae..07db070 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -8,6 +8,11 @@ const STAGED_FILES_WARNING_THRESHOLD = 30; const program = new Command(); +interface Answers { + commitType: string; + commitMessage: string; +} + interface CommitType { emoji: string; name: string; @@ -286,7 +291,7 @@ async function confirmCommitHasManyFiles(stagedFilesCount: number) { const commitMessage = program.args[0]; if (!commitMessage) { - const answers = await inquirer.prompt(questions); + const answers = await inquirer.prompt(questions); const commitType = answers.commitType; await makeCommit(commitType, answers.commitMessage); } else {