|
1 | 1 | { |
2 | 2 | "$schema": "./node_modules/oxlint/configuration_schema.json", |
3 | | - // Enable TypeScript, Unicorn, and Oxc plugins |
4 | | - "plugins": ["typescript", "unicorn", "oxc"], |
| 3 | + // Enable TypeScript, Unicorn, Oxc, Node, JSDoc, and Import plugins |
| 4 | + "plugins": ["typescript", "unicorn", "oxc", "node", "jsdoc", "import"], |
| 5 | + // Environment settings |
| 6 | + "env": { |
| 7 | + "builtin": true, |
| 8 | + "es2024": true, |
| 9 | + "node": true, |
| 10 | + }, |
5 | 11 | // Ignore patterns |
6 | 12 | "ignorePatterns": ["dist", "node_modules", ".claude", "tmp", "*.log", "/nix/store/**"], |
7 | 13 | // Rule categories - strict base configuration |
|
99 | 105 | "ts-expect-error": "allow-with-description", |
100 | 106 | }, |
101 | 107 | ], |
| 108 | + // =================== |
| 109 | + // Node.js Rules |
| 110 | + // =================== |
| 111 | + // Disallow direct assignment to exports |
| 112 | + "node/no-exports-assign": "error", |
| 113 | + // Disallow new require calls |
| 114 | + "node/no-new-require": "error", |
| 115 | + // =================== |
| 116 | + // JSDoc Rules |
| 117 | + // =================== |
| 118 | + "jsdoc/check-access": "warn", |
| 119 | + "jsdoc/check-property-names": "warn", |
| 120 | + "jsdoc/empty-tags": "warn", |
| 121 | + "jsdoc/implements-on-classes": "warn", |
| 122 | + "jsdoc/no-defaults": "warn", |
| 123 | + "jsdoc/require-param-name": "warn", |
| 124 | + "jsdoc/require-property": "warn", |
| 125 | + "jsdoc/require-property-description": "warn", |
| 126 | + "jsdoc/require-property-name": "warn", |
| 127 | + "jsdoc/require-returns-description": "warn", |
| 128 | + // =================== |
| 129 | + // Import Rules |
| 130 | + // =================== |
| 131 | + // Enforce top-level type specifier style |
| 132 | + "import/consistent-type-specifier-style": ["error", "top-level"], |
| 133 | + // Ensure imports are at the top |
| 134 | + "import/first": "error", |
| 135 | + // Disallow duplicate imports |
| 136 | + "import/no-duplicates": "error", |
| 137 | + // Disallow mutable exports |
| 138 | + "import/no-mutable-exports": "error", |
| 139 | + // Disallow named default exports |
| 140 | + "import/no-named-default": "error", |
| 141 | + // =================== |
| 142 | + // Style Rules |
| 143 | + // =================== |
| 144 | + // Enforce consistent brace style for all control statements |
| 145 | + "curly": ["error", "all"], |
102 | 146 | }, |
103 | 147 | "overrides": [ |
104 | 148 | { |
|
0 commit comments