|
@@ -1,13 +1,34 @@
|
|
|
const escape = require('shell-quote').quote;
|
|
|
+const fs = require('fs');
|
|
|
const isWin = process.platform === 'win32';
|
|
|
|
|
|
+const escapeFileNames = filenames =>
|
|
|
+ filenames
|
|
|
+ .filter(filename => fs.existsSync(filename))
|
|
|
+ .map(filename => `"${isWin ? filename : escape([filename])}"`)
|
|
|
+ .join(' ');
|
|
|
+
|
|
|
module.exports = {
|
|
|
- '**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}': filenames => {
|
|
|
- const escapedFileNames = filenames
|
|
|
- .map(filename => `"${isWin ? filename : escape([filename])}"`)
|
|
|
- .join(' ');
|
|
|
+ '**/*{.css,.json,.md}': filenames => {
|
|
|
+ const escapedFileNames = escapeFileNames(filenames);
|
|
|
+ return [
|
|
|
+ `prettier --write ${escapedFileNames}`,
|
|
|
+ `git add ${escapedFileNames}`
|
|
|
+ ];
|
|
|
+ },
|
|
|
+ '**/*{.ts,.tsx}': filenames => {
|
|
|
+ const escapedFileNames = escapeFileNames(filenames);
|
|
|
+ return [
|
|
|
+ `prettier --write ${escapedFileNames}`,
|
|
|
+ `tslint --fix ${escapedFileNames}`,
|
|
|
+ `git add ${escapedFileNames}`
|
|
|
+ ];
|
|
|
+ },
|
|
|
+ '**/*{.js,.jsx}': filenames => {
|
|
|
+ const escapedFileNames = escapeFileNames(filenames);
|
|
|
return [
|
|
|
`prettier --write ${escapedFileNames}`,
|
|
|
+ `eslint --fix ${escapedFileNames}`,
|
|
|
`git add ${escapedFileNames}`
|
|
|
];
|
|
|
}
|