From c5324eb34e85d68d28b1fe75683aa47e1ba9dfc3 Mon Sep 17 00:00:00 2001
From: James Garbutt <43081j@users.noreply.github.com>
Date: Fri, 28 Mar 2025 17:41:35 +0000
Subject: [PATCH 1/4] feat: add fixer for `no-at-debug-tags`
Adds a simple fixer which removes the debug node.
---
.../src/rules/no-at-debug-tags.ts | 4 +++-
.../no-at-debug-tags/invalid/debug01-output.svelte | 11 +++++++++++
.../no-at-debug-tags/invalid/debug02-output.svelte | 11 +++++++++++
3 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte
create mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte
diff --git a/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts b/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts
index 13e3de616..5e94515de 100644
--- a/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts
+++ b/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts
@@ -8,6 +8,7 @@ export default createRule('no-at-debug-tags', {
recommended: true,
default: 'warn'
},
+ fixable: 'code',
schema: [],
messages: {
unexpected: 'Unexpected `{@debug}`.'
@@ -19,7 +20,8 @@ export default createRule('no-at-debug-tags', {
SvelteDebugTag(node) {
context.report({
node,
- messageId: 'unexpected'
+ messageId: 'unexpected',
+ fix: (fixer) => fixer.remove(node)
});
}
};
diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte
new file mode 100644
index 000000000..60dd65335
--- /dev/null
+++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte
@@ -0,0 +1,11 @@
+
+
+
+
+
+
Hello {user.firstname}!
diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte
new file mode 100644
index 000000000..60dd65335
--- /dev/null
+++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte
@@ -0,0 +1,11 @@
+
+
+
+
+
+Hello {user.firstname}!
From ba3acbb7492a8567d07b17b703afced14fb6a9d6 Mon Sep 17 00:00:00 2001
From: James Garbutt <43081j@users.noreply.github.com>
Date: Sat, 29 Mar 2025 13:24:24 +0000
Subject: [PATCH 2/4] chore: move to a suggestion
---
.../src/rules/no-at-debug-tags.ts | 12 +++++++++---
.../invalid/debug01-errors.yaml | 18 +++++++++++++++++-
.../invalid/debug01-output.svelte | 11 -----------
.../invalid/debug02-errors.yaml | 18 +++++++++++++++++-
.../invalid/debug02-output.svelte | 11 -----------
5 files changed, 43 insertions(+), 27 deletions(-)
delete mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte
delete mode 100644 packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte
diff --git a/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts b/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts
index 5e94515de..f7876de93 100644
--- a/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts
+++ b/packages/eslint-plugin-svelte/src/rules/no-at-debug-tags.ts
@@ -8,10 +8,11 @@ export default createRule('no-at-debug-tags', {
recommended: true,
default: 'warn'
},
- fixable: 'code',
+ hasSuggestions: true,
schema: [],
messages: {
- unexpected: 'Unexpected `{@debug}`.'
+ unexpected: 'Unexpected `{@debug}`.',
+ suggestRemove: 'Remove `{@debug}` from the source'
},
type: 'problem'
},
@@ -21,7 +22,12 @@ export default createRule('no-at-debug-tags', {
context.report({
node,
messageId: 'unexpected',
- fix: (fixer) => fixer.remove(node)
+ suggest: [
+ {
+ messageId: 'suggestRemove',
+ fix: (fixer) => fixer.remove(node)
+ }
+ ]
});
}
};
diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-errors.yaml
index 7583d5bc0..6327cee06 100644
--- a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-errors.yaml
+++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-errors.yaml
@@ -1,4 +1,20 @@
- message: Unexpected `{@debug}`.
line: 11
column: 1
- suggestions: null
+ suggestions:
+ - desc: Remove `{@debug}` from the source
+ messageId: suggestRemove
+ output: |
+
+
+
+
+
+
+
+ Hello {user.firstname}!
diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte
deleted file mode 100644
index 60dd65335..000000000
--- a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug01-output.svelte
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-Hello {user.firstname}!
diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-errors.yaml
index 7583d5bc0..6327cee06 100644
--- a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-errors.yaml
+++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-errors.yaml
@@ -1,4 +1,20 @@
- message: Unexpected `{@debug}`.
line: 11
column: 1
- suggestions: null
+ suggestions:
+ - desc: Remove `{@debug}` from the source
+ messageId: suggestRemove
+ output: |
+
+
+
+
+
+
+
+ Hello {user.firstname}!
diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte
deleted file mode 100644
index 60dd65335..000000000
--- a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-at-debug-tags/invalid/debug02-output.svelte
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-Hello {user.firstname}!
From a69b07c6507d93dc99ab07723d363ec8ec501fbd Mon Sep 17 00:00:00 2001
From: James Garbutt <43081j@users.noreply.github.com>
Date: Sat, 29 Mar 2025 14:22:01 +0000
Subject: [PATCH 3/4] chore: update docs
---
README.md | 2 +-
docs/rules.md | 2 +-
docs/rules/no-at-debug-tags.md | 1 +
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index db731dd26..59a2ec419 100644
--- a/README.md
+++ b/README.md
@@ -294,7 +294,7 @@ These rules relate to better ways of doing things to help you avoid problems:
|:--------|:------------|:---|
| [svelte/block-lang](https://sveltejs.github.io/eslint-plugin-svelte/rules/block-lang/) | disallows the use of languages other than those specified in the configuration for the lang attribute of `