From ba87d38b2fce3b793f6253b1c9b1f94e2a12f8b1 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Tue, 30 Jan 2024 09:56:06 -0500 Subject: [PATCH] add scripts to format/lint only the delta files --- .eslintignore | 5 +++++ .eslintrc.cjs | 2 +- .prettierignore | 3 +++ CONTRIBUTING.md | 8 ++++---- package.json | 11 +++++++++-- scripts/changed-files | 3 +++ 6 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 .eslintignore create mode 100644 .prettierignore create mode 100755 scripts/changed-files diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..111e490 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +scripts/* +.eslintignore +.prettierignore +.github/workflows/* +*.md diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 0bd04ba..f862385 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -11,7 +11,7 @@ module.exports = { 'plugin:svelte/recommended', 'prettier', ], - plugins: ['svelte', 'simple-import-sort'], + plugins: ['svelte', 'simple-import-sort', 'json-files'], rules: { 'simple-import-sort/imports': 'error', }, diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..113f29b --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +scripts/* +.eslintignore +.prettierignore diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c7ba039..d5f35da 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,10 +15,10 @@ The module is released automatically from the `main` branch using [semantic-rele ## Development setup -After cloning the repository, use the `setup` script to install development dependencies and the `validate` script to run all checks and tests to verify your setup. +After cloning the repository, install the project's dependencies and run the `validate` script to run all checks and tests to verify your setup. ```shell -npm run setup +npm install # or `pnpm install`, or `yarn install`, etc. npm run validate ``` @@ -27,13 +27,13 @@ npm run validate Run auto-formatting to ensure any changes adhere to the code style of the repository: ```shell -npm run format +npm run format:delta ``` To run lint and format checks without making any changes: ```shell -npm run lint +npm run lint:delta ``` ### Test diff --git a/package.json b/package.json index e4a5b17..b1197ca 100644 --- a/package.json +++ b/package.json @@ -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`", "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 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.29.1", + "eslint-plugin-json-files": "^4.1.0", "eslint-plugin-n": "16.6.2", "eslint-plugin-promise": "6.1.1", "eslint-plugin-simple-import-sort": "10.0.0", diff --git a/scripts/changed-files b/scripts/changed-files new file mode 100755 index 0000000..1275bd8 --- /dev/null +++ b/scripts/changed-files @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +git diff --name-only --diff-filter=d main