UNPKG

16.7 kBSource Map (JSON)View Raw
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