From 8d98fa1cb115f948e13abfa667358a918308e7ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 14:03:49 +0000 Subject: [PATCH 1/4] Bump eslint-plugin-security from 3.0.1 to 4.0.0 Bumps [eslint-plugin-security](https://github.com/eslint-community/eslint-plugin-security) from 3.0.1 to 4.0.0. - [Release notes](https://github.com/eslint-community/eslint-plugin-security/releases) - [Changelog](https://github.com/eslint-community/eslint-plugin-security/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-community/eslint-plugin-security/compare/v3.0.1...eslint-plugin-security-v4.0.0) --- updated-dependencies: - dependency-name: eslint-plugin-security dependency-version: 4.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1c88bf3e4..e791d32d2 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "cspell": "^9.7.0", "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", - "eslint-plugin-security": "^3.0.1", + "eslint-plugin-security": "^4.0.0", "eslint-plugin-simple-import-sort": "^12.1.1", "globals": "^17.4.0", "npm-run-all": "^4.1.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f1d1cb9a7..c69ce3e44 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,8 +33,8 @@ importers: specifier: ^10.1.8 version: 10.1.8(eslint@9.39.2) eslint-plugin-security: - specifier: ^3.0.1 - version: 3.0.1 + specifier: ^4.0.0 + version: 4.0.0 eslint-plugin-simple-import-sort: specifier: ^12.1.1 version: 12.1.1(eslint@9.39.2) @@ -887,8 +887,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-security@3.0.1: - resolution: {integrity: sha512-XjVGBhtDZJfyuhIxnQ/WMm385RbX3DBu7H1J7HNNhmB2tnGxMeqVSnYv79oAj992ayvIBZghsymwkYFS6cGH4Q==} + eslint-plugin-security@4.0.0: + resolution: {integrity: sha512-tfuQT8K/Li1ZxhFzyD8wPIKtlzZxqBcPr9q0jFMQ77wWAbKBVEhaMPVQRTMTvCMUDhwBe5vPVqQPwAGk/ASfxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-plugin-simple-import-sort@12.1.1: @@ -2845,7 +2845,7 @@ snapshots: dependencies: eslint: 9.39.2 - eslint-plugin-security@3.0.1: + eslint-plugin-security@4.0.0: dependencies: safe-regex: 2.1.1 From ee9995704659372e8d83cc05891beeb7f2f51560 Mon Sep 17 00:00:00 2001 From: jpoole Date: Mon, 23 Mar 2026 18:13:43 -0700 Subject: [PATCH 2/4] update eslint config - avoid double registering ts-eslint - now we don't need flat compat shim - eslint-plugin-security doesn't need a shim anymore --- eslint.config.mjs | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 7c9f9d2b4..3b84479bb 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,22 +1,10 @@ -import { fixupPluginRules } from '@eslint/compat'; -import { FlatCompat } from '@eslint/eslintrc'; import js from '@eslint/js'; import prettier from 'eslint-config-prettier'; import security from 'eslint-plugin-security'; import simpleImportSort from 'eslint-plugin-simple-import-sort'; import globals from 'globals'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; import tseslint from 'typescript-eslint'; -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all, -}); - export default tseslint.config( js.configs.recommended, ...tseslint.configs.recommended, @@ -33,8 +21,7 @@ export default tseslint.config( }, { plugins: { - '@typescript-eslint': tseslint.plugin, - security: fixupPluginRules(security), + security, 'simple-import-sort': simpleImportSort, }, @@ -168,7 +155,8 @@ export default tseslint.config( allowTernary: true }], }, - }, { + }, + { files: [ 'content/**', ], @@ -178,15 +166,8 @@ export default tseslint.config( 0, ], }, -}, ...compat.extends( - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', -).map(config => ({ - ...config, - files: [ - '**/*.ts', - ], -})), { + }, + { files: [ '**/*.ts', ], From ca3b1c7166d6d84a52f30e4b117fd117f49da4bb Mon Sep 17 00:00:00 2001 From: jpoole Date: Mon, 23 Mar 2026 18:14:05 -0700 Subject: [PATCH 3/4] fix linting error line too long --- bin/check-internal-links.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/check-internal-links.ts b/bin/check-internal-links.ts index 88cfa8cb1..552f62011 100644 --- a/bin/check-internal-links.ts +++ b/bin/check-internal-links.ts @@ -18,8 +18,11 @@ for (const filePath of files) { for (let i = 0; i < lines.length; i++) { if (PATTERN.test(lines[i])) { hasErrors = true; + const location = `${filePath}:${i + 1}`; console.error( - `⚠️ ${filePath}:${i + 1}: Found hardcoded internal link. Use a root-relative path (e.g., /geoip/...) instead of https://dev.maxmind.com/...` + `⚠️ ${location}: Found hardcoded internal link. ` + + 'Use a root-relative path (e.g., /geoip/...) instead of ' + + 'https://dev.maxmind.com/...' ); } } From 5de71730189344a270b2311e105c9893463bf320 Mon Sep 17 00:00:00 2001 From: jpoole Date: Mon, 23 Mar 2026 18:16:59 -0700 Subject: [PATCH 4/4] remove eslint compat package --- package.json | 1 - pnpm-lock.yaml | 26 -------------------------- 2 files changed, 27 deletions(-) diff --git a/package.json b/package.json index e791d32d2..4cbecbd93 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,6 @@ }, "description": "Developer website for MaxMind", "devDependencies": { - "@eslint/compat": "^2.0.2", "@eslint/eslintrc": "^3.3.4", "@eslint/js": "^9.39.3", "@types/node": "^25.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c69ce3e44..8be959f39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,6 @@ importers: .: devDependencies: - '@eslint/compat': - specifier: ^2.0.2 - version: 2.0.2(eslint@9.39.2) '@eslint/eslintrc': specifier: ^3.3.4 version: 3.3.4 @@ -373,15 +370,6 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@2.0.2': - resolution: {integrity: sha512-pR1DoD0h3HfF675QZx0xsyrsU8q70Z/plx7880NOhS02NuWLgBCOMDL787nUeQ7EWLkxv3bPQJaarjcPQb2Dwg==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^8.40 || 9 || 10 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/config-array@0.21.1': resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -394,10 +382,6 @@ packages: resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@1.1.0': - resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.4': resolution: {integrity: sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2186,12 +2170,6 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@2.0.2(eslint@9.39.2)': - dependencies: - '@eslint/core': 1.1.0 - optionalDependencies: - eslint: 9.39.2 - '@eslint/config-array@0.21.1': dependencies: '@eslint/object-schema': 2.1.7 @@ -2208,10 +2186,6 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/core@1.1.0': - dependencies: - '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.4': dependencies: ajv: 6.14.0