UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS, CSS and JSON.

89 lines (68 loc) 2.45 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _yargs = require('yargs'); var _yargs2 = _interopRequireDefault(_yargs); var _getStdin = require('get-stdin'); var _getStdin2 = _interopRequireDefault(_getStdin); var _utilities = require('./../../utilities'); var _bin = require('./../../utilities/bin'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var handleStdin = function handleStdin(argv) { /* eslint-disable no-unused-expressions */ _yargs2.default /* eslint-enable */ /* eslint-enable */ .demand(0, 0).argv; (0, _getStdin2.default)().then(function (stdin) { var report = (0, _utilities.lintText)(stdin, { filePath: argv.filePath, syntax: argv.syntax }); (0, _bin.outputReport)({ errorCount: report.errorCount, results: [report], warningCount: report.warningCount }, argv.outputFormat); }); }; var handleFilePaths = function handleFilePaths(argv) { /* eslint-disable no-unused-expressions */ _yargs2.default.demand(1).argv; var targetPaths = (0, _bin.getTargetPaths)(argv._); var report = (0, _utilities.lintFiles)(targetPaths); (0, _bin.outputReport)(report, argv.outputFormat); }; exports.default = function (subYargs) { subYargs.exitProcess(false).fail(_bin.failHandler); var argv = (0, _yargs2.default)(process.argv.splice(3)).exitProcess(false).fail(_bin.failHandler).help('help').strict().options({ 'file-path': { default: '<text>', describe: 'Name of the file being linted with stdin (if any). Used in reporting.', type: 'string' }, 'output-format': { choices: ['json', 'checkstyle', 'table'], default: 'table' }, stdin: { default: false, describe: 'Used to indicate that subject body will be read from stdin.', type: 'boolean' }, syntax: { // @todo This need to be true when using stdin. choices: ['css', 'js', 'json', 'scss'], demand: false, describe: 'Syntax of the input.' } }).argv; if (argv.stdin) { handleStdin(argv); } else { handleFilePaths(argv); } }; module.exports = exports['default']; //# sourceMappingURL=lintCommand.js.map