diff --git a/packages/vscode-ext/package.json b/packages/vscode-ext/package.json index aeed5d0..c7566e5 100644 --- a/packages/vscode-ext/package.json +++ b/packages/vscode-ext/package.json @@ -104,6 +104,11 @@ } } }, + "commitji.autoCommit": { + "type": "boolean", + "default": false, + "description": "Automatically commit instead of manually commiting" + }, "commitji.jira.allowWorkflowTransitionPrompt": { "type": "boolean", "default": false, diff --git a/packages/vscode-ext/src/commitjiCommit/types/Settings.ts b/packages/vscode-ext/src/commitjiCommit/types/Settings.ts new file mode 100644 index 0000000..9451132 --- /dev/null +++ b/packages/vscode-ext/src/commitjiCommit/types/Settings.ts @@ -0,0 +1,6 @@ +import { Settings as CommitjiSettings } from '@commitji/core'; + +export type Settings = CommitjiSettings & { + // Auto commit is currently available on VSCode extension + autoCommit: boolean; +}; diff --git a/packages/vscode-ext/src/commitjiCommit/types/index.ts b/packages/vscode-ext/src/commitjiCommit/types/index.ts new file mode 100644 index 0000000..90e2697 --- /dev/null +++ b/packages/vscode-ext/src/commitjiCommit/types/index.ts @@ -0,0 +1 @@ +export * from './Settings'; diff --git a/packages/vscode-ext/src/commitjiCommit/utils/getSettings.ts b/packages/vscode-ext/src/commitjiCommit/utils/getSettings.ts index b9dac78..5296fde 100644 --- a/packages/vscode-ext/src/commitjiCommit/utils/getSettings.ts +++ b/packages/vscode-ext/src/commitjiCommit/utils/getSettings.ts @@ -1,6 +1,8 @@ import { workspace } from 'vscode'; -import { App, Settings } from '@commitji/core'; +import { App } from '@commitji/core'; + +import { Settings } from '../types'; const clean = (settings: Settings): Settings => ({ ...settings, diff --git a/packages/vscode-ext/src/commitjiCommit/utils/getWorkflow.ts b/packages/vscode-ext/src/commitjiCommit/utils/getWorkflow.ts index 5b6d26b..0fd5e13 100644 --- a/packages/vscode-ext/src/commitjiCommit/utils/getWorkflow.ts +++ b/packages/vscode-ext/src/commitjiCommit/utils/getWorkflow.ts @@ -1,6 +1,7 @@ -import { App, Settings } from '@commitji/core'; +import { App } from '@commitji/core'; import { basicWorkflow, jiraWorkflow } from '../workflows'; +import { Settings } from '../types'; type Workflow = { key: App.BasicWorkflow | App.JiraWorkflow; diff --git a/packages/vscode-ext/src/commitjiCommit/utils/showCommitTypePicker.ts b/packages/vscode-ext/src/commitjiCommit/utils/showCommitTypePicker.ts index 22ed833..7ec61ec 100644 --- a/packages/vscode-ext/src/commitjiCommit/utils/showCommitTypePicker.ts +++ b/packages/vscode-ext/src/commitjiCommit/utils/showCommitTypePicker.ts @@ -1,6 +1,7 @@ import { QuickPickItem, window } from 'vscode'; -import { commitTypes, CommitType, Message, Settings } from '@commitji/core'; +import { commitTypes, CommitType, Message } from '@commitji/core'; +import { Settings } from '../types'; type ShowCommitTypePickerResult = CommitType; diff --git a/packages/vscode-ext/src/commitjiCommit/utils/writeCommitToTerminal.ts b/packages/vscode-ext/src/commitjiCommit/utils/writeCommitToTerminal.ts index 3ddf73f..4bb693c 100644 --- a/packages/vscode-ext/src/commitjiCommit/utils/writeCommitToTerminal.ts +++ b/packages/vscode-ext/src/commitjiCommit/utils/writeCommitToTerminal.ts @@ -5,10 +5,9 @@ import { Message } from '@commitji/core'; import { alerter } from './alerter'; import { clipboard } from './clipboard'; -export const writeCommitToTerminal = (commitText: string) => { +export const writeCommitToTerminal = (commitText: string, autoCommitToTerminal = false) => { const commitMessage = `git commit -m "${commitText}"`; const terminal = window.activeTerminal; - const autoCommitToTerminal = false; clipboard.copy(commitMessage); diff --git a/packages/vscode-ext/src/commitjiCommit/workflows/basicWorkflow.ts b/packages/vscode-ext/src/commitjiCommit/workflows/basicWorkflow.ts index 7ae4dfd..4705b07 100644 --- a/packages/vscode-ext/src/commitjiCommit/workflows/basicWorkflow.ts +++ b/packages/vscode-ext/src/commitjiCommit/workflows/basicWorkflow.ts @@ -1,6 +1,7 @@ -import { formatter, basicCommitParser, Settings } from '@commitji/core'; +import { formatter, basicCommitParser } from '@commitji/core'; import { showCommitTypePicker, showCommitBodyInputBox, writeCommitToTerminal } from '../utils'; +import { Settings } from '../types'; export const basicWorkflow = async (settings: Settings) => { const commitType = await showCommitTypePicker(settings); @@ -15,5 +16,5 @@ export const basicWorkflow = async (settings: Settings) => { commitMessage, }); - writeCommitToTerminal(formattedCommitText); + writeCommitToTerminal(formattedCommitText, settings.autoCommit); }; diff --git a/packages/vscode-ext/src/commitjiCommit/workflows/jiraWorkflow.ts b/packages/vscode-ext/src/commitjiCommit/workflows/jiraWorkflow.ts index f542fe8..9d37590 100644 --- a/packages/vscode-ext/src/commitjiCommit/workflows/jiraWorkflow.ts +++ b/packages/vscode-ext/src/commitjiCommit/workflows/jiraWorkflow.ts @@ -1,4 +1,4 @@ -import { formatter, jiraCommitParser, Settings } from '@commitji/core'; +import { formatter, jiraCommitParser } from '@commitji/core'; import { showCommitTypePicker, @@ -7,6 +7,7 @@ import { showJiraWorkflowTransitionPicker, writeCommitToTerminal, } from '../utils'; +import { Settings } from '../types'; export const jiraWorkflow = async (settings: Settings) => { const commitType = await showCommitTypePicker(settings); @@ -28,5 +29,5 @@ export const jiraWorkflow = async (settings: Settings) => { workflowTransition, }); - writeCommitToTerminal(formattedCommitText); + writeCommitToTerminal(formattedCommitText, settings.autoCommit); };