@ -1,25 +1,38 @@
const ignoredFiles = [
const { ESLint } = require ( 'eslint' ) ;
'package.json' ,
'yarn.lock' ,
const removeIgnoredFiles = async files => {
'tsconfig.json' ,
const eslint = new ESLint ( ) ;
'.lintstagedrc.js' ,
const isIgnored = await Promise . all (
'.eslintrc.js' ,
files . map ( file => {
] ;
return eslint . isPathIgnored ( file ) ;
} )
const path = require ( 'path' ) ;
) ;
const filteredFiles = files . filter ( ( _ , i ) => ! isIgnored [ i ] ) ;
const buildFormatCommand = filenames => {
return filteredFiles . join ( ' ' ) ;
const results = filenames
} ;
. map ( f => path . relative ( process . cwd ( ) , f ) )
. filter ( f => ! ignoredFiles . includes ( f ) ) ;
const buildFormatCommand = async files => {
const filesToLint = await removeIgnoredFiles ( files ) ;
return results . length ? ` prettier --list-different --write ${ results . join ( ' ' ) } ` : '' ;
if ( ! filesToLint || ! filesToLint . length ) {
return '' ;
}
const results = filesToLint . map ( f => path . relative ( process . cwd ( ) , f ) ) ;
return results . length
? ` prettier --ignore-unknown --list-different --write ${ results . join ( ' ' ) } `
: '' ;
} ;
} ;
const buildLintCommand = filenames => {
const buildLintCommand = async files => {
const results = filenames
const filesToLint = await removeIgnoredFiles ( files ) ;
. map ( f => path . relative ( process . cwd ( ) , f ) )
. filter ( f => ! ignoredFiles . includes ( f ) ) ;
if ( ! filesToLint || ! filesToLint . length ) {
return '' ;
}
const results = filesToLint . map ( f => path . relative ( process . cwd ( ) , f ) ) ;
return results . length ? ` eslint --cache ${ results . join ( ' ' ) } ` : '' ;
return results . length ? ` eslint --cache ${ results . join ( ' ' ) } ` : '' ;
} ;
} ;