From 735f094a9e18650ea260fe8e2947346a8ad72d8d Mon Sep 17 00:00:00 2001 From: "[ ]" Date: Sun, 22 Dec 2024 03:26:01 +0000 Subject: [PATCH 1/2] chore: add tests for indent to highlight issue The prettier ignore comment typically included at the top of these tests prevent the bug. --- .../indent/invalid/ts/ts-enum-destore-combo-errors.yaml | 8 ++++++++ .../indent/invalid/ts/ts-enum-destore-combo-input.svelte | 6 ++++++ .../indent/invalid/ts/ts-enum-destore-combo-output.svelte | 6 ++++++ 3 files changed, 20 insertions(+) create mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-errors.yaml create mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-input.svelte create mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-output.svelte diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-errors.yaml new file mode 100644 index 000000000..c2d498cc0 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-errors.yaml @@ -0,0 +1,8 @@ +- message: Expected indentation of 2 spaces but found 0 spaces. + line: 2 + column: 1 + suggestions: null +- message: Expected indentation of 2 spaces but found 0 spaces. + line: 3 + column: 1 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-input.svelte new file mode 100644 index 000000000..26a8223d5 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-input.svelte @@ -0,0 +1,6 @@ + + + diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-output.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-output.svelte new file mode 100644 index 000000000..2a4f79f04 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/indent/invalid/ts/ts-enum-destore-combo-output.svelte @@ -0,0 +1,6 @@ + + + From 5ef167b9c4cdbc0dac3e713b502d931370e8e278 Mon Sep 17 00:00:00 2001 From: "[ ]" Date: Sun, 22 Dec 2024 03:29:33 +0000 Subject: [PATCH 2/2] fix: guard replacing root offsets to avoid circular lookups --- .../src/rules/indent-helpers/offset-context.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/eslint-plugin-svelte/src/rules/indent-helpers/offset-context.ts b/packages/eslint-plugin-svelte/src/rules/indent-helpers/offset-context.ts index 29515f866..7f5bb7517 100644 --- a/packages/eslint-plugin-svelte/src/rules/indent-helpers/offset-context.ts +++ b/packages/eslint-plugin-svelte/src/rules/indent-helpers/offset-context.ts @@ -48,6 +48,10 @@ export class OffsetContext { if (index === base) { return; } + const previousOffset = this.offsets.get(index); + if (previousOffset?.type === 2) { + return; + } this.offsets.set(index, { type: OffsetDataType.normal, base,