commitlint-config-czx v0.0.1
commitlint-config-cz
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}.
Installation
Install commitlint-config-cz as a local dependency.
npm install commitlint-config-cz --save-devUsage
Extend commitlint-config-cz in commitlint.config.js.
module.exports = {
extends: [
'other-config',
'cz'
]
};Modules & API
There are some modules and API to convert cz-customizable's config into commitlint's config.
config.js
Gets the commitlint config from the .cz-config.js in the package root.
const config = require('commitlint-config-cz/lib/config')();get(pathOrCzConfig: string | Object, defaultConfig?: Object): Object
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-customizableconfig hasscopes,scopeOverridesortypesfield, the value(s) 3 of the defaultcommitlintconfig is/are REPLACED by converted value(s).
Level 1 and applicability 2 remain as they are. scope-enumrule or/andtype-enumrule is/are completely REMOVED, if its value is an empty array.
cz-config.js
Gets the .cz-config.js as an object in the package root.
const czConfig = require('commitlint-config-cz/lib/cz-config')();get(path: string): Object
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');scopes.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')();get(czConfig: Object): string[]
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);types.js
Gets the value for type-enum rule from the .cz-config.js in the package root.
const types = require('commitlint-config-cz/lib/types')();get(czConfig: Object): string[]
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);7 years ago