Fix #923 Use package.json as a last resort for eslint --fix

This commit is contained in:
w0rp 2017-09-12 09:10:26 +01:00
parent a7614d9502
commit 661ed6e40b
4 changed files with 27 additions and 3 deletions

View File

@ -9,7 +9,6 @@ function! s:FindConfig(buffer) abort
\ '.eslintrc.yml', \ '.eslintrc.yml',
\ '.eslintrc.json', \ '.eslintrc.json',
\ '.eslintrc', \ '.eslintrc',
\ 'package.json',
\] \]
let l:config = ale#path#Simplify(l:path . '/' . l:basename) let l:config = ale#path#Simplify(l:path . '/' . l:basename)
@ -19,7 +18,7 @@ function! s:FindConfig(buffer) abort
endfor endfor
endfor endfor
return '' return ale#path#FindNearestFile(a:buffer, 'package.json')
endfunction endfunction
function! ale#fixers#eslint#Fix(buffer) abort function! ale#fixers#eslint#Fix(buffer) abort

View File

View File

@ -17,7 +17,7 @@ Execute(The path to eslint.js should be run on Unix):
\ . ' --fix %t', \ . ' --fix %t',
\ }, \ },
\ ale#fixers#eslint#Fix(bufnr('')) \ ale#fixers#eslint#Fix(bufnr(''))
\
Execute(The lower priority configuration file in a nested directory should be preferred): Execute(The lower priority configuration file in a nested directory should be preferred):
call ale#test#SetFilename('../eslint-test-files/react-app/subdir-with-config/testfile.js') call ale#test#SetFilename('../eslint-test-files/react-app/subdir-with-config/testfile.js')
@ -30,3 +30,28 @@ Execute(The lower priority configuration file in a nested directory should be pr
\ . ' --fix %t', \ . ' --fix %t',
\ }, \ },
\ ale#fixers#eslint#Fix(bufnr('')) \ ale#fixers#eslint#Fix(bufnr(''))
Execute(package.json should be used as a last resort):
call ale#test#SetFilename('../eslint-test-files/react-app/subdir-with-package-json/testfile.js')
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command':
\ ale#Escape(simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
\ . ' --config ' . ale#Escape(simplify(g:dir . '/../eslint-test-files/react-app/.eslintrc.js'))
\ . ' --fix %t',
\ },
\ ale#fixers#eslint#Fix(bufnr(''))
call ale#test#SetFilename('../eslint-test-files/package.json')
AssertEqual
\ {
\ 'read_temporary_file': 1,
\ 'command':
\ ale#Escape(simplify(g:dir . '/../eslint-test-files/node_modules/.bin/eslint'))
\ . ' --config ' . ale#Escape(simplify(g:dir . '/../eslint-test-files/package.json'))
\ . ' --fix %t',
\ },
\ ale#fixers#eslint#Fix(bufnr(''))