Skip to content

Commit

Permalink
feat: configure formatting tools (#502)
Browse files Browse the repository at this point in the history
  • Loading branch information
a2937 authored Nov 10, 2023
1 parent e143945 commit 4797396
Show file tree
Hide file tree
Showing 6 changed files with 677 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ apps/stock-price-checker-proxy/cache/
apps/twitch-proxy/.data/
apps/twitch-proxy/.logs/
Caddyfile
.eslintcache
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname -- "$0")/_/husky.sh"

npx lint-staged
40 changes: 40 additions & 0 deletions .lintstagedrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
const { ESLint } = require('eslint');

const cli = new ESLint();

// This lets us abort if we've already run a stage for all files
const completedStages = new Set();

// if a lot of files are changed, it's faster to run prettier/eslint on the
// whole project than to run them on each file separately
module.exports = {
'*.(js|jsx|ts|tsx)': async files => {
if (completedStages.has('js')) return [];

const ignoredIds = await Promise.all(
files.map(file => cli.isPathIgnored(file))
);
const lintableFiles = files.filter((_, i) => !ignoredIds[i]);
if (files.length > 10) {
completedStages.add('js');
return ['eslint --max-warnings=0 --cache --fix .', 'prettier --write .'];
} else {
return [
'eslint --max-warnings=0 --cache --fix ' + lintableFiles.join(' '),
...files.map(filename => `prettier --write '${filename}'`)
];
}
},
'*.!(js|jsx|ts|tsx)': files => {
if (completedStages.has('not-js')) return [];

if (files.length > 10) {
completedStages.add('not-js');
return 'prettier --write .';
} else {
return files.map(
filename => `prettier --write --ignore-unknown '${filename}'`
);
}
}
};
8 changes: 8 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Ignore minified libraries
apps/voting-app/public/*.min.js
# Ignore bundles
apps/**/public/bundle.js
# Ignore test runner files?
apps/**/assertion-analyser.js
apps/**/test-runner.js
apps/**/fcctesting.js
Loading

0 comments on commit 4797396

Please sign in to comment.