Skip to content

Commit c89ce8e

Browse files
authored
Upgrade parser & deprecate dollar-prefixed-store-uses-vars rule that are no longer needed. (#108)
* Upgrade parser & deprecate `dollar-prefixed-store-uses-vars` rule that are no longer needed. * update
1 parent d2931f8 commit c89ce8e

File tree

13 files changed

+80
-37
lines changed

13 files changed

+80
-37
lines changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,9 +304,17 @@ These rules relate to this plugin works:
304304
| Rule ID | Description | |
305305
|:--------|:------------|:---|
306306
| [@ota-meshi/svelte/comment-directive](https://ota-meshi.github.io/eslint-plugin-svelte/rules/comment-directive/) | support comment-directives in HTML template | :star: |
307-
| [@ota-meshi/svelte/dollar-prefixed-store-uses-vars](https://ota-meshi.github.io/eslint-plugin-svelte/rules/dollar-prefixed-store-uses-vars/) | prevent $-prefixed variables to be marked as unused | :star: |
308307
| [@ota-meshi/svelte/system](https://ota-meshi.github.io/eslint-plugin-svelte/rules/system/) | system rule for working this plugin | :star: |
309308

309+
## Deprecated
310+
311+
- :warning: We're going to remove deprecated rules in the next major release. Please migrate to successor/new rules.
312+
- :innocent: We don't fix bugs which are in deprecated rules since we don't have enough resources.
313+
314+
| Rule ID | Replaced by |
315+
|:--------|:------------|
316+
| [@ota-meshi/svelte/dollar-prefixed-store-uses-vars](https://ota-meshi.github.io/eslint-plugin-svelte/rules/dollar-prefixed-store-uses-vars/) | (no replacement) |
317+
310318
<!--RULES_TABLE_END-->
311319
<!--RULES_SECTION_END-->
312320

docs/rules.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,13 @@ These rules relate to this plugin works:
7373
| Rule ID | Description | |
7474
|:--------|:------------|:---|
7575
| [@ota-meshi/svelte/comment-directive](./rules/comment-directive.md) | support comment-directives in HTML template | :star: |
76-
| [@ota-meshi/svelte/dollar-prefixed-store-uses-vars](./rules/dollar-prefixed-store-uses-vars.md) | prevent $-prefixed variables to be marked as unused | :star: |
7776
| [@ota-meshi/svelte/system](./rules/system.md) | system rule for working this plugin | :star: |
77+
78+
## Deprecated
79+
80+
- :warning: We're going to remove deprecated rules in the next major release. Please migrate to successor/new rules.
81+
- :innocent: We don't fix bugs which are in deprecated rules since we don't have enough resources.
82+
83+
| Rule ID | Replaced by |
84+
|:--------|:------------|
85+
| [@ota-meshi/svelte/dollar-prefixed-store-uses-vars](./rules/dollar-prefixed-store-uses-vars.md) | (no replacement) |

docs/rules/dollar-prefixed-store-uses-vars.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ since: "v0.18.0"
1010

1111
> prevent $-prefixed variables to be marked as unused
1212
13-
- :gear: This rule is included in `"plugin:@ota-meshi/svelte/base"` and `"plugin:@ota-meshi/svelte/recommended"`.
13+
- :warning: This rule was **deprecated**.
14+
15+
::: tip
16+
17+
This rule is not needed when using `svelte-eslint-parser` v0.14.0 or later.
18+
19+
:::
1420

1521
ESLint `no-unused-vars` rule does not detect store variables used as $-prefixed.
1622
This rule will find imported store variables that are used as $-prefixed and marks them as used.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
"eslint-utils": "^3.0.0",
5959
"postcss": "^8.4.5",
6060
"sourcemap-codec": "^1.4.8",
61-
"svelte-eslint-parser": "^0.13.0"
61+
"svelte-eslint-parser": "^0.14.0"
6262
},
6363
"peerDependencies": {
6464
"eslint": "^7.0.0 || ^8.0.0-0",

src/configs/base.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export = {
1111

1212
// @ota-meshi/eslint-plugin-svelte rules
1313
"@ota-meshi/svelte/comment-directive": "error",
14-
"@ota-meshi/svelte/dollar-prefixed-store-uses-vars": "error",
1514
"@ota-meshi/svelte/system": "error",
1615
},
1716
},

src/configs/recommended.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export = {
77
rules: {
88
// @ota-meshi/eslint-plugin-svelte rules
99
"@ota-meshi/svelte/comment-directive": "error",
10-
"@ota-meshi/svelte/dollar-prefixed-store-uses-vars": "error",
1110
"@ota-meshi/svelte/no-at-debug-tags": "warn",
1211
"@ota-meshi/svelte/no-at-html-tags": "error",
1312
"@ota-meshi/svelte/no-dupe-else-if-blocks": "error",

src/rules/dollar-prefixed-store-uses-vars.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export default createRule("dollar-prefixed-store-uses-vars", {
1212
schema: [],
1313
messages: {},
1414
type: "problem",
15+
deprecated: true, // This rule is not needed when using [email protected] or later.
1516
},
1617
create(context) {
1718
if (!context.parserServices.isSvelte) {

src/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ export interface RuleMetaData {
6464
url: string
6565
ruleId: string
6666
ruleName: string
67-
replacedBy?: string[]
6867
default?: "error" | "warn"
6968
}
7069
messages: { [messageId: string]: string }
7170
fixable?: "code" | "whitespace"
7271
schema: JSONSchema4 | JSONSchema4[]
7372
deprecated?: boolean
73+
replacedBy?: string[]
7474
type: "problem" | "suggestion" | "layout"
7575
}
7676

@@ -85,13 +85,13 @@ export interface PartialRuleMetaData {
8585
category: RuleCategory
8686
recommended: boolean | "base"
8787
extensionRule?: string
88-
replacedBy?: string[]
8988
default?: "error" | "warn"
9089
}
9190
messages: { [messageId: string]: string }
9291
fixable?: "code" | "whitespace"
9392
schema: JSONSchema4 | JSONSchema4[]
9493
deprecated?: boolean
94+
replacedBy?: string[]
9595
type: "problem" | "suggestion" | "layout"
9696
}
9797

svelte.config.esm.mjs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ const config = {
2929
pages: "build",
3030
assets: "build",
3131
}),
32-
33-
// hydrate the <div id="svelte"> element in src/app.html
34-
target: "#svelte",
3532
files: {
3633
routes: path.join(dirname, "./docs"),
3734
template: path.join(dirname, "./docs-svelte-kit/src/app.html"),

tests/src/rules/dollar-prefixed-store-uses-vars.ts renamed to tests/src/integration/no-unused-vars.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { RuleTester, Linter } from "eslint"
2-
import rule from "../../../src/rules/dollar-prefixed-store-uses-vars"
32

4-
describe("dollar-prefixed-store-uses-vars", () => {
3+
describe("Integration test for no-unused-vars", () => {
54
const ruleNoUnusedVars = new Linter().getRules().get("no-unused-vars")!
65
const tester = new RuleTester({
76
parser: require.resolve("svelte-eslint-parser"),
@@ -10,34 +9,28 @@ describe("dollar-prefixed-store-uses-vars", () => {
109
sourceType: "module",
1110
},
1211
})
13-
const linter = (tester as any).linter
14-
linter.defineRule("dollar-prefixed-store-uses-vars", rule)
1512
tester.run("no-unused-vars", ruleNoUnusedVars, {
1613
valid: [
1714
`
1815
<script>
19-
/* eslint dollar-prefixed-store-uses-vars: 2 */
2016
import { a } from "./stores"
2117
$a = 42
2218
</script>
2319
`,
2420
`
2521
<script>
26-
/* eslint dollar-prefixed-store-uses-vars: 2 */
2722
import { a as b } from "./stores"
2823
$b = 42
2924
</script>
3025
`,
3126
`
3227
<script>
33-
/* eslint dollar-prefixed-store-uses-vars: 2 */
3428
import a from "./stores"
3529
$a = 42
3630
</script>
3731
`,
3832
`
3933
<script>
40-
/* eslint dollar-prefixed-store-uses-vars: 2 */
4134
import * as a from "./stores"
4235
$a = 42
4336
</script>
@@ -47,7 +40,6 @@ describe("dollar-prefixed-store-uses-vars", () => {
4740
{
4841
code: `
4942
<script>
50-
/* eslint dollar-prefixed-store-uses-vars: 2 */
5143
import { a } from "./stores"
5244
$b = 42
5345
</script>
@@ -57,7 +49,6 @@ describe("dollar-prefixed-store-uses-vars", () => {
5749
{
5850
code: `
5951
<script>
60-
/* eslint dollar-prefixed-store-uses-vars: 2 */
6152
import { a as b } from "./stores"
6253
$a = 42
6354
</script>
@@ -67,7 +58,6 @@ describe("dollar-prefixed-store-uses-vars", () => {
6758
{
6859
code: `
6960
<script>
70-
/* eslint dollar-prefixed-store-uses-vars: 2 */
7161
import a from "./stores"
7262
$b = 42
7363
</script>
@@ -77,7 +67,6 @@ describe("dollar-prefixed-store-uses-vars", () => {
7767
{
7868
code: `
7969
<script>
80-
/* eslint dollar-prefixed-store-uses-vars: 2 */
8170
import * as a from "./stores"
8271
$b = 42
8372
</script>

0 commit comments

Comments
 (0)