From ad193ec612cf3110ed847b7cb2fedb0b1080ef86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Marussy?= Date: Sun, 9 Jan 2022 12:51:44 +0100 Subject: build: Disable single-run eslint-typescript MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/typescript-eslint/typescript-eslint/issues/3851 Also upgrades dependencies and simplifies eslint config (used during debugging this issue to eliminate other possible sources of errors.) Signed-off-by: Kristóf Marussy --- .eslintrc.cjs | 18 +++++++++++++++--- .gitlab-ci.yml | 6 ++++-- package.json | 8 +++++--- packages/main/package.json | 6 ++---- packages/main/tsconfig.json | 1 + packages/preload/package.json | 2 +- packages/preload/tsconfig.json | 1 + packages/renderer/.eslinrc.cjs | 17 ++++++++++++----- packages/renderer/package.json | 2 +- .../renderer/src/components/BrowserViewPlaceholder.tsx | 1 + packages/service-inject/.eslintrc.cjs | 12 ++++++++++++ packages/service-inject/tsconfig.json | 1 + packages/service-preload/tsconfig.json | 1 + packages/service-shared/.eslintrc.cjs | 11 +++++++++++ packages/service-shared/tsconfig.json | 1 + packages/shared/.eslintrc.cjs | 11 +++++++++++ packages/shared/tsconfig.json | 1 + yarn.lock | 15 ++++++--------- 18 files changed, 87 insertions(+), 28 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 92af738..7b05d5d 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -9,8 +9,9 @@ module.exports = { '@typescript-eslint', ], extends: [ - 'airbnb-base', - 'airbnb-typescript/base', + 'airbnb', + 'airbnb-typescript', + 'airbnb/hooks', 'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended-requiring-type-checking', ], @@ -22,11 +23,13 @@ module.exports = { }, parser: '@typescript-eslint/parser', parserOptions: { + extraFileExtensions: ['.cjs'], sourceType: 'module', project, - allowAutomaticSingleRunInference: true, + allowAutomaticSingleRunInference: false, tsconfigRootDir: __dirname, warnOnUnsupportedTypeScriptVersion: false, + EXPERIMENTAL_useSourceOfProjectReferenceRedirect: false, }, settings: { 'import/parsers': { @@ -87,12 +90,21 @@ module.exports = { ], }, }, + { + files: [ + '**/*.cjs', + ], + parserOptions: { + sourceType: 'script', + }, + }, { files: [ '.electron-builder.config.cjs', 'config/**/*.{cjs,js}', 'jest.config.js', 'scripts/**/*.js', + 'packages/*/.eslintrc.cjs', 'packages/*/*.config.js', ], env: { diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c522036..1e94ade 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,8 @@ default: lint: stage: code-quality script: - - yarn lint --format gitlab + - yarn types + - yarn lint:ci artifacts: reports: codequality: gl-codequality.json @@ -24,7 +25,8 @@ lint: typecheck: stage: code-quality script: - - yarn typecheck + - yarn types + - yarn typecheck:ci test: stage: test diff --git a/package.json b/package.json index f632a8c..1ca72f9 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,11 @@ "compile:electron-builder": "electron-builder build --config .electron-builder.config.cjs --dir", "watch": "node scripts/watch.js", "watch:test": "yarn test --watch", - "lint": "yarn types && eslint .", - "typecheck": "yarn types && yarn workspaces foreach -vp run typecheck:workspace", + "lint": "yarn types && yarn lint:only", + "lint:only": "cross-env NODE_OPTIONS=\"--max-old-space-size=16384\" eslint . --ext .cjs,.js,.jsx,.ts,.tsx", + "lint:ci": "yarn lint:only --format gitlab", + "typecheck": "yarn types && yarn typecheck:ci", + "typecheck:ci": "yarn workspaces foreach -vp run typecheck:workspace", "typecheck:workspace": "yarn g:typecheck", "g:typecheck": "cd $INIT_CWD && tsc", "types": "yarn workspaces foreach -vpt run types", @@ -69,7 +72,6 @@ "git-repo-info": "^2.1.1", "jest": "^27.4.7", "rimraf": "^3.0.2", - "rollup": "^2.63.0", "typescript": "^4.5.4", "vite": "^2.7.10" }, diff --git a/packages/main/package.json b/packages/main/package.json index d9abf51..f171448 100644 --- a/packages/main/package.json +++ b/packages/main/package.json @@ -23,7 +23,7 @@ "os-name": "^5.0.1" }, "devDependencies": { - "@jest/globals": "^27.4.4", + "@jest/globals": "^27.4.6", "@types/electron-devtools-installer": "^2.2.1", "@types/lodash-es": "^4.17.5", "@types/ms": "^0.7.31", @@ -32,8 +32,6 @@ "esbuild": "^0.14.11", "git-repo-info": "^2.1.1", "jest": "^27.4.7", - "jest-mock": "^27.4.6", - "rimraf": "^3.0.2", - "typescript": "^4.5.4" + "jest-mock": "^27.4.6" } } diff --git a/packages/main/tsconfig.json b/packages/main/tsconfig.json index 00a1985..bdf68f4 100644 --- a/packages/main/tsconfig.json +++ b/packages/main/tsconfig.json @@ -18,6 +18,7 @@ "include": [ "src/**/*.ts", "types/**/*.d.ts", + ".eslintrc.cjs", "esbuild.config.js", "jest.config.js" ] diff --git a/packages/preload/package.json b/packages/preload/package.json index a03d7d9..d531634 100644 --- a/packages/preload/package.json +++ b/packages/preload/package.json @@ -16,7 +16,7 @@ "mobx-state-tree": "^5.1.0" }, "devDependencies": { - "@jest/globals": "^27.4.4", + "@jest/globals": "^27.4.6", "@types/jest": "^27.4.0", "jest": "^27.4.7", "jest-mock": "^27.4.6", diff --git a/packages/preload/tsconfig.json b/packages/preload/tsconfig.json index ff49538..0cb1390 100644 --- a/packages/preload/tsconfig.json +++ b/packages/preload/tsconfig.json @@ -19,6 +19,7 @@ "include": [ "src/**/*.ts", "types/**/*.d.ts", + ".eslintrc.cjs", "esbuild.config.js", "jest.config.js" ] diff --git a/packages/renderer/.eslinrc.cjs b/packages/renderer/.eslinrc.cjs index 3385ac5..37d27ad 100644 --- a/packages/renderer/.eslinrc.cjs +++ b/packages/renderer/.eslinrc.cjs @@ -1,11 +1,18 @@ module.exports = { - extends: [ - 'airbnb', - 'airbnb/hooks', - 'airbnb-typescript', - ], env: { node: false, browser: true, }, + overrides: [ + { + files: [ + '.eslintrc.cjs', + 'vite.config.js', + ], + env: { + browser: false, + node: true, + }, + }, + ], }; diff --git a/packages/renderer/package.json b/packages/renderer/package.json index fde4c28..d6b8b45 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -24,7 +24,7 @@ "react-dom": "^17.0.2" }, "devDependencies": { - "@types/lodash-es": "^4.14.178", + "@types/lodash-es": "^4.17.5", "@types/react": "^17.0.38", "@types/react-dom": "^17.0.11", "@vitejs/plugin-react": "^1.1.4", diff --git a/packages/renderer/src/components/BrowserViewPlaceholder.tsx b/packages/renderer/src/components/BrowserViewPlaceholder.tsx index c671983..11c09d6 100644 --- a/packages/renderer/src/components/BrowserViewPlaceholder.tsx +++ b/packages/renderer/src/components/BrowserViewPlaceholder.tsx @@ -28,6 +28,7 @@ import { useStore } from './StoreProvider'; export default observer(() => { const store = useStore(); + // eslint-disable-next-line react-hooks/exhaustive-deps -- react-hooks doesn't support `throttle`. const onResize = useCallback(throttle(([entry]: ResizeObserverEntry[]) => { if (entry) { const { diff --git a/packages/service-inject/.eslintrc.cjs b/packages/service-inject/.eslintrc.cjs index 6ae3faf..5555f5b 100644 --- a/packages/service-inject/.eslintrc.cjs +++ b/packages/service-inject/.eslintrc.cjs @@ -3,4 +3,16 @@ module.exports = { node: false, browser: true, }, + overrides: [ + { + files: [ + '.eslintrc.cjs', + 'esbuild.config.js', + ], + env: { + browser: false, + node: true, + }, + }, + ], }; diff --git a/packages/service-inject/tsconfig.json b/packages/service-inject/tsconfig.json index cc61d63..8f84d98 100644 --- a/packages/service-inject/tsconfig.json +++ b/packages/service-inject/tsconfig.json @@ -15,6 +15,7 @@ ], "include": [ "src/**/*.ts", + ".eslintrc.cjs", "esbuild.config.js" ] } diff --git a/packages/service-preload/tsconfig.json b/packages/service-preload/tsconfig.json index 0372dde..768c464 100644 --- a/packages/service-preload/tsconfig.json +++ b/packages/service-preload/tsconfig.json @@ -16,6 +16,7 @@ "include": [ "src/**/*.ts", "types/**/*.ts", + ".eslintrc.cjs", "esbuild.config.js" ] } diff --git a/packages/service-shared/.eslintrc.cjs b/packages/service-shared/.eslintrc.cjs index 71d6ec4..c19829d 100644 --- a/packages/service-shared/.eslintrc.cjs +++ b/packages/service-shared/.eslintrc.cjs @@ -4,4 +4,15 @@ module.exports = { node: false, browser: false, }, + overrides: [ + { + files: [ + '.eslintrc.cjs', + 'esbuild.config.js', + ], + env: { + node: true, + }, + }, + ], }; diff --git a/packages/service-shared/tsconfig.json b/packages/service-shared/tsconfig.json index 79889d2..3e6c6ff 100644 --- a/packages/service-shared/tsconfig.json +++ b/packages/service-shared/tsconfig.json @@ -9,6 +9,7 @@ }, "include": [ "src/**/*.ts", + ".eslintrc.cjs", "esbuild.config.js" ] } diff --git a/packages/shared/.eslintrc.cjs b/packages/shared/.eslintrc.cjs index 71d6ec4..c19829d 100644 --- a/packages/shared/.eslintrc.cjs +++ b/packages/shared/.eslintrc.cjs @@ -4,4 +4,15 @@ module.exports = { node: false, browser: false, }, + overrides: [ + { + files: [ + '.eslintrc.cjs', + 'esbuild.config.js', + ], + env: { + node: true, + }, + }, + ], }; diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index 79889d2..3e6c6ff 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -9,6 +9,7 @@ }, "include": [ "src/**/*.ts", + ".eslintrc.cjs", "esbuild.config.js" ] } diff --git a/yarn.lock b/yarn.lock index 55deb08..85c7823 100644 --- a/yarn.lock +++ b/yarn.lock @@ -837,7 +837,7 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^27.4.4, @jest/globals@npm:^27.4.6": +"@jest/globals@npm:^27.4.6": version: 27.4.6 resolution: "@jest/globals@npm:27.4.6" dependencies: @@ -1234,7 +1234,7 @@ __metadata: version: 0.0.0-use.local resolution: "@sophie/main@workspace:packages/main" dependencies: - "@jest/globals": ^27.4.4 + "@jest/globals": ^27.4.6 "@sophie/service-shared": "workspace:*" "@sophie/shared": "workspace:*" "@types/electron-devtools-installer": ^2.2.1 @@ -1257,8 +1257,6 @@ __metadata: mobx-state-tree: ^5.1.0 ms: ^2.1.3 os-name: ^5.0.1 - rimraf: ^3.0.2 - typescript: ^4.5.4 languageName: unknown linkType: soft @@ -1266,7 +1264,7 @@ __metadata: version: 0.0.0-use.local resolution: "@sophie/preload@workspace:packages/preload" dependencies: - "@jest/globals": ^27.4.4 + "@jest/globals": ^27.4.6 "@sophie/shared": "workspace:*" "@types/jest": ^27.4.0 electron: 16.0.6 @@ -1289,7 +1287,7 @@ __metadata: "@mui/icons-material": ^5.2.5 "@mui/material": ^5.2.7 "@sophie/shared": "workspace:*" - "@types/lodash-es": ^4.14.178 + "@types/lodash-es": ^4.17.5 "@types/react": ^17.0.38 "@types/react-dom": ^17.0.11 "@vitejs/plugin-react": ^1.1.4 @@ -1510,7 +1508,7 @@ __metadata: languageName: node linkType: hard -"@types/lodash-es@npm:^4.14.178, @types/lodash-es@npm:^4.17.5": +"@types/lodash-es@npm:^4.17.5": version: 4.17.5 resolution: "@types/lodash-es@npm:4.17.5" dependencies: @@ -7654,7 +7652,7 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^2.59.0, rollup@npm:^2.63.0": +"rollup@npm:^2.59.0": version: 2.63.0 resolution: "rollup@npm:2.63.0" dependencies: @@ -7948,7 +7946,6 @@ __metadata: jest: ^27.4.7 preload: ^0.1.0 rimraf: ^3.0.2 - rollup: ^2.63.0 typescript: ^4.5.4 vite: ^2.7.10 languageName: unknown -- cgit v1.2.3