From 66d4a43c2ec3cdccab098e1accc5780412c74726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Sun, 10 Nov 2024 14:34:59 +0100 Subject: [PATCH] feat(no-inline-styles): allowing transitions by default --- .changeset/twenty-nails-end.md | 5 +++++ docs/rules/no-inline-styles.md | 4 ++-- packages/eslint-plugin-svelte/src/rules/no-inline-styles.ts | 2 +- .../disallowed-transitions}/_config.json | 2 +- .../{ => disallowed-transitions}/transition01-errors.yaml | 0 .../{ => disallowed-transitions}/transition01-input.svelte | 0 .../{allowed-transitions => }/transition01-input.svelte | 0 7 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .changeset/twenty-nails-end.md rename packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/{valid/allowed-transitions => invalid/disallowed-transitions}/_config.json (50%) rename packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/{ => disallowed-transitions}/transition01-errors.yaml (100%) rename packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/{ => disallowed-transitions}/transition01-input.svelte (100%) rename packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/{allowed-transitions => }/transition01-input.svelte (100%) diff --git a/.changeset/twenty-nails-end.md b/.changeset/twenty-nails-end.md new file mode 100644 index 000000000..9efebd7de --- /dev/null +++ b/.changeset/twenty-nails-end.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-svelte': minor +--- + +feat(no-inline-styles): allowing transitions by default diff --git a/docs/rules/no-inline-styles.md b/docs/rules/no-inline-styles.md index 785cf6ea5..dcf2b237f 100644 --- a/docs/rules/no-inline-styles.md +++ b/docs/rules/no-inline-styles.md @@ -50,13 +50,13 @@ This rule reports all attributes and directives that would compile to inline sty "svelte/no-inline-styles": [ "error", { - "allowTransitions": false + "allowTransitions": true } ] } ``` -- `allowTransitions` ... Most svelte transitions (including the built-in ones) use inline styles. However, it is theoretically possible to only use transitions that don't (see this [issue](https://github.com/sveltejs/svelte/issues/6662) about removing inline styles from built-in transitions). This option allows transitions to be used in such cases. Default `false`. +- `allowTransitions` ... Some svelte transitions (including the built-in ones in Svelte 4 and older) use inline styles. This option allows transitions to be used. Default `true`. ## :books: Further Reading diff --git a/packages/eslint-plugin-svelte/src/rules/no-inline-styles.ts b/packages/eslint-plugin-svelte/src/rules/no-inline-styles.ts index 31350d84c..1e19525a1 100644 --- a/packages/eslint-plugin-svelte/src/rules/no-inline-styles.ts +++ b/packages/eslint-plugin-svelte/src/rules/no-inline-styles.ts @@ -26,7 +26,7 @@ export default createRule('no-inline-styles', { type: 'suggestion' }, create(context) { - const allowTransitions: boolean = context.options[0]?.allowTransitions ?? false; + const allowTransitions: boolean = context.options[0]?.allowTransitions ?? true; return { SvelteElement(node) { if (node.kind !== 'html') { diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/allowed-transitions/_config.json b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/_config.json similarity index 50% rename from packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/allowed-transitions/_config.json rename to packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/_config.json index 7fc09d166..a737aa443 100644 --- a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/allowed-transitions/_config.json +++ b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/_config.json @@ -1,7 +1,7 @@ { "options": [ { - "allowTransitions": true + "allowTransitions": false } ] } diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/transition01-errors.yaml b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/transition01-errors.yaml similarity index 100% rename from packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/transition01-errors.yaml rename to packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/transition01-errors.yaml diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/transition01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/transition01-input.svelte similarity index 100% rename from packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/transition01-input.svelte rename to packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/invalid/disallowed-transitions/transition01-input.svelte diff --git a/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/allowed-transitions/transition01-input.svelte b/packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/transition01-input.svelte similarity index 100% rename from packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/allowed-transitions/transition01-input.svelte rename to packages/eslint-plugin-svelte/tests/fixtures/rules/no-inline-styles/valid/transition01-input.svelte