Skip to content

Commit 6f2df80

Browse files
committed
breaking: remove from recommended rules
1 parent a0588ef commit 6f2df80

File tree

7 files changed

+25
-28
lines changed

7 files changed

+25
-28
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ These rules relate to better ways of doing things to help you avoid problems:
371371
| [svelte/require-each-key](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-each-key/) | require keyed `{#each}` block | :star: |
372372
| [svelte/require-event-dispatcher-types](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-event-dispatcher-types/) | require type parameters for `createEventDispatcher` | :star: |
373373
| [svelte/require-optimized-style-attribute](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-optimized-style-attribute/) | require style attributes that can be optimized | |
374-
| [svelte/require-stores-init](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-stores-init/) | require initial value in store | :star: |
374+
| [svelte/require-stores-init](https://sveltejs.github.io/eslint-plugin-svelte/rules/require-stores-init/) | require initial value in store | |
375375
| [svelte/valid-each-key](https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-each-key/) | enforce keys to use variables defined in the `{#each}` block | :star: |
376376

377377
## Stylistic Issues

docs/rules.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ These rules relate to better ways of doing things to help you avoid problems:
6868
| [svelte/require-each-key](./rules/require-each-key.md) | require keyed `{#each}` block | :star: |
6969
| [svelte/require-event-dispatcher-types](./rules/require-event-dispatcher-types.md) | require type parameters for `createEventDispatcher` | :star: |
7070
| [svelte/require-optimized-style-attribute](./rules/require-optimized-style-attribute.md) | require style attributes that can be optimized | |
71-
| [svelte/require-stores-init](./rules/require-stores-init.md) | require initial value in store | :star: |
71+
| [svelte/require-stores-init](./rules/require-stores-init.md) | require initial value in store | |
7272
| [svelte/valid-each-key](./rules/valid-each-key.md) | enforce keys to use variables defined in the `{#each}` block | :star: |
7373

7474
## Stylistic Issues

docs/rules/require-stores-init.md

-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ since: 'v2.5.0'
1010

1111
> require initial value in store
1212
13-
- :gear: This rule is included in `"plugin:svelte/recommended"`.
14-
1513
## :book: Rule Details
1614

1715
This rule is aimed to enforce initial values when initializing the Svelte stores.

docs/rules/valid-style-parse.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
pageClass: 'rule-details'
2+
pageClass: "rule-details"
33
sidebarDepth: 0
4-
title: 'svelte/valid-style-parse'
5-
description: 'require valid style element parsing'
4+
title: "svelte/valid-style-parse"
5+
description: "require valid style element parsing"
66
---
77

88
# svelte/valid-style-parse

packages/eslint-plugin-svelte/src/configs/flat/recommended.ts

-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ const config: Linter.Config[] = [
3838
'svelte/require-each-key': 'error',
3939
'svelte/require-event-dispatcher-types': 'error',
4040
'svelte/require-store-reactive-access': 'error',
41-
'svelte/require-stores-init': 'error',
4241
'svelte/system': 'error',
4342
'svelte/valid-each-key': 'error',
4443
'svelte/valid-prop-names-in-kit-pages': 'error'

packages/eslint-plugin-svelte/src/rules/require-stores-init.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ export default createRule('require-stores-init', {
66
docs: {
77
description: 'require initial value in store',
88
category: 'Best Practices',
9-
recommended: true
9+
// Please refer to the following before setting recommended to true.
10+
// https://github.com/sveltejs/eslint-plugin-svelte/issues/1073
11+
recommended: false
1012
},
1113
schema: [],
1214
messages: {

packages/eslint-plugin-svelte/tools/lib/write.ts

+17-19
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,22 @@ import prettier from 'prettier';
55
/**
66
* Write file and format it with ESLint
77
*/
8-
export function writeAndFormat(fileName: string, content: string): Promise<void> {
8+
export async function writeAndFormat(fileName: string, content: string): Promise<void> {
99
fs.writeFileSync(fileName, content, 'utf8');
10-
return prettier
11-
.resolveConfig(fileName)
12-
.then((prettierrc) => {
13-
if (!prettierrc) {
14-
return content;
15-
}
16-
return prettier.format(content, { filepath: fileName, ...prettierrc });
17-
})
18-
.then((formatted) => {
19-
fs.writeFileSync(fileName, formatted, 'utf8');
20-
const eslint = new ESLint({ fix: true });
21-
return eslint.lintText(formatted, { filePath: fileName });
22-
})
23-
.then(([result]) => {
24-
if (result.output) {
25-
fs.writeFileSync(fileName, result.output, 'utf8');
26-
}
27-
});
10+
11+
const prettierrc = await prettier.resolveConfig(fileName);
12+
13+
const formatted =
14+
prettierrc && !(fileName.endsWith('valid-style-parse.md') && content.includes('.class\n'))
15+
? await prettier.format(content, { filepath: fileName, ...prettierrc })
16+
: content;
17+
18+
fs.writeFileSync(fileName, formatted, 'utf8');
19+
20+
const eslint = new ESLint({ fix: true });
21+
const [result] = await eslint.lintText(formatted, { filePath: fileName });
22+
23+
if (result?.output) {
24+
fs.writeFileSync(fileName, result.output, 'utf8');
25+
}
2826
}

0 commit comments

Comments
 (0)