eslint-plugin-intl-mobile
Version:
Intl Mobile ESLint Rules.
68 lines (57 loc) • 1.34 kB
JavaScript
function createEslintrc(parser) {
return `
{
"extends": [
"plugin:eslint-plugin-intl-mobile/all"
],
"plugins": ["eslint-plugin-intl-mobile"],
"parser": ${parser},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {}
}
`;
}
var program = require('commander').program;
var fs = require('fs');
var path = require('path');
var spawn = require('child_process').spawn;
var cwd = process.cwd();
program
.option('-p, --parser <parser>', 'eslint parser');
program.parse(process.argv);
let parser = program.parser;
if (!parser) {
parser = '""';
} else {
parser = `"${parser}"`;
}
var eslintrc = createEslintrc(parser);
console.log('执行扫描中...');
console.log('.eslintrc-intl-mobile.json');
console.log(eslintrc);
var filePath = path.join(cwd, './.eslintrc-intl-mobile.json');
fs.writeFileSync(filePath, eslintrc, 'utf8');
const lint = spawn(`${path.join(cwd, './node_modules/.bin/eslint')}`, [
'--ext',
'.jsx,.js,.ts,.tsx',
'-c',
`${filePath}`,
'--ignore-path',
'.gitignore',
'--no-error-on-unmatched-pattern',
`${path.join(cwd, './')}`
], {
stdio: 'inherit',
});
lint.on('close', () => {
fs.unlink(filePath, function(err) {
if (err) throw err;
});
});