Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

Commit

Permalink
fix(ci-cd): add commitlint and husky (#8)
Browse files Browse the repository at this point in the history
* fix(ci-cd): add commitlint and husky

GH-0

* refactor(ci-cd): remove prettier check

GH-0

* fix(core): manually run prettier fix

GH-0

* fix(ci-cd): add prettier check back

GH-0
  • Loading branch information
shubhamp-sf authored Jan 3, 2023
1 parent 3ce2938 commit c879812
Show file tree
Hide file tree
Showing 20 changed files with 1,774 additions and 226 deletions.
65 changes: 65 additions & 0 deletions .cz-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
module.exports = {
types: [
{value: 'feat', name: 'feat: A new feature'},
{value: 'fix', name: 'fix: A bug fix'},
{value: 'docs', name: 'docs: Documentation only changes'},
{
value: 'style',
name: 'style: Changes that do not affect the meaning of the code\n (white-space, formatting, missing semi-colons, etc)',
},
{
value: 'refactor',
name: 'refactor: A code change that neither fixes a bug nor adds a feature',
},
{
value: 'perf',
name: 'perf: A code change that improves performance',
},
{value: 'test', name: 'test: Adding missing tests'},
{
value: 'chore',
name: 'chore: Changes to the build process or auxiliary tools\n and libraries such as documentation generation',
},
{value: 'revert', name: 'revert: Reverting a commit'},
{value: 'WIP', name: 'WIP: Work in progress'},
],

scopes: [
{name: 'deps'},
{name: 'ci-cd'},
{name: 'component'},
{name: 'providers'},
{name: 'services'},
{name: 'decorators'},
{name: 'core'},
{name: 'repository'},
{name: 'datasource'},
],

appendBranchNameToCommitMessage: true,
appendIssueFromBranchName: true,
allowTicketNumber: false,
isTicketNumberRequired: false,

// override the messages, defaults are as follows
messages: {
type: "Select the type of change that you're committing:",
scope: 'Denote the SCOPE of this change:',
// used if allowCustomScopes is true
customScope: 'Denote the SCOPE of this change:',
subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
breaking: 'List any BREAKING CHANGES (optional):\n',
footer: 'List any ISSUES CLOSED by this change (optional). E.g.: GH-144:\n',
confirmCommit: 'Are you sure you want to proceed with the commit above?',
},

allowCustomScopes: false,
allowBreakingChanges: ['feat', 'fix'],

// limit subject length
subjectLimit: 100,
breaklineChar: '|', // It is supported for fields body and footer.
footerPrefix: '',
askForBreakingChangeFirst: true, // default is false
};
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ node_modules/
dist/
coverage/
.eslintrc.js
.cz-config.js
commitlint.config.js
9 changes: 9 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
module.exports = {
extends: '@loopback/eslint-config',
rules: {
'no-extra-boolean-cast': 'off',
'@typescript-eslint/interface-name-prefix': 'off',
'no-prototype-builtins': 'off',
},
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir: __dirname,
},
};
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm test
4 changes: 4 additions & 0 deletions .husky/prepare-commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

exec < /dev/tty && npx cz --hook || true
14 changes: 14 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'header-max-length': [2, 'always', 100],
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [0, 'always'],
'references-empty': [2, 'never'],
},
parserPreset: {
parserOpts: {
issuePrefixes: ['GH-'],
},
},
};
Loading

0 comments on commit c879812

Please sign in to comment.