diff --git a/.changeset/poor-frogs-build.md b/.changeset/poor-frogs-build.md new file mode 100644 index 000000000..eeeeebb92 --- /dev/null +++ b/.changeset/poor-frogs-build.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': patch +--- + +fix(no-navigation-without-resolve): Detecting asset() function as well diff --git a/packages/eslint-plugin-svelte/src/rules/no-navigation-without-resolve.ts b/packages/eslint-plugin-svelte/src/rules/no-navigation-without-resolve.ts index 0beb2aa71..4db197974 100644 --- a/packages/eslint-plugin-svelte/src/rules/no-navigation-without-resolve.ts +++ b/packages/eslint-plugin-svelte/src/rules/no-navigation-without-resolve.ts @@ -125,6 +125,9 @@ function extractResolveReferences( for (const { node } of referenceTracker.iterateEsmReferences({ '$app/paths': { [ReferenceTracker.ESM]: true, + asset: { + [ReferenceTracker.READ]: true + }, resolve: { [ReferenceTracker.READ]: true } diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/invalid/link-partial-asset01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/invalid/link-partial-asset01-errors.yaml new file mode 100644 index 000000000..7b8b81c68 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/invalid/link-partial-asset01-errors.yaml @@ -0,0 +1,8 @@ +- message: Found a link with a url that isn't resolved. + line: 5 + column: 9 + suggestions: null +- message: Found a link with a url that isn't resolved. + line: 6 + column: 9 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/invalid/link-partial-asset01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/invalid/link-partial-asset01-input.svelte new file mode 100644 index 000000000..38a09ebb4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/invalid/link-partial-asset01-input.svelte @@ -0,0 +1,6 @@ + + +Click me! +Click me! diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/valid/link-asset-aliased01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/valid/link-asset-aliased01-input.svelte new file mode 100644 index 000000000..4fe7c85bc --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/valid/link-asset-aliased01-input.svelte @@ -0,0 +1,5 @@ + + +Click me!; diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/valid/link-asset01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/valid/link-asset01-input.svelte new file mode 100644 index 000000000..fd274e8cb --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-navigation-without-resolve/valid/link-asset01-input.svelte @@ -0,0 +1,8 @@ + + +Click me! +Click me!