Skip to content

Commit d4a4376

Browse files
committed
Clean-up all default rules and added import rules again
1 parent e764e36 commit d4a4376

File tree

9 files changed

+29
-72
lines changed

9 files changed

+29
-72
lines changed

.oxlintrc.json

Lines changed: 16 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
"plugins": [
44
"typescript",
55
"oxc",
6-
"promise"
6+
"promise",
7+
"import"
8+
// these rule sets may be added later
79
// "vitest"
8-
// "import"
910
// "react"
1011
],
1112
"categories": {
@@ -31,70 +32,33 @@
3132
"**/*env.d.ts",
3233
"**/.pnp.cjs"
3334
],
35+
// see: https://oxc.rs/docs/guide/usage/linter/rules.html
3436
"rules": {
3537
"eqeqeq": "error",
36-
"constructor-super": "error",
37-
"typescript/dot-notation": "error",
38-
"for-direction": "error",
3938
// currently in oxlint's nursery (=under development)
4039
"getter-return": "error",
4140
"guard-for-in": "error",
42-
"no-async-promise-executor": "error",
41+
"no-array-constructor": "error",
4342
"no-bitwise": "error",
44-
"no-caller": "error",
4543
"no-case-declarations": "error",
46-
"no-class-assign": "error",
47-
"no-compare-neg-zero": "error",
48-
"no-cond-assign": "error",
49-
"no-const-assign": "error",
50-
"no-constant-binary-expression": "error",
51-
"no-constant-condition": "error",
52-
"no-control-regex": "error",
53-
"no-debugger": "error",
54-
"no-delete-var": "error",
55-
"no-dupe-class-members": "error",
56-
"no-dupe-else-if": "error",
57-
"no-dupe-keys": "error",
58-
"no-duplicate-case": "error",
5944
"no-empty": "error",
6045
"no-empty-character-class": "error",
6146
"no-empty-pattern": "error",
6247
"no-empty-static-block": "error",
63-
"no-eval": "error",
64-
"no-ex-assign": "error",
6548
"no-explicit-any": "error",
66-
"no-extra-boolean-cast": "error",
6749
"no-fallthrough": "error",
68-
"no-func-assign": "error",
69-
"no-global-assign": "error",
7050
"no-import-assign": "error",
7151
"no-inner-declarations": "off",
72-
"no-invalid-regexp": "error",
73-
"no-irregular-whitespace": "error",
7452
"no-labels": "error",
75-
"no-loss-of-precision": "error",
7653
"no-misleading-character-class": "error",
77-
"no-new-native-nonconstructor": "error",
7854
"no-new-wrappers": "error",
79-
"no-nonoctal-decimal-escape": "error",
80-
"no-obj-calls": "error",
8155
"no-prototype-builtins": "error",
8256
"no-redeclare": "error",
8357
"no-regex-spaces": "error",
84-
"no-self-assign": "error",
85-
"no-setter-return": "error",
86-
"no-shadow-restricted-names": "error",
87-
"no-sparse-arrays": "error",
88-
"no-this-before-super": "error",
8958
"no-throw-literal": "error",
9059
"no-unexpected-multiline": "error",
9160
// currently in oxlint's nursery (=under development)
9261
"no-unreachable": "error",
93-
"no-unsafe-finally": "error",
94-
"no-unsafe-negation": "error",
95-
"no-unsafe-optional-chaining": "error",
96-
"no-unused-labels": "error",
97-
"no-unused-private-class-members": "error",
9862
"no-unused-vars": [
9963
"error",
10064
{
@@ -103,54 +67,42 @@
10367
"varsIgnorePattern": "^_"
10468
}
10569
],
106-
"no-useless-backreference": "error",
107-
"no-useless-catch": "error",
108-
"no-useless-escape": "error",
10970
"no-var": "error",
110-
"no-with": "error",
11171
"prefer-const": "error",
11272
"prefer-rest-params": "error",
11373
"prefer-spread": "error",
114-
"require-yield": "error",
115-
"use-isnan": "error",
116-
"valid-typeof": "error",
74+
75+
// all typescript related rules
76+
// currently in oxlint's nursery (=under development)
77+
"typescript/dot-notation": "error",
11778
"@typescript-eslint/ban-ts-comment": "error",
118-
"no-array-constructor": "error",
11979
"@typescript-eslint/adjacent-overload-signatures": "error",
12080
"@typescript-eslint/array-type": [
12181
"error",
12282
{
12383
"default": "array-simple"
12484
}
12585
],
126-
"@typescript-eslint/no-duplicate-enum-values": "error",
12786
"@typescript-eslint/no-empty-object-type": "error",
128-
"@typescript-eslint/no-extra-non-null-assertion": "error",
129-
"@typescript-eslint/no-misused-new": "error",
13087
"@typescript-eslint/no-namespace": "off",
13188
"@typescript-eslint/no-non-null-assertion": "off",
132-
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
13389
"@typescript-eslint/prefer-for-of": "error",
13490
"@typescript-eslint/no-require-imports": "error",
135-
"@typescript-eslint/no-this-alias": "error",
13691
"@typescript-eslint/no-unnecessary-type-constraint": "error",
137-
"@typescript-eslint/no-unsafe-declaration-merging": "error",
13892
"@typescript-eslint/no-unsafe-function-type": "error",
13993
"@typescript-eslint/no-unused-expressions": "error",
14094
"@typescript-eslint/no-unnecessary-condition": "error",
141-
"@typescript-eslint/no-wrapper-object-types": "error",
14295
"@typescript-eslint/parameter-properties": "error",
143-
"@typescript-eslint/prefer-as-const": "error",
14496
"@typescript-eslint/prefer-namespace-keyword": "error",
14597
"@typescript-eslint/strict-boolean-expressions": "error",
14698
"@typescript-eslint/triple-slash-reference": "error",
14799
"@typescript-eslint/no-var-requires": "error",
148-
// "import/no-cycle": "deny",
149-
// "import/no-duplicates": "error",
150-
// "import/first": "error",
151-
// "import/export": "error",
152-
// "import/default": "error",
153-
// "import/named": "error",
154-
// "import/no-unresolved": "error"
100+
// all import related rules
101+
"import/no-duplicates": "error",
102+
"import/first": "error",
103+
"import/export": "error",
104+
"import/default": "error",
105+
"import/named": "error",
106+
"import/no-unresolved": "error"
155107
}
156108
}

