From fac59d75e2fb8c0e18aaceb89ba99986eed7b8e1 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:43:35 +0900 Subject: [PATCH 1/2] lint(frontend): relax id-denylist rule --- packages/frontend/eslint.config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/frontend/eslint.config.js b/packages/frontend/eslint.config.js index fa2fcce95a..30ee1e651e 100644 --- a/packages/frontend/eslint.config.js +++ b/packages/frontend/eslint.config.js @@ -50,13 +50,13 @@ export default [ // defineExposeが誤検知されてしまう '@typescript-eslint/no-unused-expressions': 'off', 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'], - // window の禁止理由: グローバルスコープと衝突し、予期せぬ結果を招くため - // e の禁止理由: error や event など、複数のキーワードの頭文字であり分かりにくいため + // window ... グローバルスコープと衝突し、予期せぬ結果を招くため + // e ... error や event など、複数のキーワードの頭文字であり分かりにくいため // close ... window.closeと衝突 or 紛らわしい // open ... window.openと衝突 or 紛らわしい // fetch ... window.fetchと衝突 or 紛らわしい // location ... window.locationと衝突 or 紛らわしい - 'id-denylist': ['error', 'window', 'e', 'close', 'open', 'fetch', 'location'], + 'id-denylist': ['warn', 'window', 'e', 'close', 'open', 'fetch', 'location'], 'no-shadow': ['warn'], 'vue/attributes-order': ['error', { alphabetical: false, From dfab6b1b8d87fbe6de3749d571ed2e666735d879 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:44:06 +0900 Subject: [PATCH 2/2] lint(frontend): force window prefix --- packages/frontend/eslint.config.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/frontend/eslint.config.js b/packages/frontend/eslint.config.js index 30ee1e651e..226c00af03 100644 --- a/packages/frontend/eslint.config.js +++ b/packages/frontend/eslint.config.js @@ -57,6 +57,29 @@ export default [ // fetch ... window.fetchと衝突 or 紛らわしい // location ... window.locationと衝突 or 紛らわしい 'id-denylist': ['warn', 'window', 'e', 'close', 'open', 'fetch', 'location'], + 'no-restricted-globals': [ + 'error', + { + 'name': 'open', + 'message': 'Use `window.open`.', + }, + { + 'name': 'close', + 'message': 'Use `window.close`.', + }, + { + 'name': 'fetch', + 'message': 'Use `window.fetch`.', + }, + { + 'name': 'location', + 'message': 'Use `window.location`.', + }, + { + 'name': 'history', + 'message': 'Use `window.history`.', + }, + ], 'no-shadow': ['warn'], 'vue/attributes-order': ['error', { alphabetical: false,