commitlint sharable configuration files, which also includes modules & API for config conversion.
If .cz-config.js
that is for @whizark/cz-cli or
cz-customizable exists in your package root directory, its
{types,scopes,scopeOverrides}
are merged with
rules.{type-enum,scope-enum}
.
Install commitlint-config-cz
as a local dependency.
npm install commitlint-config-cz --save-dev
Extend commitlint-config-cz
in commitlint.config.js
.
module.exports = {
extends: [
'other-config',
'cz'
]
};
There are some modules and API to convert cz-customizable
's config into commitlint
's config.
Gets the commitlint
config from the .cz-config.js
in the package root.
const config = require('commitlint-config-cz/lib/config')();
Gets the commitlint
config from a cz-customizable
config.
const getConfig = require('commitlint-config-cz/lib/config').get;
// From a path.
const config = getConfig('path/to/.cz-config.js');
const getConfig = require('commitlint-config-cz/lib/config').get;
const czConfig = { /* `cz-customizable` config object. */ };
// From a `cz-customizable` config object.
const config = getConfig(czConfig);
const getConfig = require('commitlint-config-cz/lib/config').get;
const czConfig = { /* `cz-customizable` config object. */ };
const defaultConfig = { // The default `commitlint` config.
rules: {
'scope-enum': [ // rule
2, // [1] level
'always', // [2] applicability
[], // [3] value
],
'type-enum' : [ // rule
2, // [1] level
'always', // [2] applicability
[], // [3] value
],
},
};
// Converts and merges the `cz-customizable` config with the default `commitlint` config.
const config = getConfig(czConfig, defaultConfig);
- If
cz-customizable
config hasscopes
,scopeOverrides
ortypes
field, the value(s) [3] of the defaultcommitlint
config is/are REPLACED by converted value(s).
Level [1] and applicability [2] remain as they are. scope-enum
rule or/andtype-enum
rule is/are completely REMOVED, if its value is an empty array.
Gets the .cz-config.js
as an object in the package root.
const czConfig = require('commitlint-config-cz/lib/cz-config')();
Gets the cz-customizable
config object from a path.
const getCzConfig = require('commitlint-config-cz/lib/cz-config').get;
const czConfig = getCzConfig('path/to/.cz-config.js');
Gets the value
for scope-enum rule from the .cz-config.js
in the package root.
const scopes = require('commitlint-config-cz/lib/scopes')();
Gets the value
for scope-enum rule from a cz-customizable
config object.
const getScopes = require('commitlint-config-cz/lib/scopes').get;
const czConfig = { /* `cz-customizable` config object. */ };
const scopes = getScopes(czConfig);
Gets the value
for type-enum rule from the .cz-config.js
in the package root.
const types = require('commitlint-config-cz/lib/types')();
Gets the value
for type-enum rule from a cz-customizable
config object.
const getTypes = require('commitlint-config-cz/lib/types').get;
const czConfig = { /* `cz-customizable` config object. */ };
const types = getTypes(czConfig);