Skip to content

Commit

Permalink
refactor(cli-utils): mergeOptionsFromArgv
Browse files Browse the repository at this point in the history
  • Loading branch information
exuanbo committed Mar 18, 2021
1 parent 4fc5946 commit 25ebfaa
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 12 deletions.
7 changes: 3 additions & 4 deletions __tests__/cli-utils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ import { mergeOptionsFromArgv, readStdin } from '../src/cli-utils'
describe('mergeESLintOpsFromArgv', () => {
it('should merge eslintOptions from parsed argv', () => {
const options = new Options({ eslint })
const { eslintOptions } = options

const eslintOptionsCopy = Object.assign({}, eslintOptions)
const eslintOptionsCopy = Object.assign({}, options.eslintOptions)
eslintOptionsCopy.extensions = eslintOptionsCopy.extensions.concat('.ts')
eslintOptionsCopy.baseConfig.globals = { jest: true }
eslintOptionsCopy.baseConfig.ignorePatterns = [
Expand All @@ -17,12 +16,12 @@ describe('mergeESLintOpsFromArgv', () => {
'dist/'
]

const mergedOptions = mergeOptionsFromArgv(options, {
mergeOptionsFromArgv(options, {
ext: '.ts',
globals: 'jest',
_: []
})
expect(mergedOptions).toStrictEqual(eslintOptionsCopy)
expect(options.eslintOptions).toStrictEqual(eslintOptionsCopy)
})
})

Expand Down
6 changes: 3 additions & 3 deletions src/cli-utils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ESLint } from 'eslint'
import { ESLintOptions, LinterOptions } from './options'
import { LinterOptions } from './options'
import { getIgnoreFromFile, mergeConfig } from './utils'

const arrayWithTypes = <T extends string>(arr: T[]): T[] => arr
Expand Down Expand Up @@ -47,7 +47,7 @@ export const mergeOptionsFromArgv = (
parser,
plugins
}: ParsedArgs
): ESLintOptions => {
): void => {
const optionsFromArgs: Partial<ESLint.Options> = {
extensions: ext !== undefined ? [ext] : [],
baseConfig: {
Expand All @@ -60,7 +60,7 @@ export const mergeOptionsFromArgv = (
},
fix
}
return mergeConfig(eslintOptions, optionsFromArgs)
mergeConfig(eslintOptions, optionsFromArgs)
}

/**
Expand Down
7 changes: 2 additions & 5 deletions src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,10 @@ export abstract class CLIEngine<T> {

export class CLI extends CLIEngine<ParsedArgs> {
constructor(opts: ProvidedOptions) {
const minimistOpts = MINIMIST_OPTS
const argv = minimist(process.argv.slice(2), minimistOpts) as ParsedArgs
const argv = minimist(process.argv.slice(2), MINIMIST_OPTS)

const linter = new Linter(opts)
const { options } = linter

options.eslintOptions = mergeOptionsFromArgv(options, argv)
mergeOptionsFromArgv(linter.options, argv)

super(argv, linter)
}
Expand Down

0 comments on commit 25ebfaa

Please sign in to comment.