Skip to content

Commit d9d2d7b

Browse files
authored
chore: integrate cspell and fix spelling issues (#188)
1 parent f36ee36 commit d9d2d7b

File tree

12 files changed

+167
-29
lines changed

12 files changed

+167
-29
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ jobs:
109109
if: runner.os != 'Linux'
110110
run: pnpm -r test
111111

112+
- name: Check Spell
113+
run: pnpm check-spell
114+
112115
- name: Lint
113116
run: pnpm run lint
114117

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ var RuleNameRule = rule.Rule{
3636
3. **Register the rule in `internal/config/config.go`**:
3737

3838
- Add import: `"github.com/web-infra-dev/rslint/internal/rules/rule_name"`
39-
- In `RegisterAllTypeSriptEslintPluginRules()`, add:
39+
- In `RegisterAllTypeScriptEslintPluginRules()`, add:
4040
```go
4141
GlobalRuleRegistry.Register("@typescript-eslint/rule-name", rule_name.RuleNameRule)
4242
```
@@ -192,7 +192,7 @@ Your changes must pass:
192192

193193
## Debugging Tips
194194

195-
1. **Check rule registration**: Ensure the rule is in `RegisterAllTypeSriptEslintPluginRules()`
195+
1. **Check rule registration**: Ensure the rule is in `RegisterAllTypeScriptEslintPluginRules()`
196196
2. **Verify configuration**: Rule must be in `rslint.json` to generate diagnostics
197197
3. **Test CLI directly**: Use `rslint` binary to verify rule works
198198
4. **VSCode extension tests**: If failing with "Expected diagnostics but got 0", this is usually due to missing rule registration (not LSP issues)

cmd/rslint/api.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ func (h *IPCHandler) HandleLint(req api.LintRequest) (*api.LintResponse, error)
9797
}
9898

9999
// Initialize rule registry with all available rules
100-
rslintconfig.RegisterAllTypeSriptEslintPluginRules()
100+
rslintconfig.RegisterAllTypeScriptEslintPluginRules()
101101

102102
// Load rslint configuration and determine which tsconfig files to use
103103
_, tsConfigs, configDirectory := rslintconfig.LoadConfigurationWithFallback(req.Config, currentDirectory, fs)

cmd/rslint/cmd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ func runCMD() int {
408408
fs := bundled.WrapFS(cachedvfs.From(osvfs.FS()))
409409

410410
// Initialize rule registry with all available rules
411-
rslintconfig.RegisterAllTypeSriptEslintPluginRules()
411+
rslintconfig.RegisterAllTypeScriptEslintPluginRules()
412412
var rslintConfig rslintconfig.RslintConfig
413413
var tsConfigs []string
414414
// Load rslint configuration and determine which rules to enable

cmd/rslint/lsp.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ func (s *LSPServer) runDiagnostics(ctx context.Context, uri lsproto.DocumentUri,
240240
}
241241

242242
// Initialize rule registry with all available rules (ensure it's done once)
243-
config.RegisterAllTypeSriptEslintPluginRules()
243+
config.RegisterAllTypeScriptEslintPluginRules()
244244

245245
// Convert URI to file path
246246
filePath := uriToPath(uriString)
@@ -473,7 +473,7 @@ func runLintWithPrograms(uri lsproto.DocumentUri, programs []*compiler.Program,
473473
}
474474

475475
// Initialize rule registry with all available rules
476-
config.RegisterAllTypeSriptEslintPluginRules()
476+
config.RegisterAllTypeScriptEslintPluginRules()
477477

478478
// Collect diagnostics
479479
var diagnostics []rule.RuleDiagnostic

cspell.config.cjs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
module.exports = {
2+
version: '0.2',
3+
language: 'en',
4+
files: ['**/*.{ts,tsx,js,jsx,mjs,cjs,md,mdx,json,go,sh,yml,yaml}'],
5+
enableFiletypes: ['mdx'],
6+
ignorePaths: [
7+
'dist',
8+
'dist-*',
9+
'coverage',
10+
'doc_build',
11+
'typescript-go',
12+
'node_modules',
13+
'pnpm-lock.yaml',
14+
'shim',
15+
'packages/vscode-extension/out',
16+
'packages/rslint-test-tools/tests',
17+
],
18+
dictionaries: ['dictionary'],
19+
dictionaryDefinitions: [
20+
{
21+
name: 'dictionary',
22+
path: './scripts/dictionary.txt',
23+
addWords: true,
24+
},
25+
],
26+
};

internal/config/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,8 @@ func (config RslintConfig) GetRulesForFile(filePath string) map[string]*RuleConf
262262
return enabledRules
263263
}
264264

265-
// RegisterAllTypeSriptEslintPluginRules registers all available rules in the global registry
266-
func RegisterAllTypeSriptEslintPluginRules() {
265+
// RegisterAllTypeScriptEslintPluginRules registers all available rules in the global registry
266+
func RegisterAllTypeScriptEslintPluginRules() {
267267
GlobalRuleRegistry.Register("@typescript-eslint/adjacent-overload-signatures", adjacent_overload_signatures.AdjacentOverloadSignaturesRule)
268268
GlobalRuleRegistry.Register("@typescript-eslint/array-type", array_type.ArrayTypeRule)
269269
GlobalRuleRegistry.Register("@typescript-eslint/await-thenable", await_thenable.AwaitThenableRule)

internal/rules/no_redundant_type_constituents/no_redundant_type_constituents.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,10 @@ var NoRedundantTypeConstituentsRule = rule.CreateRule(rule.Rule{
318318
checkLiteralTypeOverridesPrimitive(seenStringLiteralTypes, seenStringPrimitiveTypes, "string")
319319
},
320320
ast.KindUnionType: func(node *ast.Node) {
321-
overridenBigIntTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
322-
overridenBooleanTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
323-
overridenNumberTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
324-
overridenStringTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
321+
overriddenBigIntTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
322+
overriddenBooleanTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
323+
overriddenNumberTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
324+
overriddenStringTypeNodes := map[*ast.Node][]typeFlagsWithNodeOrType{}
325325

326326
seenPrimitiveTypeFlags := checker.TypeFlagsNone
327327

@@ -364,13 +364,13 @@ var NoRedundantTypeConstituentsRule = rule.CreateRule(rule.Rule{
364364
// upsert the literal text and primitive type under the backing type node
365365
switch typePart.flags {
366366
case checker.TypeFlagsBigIntLiteral:
367-
overridenBigIntTypeNodes[typeNode] = append(overridenBigIntTypeNodes[typeNode], typePart)
367+
overriddenBigIntTypeNodes[typeNode] = append(overriddenBigIntTypeNodes[typeNode], typePart)
368368
case checker.TypeFlagsBooleanLiteral:
369-
overridenBooleanTypeNodes[typeNode] = append(overridenBooleanTypeNodes[typeNode], typePart)
369+
overriddenBooleanTypeNodes[typeNode] = append(overriddenBooleanTypeNodes[typeNode], typePart)
370370
case checker.TypeFlagsNumberLiteral:
371-
overridenNumberTypeNodes[typeNode] = append(overridenNumberTypeNodes[typeNode], typePart)
371+
overriddenNumberTypeNodes[typeNode] = append(overriddenNumberTypeNodes[typeNode], typePart)
372372
case checker.TypeFlagsStringLiteral, checker.TypeFlagsTemplateLiteral:
373-
overridenStringTypeNodes[typeNode] = append(overridenStringTypeNodes[typeNode], typePart)
373+
overriddenStringTypeNodes[typeNode] = append(overriddenStringTypeNodes[typeNode], typePart)
374374
}
375375

376376
seenPrimitiveTypeFlags |= typePart.flags & (checker.TypeFlagsBigInt | checker.TypeFlagsBoolean | checker.TypeFlagsNumber | checker.TypeFlagsString)
@@ -381,23 +381,23 @@ var NoRedundantTypeConstituentsRule = rule.CreateRule(rule.Rule{
381381
// group those literals by their primitive type,
382382
// then report each primitive type with all its literals
383383

384-
checkOverridenTypes := func(primitiveFlag checker.TypeFlags, overridenNodes map[*ast.Node][]typeFlagsWithNodeOrType, primitiveName string) {
384+
checkOverriddenTypes := func(primitiveFlag checker.TypeFlags, overriddenNodes map[*ast.Node][]typeFlagsWithNodeOrType, primitiveName string) {
385385
if seenPrimitiveTypeFlags&primitiveFlag == 0 {
386386
return
387387
}
388388

389-
for typeNode, typeFlags := range overridenNodes {
389+
for typeNode, typeFlags := range overriddenNodes {
390390
ctx.ReportNode(typeNode, buildLiteralOverriddenMessage(strings.Join(utils.Map(typeFlags, func(t typeFlagsWithNodeOrType) string {
391391
return t.ToString(ctx.TypeChecker)
392392
}), " | "), primitiveName))
393393

394394
}
395395
}
396396

397-
checkOverridenTypes(checker.TypeFlagsBigInt, overridenBigIntTypeNodes, "bigint")
398-
checkOverridenTypes(checker.TypeFlagsBoolean, overridenBooleanTypeNodes, "boolean")
399-
checkOverridenTypes(checker.TypeFlagsNumber, overridenNumberTypeNodes, "number")
400-
checkOverridenTypes(checker.TypeFlagsString, overridenStringTypeNodes, "string")
397+
checkOverriddenTypes(checker.TypeFlagsBigInt, overriddenBigIntTypeNodes, "bigint")
398+
checkOverriddenTypes(checker.TypeFlagsBoolean, overriddenBooleanTypeNodes, "boolean")
399+
checkOverriddenTypes(checker.TypeFlagsNumber, overriddenNumberTypeNodes, "number")
400+
checkOverriddenTypes(checker.TypeFlagsString, overriddenStringTypeNodes, "string")
401401
},
402402
}
403403
},

internal/rules/no_unsafe_assignment/no_unsafe_assignment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ var NoUnsafeAssignmentRule = rule.CreateRule(rule.Rule{
365365
}
366366

367367
return rule.RuleListeners{
368-
// ESTree PropertyDefintion, AccessorProperty
368+
// ESTree PropertyDefinition, AccessorProperty
369369
ast.KindPropertyDeclaration: func(node *ast.Node) {
370370
initializer := node.Initializer()
371371
if initializer == nil {

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"scripts": {
1616
"build": "pnpm -r build",
1717
"build:npm": "zx scripts/build-npm.mjs",
18+
"check-spell": "pnpx cspell",
1819
"version": "zx scripts/version.mjs",
1920
"release": "pnpm publish -r --no-git-checks",
2021
"publish:vsce": "zx scripts/publish-marketplace.mjs",

0 commit comments

Comments
 (0)