Files

Return to Package Diff Home.
Brought to you by Intrinsic.

Package Diff: @commitlint/cli @ 7.5.2 .. 7.6.0

CHANGELOG.md

@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [7.6.0](https://github.com/conventional-changelog/commitlint/compare/v7.5.2...v7.6.0) (2019-05-06)
+
+
+### Bug Fixes
+
+* avoid excessive help text [#606](https://github.com/conventional-changelog/commitlint/issues/606) ([#637](https://github.com/conventional-changelog/commitlint/issues/637)) ([8f3c3b1](https://github.com/conventional-changelog/commitlint/commit/8f3c3b1))
+
+
+### Features
+
+* adds support for plugins ([#228](https://github.com/conventional-changelog/commitlint/issues/228)) ([#588](https://github.com/conventional-changelog/commitlint/issues/588)) ([cea4564](https://github.com/conventional-changelog/commitlint/commit/cea4564))
+
+
+
+
+
## [7.5.2](https://github.com/conventional-changelog/commitlint/compare/v7.5.1...v7.5.2) (2019-02-11)

lib/cli.js

@@ -11,7 +11,8 @@
var _require = require('lodash');
const merge = _require.merge,
- pick = _require.pick;
+ pick = _require.pick,
+ isFunction = _require.isFunction;
const stdin = require('get-stdin');
const resolveFrom = require('resolve-from');
@@ -141,7 +142,17 @@
try {
loaded = $await_2;
parserOpts = selectParserOpts(loaded.parserPreset);
- opts = parserOpts ? { parserOpts } : { parserOpts: {} };
+ opts = {
+ parserOpts: {},
+ plugins: {}
+ };
+
+ if (parserOpts) {
+ opts.parserOpts = parserOpts;
+ }
+ if (loaded.plugins) {
+ opts.plugins = loaded.plugins;
+ }
format = loadFormatter(loaded, flags);
@@ -304,7 +315,13 @@
const modulePath = resolveFrom.silent(__dirname, moduleName) || resolveFrom.silent(flags.cwd, moduleName) || resolveGlobal.silent(moduleName);
if (modulePath) {
- return require(modulePath);
+ const moduleInstance = require(modulePath);
+
+ if (isFunction(moduleInstance.default)) {
+ return moduleInstance.default;
+ }
+
+ return moduleInstance;
}
throw new Error(`Using format ${moduleName}, but cannot find the module.`);

lib/cli.js.map

@@ -1 +1 @@
-{"version":3,"sources":["../src/cli.js"],"names":["require","load","lint","read","meow","merge","pick","stdin","resolveFrom","resolveGlobal","pkg","help","flags","color","alias","default","description","type","config","cwd","process","edit","env","extends","from","format","quiet","to","version","cli","name","unknown","arg","Error","main","catch","err","setTimeout","exit","options","raw","input","normalizeFlags","fromStdin","checkFromStdin","range","messages","Array","isArray","filter","message","trim","Boolean","length","checkFromRepository","console","log","loadOpts","file","getSeed","loaded","parserOpts","selectParserOpts","parserPreset","opts","loadFormatter","commentChar","Promise","all","map","rules","results","Object","keys","originalInput","splice","valid","errors","level","join","warnings","report","reduce","info","result","errorCount","warningCount","push","output","checkFromHistory","checkFromEdit","getEditValue","e","isGitParams","isHuskyParams","warn","GIT_PARAMS","HUSKY_GIT_PARAMS","seed","n","i","undefined","moduleName","formatter","modulePath","silent","__dirname","on","reason","promise"],"mappings":"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","file":"cli.js","sourcesContent":["\nrequire('babel-polyfill'); // eslint-disable-line import/no-unassigned-import\n\nconst load = require('@commitlint/load');\nconst lint = require('@commitlint/lint');\nconst read = require('@commitlint/read');\nconst meow = require('meow');\nconst {merge, pick} = require('lodash');\nconst stdin = require('get-stdin');\nconst resolveFrom = require('resolve-from');\nconst resolveGlobal = require('resolve-global');\n\nconst pkg = require('../package');\nconst help = require('./help');\n\nconst flags = {\n\tcolor: {\n\t\talias: 'c',\n\t\tdefault: true,\n\t\tdescription: 'toggle colored output',\n\t\ttype: 'boolean'\n\t},\n\tconfig: {\n\t\talias: 'g',\n\t\tdefault: null,\n\t\tdescription: 'path to the config file',\n\t\ttype: 'string'\n\t},\n\tcwd: {\n\t\talias: 'd',\n\t\tdefault: process.cwd(),\n\t\tdescription: 'directory to execute in',\n\t\ttype: 'string'\n\t},\n\tedit: {\n\t\talias: 'e',\n\t\tdefault: false,\n\t\tdescription:\n\t\t\t'read last commit message from the specified file or fallbacks to ./.git/COMMIT_EDITMSG',\n\t\ttype: 'string'\n\t},\n\tenv: {\n\t\talias: 'E',\n\t\tdefault: null,\n\t\tdescription:\n\t\t\t'check message in the file at path given by environment variable value',\n\t\ttype: 'string'\n\t},\n\textends: {\n\t\talias: 'x',\n\t\tdescription: 'array of shareable configurations to extend',\n\t\ttype: 'string'\n\t},\n\thelp: {\n\t\talias: 'h',\n\t\ttype: 'boolean',\n\t\tdescription: 'display this help message'\n\t},\n\tfrom: {\n\t\talias: 'f',\n\t\tdefault: null,\n\t\tdescription: 'lower end of the commit range to lint; applies if edit=false',\n\t\ttype: 'string'\n\t},\n\tformat: {\n\t\talias: 'o',\n\t\tdefault: null,\n\t\tdescription: 'output format of the results',\n\t\ttype: 'string'\n\t},\n\t'parser-preset': {\n\t\talias: 'p',\n\t\tdescription: 'configuration preset to use for conventional-commits-parser',\n\t\ttype: 'string'\n\t},\n\tquiet: {\n\t\talias: 'q',\n\t\tdefault: false,\n\t\tdescription: 'toggle console output',\n\t\ttype: 'boolean'\n\t},\n\tto: {\n\t\talias: 't',\n\t\tdefault: null,\n\t\tdescription: 'upper end of the commit range to lint; applies if edit=false',\n\t\ttype: 'string'\n\t},\n\tversion: {\n\t\talias: 'v',\n\t\ttype: 'boolean',\n\t\tdescription: 'display version information'\n\t}\n};\n\nconst cli = meow({\n\tdescription: `${pkg.name}@${pkg.version} - ${pkg.description}`,\n\tflags,\n\thelp: `[input] reads from stdin if --edit, --env, --from and --to are omitted\\n${help(\n\t\tflags\n\t)}`,\n\tunknown(arg) {\n\t\tthrow new Error(`unknown flags: ${arg}`);\n\t}\n});\n\nmain(cli).catch(err =>\n\tsetTimeout(() => {\n\t\tif (err.type === pkg.name) {\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tthrow err;\n\t})\n);\n\nasync function main(options) {\n\tconst raw = options.input;\n\tconst flags = normalizeFlags(options.flags);\n\tconst fromStdin = checkFromStdin(raw, flags);\n\n\tconst range = pick(flags, 'edit', 'from', 'to');\n\n\tconst input = await (fromStdin ? stdin() : read(range, {cwd: flags.cwd}));\n\n\tconst messages = (Array.isArray(input) ? input : [input])\n\t\t.filter(message => typeof message === 'string')\n\t\t.filter(message => message.trim() !== '')\n\t\t.filter(Boolean);\n\n\tif (messages.length === 0 && !checkFromRepository(flags)) {\n\t\tconst err = new Error(\n\t\t\t'[input] is required: supply via stdin, or --env or --edit or --from and --to'\n\t\t);\n\t\terr.type = pkg.name;\n\t\tconsole.log(`${cli.help}\\n`);\n\t\tconsole.log(err.message);\n\t\tthrow err;\n\t}\n\n\tconst loadOpts = {cwd: flags.cwd, file: flags.config};\n\tconst loaded = await load(getSeed(flags), loadOpts);\n\tconst parserOpts = selectParserOpts(loaded.parserPreset);\n\tconst opts = parserOpts ? {parserOpts} : {parserOpts: {}};\n\tconst format = loadFormatter(loaded, flags);\n\n\t// Strip comments if reading from `.git/COMMIT_EDIT_MSG`\n\tif (range.edit) {\n\t\topts.parserOpts.commentChar = '#';\n\t}\n\n\tconst results = await Promise.all(\n\t\tmessages.map(message => lint(message, loaded.rules, opts))\n\t);\n\n\tif (Object.keys(loaded.rules).length === 0) {\n\t\tlet input = '';\n\n\t\tif (results.length !== 0) {\n\t\t\tconst originalInput = results[0].input;\n\t\t\tinput = originalInput;\n\t\t}\n\n\t\tresults.splice(0, results.length, {\n\t\t\tvalid: false,\n\t\t\terrors: [\n\t\t\t\t{\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tname: 'empty-rules',\n\t\t\t\t\tmessage: [\n\t\t\t\t\t\t'Please add rules to your `commitlint.config.js`',\n\t\t\t\t\t\t' - Getting started guide: https://git.io/fhHij',\n\t\t\t\t\t\t' - Example config: https://git.io/fhHip'\n\t\t\t\t\t].join('\\n')\n\t\t\t\t}\n\t\t\t],\n\t\t\twarnings: [],\n\t\t\tinput\n\t\t});\n\t}\n\n\tconst report = results.reduce(\n\t\t(info, result) => {\n\t\t\tinfo.valid = result.valid ? info.valid : false;\n\t\t\tinfo.errorCount += result.errors.length;\n\t\t\tinfo.warningCount += result.warnings.length;\n\t\t\tinfo.results.push(result);\n\n\t\t\treturn info;\n\t\t},\n\t\t{\n\t\t\tvalid: true,\n\t\t\terrorCount: 0,\n\t\t\twarningCount: 0,\n\t\t\tresults: []\n\t\t}\n\t);\n\n\tconst output = format(report, {color: flags.color});\n\n\tif (!flags.quiet) {\n\t\tconsole.log(output);\n\t}\n\n\tif (!report.valid) {\n\t\tconst err = new Error(output);\n\t\terr.type = pkg.name;\n\t\tthrow err;\n\t}\n}\n\nfunction checkFromStdin(input, flags) {\n\treturn input.length === 0 && !checkFromRepository(flags);\n}\n\nfunction checkFromRepository(flags) {\n\treturn checkFromHistory(flags) || checkFromEdit(flags);\n}\n\nfunction checkFromEdit(flags) {\n\treturn Boolean(flags.edit) || flags.env;\n}\n\nfunction checkFromHistory(flags) {\n\treturn typeof flags.from === 'string' || typeof flags.to === 'string';\n}\n\nfunction normalizeFlags(flags) {\n\tconst edit = getEditValue(flags);\n\treturn merge({}, flags, {edit, e: edit});\n}\n\nfunction getEditValue(flags) {\n\tif (flags.env) {\n\t\tif (!(flags.env in process.env)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Recieved '${\n\t\t\t\t\tflags.env\n\t\t\t\t}' as value for -E | --env, but environment variable '${\n\t\t\t\t\tflags.env\n\t\t\t\t}' is not available globally`\n\t\t\t);\n\t\t}\n\t\treturn process.env[flags.env];\n\t}\n\tconst {edit} = flags;\n\t// If the edit flag is set but empty (i.e '-e') we default\n\t// to .git/COMMIT_EDITMSG\n\tif (edit === '') {\n\t\treturn true;\n\t}\n\tif (typeof edit === 'boolean') {\n\t\treturn edit;\n\t}\n\t// The recommended method to specify -e with husky was `commitlint -e $HUSKY_GIT_PARAMS`\n\t// This does not work properly with win32 systems, where env variable declarations\n\t// use a different syntax\n\t// See https://github.com/conventional-changelog/commitlint/issues/103 for details\n\t// This has been superceded by the `-E GIT_PARAMS` / `-E HUSKY_GIT_PARAMS`\n\tconst isGitParams = edit === '$GIT_PARAMS' || edit === '%GIT_PARAMS%';\n\tconst isHuskyParams =\n\t\tedit === '$HUSKY_GIT_PARAMS' || edit === '%HUSKY_GIT_PARAMS%';\n\n\tif (isGitParams || isHuskyParams) {\n\t\tconsole.warn(`Using environment variable syntax (${edit}) in -e |\\\n--edit is deprecated. Use '{-E|--env} HUSKY_GIT_PARAMS instead'`);\n\n\t\tif (isGitParams && 'GIT_PARAMS' in process.env) {\n\t\t\treturn process.env.GIT_PARAMS;\n\t\t}\n\t\tif ('HUSKY_GIT_PARAMS' in process.env) {\n\t\t\treturn process.env.HUSKY_GIT_PARAMS;\n\t\t}\n\t\tthrow new Error(\n\t\t\t`Received ${edit} as value for -e | --edit, but GIT_PARAMS or HUSKY_GIT_PARAMS are not available globally.`\n\t\t);\n\t}\n\treturn edit;\n}\n\nfunction getSeed(seed) {\n\tconst e = Array.isArray(seed.extends) ? seed.extends : [seed.extends];\n\tconst n = e.filter(i => typeof i === 'string');\n\treturn n.length > 0\n\t\t? {extends: n, parserPreset: seed.parserPreset}\n\t\t: {parserPreset: seed.parserPreset};\n}\n\nfunction selectParserOpts(parserPreset) {\n\tif (typeof parserPreset !== 'object') {\n\t\treturn undefined;\n\t}\n\n\tif (typeof parserPreset.parserOpts !== 'object') {\n\t\treturn undefined;\n\t}\n\n\treturn parserPreset.parserOpts;\n}\n\nfunction loadFormatter(config, flags) {\n\tconst moduleName = flags.format || config.formatter || '@commitlint/format';\n\tconst modulePath =\n\t\tresolveFrom.silent(__dirname, moduleName) ||\n\t\tresolveFrom.silent(flags.cwd, moduleName) ||\n\t\tresolveGlobal.silent(moduleName);\n\n\tif (modulePath) {\n\t\treturn require(modulePath);\n\t}\n\n\tthrow new Error(`Using format ${moduleName}, but cannot find the module.`);\n}\n\n// Catch unhandled rejections globally\nprocess.on('unhandledRejection', (reason, promise) => {\n\tconsole.log('Unhandled Rejection at: Promise ', promise, ' reason: ', reason);\n\tthrow reason;\n});\n"]}
\ No newline at end of file
+{"version":3,"sources":["../src/cli.js"],"names":["require","load","lint","read","meow","merge","pick","isFunction","stdin","resolveFrom","resolveGlobal","pkg","help","flags","color","alias","default","description","type","config","cwd","process","edit","env","extends","from","format","quiet","to","version","cli","name","unknown","arg","Error","main","catch","err","setTimeout","exit","options","raw","input","normalizeFlags","fromStdin","checkFromStdin","range","messages","Array","isArray","filter","message","trim","Boolean","length","checkFromRepository","console","log","loadOpts","file","getSeed","loaded","parserOpts","selectParserOpts","parserPreset","opts","plugins","loadFormatter","commentChar","Promise","all","map","rules","results","Object","keys","originalInput","splice","valid","errors","level","join","warnings","report","reduce","info","result","errorCount","warningCount","push","output","checkFromHistory","checkFromEdit","getEditValue","e","isGitParams","isHuskyParams","warn","GIT_PARAMS","HUSKY_GIT_PARAMS","seed","n","i","undefined","moduleName","formatter","modulePath","silent","__dirname","moduleInstance","on","reason","promise"],"mappings":"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","file":"cli.js","sourcesContent":["\nrequire('babel-polyfill'); // eslint-disable-line import/no-unassigned-import\n\nconst load = require('@commitlint/load');\nconst lint = require('@commitlint/lint');\nconst read = require('@commitlint/read');\nconst meow = require('meow');\nconst {merge, pick, isFunction} = require('lodash');\nconst stdin = require('get-stdin');\nconst resolveFrom = require('resolve-from');\nconst resolveGlobal = require('resolve-global');\n\nconst pkg = require('../package');\nconst help = require('./help');\n\nconst flags = {\n\tcolor: {\n\t\talias: 'c',\n\t\tdefault: true,\n\t\tdescription: 'toggle colored output',\n\t\ttype: 'boolean'\n\t},\n\tconfig: {\n\t\talias: 'g',\n\t\tdefault: null,\n\t\tdescription: 'path to the config file',\n\t\ttype: 'string'\n\t},\n\tcwd: {\n\t\talias: 'd',\n\t\tdefault: process.cwd(),\n\t\tdescription: 'directory to execute in',\n\t\ttype: 'string'\n\t},\n\tedit: {\n\t\talias: 'e',\n\t\tdefault: false,\n\t\tdescription:\n\t\t\t'read last commit message from the specified file or fallbacks to ./.git/COMMIT_EDITMSG',\n\t\ttype: 'string'\n\t},\n\tenv: {\n\t\talias: 'E',\n\t\tdefault: null,\n\t\tdescription:\n\t\t\t'check message in the file at path given by environment variable value',\n\t\ttype: 'string'\n\t},\n\textends: {\n\t\talias: 'x',\n\t\tdescription: 'array of shareable configurations to extend',\n\t\ttype: 'string'\n\t},\n\thelp: {\n\t\talias: 'h',\n\t\ttype: 'boolean',\n\t\tdescription: 'display this help message'\n\t},\n\tfrom: {\n\t\talias: 'f',\n\t\tdefault: null,\n\t\tdescription: 'lower end of the commit range to lint; applies if edit=false',\n\t\ttype: 'string'\n\t},\n\tformat: {\n\t\talias: 'o',\n\t\tdefault: null,\n\t\tdescription: 'output format of the results',\n\t\ttype: 'string'\n\t},\n\t'parser-preset': {\n\t\talias: 'p',\n\t\tdescription: 'configuration preset to use for conventional-commits-parser',\n\t\ttype: 'string'\n\t},\n\tquiet: {\n\t\talias: 'q',\n\t\tdefault: false,\n\t\tdescription: 'toggle console output',\n\t\ttype: 'boolean'\n\t},\n\tto: {\n\t\talias: 't',\n\t\tdefault: null,\n\t\tdescription: 'upper end of the commit range to lint; applies if edit=false',\n\t\ttype: 'string'\n\t},\n\tversion: {\n\t\talias: 'v',\n\t\ttype: 'boolean',\n\t\tdescription: 'display version information'\n\t}\n};\n\nconst cli = meow({\n\tdescription: `${pkg.name}@${pkg.version} - ${pkg.description}`,\n\tflags,\n\thelp: `[input] reads from stdin if --edit, --env, --from and --to are omitted\\n${help(\n\t\tflags\n\t)}`,\n\tunknown(arg) {\n\t\tthrow new Error(`unknown flags: ${arg}`);\n\t}\n});\n\nmain(cli).catch(err =>\n\tsetTimeout(() => {\n\t\tif (err.type === pkg.name) {\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tthrow err;\n\t})\n);\n\nasync function main(options) {\n\tconst raw = options.input;\n\tconst flags = normalizeFlags(options.flags);\n\tconst fromStdin = checkFromStdin(raw, flags);\n\n\tconst range = pick(flags, 'edit', 'from', 'to');\n\n\tconst input = await (fromStdin ? stdin() : read(range, {cwd: flags.cwd}));\n\n\tconst messages = (Array.isArray(input) ? input : [input])\n\t\t.filter(message => typeof message === 'string')\n\t\t.filter(message => message.trim() !== '')\n\t\t.filter(Boolean);\n\n\tif (messages.length === 0 && !checkFromRepository(flags)) {\n\t\tconst err = new Error(\n\t\t\t'[input] is required: supply via stdin, or --env or --edit or --from and --to'\n\t\t);\n\t\terr.type = pkg.name;\n\t\tconsole.log(`${cli.help}\\n`);\n\t\tconsole.log(err.message);\n\t\tthrow err;\n\t}\n\n\tconst loadOpts = {cwd: flags.cwd, file: flags.config};\n\tconst loaded = await load(getSeed(flags), loadOpts);\n\tconst parserOpts = selectParserOpts(loaded.parserPreset);\n\tconst opts = {\n\t\tparserOpts: {},\n\t\tplugins: {}\n\t};\n\tif (parserOpts) {\n\t\topts.parserOpts = parserOpts;\n\t}\n\tif (loaded.plugins) {\n\t\topts.plugins = loaded.plugins;\n\t}\n\tconst format = loadFormatter(loaded, flags);\n\n\t// Strip comments if reading from `.git/COMMIT_EDIT_MSG`\n\tif (range.edit) {\n\t\topts.parserOpts.commentChar = '#';\n\t}\n\n\tconst results = await Promise.all(\n\t\tmessages.map(message => lint(message, loaded.rules, opts))\n\t);\n\n\tif (Object.keys(loaded.rules).length === 0) {\n\t\tlet input = '';\n\n\t\tif (results.length !== 0) {\n\t\t\tconst originalInput = results[0].input;\n\t\t\tinput = originalInput;\n\t\t}\n\n\t\tresults.splice(0, results.length, {\n\t\t\tvalid: false,\n\t\t\terrors: [\n\t\t\t\t{\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tname: 'empty-rules',\n\t\t\t\t\tmessage: [\n\t\t\t\t\t\t'Please add rules to your `commitlint.config.js`',\n\t\t\t\t\t\t' - Getting started guide: https://git.io/fhHij',\n\t\t\t\t\t\t' - Example config: https://git.io/fhHip'\n\t\t\t\t\t].join('\\n')\n\t\t\t\t}\n\t\t\t],\n\t\t\twarnings: [],\n\t\t\tinput\n\t\t});\n\t}\n\n\tconst report = results.reduce(\n\t\t(info, result) => {\n\t\t\tinfo.valid = result.valid ? info.valid : false;\n\t\t\tinfo.errorCount += result.errors.length;\n\t\t\tinfo.warningCount += result.warnings.length;\n\t\t\tinfo.results.push(result);\n\n\t\t\treturn info;\n\t\t},\n\t\t{\n\t\t\tvalid: true,\n\t\t\terrorCount: 0,\n\t\t\twarningCount: 0,\n\t\t\tresults: []\n\t\t}\n\t);\n\n\tconst output = format(report, {color: flags.color});\n\n\tif (!flags.quiet) {\n\t\tconsole.log(output);\n\t}\n\n\tif (!report.valid) {\n\t\tconst err = new Error(output);\n\t\terr.type = pkg.name;\n\t\tthrow err;\n\t}\n}\n\nfunction checkFromStdin(input, flags) {\n\treturn input.length === 0 && !checkFromRepository(flags);\n}\n\nfunction checkFromRepository(flags) {\n\treturn checkFromHistory(flags) || checkFromEdit(flags);\n}\n\nfunction checkFromEdit(flags) {\n\treturn Boolean(flags.edit) || flags.env;\n}\n\nfunction checkFromHistory(flags) {\n\treturn typeof flags.from === 'string' || typeof flags.to === 'string';\n}\n\nfunction normalizeFlags(flags) {\n\tconst edit = getEditValue(flags);\n\treturn merge({}, flags, {edit, e: edit});\n}\n\nfunction getEditValue(flags) {\n\tif (flags.env) {\n\t\tif (!(flags.env in process.env)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Recieved '${\n\t\t\t\t\tflags.env\n\t\t\t\t}' as value for -E | --env, but environment variable '${\n\t\t\t\t\tflags.env\n\t\t\t\t}' is not available globally`\n\t\t\t);\n\t\t}\n\t\treturn process.env[flags.env];\n\t}\n\tconst {edit} = flags;\n\t// If the edit flag is set but empty (i.e '-e') we default\n\t// to .git/COMMIT_EDITMSG\n\tif (edit === '') {\n\t\treturn true;\n\t}\n\tif (typeof edit === 'boolean') {\n\t\treturn edit;\n\t}\n\t// The recommended method to specify -e with husky was `commitlint -e $HUSKY_GIT_PARAMS`\n\t// This does not work properly with win32 systems, where env variable declarations\n\t// use a different syntax\n\t// See https://github.com/conventional-changelog/commitlint/issues/103 for details\n\t// This has been superceded by the `-E GIT_PARAMS` / `-E HUSKY_GIT_PARAMS`\n\tconst isGitParams = edit === '$GIT_PARAMS' || edit === '%GIT_PARAMS%';\n\tconst isHuskyParams =\n\t\tedit === '$HUSKY_GIT_PARAMS' || edit === '%HUSKY_GIT_PARAMS%';\n\n\tif (isGitParams || isHuskyParams) {\n\t\tconsole.warn(`Using environment variable syntax (${edit}) in -e |\\\n--edit is deprecated. Use '{-E|--env} HUSKY_GIT_PARAMS instead'`);\n\n\t\tif (isGitParams && 'GIT_PARAMS' in process.env) {\n\t\t\treturn process.env.GIT_PARAMS;\n\t\t}\n\t\tif ('HUSKY_GIT_PARAMS' in process.env) {\n\t\t\treturn process.env.HUSKY_GIT_PARAMS;\n\t\t}\n\t\tthrow new Error(\n\t\t\t`Received ${edit} as value for -e | --edit, but GIT_PARAMS or HUSKY_GIT_PARAMS are not available globally.`\n\t\t);\n\t}\n\treturn edit;\n}\n\nfunction getSeed(seed) {\n\tconst e = Array.isArray(seed.extends) ? seed.extends : [seed.extends];\n\tconst n = e.filter(i => typeof i === 'string');\n\treturn n.length > 0\n\t\t? {extends: n, parserPreset: seed.parserPreset}\n\t\t: {parserPreset: seed.parserPreset};\n}\n\nfunction selectParserOpts(parserPreset) {\n\tif (typeof parserPreset !== 'object') {\n\t\treturn undefined;\n\t}\n\n\tif (typeof parserPreset.parserOpts !== 'object') {\n\t\treturn undefined;\n\t}\n\n\treturn parserPreset.parserOpts;\n}\n\nfunction loadFormatter(config, flags) {\n\tconst moduleName = flags.format || config.formatter || '@commitlint/format';\n\tconst modulePath =\n\t\tresolveFrom.silent(__dirname, moduleName) ||\n\t\tresolveFrom.silent(flags.cwd, moduleName) ||\n\t\tresolveGlobal.silent(moduleName);\n\n\tif (modulePath) {\n\t\tconst moduleInstance = require(modulePath);\n\n\t\tif (isFunction(moduleInstance.default)) {\n\t\t\treturn moduleInstance.default;\n\t\t}\n\n\t\treturn moduleInstance;\n\t}\n\n\tthrow new Error(`Using format ${moduleName}, but cannot find the module.`);\n}\n\n// Catch unhandled rejections globally\nprocess.on('unhandledRejection', (reason, promise) => {\n\tconsole.log('Unhandled Rejection at: Promise ', promise, ' reason: ', reason);\n\tthrow reason;\n});\n"]}
\ No newline at end of file

package.json

@@ -1,6 +1,6 @@
{
"name": "@commitlint/cli",
- "version": "7.5.2",
+ "version": "7.6.0",
"description": "Lint your commit messages",
"files": [
"index.js",
@@ -12,7 +12,6 @@
},
"scripts": {
"build": "cross-env NODE_ENV=production babel src --out-dir lib --source-maps",
- "clean": "npx rimraf lib",
"deps": "dep-check",
"pkg": "pkg-check",
"start": "concurrently \"ava -c 4 --verbose --watch\" \"yarn run watch\"",
@@ -54,11 +53,11 @@
},
"license": "MIT",
"devDependencies": {
- "@commitlint/test": "^7.5.0",
- "@commitlint/utils": "^7.5.0",
+ "@commitlint/test": "^7.6.0",
+ "@commitlint/utils": "^7.6.0",
"ava": "0.18.2",
"babel-cli": "6.26.0",
- "babel-preset-commitlint": "^7.5.0",
+ "babel-preset-commitlint": "^7.6.0",
"babel-register": "6.26.0",
"concurrently": "3.5.1",
"cross-env": "5.1.1",
@@ -66,23 +65,21 @@
"mkdirp": "0.5.1",
"pkg-dir": "2.0.0",
"resolve-bin": "0.4.0",
- "rimraf": "2.6.2",
"sander": "0.6.0",
"string-to-stream": "1.1.0",
- "tmp": "0.0.33"
+ "tmp": "0.1.0"
},
"dependencies": {
- "@commitlint/format": "^7.5.0",
- "@commitlint/lint": "^7.5.2",
- "@commitlint/load": "^7.5.0",
- "@commitlint/read": "^7.5.0",
+ "@commitlint/format": "^7.6.0",
+ "@commitlint/lint": "^7.6.0",
+ "@commitlint/load": "^7.6.0",
+ "@commitlint/read": "^7.6.0",
"babel-polyfill": "6.26.0",
"chalk": "2.3.1",
- "get-stdin": "5.0.1",
+ "get-stdin": "7.0.0",
"lodash": "4.17.11",
"meow": "5.0.0",
- "resolve-from": "4.0.0",
- "resolve-global": "0.1.0"
- },
- "gitHead": "d0507bd15b9f1eeeb209d60f02f20bbe0184d0ce"
+ "resolve-from": "5.0.0",
+ "resolve-global": "1.0.0"
+ }
}