-
Notifications
You must be signed in to change notification settings - Fork 33
ci: only format and lint changed files #301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
e712c61
dc4513d
b7a1b56
c9782d1
b0546bb
bac6f0f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
scripts/* | ||
.eslintignore | ||
.prettierignore | ||
.github/workflows/* | ||
*.md |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
scripts/* | ||
.eslintignore | ||
.prettierignore |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,13 +44,19 @@ | |
], | ||
"scripts": { | ||
"toc": "doctoc README.md", | ||
"lint": "(prettier . --check || true) && eslint .", | ||
"lint": "prettier . --check && eslint .", | ||
"lint:delta": "npm-run-all -p prettier:delta eslint:delta", | ||
"prettier:delta": "prettier --check `./scripts/changed-files`", | ||
"eslint:delta": "eslint `./scripts/changed-files`", | ||
"format": "prettier . --write && eslint . --fix", | ||
"format:delta": "npm-run-all format:prettier:delta format:eslint:delta", | ||
"format:prettier:delta": "prettier --write `./scripts/changed-files`", | ||
"format:eslint:delta": "eslint --fix `./scripts/changed-files`", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
"test": "vitest run --coverage", | ||
"test:watch": "vitest", | ||
"test:update": "vitest run --update", | ||
"setup": "npm install && npm run validate", | ||
"validate": "npm-run-all lint test", | ||
"validate": "npm-run-all lint:delta test", | ||
"contributors:add": "all-contributors add", | ||
"contributors:generate": "all-contributors generate" | ||
}, | ||
|
@@ -72,6 +78,7 @@ | |
"eslint-config-prettier": "^9.1.0", | ||
"eslint-config-standard": "^17.1.0", | ||
"eslint-plugin-import": "^2.27.5", | ||
"eslint-plugin-json-files": "^4.1.0", | ||
"eslint-plugin-n": "^16.0.1", | ||
"eslint-plugin-promise": "^6.1.1", | ||
"eslint-plugin-simple-import-sort": "^10.0.0", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/usr/bin/env bash | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This doesn't feel very Windows friendly There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It ain't. Are you developing under Windows? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Occasionally! I try to keep things shell/os-agnostic in my own projects. I dislike the idea of having a barrier to contributing based on OS when I could structure things to be more compatible There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah. I try to be as friendly as possible, but something I've learn along the years is that there is a limit on how much out of shape one should bend for the remote possibility that somebody with a specific setup might potentially want to contribute. My rule of thumb is: optimize for the comfort of who are working right now on the thing, and don't actively be a jerk for the rest. |
||
|
||
git diff --name-only --diff-filter=d origin/main |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without any rules and an overrides section mentioning
.json
, I don't think adding this plugin does anythingThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does! Because in this case the list of files is passed explicitly to eslint (versus being generated off the include and exclude lists).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still, we're not configuring any rules. Is this just here so a JSON parser is used and ESLint doesn't choke when a JSON file comes in the diff list? Would adding JSON to the ESLint ignore achieve the same thing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could add json files to the ignore list, but if I can get eslint to check them instead, hey, why not?