UNPKG

eslint-plugin-intl-mobile

Version:

Intl Mobile ESLint Rules.

68 lines (57 loc) 1.34 kB
#!/usr/bin/env node 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; }); });