diff --git a/.changeset/rich-colts-nail.md b/.changeset/rich-colts-nail.md new file mode 100644 index 000000000..51c8eea60 --- /dev/null +++ b/.changeset/rich-colts-nail.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': minor +--- + +feat: added the `prefer-svelte-reactivity` rule diff --git a/README.md b/README.md index 9cccc33bd..c8018284f 100644 --- a/README.md +++ b/README.md @@ -273,6 +273,7 @@ These rules relate to possible syntax or logic errors in Svelte code: | [svelte/no-store-async](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-store-async/) | disallow using async/await inside svelte stores because it causes issues with the auto-unsubscribing features | :star: | | [svelte/no-top-level-browser-globals](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-top-level-browser-globals/) | disallow using top-level browser global variables | | | [svelte/no-unknown-style-directive-property](https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unknown-style-directive-property/) | disallow unknown `style:property` | :star: | +| [svelte/prefer-svelte-reactivity](https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-svelte-reactivity/) | disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity | :star: | | [svelte/require-store-callbacks-use-set-param](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-store-callbacks-use-set-param/) | store callbacks must use `set` param | :bulb: | | [svelte/require-store-reactive-access](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-store-reactive-access/) | disallow to use of the store itself as an operand. Need to use $ prefix or get function. | :star::wrench: | | [svelte/valid-compile](https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-compile/) | disallow warnings when compiling. | | diff --git a/docs/rules.md b/docs/rules.md index 459eb2ae4..3465a4066 100644 --- a/docs/rules.md +++ b/docs/rules.md @@ -30,6 +30,7 @@ These rules relate to possible syntax or logic errors in Svelte code: | [svelte/no-store-async](./rules/no-store-async.md) | disallow using async/await inside svelte stores because it causes issues with the auto-unsubscribing features | :star: | | [svelte/no-top-level-browser-globals](./rules/no-top-level-browser-globals.md) | disallow using top-level browser global variables | | | [svelte/no-unknown-style-directive-property](./rules/no-unknown-style-directive-property.md) | disallow unknown `style:property` | :star: | +| [svelte/prefer-svelte-reactivity](./rules/prefer-svelte-reactivity.md) | disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity | :star: | | [svelte/require-store-callbacks-use-set-param](./rules/require-store-callbacks-use-set-param.md) | store callbacks must use `set` param | :bulb: | | [svelte/require-store-reactive-access](./rules/require-store-reactive-access.md) | disallow to use of the store itself as an operand. Need to use $ prefix or get function. | :star::wrench: | | [svelte/valid-compile](./rules/valid-compile.md) | disallow warnings when compiling. | | diff --git a/docs/rules/prefer-svelte-reactivity.md b/docs/rules/prefer-svelte-reactivity.md new file mode 100644 index 000000000..7b3fe8236 --- /dev/null +++ b/docs/rules/prefer-svelte-reactivity.md @@ -0,0 +1,117 @@ +--- +pageClass: 'rule-details' +sidebarDepth: 0 +title: 'svelte/prefer-svelte-reactivity' +description: 'disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity' +--- + +# svelte/prefer-svelte-reactivity + +> disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity + +- :exclamation: **_This rule has not been released yet._** +- :gear: This rule is included in `"plugin:svelte/recommended"`. + +## :book: Rule Details + +The built-in `Date`, `Map`, `Set`, `URL` and `URLSearchParams` classes are often used in frontend code, however, their properties and methods are not reactive. Because of that, Svelte provides reactive versions of these 5 builtins as part of the "svelte/reactivity" package. This rule reports usage of mutable instances of the built-in versions in Svelte code. + + + +```svelte + +``` + +```js +// In svelte.js files, exported variables are also reported +/* eslint svelte/prefer-svelte-reactivity: "error" */ + +/* ✗ BAD */ + +const a = new Date(8.64e15); +const b = new Map([ + [1, 'one'], + [2, 'two'] +]); +const c = new Set([1, 2, 1, 3, 3]); +const d = new URL('https://svelte.dev/'); +const e = new URLSearchParams('foo=1&bar=2'); + +export { a, b, c, d as dd }; +export default e; +``` + +## :wrench: Options + +Nothing. + +## :books: Further Reading + +- [svelte/reactivity documentation](https://svelte.dev/docs/svelte/svelte-reactivity) + +## :mag: Implementation + +- [Rule source](https://github.com/sveltejs/eslint-plugin-svelte/blob/main/packages/eslint-plugin-svelte/src/rules/prefer-svelte-reactivity.ts) +- [Test source](https://github.com/sveltejs/eslint-plugin-svelte/blob/main/packages/eslint-plugin-svelte/tests/src/rules/prefer-svelte-reactivity.ts) diff --git a/packages/eslint-plugin-svelte/src/configs/flat/recommended.ts b/packages/eslint-plugin-svelte/src/configs/flat/recommended.ts index 7a08befc8..1f950a90f 100644 --- a/packages/eslint-plugin-svelte/src/configs/flat/recommended.ts +++ b/packages/eslint-plugin-svelte/src/configs/flat/recommended.ts @@ -37,6 +37,7 @@ const config: Linter.Config[] = [ 'svelte/no-unused-svelte-ignore': 'error', 'svelte/no-useless-children-snippet': 'error', 'svelte/no-useless-mustaches': 'error', + 'svelte/prefer-svelte-reactivity': 'error', 'svelte/prefer-writable-derived': 'error', 'svelte/require-each-key': 'error', 'svelte/require-event-dispatcher-types': 'error', diff --git a/packages/eslint-plugin-svelte/src/rule-types.ts b/packages/eslint-plugin-svelte/src/rule-types.ts index 2fd9c7db2..45e9458da 100644 --- a/packages/eslint-plugin-svelte/src/rule-types.ts +++ b/packages/eslint-plugin-svelte/src/rule-types.ts @@ -316,6 +316,11 @@ export interface RuleOptions { * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-style-directive/ */ 'svelte/prefer-style-directive'?: Linter.RuleEntry<[]> + /** + * disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity + * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-svelte-reactivity/ + */ + 'svelte/prefer-svelte-reactivity'?: Linter.RuleEntry<[]> /** * Prefer using writable $derived instead of $state and $effect * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-writable-derived/ diff --git a/packages/eslint-plugin-svelte/src/rules/prefer-svelte-reactivity.ts b/packages/eslint-plugin-svelte/src/rules/prefer-svelte-reactivity.ts new file mode 100644 index 000000000..be001eb70 --- /dev/null +++ b/packages/eslint-plugin-svelte/src/rules/prefer-svelte-reactivity.ts @@ -0,0 +1,285 @@ +import { ReferenceTracker } from '@eslint-community/eslint-utils'; +import { createRule } from '../utils/index.js'; +import type { TSESTree } from '@typescript-eslint/types'; +import { findVariable, isIn } from '../utils/ast-utils.js'; +import { getSvelteContext } from '../utils/svelte-context.js'; + +export default createRule('prefer-svelte-reactivity', { + meta: { + docs: { + description: + 'disallow using mutable instances of built-in classes where a reactive alternative is provided by svelte/reactivity', + category: 'Possible Errors', + recommended: true + }, + schema: [], + messages: { + mutableDateUsed: + 'Found a mutable instance of the built-in Date class. Use SvelteDate instead.', + mutableMapUsed: 'Found a mutable instance of the built-in Map class. Use SvelteMap instead.', + mutableSetUsed: 'Found a mutable instance of the built-in Set class. Use SvelteSet instead.', + mutableURLUsed: 'Found a mutable instance of the built-in URL class. Use SvelteURL instead.', + mutableURLSearchParamsUsed: + 'Found a mutable instance of the built-in URLSearchParams class. Use SvelteURLSearchParams instead.' + }, + type: 'problem', + conditions: [ + { + svelteVersions: ['5'], + svelteFileTypes: ['.svelte', '.svelte.[js|ts]'] + } + ] + }, + create(context) { + const exportedVars: TSESTree.Node[] = []; + return { + ...(getSvelteContext(context)?.svelteFileType === '.svelte.[js|ts]' && { + ExportNamedDeclaration(node) { + if (node.declaration !== null) { + exportedVars.push(node.declaration); + } + for (const specifier of node.specifiers) { + if (specifier.local.type !== 'Identifier') { + continue; + } + const defs = findVariable(context, specifier.local)?.defs ?? []; + for (const def of defs) { + exportedVars.push(def.node); + } + } + }, + ExportDefaultDeclaration(node) { + if (node.declaration.type === 'Identifier') { + const defs = findVariable(context, node.declaration)?.defs ?? []; + for (const def of defs) { + exportedVars.push(def.node); + } + } else { + exportedVars.push(node.declaration); + } + } + }), + 'Program:exit'() { + const referenceTracker = new ReferenceTracker(context.sourceCode.scopeManager.globalScope!); + for (const { node, path } of referenceTracker.iterateGlobalReferences({ + Date: { + [ReferenceTracker.CONSTRUCT]: true + }, + Map: { + [ReferenceTracker.CONSTRUCT]: true + }, + Set: { + [ReferenceTracker.CONSTRUCT]: true + }, + URL: { + [ReferenceTracker.CONSTRUCT]: true + }, + URLSearchParams: { + [ReferenceTracker.CONSTRUCT]: true + } + })) { + const messageId = + path[0] === 'Date' + ? 'mutableDateUsed' + : path[0] === 'Map' + ? 'mutableMapUsed' + : path[0] === 'Set' + ? 'mutableSetUsed' + : path[0] === 'URL' + ? 'mutableURLUsed' + : 'mutableURLSearchParamsUsed'; + for (const exportedVar of exportedVars) { + if (isIn(node, exportedVar)) { + context.report({ + messageId, + node + }); + } + } + if (path[0] === 'Date' && isDateMutable(referenceTracker, node as TSESTree.Expression)) { + context.report({ + messageId: 'mutableDateUsed', + node + }); + } + if (path[0] === 'Map' && isMapMutable(referenceTracker, node as TSESTree.Expression)) { + context.report({ + messageId: 'mutableMapUsed', + node + }); + } + if (path[0] === 'Set' && isSetMutable(referenceTracker, node as TSESTree.Expression)) { + context.report({ + messageId: 'mutableSetUsed', + node + }); + } + if (path[0] === 'URL' && isURLMutable(referenceTracker, node as TSESTree.Expression)) { + context.report({ + messageId: 'mutableURLUsed', + node + }); + } + if ( + path[0] === 'URLSearchParams' && + isURLSearchParamsMutable(referenceTracker, node as TSESTree.Expression) + ) { + context.report({ + messageId: 'mutableURLSearchParamsUsed', + node + }); + } + } + } + }; + } +}); + +function isDateMutable(referenceTracker: ReferenceTracker, ctorNode: TSESTree.Expression): boolean { + return !referenceTracker + .iteratePropertyReferences(ctorNode, { + setDate: { + [ReferenceTracker.CALL]: true + }, + setFullYear: { + [ReferenceTracker.CALL]: true + }, + setHours: { + [ReferenceTracker.CALL]: true + }, + setMilliseconds: { + [ReferenceTracker.CALL]: true + }, + setMinutes: { + [ReferenceTracker.CALL]: true + }, + setMonth: { + [ReferenceTracker.CALL]: true + }, + setSeconds: { + [ReferenceTracker.CALL]: true + }, + setTime: { + [ReferenceTracker.CALL]: true + }, + setUTCDate: { + [ReferenceTracker.CALL]: true + }, + setUTCFullYear: { + [ReferenceTracker.CALL]: true + }, + setUTCHours: { + [ReferenceTracker.CALL]: true + }, + setUTCMilliseconds: { + [ReferenceTracker.CALL]: true + }, + setUTCMinutes: { + [ReferenceTracker.CALL]: true + }, + setUTCMonth: { + [ReferenceTracker.CALL]: true + }, + setUTCSeconds: { + [ReferenceTracker.CALL]: true + }, + setYear: { + [ReferenceTracker.CALL]: true + } + }) + .next().done; +} + +function isMapMutable(referenceTracker: ReferenceTracker, ctorNode: TSESTree.Expression): boolean { + return !referenceTracker + .iteratePropertyReferences(ctorNode, { + clear: { + [ReferenceTracker.CALL]: true + }, + delete: { + [ReferenceTracker.CALL]: true + }, + set: { + [ReferenceTracker.CALL]: true + } + }) + .next().done; +} + +function isSetMutable(referenceTracker: ReferenceTracker, ctorNode: TSESTree.Expression): boolean { + return !referenceTracker + .iteratePropertyReferences(ctorNode, { + add: { + [ReferenceTracker.CALL]: true + }, + clear: { + [ReferenceTracker.CALL]: true + }, + delete: { + [ReferenceTracker.CALL]: true + } + }) + .next().done; +} + +function isURLMutable(referenceTracker: ReferenceTracker, ctorNode: TSESTree.Expression): boolean { + for (const { node } of referenceTracker.iteratePropertyReferences(ctorNode, { + hash: { + [ReferenceTracker.READ]: true + }, + host: { + [ReferenceTracker.READ]: true + }, + hostname: { + [ReferenceTracker.READ]: true + }, + href: { + [ReferenceTracker.READ]: true + }, + password: { + [ReferenceTracker.READ]: true + }, + pathname: { + [ReferenceTracker.READ]: true + }, + port: { + [ReferenceTracker.READ]: true + }, + protocol: { + [ReferenceTracker.READ]: true + }, + search: { + [ReferenceTracker.READ]: true + }, + username: { + [ReferenceTracker.READ]: true + } + })) { + if (node.parent.type === 'AssignmentExpression') { + return true; + } + } + return false; +} + +function isURLSearchParamsMutable( + referenceTracker: ReferenceTracker, + ctorNode: TSESTree.Expression +): boolean { + return !referenceTracker + .iteratePropertyReferences(ctorNode, { + append: { + [ReferenceTracker.CALL]: true + }, + delete: { + [ReferenceTracker.CALL]: true + }, + set: { + [ReferenceTracker.CALL]: true + }, + sort: { + [ReferenceTracker.CALL]: true + } + }) + .next().done; +} diff --git a/packages/eslint-plugin-svelte/src/utils/ast-utils.ts b/packages/eslint-plugin-svelte/src/utils/ast-utils.ts index bff6c0951..43d9044e4 100644 --- a/packages/eslint-plugin-svelte/src/utils/ast-utils.ts +++ b/packages/eslint-plugin-svelte/src/utils/ast-utils.ts @@ -722,3 +722,16 @@ export function findVariableForReplacement( return { hasConflict: false, variable }; } + +/** + * Check if one node is contained withing the subtree of another node. + */ +export function isIn(needle: TSESTree.Node, haystack: TSESTree.Node): boolean { + if (needle === haystack) { + return true; + } + if (needle.parent === undefined || needle.parent === null) { + return false; + } + return isIn(needle.parent, haystack); +} diff --git a/packages/eslint-plugin-svelte/src/utils/rules.ts b/packages/eslint-plugin-svelte/src/utils/rules.ts index bc62cc8c6..fa43f58b7 100644 --- a/packages/eslint-plugin-svelte/src/utils/rules.ts +++ b/packages/eslint-plugin-svelte/src/utils/rules.ts @@ -62,6 +62,7 @@ import preferClassDirective from '../rules/prefer-class-directive.js'; import preferConst from '../rules/prefer-const.js'; import preferDestructuredStoreProps from '../rules/prefer-destructured-store-props.js'; import preferStyleDirective from '../rules/prefer-style-directive.js'; +import preferSvelteReactivity from '../rules/prefer-svelte-reactivity.js'; import preferWritableDerived from '../rules/prefer-writable-derived.js'; import requireEachKey from '../rules/require-each-key.js'; import requireEventDispatcherTypes from '../rules/require-event-dispatcher-types.js'; @@ -141,6 +142,7 @@ export const rules = [ preferConst, preferDestructuredStoreProps, preferStyleDirective, + preferSvelteReactivity, preferWritableDerived, requireEachKey, requireEventDispatcherTypes, diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setDate01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setDate01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setDate01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setDate01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setDate01-input.svelte new file mode 100644 index 000000000..11833e43b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setDate01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear01-input.svelte new file mode 100644 index 000000000..1a64fb628 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear02-input.svelte new file mode 100644 index 000000000..5dc33f13d --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear03-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear03-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear03-input.svelte new file mode 100644 index 000000000..eb794f8df --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setFullYear03-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours01-input.svelte new file mode 100644 index 000000000..ff3e11e6c --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours02-input.svelte new file mode 100644 index 000000000..481cfda04 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours03-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours03-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours03-input.svelte new file mode 100644 index 000000000..be277bc8f --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours03-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours04-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours04-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours04-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours04-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours04-input.svelte new file mode 100644 index 000000000..b379006f1 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setHours04-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMilliseconds01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMilliseconds01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMilliseconds01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMilliseconds01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMilliseconds01-input.svelte new file mode 100644 index 000000000..ca160205a --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMilliseconds01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes01-input.svelte new file mode 100644 index 000000000..038ba40ad --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes02-input.svelte new file mode 100644 index 000000000..8d9a9cecb --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes03-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes03-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes03-input.svelte new file mode 100644 index 000000000..51ac2cdba --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMinutes03-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth01-input.svelte new file mode 100644 index 000000000..2d1fd09ba --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth02-input.svelte new file mode 100644 index 000000000..cb026f1dc --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setMonth02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds01-input.svelte new file mode 100644 index 000000000..80e967356 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds02-input.svelte new file mode 100644 index 000000000..73e352bc1 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setSeconds02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setTime01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setTime01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setTime01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setTime01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setTime01-input.svelte new file mode 100644 index 000000000..acb7f19e4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setTime01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCDate01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCDate01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCDate01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCDate01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCDate01-input.svelte new file mode 100644 index 000000000..f0069650a --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCDate01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear01-input.svelte new file mode 100644 index 000000000..b397a2096 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear02-input.svelte new file mode 100644 index 000000000..04dce5751 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear03-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear03-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear03-input.svelte new file mode 100644 index 000000000..bbd843373 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCFullYear03-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours01-input.svelte new file mode 100644 index 000000000..6d005cb30 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours02-input.svelte new file mode 100644 index 000000000..254653e9c --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours03-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours03-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours03-input.svelte new file mode 100644 index 000000000..0d17f2371 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours03-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours04-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours04-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours04-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours04-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours04-input.svelte new file mode 100644 index 000000000..1d6a73acb --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCHours04-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMilliseconds01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMilliseconds01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMilliseconds01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMilliseconds01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMilliseconds01-input.svelte new file mode 100644 index 000000000..62da2355e --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMilliseconds01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes01-input.svelte new file mode 100644 index 000000000..6905d0e00 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes02-input.svelte new file mode 100644 index 000000000..23fdfbfec --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes03-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes03-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes03-input.svelte new file mode 100644 index 000000000..496b29116 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMinutes03-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth01-input.svelte new file mode 100644 index 000000000..b1beb0b4e --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth02-input.svelte new file mode 100644 index 000000000..04b5782f6 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCMonth02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds01-input.svelte new file mode 100644 index 000000000..9b5a457da --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds02-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds02-input.svelte new file mode 100644 index 000000000..13b9bf0f5 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setUTCSeconds02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setYear01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setYear01-errors.yaml new file mode 100644 index 000000000..e0715f2aa --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setYear01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setYear01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setYear01-input.svelte new file mode 100644 index 000000000..982ae71bf --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/date/setYear01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports01-errors.yaml new file mode 100644 index 000000000..16ae06562 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports01-errors.yaml @@ -0,0 +1,29 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 1 + column: 19 + suggestions: null +- message: Found a mutable instance of the built-in Map class. Use SvelteMap instead. + line: 2 + column: 19 + suggestions: null +- message: Found a mutable instance of the built-in Set class. Use SvelteSet instead. + line: 3 + column: 19 + suggestions: null +- message: Found a mutable instance of the built-in URLSearchParams class. Use + SvelteURLSearchParams instead. + line: 4 + column: 19 + suggestions: null +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 5 + column: 19 + suggestions: null +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 6 + column: 19 + suggestions: null +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 10 + column: 26 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports01-input.svelte.js b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports01-input.svelte.js new file mode 100644 index 000000000..1c902ea7a --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports01-input.svelte.js @@ -0,0 +1,10 @@ +const variable1 = new Date(8.64e15); +const variable2 = new Map([[1, "one"], [2, "two"]]); +const variable3 = new Set([1, 2, 1, 3, 3]); +const variable4 = new URLSearchParams("foo=1&bar=2"); +const variable5 = new URL("https://svelte.dev/"); +const variable6 = new Date(8.64e15); + +export {variable1, variable2, variable3, variable4, variable5, variable6 as var}; + +export const variable7 = new Date(8.64e15); diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports02-errors.yaml new file mode 100644 index 000000000..2401e0107 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports02-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 1 + column: 19 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports02-input.svelte.js b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports02-input.svelte.js new file mode 100644 index 000000000..24fb4f6f4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports02-input.svelte.js @@ -0,0 +1,3 @@ +const variable1 = new Date(8.64e15); + +export default variable1; diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports03-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports03-errors.yaml new file mode 100644 index 000000000..8806ddea8 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports03-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 1 + column: 16 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports03-input.svelte.js b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports03-input.svelte.js new file mode 100644 index 000000000..5bc61d219 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports03-input.svelte.js @@ -0,0 +1 @@ +export default new Date(8.64e15); diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports04-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports04-errors.yaml new file mode 100644 index 000000000..2401e0107 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports04-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Date class. Use SvelteDate instead. + line: 1 + column: 19 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports04-input.svelte.js b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports04-input.svelte.js new file mode 100644 index 000000000..0a392488a --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/exports04-input.svelte.js @@ -0,0 +1,3 @@ +const variable1 = new Date(8.64e15); + +export { variable1 as default }; diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/clear01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/clear01-errors.yaml new file mode 100644 index 000000000..9290e26c4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/clear01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Map class. Use SvelteMap instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/clear01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/clear01-input.svelte new file mode 100644 index 000000000..076f3c718 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/clear01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/delete01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/delete01-errors.yaml new file mode 100644 index 000000000..9290e26c4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/delete01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Map class. Use SvelteMap instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/delete01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/delete01-input.svelte new file mode 100644 index 000000000..b46d846e6 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/delete01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/set01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/set01-errors.yaml new file mode 100644 index 000000000..9290e26c4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/set01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Map class. Use SvelteMap instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/set01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/set01-input.svelte new file mode 100644 index 000000000..6ec9bf26c --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/map/set01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/add01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/add01-errors.yaml new file mode 100644 index 000000000..b7ff0cd9b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/add01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Set class. Use SvelteSet instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/add01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/add01-input.svelte new file mode 100644 index 000000000..f2fe183c2 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/add01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/clear01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/clear01-errors.yaml new file mode 100644 index 000000000..b7ff0cd9b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/clear01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Set class. Use SvelteSet instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/clear01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/clear01-input.svelte new file mode 100644 index 000000000..2177c4bb5 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/clear01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/delete01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/delete01-errors.yaml new file mode 100644 index 000000000..b7ff0cd9b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/delete01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in Set class. Use SvelteSet instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/delete01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/delete01-input.svelte new file mode 100644 index 000000000..47221e97e --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/set/delete01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/append01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/append01-errors.yaml new file mode 100644 index 000000000..74c3a6f30 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/append01-errors.yaml @@ -0,0 +1,5 @@ +- message: Found a mutable instance of the built-in URLSearchParams class. Use + SvelteURLSearchParams instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/append01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/append01-input.svelte new file mode 100644 index 000000000..b42d06b7f --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/append01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete01-errors.yaml new file mode 100644 index 000000000..74c3a6f30 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete01-errors.yaml @@ -0,0 +1,5 @@ +- message: Found a mutable instance of the built-in URLSearchParams class. Use + SvelteURLSearchParams instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete01-input.svelte new file mode 100644 index 000000000..9c9f83cb3 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete02-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete02-errors.yaml new file mode 100644 index 000000000..74c3a6f30 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete02-errors.yaml @@ -0,0 +1,5 @@ +- message: Found a mutable instance of the built-in URLSearchParams class. Use + SvelteURLSearchParams instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete02-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete02-input.svelte new file mode 100644 index 000000000..2985e1c5b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/delete02-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/set01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/set01-errors.yaml new file mode 100644 index 000000000..74c3a6f30 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/set01-errors.yaml @@ -0,0 +1,5 @@ +- message: Found a mutable instance of the built-in URLSearchParams class. Use + SvelteURLSearchParams instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/set01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/set01-input.svelte new file mode 100644 index 000000000..cdc914757 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/set01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/sort01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/sort01-errors.yaml new file mode 100644 index 000000000..74c3a6f30 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/sort01-errors.yaml @@ -0,0 +1,5 @@ +- message: Found a mutable instance of the built-in URLSearchParams class. Use + SvelteURLSearchParams instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/sort01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/sort01-input.svelte new file mode 100644 index 000000000..58238d557 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url-search-params/sort01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hash01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hash01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hash01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hash01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hash01-input.svelte new file mode 100644 index 000000000..7e3c2abd0 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hash01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/host01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/host01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/host01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/host01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/host01-input.svelte new file mode 100644 index 000000000..dd40a07cb --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/host01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hostname01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hostname01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hostname01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hostname01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hostname01-input.svelte new file mode 100644 index 000000000..35328b235 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/hostname01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/href01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/href01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/href01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/href01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/href01-input.svelte new file mode 100644 index 000000000..b7c427074 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/href01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/password01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/password01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/password01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/password01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/password01-input.svelte new file mode 100644 index 000000000..ad5c5efcf --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/password01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/pathname01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/pathname01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/pathname01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/pathname01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/pathname01-input.svelte new file mode 100644 index 000000000..a047b2c66 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/pathname01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/port01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/port01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/port01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/port01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/port01-input.svelte new file mode 100644 index 000000000..6435e1d5d --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/port01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/protocol01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/protocol01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/protocol01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/protocol01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/protocol01-input.svelte new file mode 100644 index 000000000..d3e029eb4 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/protocol01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/search01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/search01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/search01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/search01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/search01-input.svelte new file mode 100644 index 000000000..b14b6b9c5 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/search01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/username01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/username01-errors.yaml new file mode 100644 index 000000000..a576570ef --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/username01-errors.yaml @@ -0,0 +1,4 @@ +- message: Found a mutable instance of the built-in URL class. Use SvelteURL instead. + line: 2 + column: 20 + suggestions: null diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/username01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/username01-input.svelte new file mode 100644 index 000000000..8f94e0389 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/invalid/url/username01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/_requirements.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/_requirements.json new file mode 100644 index 000000000..498661308 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/_requirements.json @@ -0,0 +1,3 @@ +{ + "svelte": ">=5.0.0" +} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-date01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-date01-input.svelte new file mode 100644 index 000000000..0ab09e823 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-date01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-map01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-map01-input.svelte new file mode 100644 index 000000000..5f431b8b1 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-map01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-set01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-set01-input.svelte new file mode 100644 index 000000000..bf3379c3c --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-set01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-url-search-params01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-url-search-params01-input.svelte new file mode 100644 index 000000000..8d3d4d2d2 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-url-search-params01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-url01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-url01-input.svelte new file mode 100644 index 000000000..ea960e9fd --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/aliased-url01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/date01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/date01-input.svelte new file mode 100644 index 000000000..7d801e5a6 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/date01-input.svelte @@ -0,0 +1,40 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/map01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/map01-input.svelte new file mode 100644 index 000000000..593d30511 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/map01-input.svelte @@ -0,0 +1,18 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/set01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/set01-input.svelte new file mode 100644 index 000000000..c08c6b13e --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/set01-input.svelte @@ -0,0 +1,24 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-date01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-date01-input.svelte new file mode 100644 index 000000000..911cb5461 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-date01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-map01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-map01-input.svelte new file mode 100644 index 000000000..43ff00a06 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-map01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-set01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-set01-input.svelte new file mode 100644 index 000000000..6c6728c53 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-set01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-url-search-params01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-url-search-params01-input.svelte new file mode 100644 index 000000000..0f66db767 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-url-search-params01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-url01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-url01-input.svelte new file mode 100644 index 000000000..014046937 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/svelte-url01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-date01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-date01-input.svelte new file mode 100644 index 000000000..851db5e63 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-date01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-map01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-map01-input.svelte new file mode 100644 index 000000000..32eab3dc7 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-map01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-set01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-set01-input.svelte new file mode 100644 index 000000000..fc378f046 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-set01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-url-search-params01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-url-search-params01-input.svelte new file mode 100644 index 000000000..de69ce09e --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-url-search-params01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-url01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-url01-input.svelte new file mode 100644 index 000000000..eab451693 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/unrelated-url01-input.svelte @@ -0,0 +1,7 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/url-search-params01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/url-search-params01-input.svelte new file mode 100644 index 000000000..c791d271b --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/url-search-params01-input.svelte @@ -0,0 +1,19 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/url01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/url01-input.svelte new file mode 100644 index 000000000..b54b2b03e --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/prefer-svelte-reactivity/valid/url01-input.svelte @@ -0,0 +1,24 @@ + + +{variable} diff --git a/packages/eslint-plugin-svelte/tests/src/rules/prefer-svelte-reactivity.ts b/packages/eslint-plugin-svelte/tests/src/rules/prefer-svelte-reactivity.ts new file mode 100644 index 000000000..da146b317 --- /dev/null +++ b/packages/eslint-plugin-svelte/tests/src/rules/prefer-svelte-reactivity.ts @@ -0,0 +1,12 @@ +import { RuleTester } from '../../utils/eslint-compat.js'; +import rule from '../../../src/rules/prefer-svelte-reactivity.js'; +import { loadTestCases } from '../../utils/utils.js'; + +const tester = new RuleTester({ + languageOptions: { + ecmaVersion: 2020, + sourceType: 'module' + } +}); + +tester.run('prefer-svelte-reactivity', rule as any, loadTestCases('prefer-svelte-reactivity'));