-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
3,130 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/usr/bin/env sh | ||
. "$(dirname -- "$0")/_/husky.sh" | ||
|
||
npx --no-install commitlint --edit $1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
#!/usr/bin/env sh | ||
. "$(dirname -- "$0")/_/husky.sh" | ||
|
||
# retrieve staged file names | ||
FILES=$(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') | ||
[ -z "$FILES" ] && exit 0 | ||
# format staged files | ||
echo "$FILES" | xargs npx --no-install nx format --files | ||
# add formatted files to staged files | ||
echo "$FILES" | xargs git add | ||
|
||
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
const fs = require('fs'); | ||
|
||
/* | ||
* Type-Enums and their documentation as reusable const. | ||
*/ | ||
const typeEnumDescription = { | ||
fix: { | ||
description: 'A code change that fixes an error or bug', | ||
title: 'Fix', | ||
emoji: '💉', | ||
}, | ||
feat: { | ||
description: 'Adding new functionality', | ||
title: 'Feature', | ||
emoji: '🐣', | ||
}, | ||
docs: { | ||
description: 'Documentation only changes', | ||
title: 'Documentation', | ||
emoji: '📜', | ||
}, | ||
format: { | ||
description: | ||
'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)', | ||
title: 'Formatting', | ||
emoji: '💎', | ||
}, | ||
refactor: { | ||
description: 'A code change that neither fixes a bug nor adds a feature', | ||
title: 'Code Refactoring', | ||
emoji: '♻', | ||
}, | ||
perf: { | ||
description: 'A code change that improves performance', | ||
title: 'Performance Improvements', | ||
emoji: '🚀', | ||
}, | ||
deprecate: { | ||
description: | ||
'A code change that deprecates APIs or is related to their deprecation', | ||
title: 'Code Deprecations', | ||
emoji: '🕸', | ||
}, | ||
test: { | ||
description: 'Adding missing tests or correcting existing tests', | ||
title: 'Tests', | ||
emoji: '🛂', | ||
}, | ||
build: { | ||
description: | ||
'Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)', | ||
title: 'Builds', | ||
emoji: '📦', | ||
}, | ||
ci: { | ||
description: | ||
'Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)', | ||
title: 'Continuous Integrations', | ||
emoji: '🏭', | ||
}, | ||
ops: { | ||
description: | ||
'Changes to our CI / CD configuration files and scripts (example scopes: GH Actions, Heroku, Docker...)', | ||
title: 'DevOps', | ||
emoji: '🏭', | ||
}, | ||
chore: { | ||
description: "Other changes that don't modify src or test files", | ||
title: 'Chores', | ||
emoji: '⚙', | ||
}, | ||
revert: { | ||
description: 'Reverts a previous commit', | ||
title: 'Reverts', | ||
emoji: '🗑', | ||
}, | ||
}; | ||
|
||
/* | ||
* Scope-Enums defined from constants and Nx projects. | ||
*/ | ||
const baseScopes = ['release']; | ||
|
||
const scopeEnum = () => { | ||
const packagesNames = fs | ||
.readdirSync('packages', { withFileTypes: true }) | ||
.filter((item) => item.isDirectory()) | ||
.map((item) => item.name); | ||
|
||
return [...baseScopes, ...packagesNames]; | ||
}; | ||
|
||
const Configuration = { | ||
/* | ||
* Resolve and load @commitlint/config-conventional from node_modules. | ||
* Referenced packages must be installed | ||
*/ | ||
extends: ['@commitlint/config-conventional'], | ||
/* | ||
* Override rules from @commitlint/config-conventional | ||
*/ | ||
rules: { | ||
/* | ||
* Customized types matching CU folders | ||
*/ | ||
'type-enum': [2, 'always', Object.keys(typeEnumDescription)], | ||
/* | ||
* Scope enums derived from projects registered in `workspace.json` | ||
*/ | ||
'scope-enum': [2, 'always', scopeEnum()], | ||
}, | ||
}; | ||
|
||
module.exports = Configuration; |
Oops, something went wrong.