From 89ec72965906cbdf02e206bbf200ae55de4dc3e0 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sat, 8 Nov 2025 16:43:39 +0100 Subject: [PATCH 1/3] chore(linter): fix import resolver to support `"exports"` maps --- eslint.config.js | 17 +++++++++++++++++ lib/voting_session.js | 1 - test/unit/ci_start.test.js | 3 +-- test/unit/pr_checker.test.js | 3 +-- test/unit/pr_data.test.js | 3 +-- test/unit/team_info.test.js | 3 +-- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 10e67b91..e9de5fa0 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -42,5 +42,22 @@ export default [ 'n/no-process-exit': 'off', 'n/no-unsupported-features/node-builtins': 'off', }, + settings: { + 'import/resolver': { + node: { + pathFilter(pkg, path, relativePath) { + return pkg.exports?.[`./${relativePath}`]?.import?.default ?? + pkg.exports?.[`./${relativePath}`]?.import ?? + pkg.exports?.[`./${relativePath}`]?.default ?? + pkg.exports?.[`./${relativePath}`] ?? + pkg.exports?.['.']?.import?.default ?? + pkg.exports?.['.']?.import ?? + pkg.exports?.['.']?.default ?? + pkg.exports?.['.'] ?? + (relativePath || pkg.main); + }, + }, + }, + }, }, ]; diff --git a/lib/voting_session.js b/lib/voting_session.js index 02b035a2..e3d349fe 100644 --- a/lib/voting_session.js +++ b/lib/voting_session.js @@ -10,7 +10,6 @@ import { getEditor, isGhAvailable } from './utils.js'; -// eslint-disable-next-line import/no-unresolved import voteUsingGit from '@node-core/caritat/voteUsingGit'; import * as yaml from 'js-yaml'; diff --git a/test/unit/ci_start.test.js b/test/unit/ci_start.test.js index 154356e4..cd8df818 100644 --- a/test/unit/ci_start.test.js +++ b/test/unit/ci_start.test.js @@ -1,8 +1,7 @@ -/* eslint-disable import/no-named-as-default-member */ import { describe, it, before, afterEach } from 'node:test'; import assert from 'assert'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import { FormData } from 'undici'; import { diff --git a/test/unit/pr_checker.test.js b/test/unit/pr_checker.test.js index bd98c6e4..eff5812b 100644 --- a/test/unit/pr_checker.test.js +++ b/test/unit/pr_checker.test.js @@ -1,8 +1,7 @@ -/* eslint-disable import/no-named-as-default-member */ import { describe, it, before, after, afterEach } from 'node:test'; import assert from 'node:assert'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import PRData from '../../lib/pr_data.js'; import PRChecker from '../../lib/pr_checker.js'; diff --git a/test/unit/pr_data.test.js b/test/unit/pr_data.test.js index 1b4870ff..86f7b31d 100644 --- a/test/unit/pr_data.test.js +++ b/test/unit/pr_data.test.js @@ -1,8 +1,7 @@ -/* eslint-disable import/no-named-as-default-member */ import { describe, it } from 'node:test'; import assert from 'node:assert'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import PRData from '../../lib/pr_data.js'; diff --git a/test/unit/team_info.test.js b/test/unit/team_info.test.js index a696204a..89e7e1f6 100644 --- a/test/unit/team_info.test.js +++ b/test/unit/team_info.test.js @@ -1,8 +1,7 @@ -/* eslint-disable import/no-named-as-default-member */ import { describe, it, before, after } from 'node:test'; import assert from 'node:assert'; -import sinon from 'sinon'; +import * as sinon from 'sinon'; import TestCLI from '../fixtures/test_cli.js'; import TeamInfo from '../../lib/team_info.js'; From 6d2de94448ca4a96a0e5a1a04783a181e8276416 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sat, 8 Nov 2025 16:49:50 +0100 Subject: [PATCH 2/3] fixup! chore(linter): fix import resolver to support `"exports"` maps --- eslint.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/eslint.config.js b/eslint.config.js index e9de5fa0..e22480b8 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -52,6 +52,7 @@ export default [ pkg.exports?.[`./${relativePath}`] ?? pkg.exports?.['.']?.import?.default ?? pkg.exports?.['.']?.import ?? + pkg.exports?.['.']?.[0]?.import ?? pkg.exports?.['.']?.default ?? pkg.exports?.['.'] ?? (relativePath || pkg.main); From 682e480516a0146175a5f8687a544bd38c4293b3 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sat, 8 Nov 2025 16:56:43 +0100 Subject: [PATCH 3/3] fixup! chore(linter): fix import resolver to support `"exports"` maps --- eslint.config.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index e22480b8..6493cff9 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -46,15 +46,14 @@ export default [ 'import/resolver': { node: { pathFilter(pkg, path, relativePath) { - return pkg.exports?.[`./${relativePath}`]?.import?.default ?? - pkg.exports?.[`./${relativePath}`]?.import ?? - pkg.exports?.[`./${relativePath}`]?.default ?? - pkg.exports?.[`./${relativePath}`] ?? - pkg.exports?.['.']?.import?.default ?? - pkg.exports?.['.']?.import ?? - pkg.exports?.['.']?.[0]?.import ?? - pkg.exports?.['.']?.default ?? - pkg.exports?.['.'] ?? + const pkgExport = relativePath + ? pkg.exports?.[`./${relativePath}`] + : pkg.exports?.['.']; + return pkgExport?.import?.default ?? + pkgExport?.import ?? + pkgExport?.[0]?.import ?? + pkgExport?.default ?? + pkgExport ?? (relativePath || pkg.main); }, },