Add push config (#220)
This commit is contained in:
@@ -169,6 +169,13 @@ oco config set OCO_LANGUAGE=française
|
|||||||
The default language setting is **English**
|
The default language setting is **English**
|
||||||
All available languages are currently listed in the [i18n](https://github.com/di-sukharev/opencommit/tree/master/src/i18n) folder
|
All available languages are currently listed in the [i18n](https://github.com/di-sukharev/opencommit/tree/master/src/i18n) folder
|
||||||
|
|
||||||
|
### Push to git
|
||||||
|
|
||||||
|
Pushing to git is on by default but if you would like to turn it off just use:
|
||||||
|
```sh
|
||||||
|
oc config set OCO_GITPUSH=false
|
||||||
|
```
|
||||||
|
|
||||||
### Switch to `@commitlint`
|
### Switch to `@commitlint`
|
||||||
|
|
||||||
OpenCommit allows you to choose the prompt module used to generate commit messages. By default, OpenCommit uses its conventional-commit message generator. However, you can switch to using the `@commitlint` prompt module if you prefer. This option lets you generate commit messages in respect with the local config.
|
OpenCommit allows you to choose the prompt module used to generate commit messages. By default, OpenCommit uses its conventional-commit message generator. However, you can switch to using the `@commitlint` prompt module if you prefer. This option lets you generate commit messages in respect with the local config.
|
||||||
|
|||||||
@@ -94,13 +94,17 @@ ${chalk.grey('——————————————————')}`
|
|||||||
|
|
||||||
const remotes = await getGitRemotes();
|
const remotes = await getGitRemotes();
|
||||||
|
|
||||||
|
// user isn't pushing, return early
|
||||||
|
if (config?.OCO_GITPUSH === false)
|
||||||
|
return
|
||||||
|
|
||||||
if (!remotes.length) {
|
if (!remotes.length) {
|
||||||
const { stdout } = await execa('git', ['push']);
|
const { stdout } = await execa('git', ['push']);
|
||||||
if (stdout) outro(stdout);
|
if (stdout) outro(stdout);
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (remotes.length === 1) {
|
if (remotes.length === 1 && config?.OCO_GITPUSH !== true) {
|
||||||
const isPushConfirmedByUser = await confirm({
|
const isPushConfirmedByUser = await confirm({
|
||||||
message: 'Do you want to run `git push`?'
|
message: 'Do you want to run `git push`?'
|
||||||
});
|
});
|
||||||
|
|||||||
+10
-1
@@ -25,6 +25,7 @@ export enum CONFIG_KEYS {
|
|||||||
OCO_MESSAGE_TEMPLATE_PLACEHOLDER = 'OCO_MESSAGE_TEMPLATE_PLACEHOLDER',
|
OCO_MESSAGE_TEMPLATE_PLACEHOLDER = 'OCO_MESSAGE_TEMPLATE_PLACEHOLDER',
|
||||||
OCO_PROMPT_MODULE = 'OCO_PROMPT_MODULE',
|
OCO_PROMPT_MODULE = 'OCO_PROMPT_MODULE',
|
||||||
OCO_AI_PROVIDER = 'OCO_AI_PROVIDER',
|
OCO_AI_PROVIDER = 'OCO_AI_PROVIDER',
|
||||||
|
OCO_GITPUSH = 'OCO_GITPUSH',
|
||||||
OCO_ONE_LINE_COMMIT = 'OCO_ONE_LINE_COMMIT'
|
OCO_ONE_LINE_COMMIT = 'OCO_ONE_LINE_COMMIT'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -180,7 +181,15 @@ export const configValidators = {
|
|||||||
['conventional-commit', '@commitlint'].includes(value),
|
['conventional-commit', '@commitlint'].includes(value),
|
||||||
`${value} is not supported yet, use '@commitlint' or 'conventional-commit' (default)`
|
`${value} is not supported yet, use '@commitlint' or 'conventional-commit' (default)`
|
||||||
);
|
);
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
|
||||||
|
[CONFIG_KEYS.OCO_GITPUSH](value: any) {
|
||||||
|
validateConfig(
|
||||||
|
CONFIG_KEYS.OCO_GITPUSH,
|
||||||
|
typeof value === 'boolean',
|
||||||
|
'Must be true or false'
|
||||||
|
);
|
||||||
return value;
|
return value;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -233,6 +242,7 @@ export const getConfig = (): ConfigType | null => {
|
|||||||
process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || '$msg',
|
process.env.OCO_MESSAGE_TEMPLATE_PLACEHOLDER || '$msg',
|
||||||
OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || 'conventional-commit',
|
OCO_PROMPT_MODULE: process.env.OCO_PROMPT_MODULE || 'conventional-commit',
|
||||||
OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || 'openai',
|
OCO_AI_PROVIDER: process.env.OCO_AI_PROVIDER || 'openai',
|
||||||
|
OCO_GITPUSH: process.env.OCO_GITPUSH === 'false' ? false : true,
|
||||||
OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === 'true' ? true : false
|
OCO_ONE_LINE_COMMIT: process.env.OCO_ONE_LINE_COMMIT === 'true' ? true : false
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -244,7 +254,6 @@ export const getConfig = (): ConfigType | null => {
|
|||||||
|
|
||||||
for (const configKey of Object.keys(config)) {
|
for (const configKey of Object.keys(config)) {
|
||||||
if (
|
if (
|
||||||
!config[configKey] ||
|
|
||||||
['null', 'undefined'].includes(config[configKey])
|
['null', 'undefined'].includes(config[configKey])
|
||||||
) {
|
) {
|
||||||
config[configKey] = undefined;
|
config[configKey] = undefined;
|
||||||
|
|||||||
Reference in New Issue
Block a user