canonical
Version:
Canonical code style linter and formatter for JavaScript, SCSS, CSS and JSON.
89 lines (68 loc) • 2.45 kB
JavaScript
'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