From 66250b333f4b2e1ecf8d69854cf8ed0990194a60 Mon Sep 17 00:00:00 2001 From: Alexey Romanov Date: Thu, 27 Mar 2025 16:27:37 +0000 Subject: [PATCH 1/3] Don't lint any git-ignored files --- eslint.config.ts | 3 +++ package.json | 1 + script/convert | 1 + yarn.lock | 5 +++++ 4 files changed, 10 insertions(+) diff --git a/eslint.config.ts b/eslint.config.ts index 8cfc1087a..b271485df 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,7 +1,9 @@ +import path from 'node:path'; import { globalIgnores } from 'eslint/config'; import prettierRecommended from 'eslint-plugin-prettier/recommended'; import globals from 'globals'; import tsEslint from 'typescript-eslint'; +import { includeIgnoreFile } from '@eslint/compat'; import js from '@eslint/js'; import { FlatCompat } from '@eslint/eslintrc'; @@ -12,6 +14,7 @@ const compat = new FlatCompat({ }); const config = tsEslint.config([ + includeIgnoreFile(path.resolve(__dirname, '.gitignore')), globalIgnores([ // compiled code 'node_package/lib/', diff --git a/package.json b/package.json index 77c6d0b8b..925d0f3ae 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@babel/eslint-parser": "^7.26.10", "@babel/preset-env": "^7.20.2", "@babel/preset-react": "^7.26.3", + "@eslint/compat": "^1.2.7", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", diff --git a/script/convert b/script/convert index 440d1d419..7720e9567 100755 --- a/script/convert +++ b/script/convert @@ -21,6 +21,7 @@ gsub_file_content("../package.json", /"globals": "[^"]*",/, "") gsub_file_content("../package.json", /"knip": "[^"]*",/, "") gsub_file_content("../package.json", /"typescript-eslint": "[^"]*",/, "") gsub_file_content("../package.json", %r{"@arethetypeswrong/cli": "[^"]*",}, "") +gsub_file_content("../package.json", %r{"@eslint/compat": "[^"]*",}, "") gsub_file_content("../package.json", %r{"@testing-library/dom": "[^"]*",}, "") gsub_file_content("../package.json", %r{"@testing-library/react": "[^"]*",}, "") gsub_file_content("../package.json", /"knip": "[^"]*",/, "") diff --git a/yarn.lock b/yarn.lock index d736790c1..edba9871d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1073,6 +1073,11 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== +"@eslint/compat@^1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@eslint/compat/-/compat-1.2.7.tgz#f1a890281631ad27530479420b743dd92626e819" + integrity sha512-xvv7hJE32yhegJ8xNAnb62ggiAwTYHBpUCWhRxEj/ksvgDJuSXfoDkBcRYaYNFiJ+jH0IE3K16hd+xXzhBgNbg== + "@eslint/config-array@^0.19.2": version "0.19.2" resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.2.tgz#3060b809e111abfc97adb0bb1172778b90cb46aa" From c12aedc1599d0ea0fa96f3c57b58a77c3c14c5ed Mon Sep 17 00:00:00 2001 From: Alexey Romanov Date: Thu, 27 Mar 2025 16:34:51 +0000 Subject: [PATCH 2/3] Improve ignores --- eslint.config.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index b271485df..0791bfe67 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -29,16 +29,18 @@ const config = tsEslint.config([ 'spec/dummy/client/app/packs/server-bundle.js', '**/*.res.js', '**/coverage', - '**/assets/webpack/**/*', - '**/public/webpack/**/*', - '**/generated/**/*', + '**/assets/webpack/', + '**/public/webpack/', + '**/generated/', '**/app/assets/javascripts/application.js', '**/cable.js', - '**/public/packs*/*', + '**/public/packs*/', '**/gen-examples/', '**/bundle/', // dependencies - '**/node_modules/**/*', + '**/node_modules/', + // fixtures + '**/fixtures/', ]), { files: ['**/*.[jt]s', '**/*.[jt]sx', '**/*.[cm][jt]s'], From 460b77383d6e4ac1764757a18e83bae1d04b0fd5 Mon Sep 17 00:00:00 2001 From: Alexey Romanov Date: Mon, 7 Apr 2025 17:04:03 +0000 Subject: [PATCH 3/3] Unify .gitignore files --- .gitignore | 25 +++++++++++++++++++++++-- spec/dummy/.gitignore | 40 ---------------------------------------- 2 files changed, 23 insertions(+), 42 deletions(-) delete mode 100644 spec/dummy/.gitignore diff --git a/.gitignore b/.gitignore index ddbdfc283..e2a9a5ffd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ -/.bundle/ +.bundle/ /.yardoc /_yardoc/ -/coverage/ +coverage/ /doc/ /pkg/ /spec/reports/ @@ -12,6 +12,8 @@ /spec/examples.txt /spec/react_on_rails/dummy-for-generators/ +tmp/ + # RVM .ruby-version .ruby-gemset @@ -23,6 +25,7 @@ node_modules yarn-debug.* yarn-error.* npm-debug.* +.yarn-integrity /gen-examples @@ -39,3 +42,21 @@ yalc.lock # TypeScript *.tsbuildinfo + +# Dummy app +/spec/dummy/vendor/bundle +/spec/dummy/db/*.sqlite3* +/spec/dummy/log/**/* +!/spec/dummy/log/.keep +/spec/dummy/public/assets/ +/spec/dummy/public/webpack/ +/spec/dummy/spec/examples.txt + +# ReScript build files +/spec/dummy/.merlin +/spec/dummy/lib/bs/ +/spec/dummy/.bsb.lock +/spec/dummy/**/*.res.js + +# Generated by ROR FS-based Registry +generated diff --git a/spec/dummy/.gitignore b/spec/dummy/.gitignore deleted file mode 100644 index 14d56768d..000000000 --- a/spec/dummy/.gitignore +++ /dev/null @@ -1,40 +0,0 @@ -# See https://help.github.com/articles/ignoring-files for more about ignoring files. -# -# If you find yourself ignoring temporary files generated by your text editor -# or operating system, you probably want to add a global ignore instead: -# git config --global core.excludesfile '~/.gitignore_global' - -# Ignore bundler config. -/.bundle -/vendor/bundle - -# Ignore the default SQLite database. -/db/*.sqlite3* -/db/*.sqlite3-journal - -# Ignore all logfiles and tempfiles. -/log/* -!/log/.keep -/tmp - -/node_modules - -/public/webpack/ -/public/assets/ -/coverage/ - -/spec/examples.txt - -# Webpack v6 installer additions -/yarn-error.log -yarn-debug.log* -.yarn-integrity - -#Ignore ReScript build files -/.merlin -/lib/bs/ -/.bsb.lock -*.res.js - -# File Generated by ROR FS-based Registry -**/generated