UNPKG

1.24 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3const program = require('commander');
4const version = require('../package.json').version;
5const esBeautifier = require('./main.js');
6
7program
8 .version(version)
9 .usage('[options] [<file ...>]')
10 .option('-c, --config [name]', 'specify config name [standard]', 'standard')
11 .option('-u, --use-eslintrc', 'use eslintrc files')
12 .parse(process.argv);
13
14require('eslint/lib/config/plugins').define('es-beautifier', esBeautifier);
15const CLIEngine = require('eslint').CLIEngine;
16
17const config = esBeautifier.configs[program.config];
18if (!config) {
19 console.error('no such config');
20 process.exit(1);
21}
22
23config.fix = true;
24config.useEslintrc = !!program.useEslintrc;
25const cli = new CLIEngine(config);
26
27if (program.args.length) {
28 const report = cli.executeOnFiles(program.args);
29 CLIEngine.outputFixes(report);
30} else {
31 process.stdin.setEncoding('utf8');
32 const chunks = [];
33 process.stdin.on('readable', () => {
34 const chunk = process.stdin.read();
35 if (chunk) chunks.push(chunk);
36 });
37 process.stdin.on('end', () => {
38 const text = chunks.join('');
39 const report = cli.executeOnText(text);
40 const output = report.results[0].output || text;
41 process.stdout.write(output, 'utf8');
42 });
43}