diff --git a/eslint.config.mjs b/eslint.config.mjs index 71732a6..dd30487 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,5 +1,15 @@ import config from "eslint-config-agent"; +// Require strict equality (`===`/`!==`) everywhere. Loose `==`/`!=` perform +// implicit type coercion (e.g. `0 == ""`, `null == undefined`), which hides +// type bugs behind surprising truthiness rules. Strict equality keeps comparisons +// predictable and type-safe. +const strictEqualityRule = { + rules: { + eqeqeq: ["error", "always"], + }, +}; + // URL strings are centralized in these files; all other src files must reference these constants. const urlConstantsOverride = { files: ["src/lib/github-url.ts", "src/lib/runner-url.ts", "src/lib/analytics-script-url.ts", "src/lib/jira-webhook-url.ts"], @@ -8,4 +18,4 @@ const urlConstantsOverride = { }, }; -export default [...config, urlConstantsOverride]; +export default [...config, strictEqualityRule, urlConstantsOverride];