docs/oxlint.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,4 @@ Performed on 2025-11-26 and updated 2026-02-20.
3636

3737
- All rules in nursery (=under development) and unsupported rules are accompanied by a comment in [.oxlintrc.json](../.oxlintrc.json)
3838
- 2026-02-20: Deleted eslint and all plugins
39+
- 2026-03-04: Fixed all type aware issues, added import rules and removed all default rules

packages/examples/src/appPlayground/config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ import '../../resources/vsix/open-collaboration-tools.vsix';
3434
import { createDefaultLocaleConfiguration } from 'monaco-languageclient/vscodeApiLocales';
3535
import { defaultHtmlAugmentationInstructions, defaultViewsInit, type MonacoVscodeApiConfig } from 'monaco-languageclient/vscodeApiWrapper';
3636
import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
37+
// oxlint-disable-next-line import/default
3738
import helloTsCode from '../../resources/appPlayground/hello.ts?raw';
39+
// oxlint-disable-next-line import/default
3840
import testerTsCode from '../../resources/appPlayground/tester.ts?raw';
41+
// oxlint-disable-next-line import/default
3942
import helloJsonCode from '../../resources/appPlayground/hello.json?raw';
4043
import { createDefaultWorkspaceContent } from '../common/client/utils.js';
4144

packages/examples/src/clangd/client/workerHandler.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
* ------------------------------------------------------------------------------------------ */
55

66
import { ComChannelEndpoint, type ComRouter, RawPayload, WorkerMessage } from 'wtd-core';
7+
// oxlint-disable-next-line import/default
78
import clangdWorkerUrl from '../worker/clangd-server?worker&url';
89

