mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-23 00:52:22 +00:00
25 lines
853 B
JavaScript
25 lines
853 B
JavaScript
|
import {resolve, sep} from 'path';
|
||
|
|
||
|
export default {
|
||
|
'*.{js,mjs,cjs,ts,mts,cts,vue}': 'eslint --cache --fix',
|
||
|
|
||
|
/**
|
||
|
* Run typechecking if any type-sensitive files or project dependencies was changed
|
||
|
* @param {string[]} filenames
|
||
|
* @return {string[]}
|
||
|
*/
|
||
|
'{package-lock.json,packages/**/{*.ts,*.vue,tsconfig.json}}': ({filenames}) => {
|
||
|
// if dependencies was changed run type checking for all packages
|
||
|
if (filenames.some(f => f.endsWith('package-lock.json'))) {
|
||
|
return ['npm run typecheck --if-present'];
|
||
|
}
|
||
|
|
||
|
// else run type checking for staged packages
|
||
|
const fileNameToPackageName = filename =>
|
||
|
filename.replace(resolve(process.cwd(), 'packages') + sep, '').split(sep)[0];
|
||
|
return [...new Set(filenames.map(fileNameToPackageName))].map(
|
||
|
p => `npm run typecheck:${p} --if-present`,
|
||
|
);
|
||
|
},
|
||
|
};
|