1 | #!/usr/bin/env node
|
2 |
|
3 | const {
|
4 | executeLintingCommand,
|
5 | getArrayArgs,
|
6 | getFilesToLint,
|
7 | getGitIgnoredFiles,
|
8 | isOptionSet,
|
9 | stageFilesIfRequired
|
10 | } = require('../src/helpers')
|
11 |
|
12 | const BIN_PATH = require.resolve('eslint/bin/eslint')
|
13 | const CONFIG_PATH = require.resolve('../eslintrc.js')
|
14 | const EXTENSIONS = ['js', 'jsx']
|
15 | const IGNORE_PATTERNS = ['lib', 'dist', 'public', 'node_modules']
|
16 |
|
17 | const patterns = IGNORE_PATTERNS.concat(getGitIgnoredFiles())
|
18 |
|
19 | getFilesToLint(EXTENSIONS).then(
|
20 | files =>
|
21 | (files.length &&
|
22 | executeLintingCommand(BIN_PATH, [
|
23 | `-c ${CONFIG_PATH}`,
|
24 | ...getArrayArgs('--ext', EXTENSIONS),
|
25 | ...getArrayArgs('--ignore-pattern', patterns),
|
26 | ...files
|
27 | ]).then(
|
28 | () => isOptionSet('--fix') && stageFilesIfRequired(EXTENSIONS)
|
29 | )) ||
|
30 | console.log('[sui-lint js] No javascript files to lint.')
|
31 | )
|