The elements, components and areas SCSS variables should at best follow this pattern, seperated by dashes:
element variant state property
e.g.
--element---property: value; --element--state-property: value; --element-variant--property: value; --element-variant-state-property: value;
We’re using husky git hooks in combination with commitlint according to https://commitlint.js.org/#/concepts-commit-conventions:
type(scope?): subject body? footer?
Type must be one of [build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test] [type-enum]
Source: https://commitlint.js.org/#/?id=test
If you’d like to test your commit message previous to using it, you could test it on the command line:
echo 'foo: bar' | commitlint
The general code conventions are guaranteed by the following tools.
Both the .editorconfig
and .gitattributes
ensure a consistent code structure and conventions through their configurations.
The xo tool provides a general code linting mechanism.
The prettier tool provides a general code prettfying.
Linting via [Super-Linter](https://github.com/marketplace/actions/super-linter)
To prevent the linting of generated files (like e.g. the reference screenshots by backstopjs), we’ll be excluding those via an environmental GitHub variable for this project with the env FILTER_REGEX_EXCLUDE
.
Further links regarding language specific settings are located in the super-lint repository: https://github.com/github/super-linter/tree/master/TEMPLATES