910
class ClangdInteractionMain implements ComRouter {

packages/examples/src/langium/langium-dsl/config/langiumDslConfig.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@
33
* Licensed under the MIT License. See LICENSE in the package root for license information.
44
* ------------------------------------------------------------------------------------------ */
55

6-
import * as vscode from 'vscode';
76
import { LogLevel } from '@codingame/monaco-vscode-api';
87
import { InMemoryFileSystemProvider, registerFileSystemOverlay, type IFileWriteOptions } from '@codingame/monaco-vscode-files-service-override';
98
import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
109
import type { EditorAppConfig } from 'monaco-languageclient/editorApp';
1110
import type { LanguageClientConfig } from 'monaco-languageclient/lcwrapper';
1211
import { type MonacoVscodeApiConfig, type OverallConfigType } from 'monaco-languageclient/vscodeApiWrapper';
1312
import { configureDefaultWorkerFactory } from 'monaco-languageclient/workerFactory';
13+
import * as vscode from 'vscode';
1414
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageclient/browser.js';
1515
import langiumGrammarLangium from '../../../../resources/langium/langium-dsl/langium-grammar.langium?raw';
1616
import langiumTypesLangium from '../../../../resources/langium/langium-dsl/langium-types.langium?raw';
1717
import type { ExampleAppConfig } from '../../../common/client/utils.js';
18+
// oxlint-disable-next-line import/default
1819
import workerUrl from '../worker/langium-server?worker&url';
1920
import langiumLanguageConfig from './langium.configuration.json?raw';
2021
import langiumTextmateGrammar from './langium.tmLanguage.json?raw';

packages/examples/src/langium/statemachine/ls/statemachine-module.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44
* ------------------------------------------------------------------------------------------ */
55

66
import { type Module, inject } from 'langium';
7-
import type { LangiumServices, LangiumSharedServices, PartialLangiumServices } from 'langium/lsp';
8-
import { createDefaultModule, createDefaultSharedModule, type DefaultSharedModuleContext } from 'langium/lsp';
9-
import { StatemachineModelGeneratedModule, StatemachineGeneratedSharedModule } from './generated/module.js';
7+
import { type DefaultSharedModuleContext, type LangiumServices, type LangiumSharedServices, type PartialLangiumServices, createDefaultModule, createDefaultSharedModule } from 'langium/lsp';
8+
import { StatemachineGeneratedSharedModule, StatemachineModelGeneratedModule } from './generated/module.js';
109
import { StatemachineValidator, registerValidationChecks } from './statemachine-validator.js';
1110

1211
/**

packages/examples/src/langium/statemachine/main.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import * as vscode from 'vscode';
77
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageclient/browser.js';
88
import { EditorApp } from 'monaco-languageclient/editorApp';
99
import { createLangiumGlobalConfig } from './config/statemachineConfig.js';
10+
// oxlint-disable-next-line import/default
1011
import workerUrl from './worker/statemachine-server?worker&url';
12+
// oxlint-disable-next-line import/default
1113
import workerPortUrl from './worker/statemachine-server-port?worker&url';
1214
import text from '../../../resources/langium/statemachine/example.statemachine?raw';
1315
import textMod from '../../../resources/langium/statemachine/example-mod.statemachine?raw';

packages/vscode-ws-jsonrpc/src/socket/reader.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
* Licensed under the MIT License. See LICENSE in the package root for license information.
44
* ------------------------------------------------------------------------------------------ */
55

6-
import { Disposable } from 'vscode-jsonrpc';
76
// TODO: Use environment-specific imports (vscode-jsonrpc/browser or vscode-jsonrpc/node)
87
// when upgrading to vscode-jsonrpc@9.x.x-next.X which supports proper export maps
9-
import { type DataCallback, AbstractMessageReader, MessageReader } from 'vscode-jsonrpc';
8+
import { AbstractMessageReader, type DataCallback, Disposable, MessageReader } from 'vscode-jsonrpc';
109
import type { IWebSocket } from './socket.js';
1110

1211
export class WebSocketMessageReader extends AbstractMessageReader implements MessageReader {

packages/vscode-ws-jsonrpc/src/socket/writer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
* Licensed under the MIT License. See LICENSE in the package root for license information.
44
* ------------------------------------------------------------------------------------------ */
55

6-
import { Message } from 'vscode-jsonrpc';
7-
import { AbstractMessageWriter, MessageWriter } from 'vscode-jsonrpc';
6+
import { AbstractMessageWriter, Message, MessageWriter } from 'vscode-jsonrpc';
87
import type { IWebSocket } from './socket.js';
98

109
export class WebSocketMessageWriter extends AbstractMessageWriter implements MessageWriter {

0 commit comments

Comments
 (0)