From 25926f37b89028f81b8553e8aca309a727538e73 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Mon, 6 May 2024 12:18:26 +0900 Subject: [PATCH 1/8] dfeat: add svelte/no-svete-internal --- README.md | 1 + docs/rules.md | 1 + docs/rules/no-svelte-internal.md | 51 +++++++++++++++++++ src/rule-types.ts | 5 ++ src/rules/no-svelte-internal.ts | 30 +++++++++++ src/utils/rules.ts | 2 + .../invalid/no-svelte-internal01-errors.yaml | 4 ++ .../invalid/no-svelte-internal01-input.svelte | 3 ++ .../valid/no-svelte-internal01-input.svelte | 3 ++ tests/src/rules/no-svelte-internal.ts | 12 +++++ 10 files changed, 112 insertions(+) create mode 100644 docs/rules/no-svelte-internal.md create mode 100644 src/rules/no-svelte-internal.ts create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte create mode 100644 tests/fixtures/rules/no-svelte-internal/valid/no-svelte-internal01-input.svelte create mode 100644 tests/src/rules/no-svelte-internal.ts diff --git a/README.md b/README.md index 435777a47..4ba4c5a2c 100644 --- a/README.md +++ b/README.md @@ -385,6 +385,7 @@ These rules relate to better ways of doing things to help you avoid problems: | [svelte/no-inline-styles](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-inline-styles/) | disallow attributes and directives that produce inline styles | | | [svelte/no-reactive-functions](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-functions/) | it's not necessary to define functions in reactive statements | :bulb: | | [svelte/no-reactive-literals](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-literals/) | don't assign literal values in reactive statements | :bulb: | +| [svelte/no-svelte-internal](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-svelte-internal/) | svelte/internal will be removed in Svelte 6. | | | [svelte/no-unused-class-name](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-class-name/) | disallow the use of a class in the template without a corresponding style | | | [svelte/no-unused-svelte-ignore](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-svelte-ignore/) | disallow unused svelte-ignore comments | :star: | | [svelte/no-useless-mustaches](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-useless-mustaches/) | disallow unnecessary mustache interpolations | :wrench: | diff --git a/docs/rules.md b/docs/rules.md index e932ded0a..7f115da5c 100644 --- a/docs/rules.md +++ b/docs/rules.md @@ -58,6 +58,7 @@ These rules relate to better ways of doing things to help you avoid problems: | [svelte/no-inline-styles](./rules/no-inline-styles.md) | disallow attributes and directives that produce inline styles | | | [svelte/no-reactive-functions](./rules/no-reactive-functions.md) | it's not necessary to define functions in reactive statements | :bulb: | | [svelte/no-reactive-literals](./rules/no-reactive-literals.md) | don't assign literal values in reactive statements | :bulb: | +| [svelte/no-svelte-internal](./rules/no-svelte-internal.md) | svelte/internal will be removed in Svelte 6. | | | [svelte/no-unused-class-name](./rules/no-unused-class-name.md) | disallow the use of a class in the template without a corresponding style | | | [svelte/no-unused-svelte-ignore](./rules/no-unused-svelte-ignore.md) | disallow unused svelte-ignore comments | :star: | | [svelte/no-useless-mustaches](./rules/no-useless-mustaches.md) | disallow unnecessary mustache interpolations | :wrench: | diff --git a/docs/rules/no-svelte-internal.md b/docs/rules/no-svelte-internal.md new file mode 100644 index 000000000..8c090cee4 --- /dev/null +++ b/docs/rules/no-svelte-internal.md @@ -0,0 +1,51 @@ +--- +pageClass: 'rule-details' +sidebarDepth: 0 +title: 'svelte/no-svelte-internal' +description: 'svelte/internal will be removed in Svelte 6.' +--- + +# svelte/no-svelte-internal + +> svelte/internal will be removed in Svelte 6. + +- :exclamation: **_This rule has not been released yet._** + +## :book: Rule Details + +This rule reports ???. + + + + + +```svelte + + + + + +``` + + + +## :wrench: Options + +```json +{ + "svelte/no-svelte-internal": ["error", {}] +} +``` + +- + +## :books: Further Reading + +- + +## :mag: Implementation + +- [Rule source](https://github.com/sveltejs/eslint-plugin-svelte/blob/main/src/rules/no-svelte-internal.ts) +- [Test source](https://github.com/sveltejs/eslint-plugin-svelte/blob/main/tests/src/rules/no-svelte-internal.ts) diff --git a/src/rule-types.ts b/src/rule-types.ts index 8f9e88911..77d3c4ca4 100644 --- a/src/rule-types.ts +++ b/src/rule-types.ts @@ -209,6 +209,11 @@ export interface RuleOptions { * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-store-async/ */ 'svelte/no-store-async'?: Linter.RuleEntry<[]> + /** + * svelte/internal will be removed in Svelte 6. + * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-svelte-internal/ + */ + 'svelte/no-svelte-internal'?: Linter.RuleEntry<[]> /** * disallow `target="_blank"` attribute without `rel="noopener noreferrer"` * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-target-blank/ diff --git a/src/rules/no-svelte-internal.ts b/src/rules/no-svelte-internal.ts new file mode 100644 index 000000000..5c94b08c8 --- /dev/null +++ b/src/rules/no-svelte-internal.ts @@ -0,0 +1,30 @@ +import { createRule } from '../utils'; + +export default createRule('no-svelte-internal', { + meta: { + docs: { + description: 'svelte/internal will be removed in Svelte 6.', + category: 'Best Practices', + // TODO Switch to recommended in the major version. + // recommended: true, + recommended: false + }, + schema: [], + messages: { + unexpected: 'Importing from svelte/internal is prohibited. This will be removed in Svelte 6.' + }, + type: 'problem' + }, + create(context) { + return { + ImportDeclaration(node) { + if (node.source.value === 'svelte/internal') { + context.report({ + node, + messageId: 'unexpected' + }); + } + } + }; + } +}); diff --git a/src/utils/rules.ts b/src/utils/rules.ts index cb19a67a3..af0dd20e6 100644 --- a/src/utils/rules.ts +++ b/src/utils/rules.ts @@ -41,6 +41,7 @@ import noRestrictedHtmlElements from '../rules/no-restricted-html-elements'; import noShorthandStylePropertyOverrides from '../rules/no-shorthand-style-property-overrides'; import noSpacesAroundEqualSignsInAttribute from '../rules/no-spaces-around-equal-signs-in-attribute'; import noStoreAsync from '../rules/no-store-async'; +import noSvelteInternal from '../rules/no-svelte-internal'; import noTargetBlank from '../rules/no-target-blank'; import noTrailingSpaces from '../rules/no-trailing-spaces'; import noUnknownStyleDirectiveProperty from '../rules/no-unknown-style-directive-property'; @@ -105,6 +106,7 @@ export const rules = [ noShorthandStylePropertyOverrides, noSpacesAroundEqualSignsInAttribute, noStoreAsync, + noSvelteInternal, noTargetBlank, noTrailingSpaces, noUnknownStyleDirectiveProperty, diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml new file mode 100644 index 000000000..a5c6a75b2 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml @@ -0,0 +1,4 @@ +- message: Importing from svelte/internal is prohibited. This will be removed in Svelte 6.". + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte new file mode 100644 index 000000000..fb49157e7 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte @@ -0,0 +1,3 @@ + diff --git a/tests/fixtures/rules/no-svelte-internal/valid/no-svelte-internal01-input.svelte b/tests/fixtures/rules/no-svelte-internal/valid/no-svelte-internal01-input.svelte new file mode 100644 index 000000000..da984faff --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/valid/no-svelte-internal01-input.svelte @@ -0,0 +1,3 @@ + diff --git a/tests/src/rules/no-svelte-internal.ts b/tests/src/rules/no-svelte-internal.ts new file mode 100644 index 000000000..3f4e67863 --- /dev/null +++ b/tests/src/rules/no-svelte-internal.ts @@ -0,0 +1,12 @@ +import { RuleTester } from '../../utils/eslint-compat'; +import rule from '../../../src/rules/no-svelte-internal'; +import { loadTestCases } from '../../utils/utils'; + +const tester = new RuleTester({ + languageOptions: { + ecmaVersion: 2020, + sourceType: 'module' + } +}); + +tester.run('no-svelte-internal', rule as any, loadTestCases('no-svelte-internal')); From 299aca1cf7be360fdbbda9e57166bd5177b761de Mon Sep 17 00:00:00 2001 From: baseballyama Date: Mon, 6 May 2024 12:29:00 +0900 Subject: [PATCH 2/8] chore: add changeset --- .changeset/chilly-bats-allow.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/chilly-bats-allow.md diff --git a/.changeset/chilly-bats-allow.md b/.changeset/chilly-bats-allow.md new file mode 100644 index 000000000..6f720597a --- /dev/null +++ b/.changeset/chilly-bats-allow.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-svelte": minor +--- + +feat: add `svelte/no-svelte-internal` rule From 2a3e994c28d840371b0e13b75b87e63dafc36542 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Mon, 6 May 2024 12:36:57 +0900 Subject: [PATCH 3/8] chore: fix lint --- .../no-svelte-internal/invalid/no-svelte-internal01-input.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte index fb49157e7..85c373b15 100644 --- a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-input.svelte @@ -1,3 +1,4 @@ From 8559fa0c42eaf8f47c6c25110b6ffd05371e1653 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Tue, 7 May 2024 11:47:26 +0900 Subject: [PATCH 4/8] fix test --- .../invalid/no-svelte-internal01-errors.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml index a5c6a75b2..933b0c661 100644 --- a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml @@ -1,4 +1,4 @@ -- message: Importing from svelte/internal is prohibited. This will be removed in Svelte 6.". - line: 2 +- message: Importing from svelte/internal is prohibited. This will be removed in Svelte 6. + line: 3 column: 2 suggestions: null From 3dd0c666c4f139e817c067dc570fb7165cb1aa78 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 8 May 2024 11:16:34 +0900 Subject: [PATCH 5/8] update --- docs/rules/no-svelte-internal.md | 20 +++++++++---------- src/rules/no-svelte-internal.ts | 5 ++++- .../invalid/no-svelte-internal02-errors.yaml | 4 ++++ .../invalid/no-svelte-internal02-input.svelte | 3 +++ 4 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-input.svelte diff --git a/docs/rules/no-svelte-internal.md b/docs/rules/no-svelte-internal.md index 8c090cee4..0e0d95d1f 100644 --- a/docs/rules/no-svelte-internal.md +++ b/docs/rules/no-svelte-internal.md @@ -13,7 +13,7 @@ description: 'svelte/internal will be removed in Svelte 6.' ## :book: Rule Details -This rule reports ???. +This rule reports the use of the deprecated API `svelte/internal` and `svelte/internal/xxx`. `svelte/internal` is deprecated in Svelte 5. And it will be deleted in Svelte 6. These APIs can change in breaking ways at any time without notice. @@ -22,28 +22,26 @@ This rule reports ???. ```svelte - - + // ✓ GOOD + import { mount } from 'svelte'; - + // ✗ BAD + import { get_current_component } from 'svelte/internal'; + import { inspect } from 'svelte/internal/client'; + ``` ## :wrench: Options -```json -{ - "svelte/no-svelte-internal": ["error", {}] -} -``` +Nothing. - ## :books: Further Reading -- +Nothing. ## :mag: Implementation diff --git a/src/rules/no-svelte-internal.ts b/src/rules/no-svelte-internal.ts index 5c94b08c8..a6a7960f0 100644 --- a/src/rules/no-svelte-internal.ts +++ b/src/rules/no-svelte-internal.ts @@ -18,7 +18,10 @@ export default createRule('no-svelte-internal', { create(context) { return { ImportDeclaration(node) { - if (node.source.value === 'svelte/internal') { + if ( + node.source.value === 'svelte/internal' || + node.source.value.startsWith('svelte/internal/') + ) { context.report({ node, messageId: 'unexpected' diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml new file mode 100644 index 000000000..b25877bda --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml @@ -0,0 +1,4 @@ +- message: Importing from svelte/internal is prohibited. This will be removed in Svelte 6. + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-input.svelte new file mode 100644 index 000000000..12be14e98 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-input.svelte @@ -0,0 +1,3 @@ + From 0603998ee551a17bb675094e1401fa345f780dd1 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Wed, 8 May 2024 11:22:06 +0900 Subject: [PATCH 6/8] update docs --- docs/rules/no-svelte-internal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/rules/no-svelte-internal.md b/docs/rules/no-svelte-internal.md index 0e0d95d1f..0a0282569 100644 --- a/docs/rules/no-svelte-internal.md +++ b/docs/rules/no-svelte-internal.md @@ -37,10 +37,10 @@ This rule reports the use of the deprecated API `svelte/internal` and `svelte/in Nothing. -- - ## :books: Further Reading + + Nothing. ## :mag: Implementation From fca148ac1273256aea7cf656f9015d481b3580f8 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Thu, 9 May 2024 09:53:32 +0900 Subject: [PATCH 7/8] enhance --- docs/rules/no-svelte-internal.md | 3 ++ src/rules/no-svelte-internal.ts | 40 +++++++++++++++---- .../invalid/no-svelte-internal01-errors.yaml | 2 +- .../invalid/no-svelte-internal02-errors.yaml | 2 +- .../invalid/no-svelte-internal03-errors.yaml | 4 ++ .../invalid/no-svelte-internal03-input.svelte | 3 ++ .../invalid/no-svelte-internal04-errors.yaml | 4 ++ .../invalid/no-svelte-internal04-input.svelte | 3 ++ .../invalid/no-svelte-internal05-errors.yaml | 4 ++ .../invalid/no-svelte-internal05-input.svelte | 3 ++ .../invalid/no-svelte-internal06-errors.yaml | 4 ++ .../invalid/no-svelte-internal06-input.svelte | 3 ++ .../invalid/no-svelte-internal07-errors.yaml | 4 ++ .../invalid/no-svelte-internal07-input.svelte | 3 ++ 14 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-input.svelte create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-input.svelte create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-input.svelte create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-input.svelte create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-errors.yaml create mode 100644 tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-input.svelte diff --git a/docs/rules/no-svelte-internal.md b/docs/rules/no-svelte-internal.md index 0a0282569..e9b0ef1bd 100644 --- a/docs/rules/no-svelte-internal.md +++ b/docs/rules/no-svelte-internal.md @@ -28,6 +28,9 @@ This rule reports the use of the deprecated API `svelte/internal` and `svelte/in // ✗ BAD import { get_current_component } from 'svelte/internal'; import { inspect } from 'svelte/internal/client'; + + export * from 'svelte/internal'; + export * from 'svelte/internal/client'; ``` diff --git a/src/rules/no-svelte-internal.ts b/src/rules/no-svelte-internal.ts index a6a7960f0..114496e62 100644 --- a/src/rules/no-svelte-internal.ts +++ b/src/rules/no-svelte-internal.ts @@ -1,4 +1,5 @@ import { createRule } from '../utils'; +import type { TSESTree } from '@typescript-eslint/types'; export default createRule('no-svelte-internal', { meta: { @@ -11,21 +12,46 @@ export default createRule('no-svelte-internal', { }, schema: [], messages: { - unexpected: 'Importing from svelte/internal is prohibited. This will be removed in Svelte 6.' + unexpected: 'Using svelte/internal is prohibited. This will be removed in Svelte 6.' }, type: 'problem' }, create(context) { + function report(node: TSESTree.Node) { + context.report({ + node, + messageId: 'unexpected' + }); + } + + function isSvelteInternal(value: string) { + return value === 'svelte/internal' || value.startsWith('svelte/internal/'); + } + return { ImportDeclaration(node) { + if (node.source && isSvelteInternal(node.source.value)) { + report(node); + } + }, + ImportExpression(node) { if ( - node.source.value === 'svelte/internal' || - node.source.value.startsWith('svelte/internal/') + node.source && + node.source.type === 'Literal' && + typeof node.source.value === 'string' && + isSvelteInternal(node.source.value) ) { - context.report({ - node, - messageId: 'unexpected' - }); + report(node); + } + }, + ExportNamedDeclaration(node) { + if (node.source && isSvelteInternal(node.source.value)) { + report(node); + } + }, + ExportAllDeclaration(node) { + if (node.source && isSvelteInternal(node.source.value)) { + report(node); } } }; diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml index 933b0c661..30df267ed 100644 --- a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal01-errors.yaml @@ -1,4 +1,4 @@ -- message: Importing from svelte/internal is prohibited. This will be removed in Svelte 6. +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. line: 3 column: 2 suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml index b25877bda..e1c7cf351 100644 --- a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal02-errors.yaml @@ -1,4 +1,4 @@ -- message: Importing from svelte/internal is prohibited. This will be removed in Svelte 6. +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. line: 2 column: 2 suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-errors.yaml new file mode 100644 index 000000000..e1c7cf351 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-errors.yaml @@ -0,0 +1,4 @@ +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-input.svelte new file mode 100644 index 000000000..ed4e7e825 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal03-input.svelte @@ -0,0 +1,3 @@ + diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-errors.yaml new file mode 100644 index 000000000..e1c7cf351 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-errors.yaml @@ -0,0 +1,4 @@ +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-input.svelte new file mode 100644 index 000000000..91c4f50e9 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal04-input.svelte @@ -0,0 +1,3 @@ + diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-errors.yaml new file mode 100644 index 000000000..e1c7cf351 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-errors.yaml @@ -0,0 +1,4 @@ +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-input.svelte new file mode 100644 index 000000000..3a2d38453 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal05-input.svelte @@ -0,0 +1,3 @@ + diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-errors.yaml new file mode 100644 index 000000000..e1c7cf351 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-errors.yaml @@ -0,0 +1,4 @@ +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-input.svelte new file mode 100644 index 000000000..38ceb2302 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal06-input.svelte @@ -0,0 +1,3 @@ + diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-errors.yaml b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-errors.yaml new file mode 100644 index 000000000..e1c7cf351 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-errors.yaml @@ -0,0 +1,4 @@ +- message: Using svelte/internal is prohibited. This will be removed in Svelte 6. + line: 2 + column: 2 + suggestions: null diff --git a/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-input.svelte b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-input.svelte new file mode 100644 index 000000000..b60364814 --- /dev/null +++ b/tests/fixtures/rules/no-svelte-internal/invalid/no-svelte-internal07-input.svelte @@ -0,0 +1,3 @@ + From 78887d57be201ac6f331e54e8e7234508d773a68 Mon Sep 17 00:00:00 2001 From: baseballyama Date: Thu, 9 May 2024 09:59:37 +0900 Subject: [PATCH 8/8] update docs --- docs/rules/no-svelte-internal.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/rules/no-svelte-internal.md b/docs/rules/no-svelte-internal.md index e9b0ef1bd..2089bef8a 100644 --- a/docs/rules/no-svelte-internal.md +++ b/docs/rules/no-svelte-internal.md @@ -28,9 +28,12 @@ This rule reports the use of the deprecated API `svelte/internal` and `svelte/in // ✗ BAD import { get_current_component } from 'svelte/internal'; import { inspect } from 'svelte/internal/client'; + import('svelte/internal'); + import('svelte/internal/disclose-version'); export * from 'svelte/internal'; - export * from 'svelte/internal/client'; + export { listen } from 'svelte/internal'; + export * from 'svelte/internal/server'; ```