Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
|
26e61fad69 | ||
|
d8143885a4 |
6 changed files with 101 additions and 32 deletions
|
@ -53,7 +53,8 @@ function! ale#fixers#eslint#ApplyFixForVersion(buffer, version) abort
|
||||||
" Use --fix-to-stdout with eslint_d
|
" Use --fix-to-stdout with eslint_d
|
||||||
if l:executable =~# 'eslint_d$' && ale#semver#GTE(a:version, [3, 19, 0])
|
if l:executable =~# 'eslint_d$' && ale#semver#GTE(a:version, [3, 19, 0])
|
||||||
return {
|
return {
|
||||||
\ 'command': ale#node#Executable(a:buffer, l:executable)
|
\ 'command': ale#handlers#eslint#GetCdString(a:buffer)
|
||||||
|
\ . ale#node#Executable(a:buffer, l:executable)
|
||||||
\ . ale#Pad(l:options)
|
\ . ale#Pad(l:options)
|
||||||
\ . ' --stdin-filename %s --stdin --fix-to-stdout',
|
\ . ' --stdin-filename %s --stdin --fix-to-stdout',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput',
|
||||||
|
@ -63,7 +64,8 @@ function! ale#fixers#eslint#ApplyFixForVersion(buffer, version) abort
|
||||||
" 4.9.0 is the first version with --fix-dry-run
|
" 4.9.0 is the first version with --fix-dry-run
|
||||||
if ale#semver#GTE(a:version, [4, 9, 0])
|
if ale#semver#GTE(a:version, [4, 9, 0])
|
||||||
return {
|
return {
|
||||||
\ 'command': ale#node#Executable(a:buffer, l:executable)
|
\ 'command': ale#handlers#eslint#GetCdString(a:buffer)
|
||||||
|
\ . ale#node#Executable(a:buffer, l:executable)
|
||||||
\ . ale#Pad(l:options)
|
\ . ale#Pad(l:options)
|
||||||
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
||||||
|
@ -71,7 +73,8 @@ function! ale#fixers#eslint#ApplyFixForVersion(buffer, version) abort
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return {
|
return {
|
||||||
\ 'command': ale#node#Executable(a:buffer, l:executable)
|
\ 'command': ale#handlers#eslint#GetCdString(a:buffer)
|
||||||
|
\ . ale#node#Executable(a:buffer, l:executable)
|
||||||
\ . ale#Pad(l:options)
|
\ . ale#Pad(l:options)
|
||||||
\ . (!empty(l:config) ? ' -c ' . ale#Escape(l:config) : '')
|
\ . (!empty(l:config) ? ' -c ' . ale#Escape(l:config) : '')
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
" Author: w0rp <devw0rp@gmail.com>
|
" Author: w0rp <devw0rp@gmail.com>
|
||||||
" Description: Functions for working with eslint, for checking or fixing files.
|
" Description: Functions for working with eslint, for checking or fixing files.
|
||||||
|
|
||||||
|
let s:executables = [
|
||||||
|
\ 'node_modules/.bin/eslint_d',
|
||||||
|
\ 'node_modules/eslint/bin/eslint.js',
|
||||||
|
\ 'node_modules/.bin/eslint',
|
||||||
|
\]
|
||||||
let s:sep = has('win32') ? '\' : '/'
|
let s:sep = has('win32') ? '\' : '/'
|
||||||
|
|
||||||
call ale#Set('javascript_eslint_options', '')
|
call ale#Set('javascript_eslint_options', '')
|
||||||
|
@ -30,11 +35,31 @@ function! ale#handlers#eslint#FindConfig(buffer) abort
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! ale#handlers#eslint#GetExecutable(buffer) abort
|
function! ale#handlers#eslint#GetExecutable(buffer) abort
|
||||||
return ale#node#FindExecutable(a:buffer, 'javascript_eslint', [
|
return ale#node#FindExecutable(a:buffer, 'javascript_eslint', s:executables)
|
||||||
\ 'node_modules/.bin/eslint_d',
|
endfunction
|
||||||
\ 'node_modules/eslint/bin/eslint.js',
|
|
||||||
\ 'node_modules/.bin/eslint',
|
" Given a buffer, return a command prefix string which changes directory
|
||||||
\])
|
" as necessary for running ESLint.
|
||||||
|
function! ale#handlers#eslint#GetCdString(buffer) abort
|
||||||
|
" ESLint 6 loads plugins/configs/parsers from the project root
|
||||||
|
" By default, the project root is simply the CWD of the running process.
|
||||||
|
" https://github.com/eslint/rfcs/blob/master/designs/2018-simplified-package-loading/README.md
|
||||||
|
" https://github.com/dense-analysis/ale/issues/2787
|
||||||
|
"
|
||||||
|
" If eslint is installed in a directory which contains the buffer, assume
|
||||||
|
" it is the ESLint project root. Otherwise, use nearest node_modules.
|
||||||
|
" Note: If node_modules not present yet, can't load local deps anyway.
|
||||||
|
let l:executable = ale#node#FindNearestExecutable(a:buffer, s:executables)
|
||||||
|
|
||||||
|
if !empty(l:executable)
|
||||||
|
let l:nmi = strridx(l:executable, 'node_modules')
|
||||||
|
let l:project_dir = l:executable[0:l:nmi - 2]
|
||||||
|
else
|
||||||
|
let l:modules_dir = ale#path#FindNearestDirectory(a:buffer, 'node_modules')
|
||||||
|
let l:project_dir = !empty(l:modules_dir) ? fnamemodify(l:modules_dir, ':h:h') : ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
return !empty(l:project_dir) ? ale#path#CdString(l:project_dir) : ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! ale#handlers#eslint#GetCommand(buffer) abort
|
function! ale#handlers#eslint#GetCommand(buffer) abort
|
||||||
|
@ -42,17 +67,7 @@ function! ale#handlers#eslint#GetCommand(buffer) abort
|
||||||
|
|
||||||
let l:options = ale#Var(a:buffer, 'javascript_eslint_options')
|
let l:options = ale#Var(a:buffer, 'javascript_eslint_options')
|
||||||
|
|
||||||
" ESLint 6 loads plugins/configs/parsers from the project root
|
return ale#handlers#eslint#GetCdString(a:buffer)
|
||||||
" By default, the project root is simply the CWD of the running process.
|
|
||||||
" https://github.com/eslint/rfcs/blob/master/designs/2018-simplified-package-loading/README.md
|
|
||||||
" https://github.com/dense-analysis/ale/issues/2787
|
|
||||||
" Identify project root from presence of node_modules dir.
|
|
||||||
" Note: If node_modules not present yet, can't load local deps anyway.
|
|
||||||
let l:modules_dir = ale#path#FindNearestDirectory(a:buffer, 'node_modules')
|
|
||||||
let l:project_dir = !empty(l:modules_dir) ? fnamemodify(l:modules_dir, ':h:h') : ''
|
|
||||||
let l:cd_command = !empty(l:project_dir) ? ale#path#CdString(l:project_dir) : ''
|
|
||||||
|
|
||||||
return l:cd_command
|
|
||||||
\ . ale#node#Executable(a:buffer, l:executable)
|
\ . ale#node#Executable(a:buffer, l:executable)
|
||||||
\ . (!empty(l:options) ? ' ' . l:options : '')
|
\ . (!empty(l:options) ? ' ' . l:options : '')
|
||||||
\ . ' -f json --stdin --stdin-filename %s'
|
\ . ' -f json --stdin --stdin-filename %s'
|
||||||
|
|
|
@ -12,6 +12,18 @@ function! ale#node#FindExecutable(buffer, base_var_name, path_list) abort
|
||||||
return ale#Var(a:buffer, a:base_var_name . '_executable')
|
return ale#Var(a:buffer, a:base_var_name . '_executable')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let l:nearest = ale#node#FindNearestExecutable(a:buffer, a:path_list)
|
||||||
|
|
||||||
|
if !empty(l:nearest)
|
||||||
|
return l:nearest
|
||||||
|
endif
|
||||||
|
|
||||||
|
return ale#Var(a:buffer, a:base_var_name . '_executable')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Given a buffer number, a base variable name, and a list of paths to search
|
||||||
|
" for in ancestor directories, detect the executable path for a Node program.
|
||||||
|
function! ale#node#FindNearestExecutable(buffer, path_list) abort
|
||||||
for l:path in a:path_list
|
for l:path in a:path_list
|
||||||
let l:executable = ale#path#FindNearestFile(a:buffer, l:path)
|
let l:executable = ale#path#FindNearestFile(a:buffer, l:path)
|
||||||
|
|
||||||
|
@ -20,7 +32,7 @@ function! ale#node#FindExecutable(buffer, base_var_name, path_list) abort
|
||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
return ale#Var(a:buffer, a:base_var_name . '_executable')
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Create a executable string which executes a Node.js script command with a
|
" Create a executable string which executes a Node.js script command with a
|
||||||
|
|
0
test/eslint-test-files/react-app/subdir-with-package-json/node_modules/.gitkeep
generated
vendored
Normal file
0
test/eslint-test-files/react-app/subdir-with-package-json/node_modules/.gitkeep
generated
vendored
Normal file
|
@ -13,7 +13,9 @@ Execute(The executable path should be correct):
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/.eslintrc.js'))
|
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/.eslintrc.js'))
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
|
@ -150,7 +152,9 @@ Execute(The lower priority configuration file in a nested directory should be pr
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/subdir-with-config/.eslintrc'))
|
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/subdir-with-config/.eslintrc'))
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
|
@ -164,7 +168,9 @@ Execute(--config in options should override configuration file detection for old
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' --config /foo.cfg'
|
\ . ' --config /foo.cfg'
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
|
@ -175,7 +181,9 @@ Execute(--config in options should override configuration file detection for old
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' -c /foo.cfg'
|
\ . ' -c /foo.cfg'
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
|
@ -187,7 +195,9 @@ Execute(package.json should be used as a last resort):
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/.eslintrc.js'))
|
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/.eslintrc.js'))
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
|
@ -199,7 +209,8 @@ Execute(package.json should be used as a last resort):
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command':
|
\ 'command':
|
||||||
\ ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/node_modules/.bin/eslint'))
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files'))
|
||||||
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/node_modules/.bin/eslint'))
|
||||||
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/package.json'))
|
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/package.json'))
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
\ }
|
\ }
|
||||||
|
@ -214,7 +225,9 @@ Execute(The version check should be correct):
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' --version',
|
\ . ' --version',
|
||||||
\ {
|
\ {
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
||||||
|
@ -223,7 +236,9 @@ Execute(The version check should be correct):
|
||||||
|
|
||||||
AssertFixer [
|
AssertFixer [
|
||||||
\ {
|
\ {
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
||||||
|
@ -236,7 +251,9 @@ Execute(--fix-dry-run should be used for 4.9.0 and up):
|
||||||
GivenCommandOutput ['4.9.0']
|
GivenCommandOutput ['4.9.0']
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'command': (has('win32') ? 'node.exe ' : '')
|
\ 'command':
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app'))
|
||||||
|
\ . (has('win32') ? 'node.exe ' : '')
|
||||||
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
\ . ' --stdin-filename %s --stdin --fix-dry-run --format=json',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessFixDryRunOutput',
|
||||||
|
@ -249,7 +266,8 @@ Execute(--fix-to-stdout should be used for eslint_d):
|
||||||
\ {
|
\ {
|
||||||
\ 'read_temporary_file': 1,
|
\ 'read_temporary_file': 1,
|
||||||
\ 'command':
|
\ 'command':
|
||||||
\ ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d/node_modules/.bin/eslint_d'))
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d'))
|
||||||
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d/node_modules/.bin/eslint_d'))
|
||||||
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/package.json'))
|
\ . ' -c ' . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/package.json'))
|
||||||
\ . ' --fix %t',
|
\ . ' --fix %t',
|
||||||
\ }
|
\ }
|
||||||
|
@ -260,7 +278,8 @@ Execute(--fix-to-stdout should be used for eslint_d):
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'command':
|
\ 'command':
|
||||||
\ ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d/node_modules/.bin/eslint_d'))
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d'))
|
||||||
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d/node_modules/.bin/eslint_d'))
|
||||||
\ . ' --stdin-filename %s --stdin --fix-to-stdout',
|
\ . ' --stdin-filename %s --stdin --fix-to-stdout',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput',
|
||||||
\ }
|
\ }
|
||||||
|
@ -270,7 +289,8 @@ Execute(--fix-to-stdout should be used for eslint_d):
|
||||||
AssertFixer
|
AssertFixer
|
||||||
\ {
|
\ {
|
||||||
\ 'command':
|
\ 'command':
|
||||||
\ ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d/node_modules/.bin/eslint_d'))
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d'))
|
||||||
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/../eslint-test-files/app-with-eslint-d/node_modules/.bin/eslint_d'))
|
||||||
\ . ' --stdin-filename %s --stdin --fix-to-stdout',
|
\ . ' --stdin-filename %s --stdin --fix-to-stdout',
|
||||||
\ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput',
|
\ 'process_with': 'ale#fixers#eslint#ProcessEslintDOutput',
|
||||||
\ }
|
\ }
|
||||||
|
|
|
@ -70,6 +70,25 @@ Execute(eslint.js executables should be run with node on Windows):
|
||||||
\ ale#handlers#eslint#GetCommand(bufnr(''))
|
\ ale#handlers#eslint#GetCommand(bufnr(''))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
Execute(eslint.js should be run from containing project with eslint):
|
||||||
|
call ale#test#SetFilename('eslint-test-files/react-app/subdir-with-package-json/testfile.js')
|
||||||
|
|
||||||
|
" We have to execute the file with node.
|
||||||
|
if has('win32')
|
||||||
|
AssertEqual
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/eslint-test-files/react-app'))
|
||||||
|
\ . ale#Escape('node.exe') . ' '
|
||||||
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
|
\ . ' -f json --stdin --stdin-filename %s',
|
||||||
|
\ ale#handlers#eslint#GetCommand(bufnr(''))
|
||||||
|
else
|
||||||
|
AssertEqual
|
||||||
|
\ ale#path#CdString(ale#path#Simplify(g:dir . '/eslint-test-files/react-app'))
|
||||||
|
\ . ale#Escape(ale#path#Simplify(g:dir . '/eslint-test-files/react-app/node_modules/eslint/bin/eslint.js'))
|
||||||
|
\ . ' -f json --stdin --stdin-filename %s',
|
||||||
|
\ ale#handlers#eslint#GetCommand(bufnr(''))
|
||||||
|
endif
|
||||||
|
|
||||||
Execute(eslint.js executables can be run outside project dir):
|
Execute(eslint.js executables can be run outside project dir):
|
||||||
" Set filename above eslint-test-files (which contains node_modules)
|
" Set filename above eslint-test-files (which contains node_modules)
|
||||||
call ale#test#SetFilename('testfile.js')
|
call ale#test#SetFilename('testfile.js')
|
||||||
|
|
Reference in a new issue