UNPKG

1.26 kBJavaScriptView Raw
1#!/usr/bin/env node
2"use strict";
3
4var chalk = require('chalk');
5var fs = require('fs');
6
7var filesFromMixedPaths = require('./filesFromMixedPaths');
8var findUntranslatedStrings = require('../build/lint').default;
9
10function showHelpAndExit() {
11 console.log("Usage: jsxlate-lint ...FILES/DIRECTORIES");
12 console.log("Looks through FILES/DIRECTORIES for strings which should be wrapped in <I18N> tags.");
13 process.exit();
14}
15
16var argv = require('minimist')(process.argv.slice(2), {
17 string: 'hI',
18 alias: {h: 'help', I: 'ignore'}
19});
20
21if (argv._.length === 0 || argv.h) {
22 showHelpAndExit();
23}
24
25var paths = filesFromMixedPaths(argv._, {ignore: argv.I});
26paths.forEach(function(path) {
27 try {
28 var src = fs.readFileSync(path, "utf8");
29 var suspiciousStrings = findUntranslatedStrings(src);
30 if (suspiciousStrings.length) {
31 console.log(chalk.bold.yellow(path + ':'));
32 console.log(suspiciousStrings.map(function(node) {
33 return node.loc.start.line + ": " + node.value;
34 }).join('\n'));
35 }
36 } catch(e) {
37 console.error(chalk.bold.red("\nError in file " + path + ":"));
38 console.error(e);
39 console.error(e.stack);
40 process.exit(1);
41 }
42
43})