@datenknoten/commitlint-config 0.0.0-bootstrap.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +36 -0
  2. package/package.json +27 -0
package/index.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Hold commit messages to Conventional Commits with an English, sentence-case
3
+ * subject. The consumer adds its own `scope-enum`, one scope per package or
4
+ * layer, because only the project knows its scopes.
5
+ */
6
+ // biome-ignore lint/style/noDefaultExport: commitlint loads the default export of a shareable config
7
+ export default {
8
+ extends: ['@commitlint/config-conventional'],
9
+ rules: {
10
+ 'type-enum': [
11
+ 2,
12
+ 'always',
13
+ [
14
+ 'feat', // New feature
15
+ 'fix', // Bug fix
16
+ 'docs', // Documentation only changes
17
+ 'style', // Changes that don't affect code meaning (formatting, etc)
18
+ 'refactor', // Code change that neither fixes a bug nor adds a feature
19
+ 'perf', // Performance improvement
20
+ 'test', // Adding or updating tests
21
+ 'build', // Changes to build system or dependencies
22
+ 'ci', // Changes to CI configuration files and scripts
23
+ 'chore', // Other changes that don't modify src or test files
24
+ 'revert', // Reverts a previous commit
25
+ ],
26
+ ],
27
+ 'scope-empty': [1, 'never'], // Warn if scope is missing (but don't fail)
28
+ 'subject-case': [2, 'always', 'sentence-case'], // Sentence case for subject
29
+ 'subject-empty': [2, 'never'], // Subject is required
30
+ 'subject-full-stop': [2, 'never', '.'], // No period at end of subject
31
+ 'header-max-length': [2, 'always', 100], // Max 100 chars for header
32
+ 'body-leading-blank': [2, 'always'], // Blank line before body
33
+ 'body-max-line-length': [0, 'always', 100], // Disabled: generated changelogs have long lines
34
+ 'footer-leading-blank': [0, 'always'], // Disabled: generated changelogs don't follow this
35
+ },
36
+ };
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@datenknoten/commitlint-config",
3
+ "version": "0.0.0-bootstrap.0",
4
+ "description": "The datenknoten commitlint rules for Conventional Commits with sentence-case subjects.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://gitlab.com/datenknoten/conventions.git",
10
+ "directory": "packages/commitlint-config"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "files": [
16
+ "index.js"
17
+ ],
18
+ "exports": {
19
+ ".": "./index.js"
20
+ },
21
+ "dependencies": {
22
+ "@commitlint/config-conventional": "21.2.3"
23
+ },
24
+ "peerDependencies": {
25
+ "@commitlint/cli": ">=21.2.3 <22"
26
+ }
27
+ }