@jeremybarbet/oxlint-plugin 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -6
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/project-index.d.mts +8 -1
- package/dist/project-index.mjs +31 -12
- package/dist/project-index.mjs.map +1 -1
- package/dist/rules/no-unnecessary-export.d.mts +3 -0
- package/dist/rules/no-unnecessary-export.mjs +127 -0
- package/dist/rules/no-unnecessary-export.mjs.map +1 -0
- package/dist/rules/no-unused-class-members.mjs +1 -1
- package/dist/rules/no-unused-class-members.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,8 +35,9 @@ pass as every other lint rule — rather than as a batch report from a separate
|
|
|
35
35
|
Not reported:
|
|
36
36
|
|
|
37
37
|
- Exports tagged `/** @public */` or `/** @beta */`, the same opt-out knip honours.
|
|
38
|
-
- Exports consumed inside their own file. Those are over-exposed, not dead
|
|
39
|
-
`export` keyword, not deleting the declaration. Most exported return types look like this
|
|
38
|
+
- Exports consumed inside their own file. Those are over-exposed, not dead: the fix is dropping the
|
|
39
|
+
`export` keyword, not deleting the declaration. Most exported return types look like this, and
|
|
40
|
+
`no-unnecessary-export` below is the rule that reports them.
|
|
40
41
|
- Anything matching `**/*.config.*`, always. A config file is loaded by path by the tool that owns
|
|
41
42
|
it, so its default export is an entry point by definition.
|
|
42
43
|
|
|
@@ -57,6 +58,38 @@ Not reported:
|
|
|
57
58
|
`ignoreDefaultExports` is the narrow version of `ignoreExports`: listing `app/**` there would also
|
|
58
59
|
silence the named exports in those files, so a route that grew a dead helper would go unreported.
|
|
59
60
|
|
|
61
|
+
### `no-unnecessary-export`
|
|
62
|
+
|
|
63
|
+
Reports a binding that is exported but only ever used inside its own declaring file. The
|
|
64
|
+
complement of `no-unused-modules`, which deliberately leaves this case alone because the two want
|
|
65
|
+
opposite fixes:
|
|
66
|
+
|
|
67
|
+
| Rule | Condition | Fix |
|
|
68
|
+
| --- | --- | --- |
|
|
69
|
+
| `no-unused-modules` | Nothing references the export, anywhere. | Delete the declaration. |
|
|
70
|
+
| `no-unnecessary-export` | Only the declaring file references it. | Drop the `export` keyword. |
|
|
71
|
+
|
|
72
|
+
The two never both fire on one name. Together they mean an export is either imported somewhere or
|
|
73
|
+
reported.
|
|
74
|
+
|
|
75
|
+
Type-only exports are skipped by default: an exported interface used only as a local return type is
|
|
76
|
+
the ordinary shape of a typed codebase, not over-exposure. `@public` / `@beta` opt out, same as
|
|
77
|
+
`no-unused-modules`.
|
|
78
|
+
|
|
79
|
+
Reported, never autofixed. The verdict comes from a static crawl that cannot see a runtime-resolved
|
|
80
|
+
import, so the fix is offered as an editor suggestion and `--fix` leaves the file alone. Only a lone
|
|
81
|
+
`export const x = …` gets one: a specifier list drops an entry rather than the keyword, and a
|
|
82
|
+
destructured or multi-declarator export may still have an imported sibling.
|
|
83
|
+
|
|
84
|
+
| Option | Default | |
|
|
85
|
+
| --- | --- | --- |
|
|
86
|
+
| `includeTypes` | `false` | Also report type-only exports. |
|
|
87
|
+
| `ignoreExports` | `[]` | Globs whose exports are never reported. |
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
'op/no-unnecessary-export': 'error',
|
|
91
|
+
```
|
|
92
|
+
|
|
60
93
|
### `no-unused-class-members`
|
|
61
94
|
|
|
62
95
|
Reports public class members that nothing outside the declaring file references.
|
|
@@ -101,10 +134,10 @@ nested type cannot silently break Apollo's cache-control computation. Ships an a
|
|
|
101
134
|
|
|
102
135
|
## Project discovery
|
|
103
136
|
|
|
104
|
-
`no-unused-modules` and `no-unused-class-members` need a whole-project
|
|
105
|
-
the project once per process and answer per-file from the result.
|
|
106
|
-
with no end-of-run hook, so this is the same approach
|
|
107
|
-
120ms on an 830-file repo.
|
|
137
|
+
`no-unused-modules`, `no-unnecessary-export` and `no-unused-class-members` need a whole-project
|
|
138
|
+
view, so they crawl and parse the project once per process and answer per-file from the result.
|
|
139
|
+
(Oxlint's plugin API is per-file with no end-of-run hook, so this is the same approach
|
|
140
|
+
`eslint-plugin-import` takes.) It costs roughly 120ms on an 830-file repo.
|
|
108
141
|
|
|
109
142
|
Discovery is zero-config: everything under the oxlint working directory that looks like source,
|
|
110
143
|
skipping `node_modules`, `dist`, `build`, `coverage`, `android`, `ios` and dotfile directories.
|
package/dist/index.d.mts
CHANGED
|
@@ -12,6 +12,7 @@ declare const _default: {
|
|
|
12
12
|
};
|
|
13
13
|
rules: {
|
|
14
14
|
'no-export-all': import("./types.mts").Rule;
|
|
15
|
+
'no-unnecessary-export': import("./types.mts").Rule;
|
|
15
16
|
'no-unused-class-members': import("./types.mts").Rule;
|
|
16
17
|
'no-unused-modules': import("./types.mts").Rule;
|
|
17
18
|
'no-unused-styles': import("./types.mts").Rule;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import noExportAll from "./rules/no-export-all.mjs";
|
|
2
|
+
import noUnnecessaryExport from "./rules/no-unnecessary-export.mjs";
|
|
2
3
|
import noUnusedClassMembers from "./rules/no-unused-class-members.mjs";
|
|
3
4
|
import noUnusedModules from "./rules/no-unused-modules.mjs";
|
|
4
5
|
import noUnusedStyles from "./rules/no-unused-styles.mjs";
|
|
@@ -15,6 +16,7 @@ export default {
|
|
|
15
16
|
meta: { name: 'op' },
|
|
16
17
|
rules: {
|
|
17
18
|
'no-export-all': noExportAll,
|
|
19
|
+
'no-unnecessary-export': noUnnecessaryExport,
|
|
18
20
|
'no-unused-class-members': noUnusedClassMembers,
|
|
19
21
|
'no-unused-modules': noUnusedModules,
|
|
20
22
|
'no-unused-styles': noUnusedStyles,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAe;IACb,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACpB,KAAK,EAAE;QACL,eAAe,EAAE,WAAW;QAC5B,yBAAyB,EAAE,oBAAoB;QAC/C,mBAAmB,EAAE,eAAe;QACpC,kBAAkB,EAAE,cAAc;QAClC,uBAAuB,EAAE,mBAAmB;KAC7C;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AACpE,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,mBAAmB,MAAM,mCAAmC,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAe;IACb,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IACpB,KAAK,EAAE;QACL,eAAe,EAAE,WAAW;QAC5B,uBAAuB,EAAE,mBAAmB;QAC5C,yBAAyB,EAAE,oBAAoB;QAC/C,mBAAmB,EAAE,eAAe;QACpC,kBAAkB,EAAE,cAAc;QAClC,uBAAuB,EAAE,mBAAmB;KAC7C;CACF,CAAC"}
|
package/dist/project-index.d.mts
CHANGED
|
@@ -16,6 +16,13 @@ interface FileIndex {
|
|
|
16
16
|
imports: Map<string, Set<string>>;
|
|
17
17
|
/** Every identifier used in a member-access position: `o.x`, `o?.x`, `o['x']`, `{ x: … }`. */
|
|
18
18
|
memberNames: Set<string>;
|
|
19
|
+
/**
|
|
20
|
+
* The subset of `memberNames` seen outside the body of a same-named class member. A method's own
|
|
21
|
+
* log label (`this.logger.error('syncGecMetrics', …)`) or a self-recursive call is not a reason
|
|
22
|
+
* to keep it: nothing else reaches the member through those, so they must not count as the
|
|
23
|
+
* internal usage that downgrades "unused" to "private candidate".
|
|
24
|
+
*/
|
|
25
|
+
memberNamesOutsideOwnBody: Set<string>;
|
|
19
26
|
/** Names referenced somewhere in this file other than their own declaration or export clause. */
|
|
20
27
|
localReferences: Set<string>;
|
|
21
28
|
/** Exports carrying a `@public` / `@beta` JSDoc tag, the same opt-out knip honours. */
|
|
@@ -31,7 +38,7 @@ export interface ProjectIndex {
|
|
|
31
38
|
}
|
|
32
39
|
/**
|
|
33
40
|
* Built once per root and memoised. Oxlint may run JS plugins on more than one worker, in which
|
|
34
|
-
* case this runs once per worker
|
|
41
|
+
* case this runs once per worker, still cheap enough not to warrant an on-disk cache.
|
|
35
42
|
*/
|
|
36
43
|
export declare const getProjectIndex: (cwd: string, settings?: ProjectSettings) => ProjectIndex;
|
|
37
44
|
export {};
|
package/dist/project-index.mjs
CHANGED
|
@@ -9,7 +9,7 @@ import { parseSync } from 'oxc-parser';
|
|
|
9
9
|
* no end-of-run hook a rule could report from. So, like `eslint-plugin-import` before it, the
|
|
10
10
|
* rules answer cross-file questions by crawling and parsing the project themselves, once, and
|
|
11
11
|
* consulting the result while linting each file. The whole crawl is ~120ms for an 830-file repo,
|
|
12
|
-
* which is why there is no on-disk cache
|
|
12
|
+
* which is why there is no on-disk cache, see the note in `getProjectIndex`.
|
|
13
13
|
*
|
|
14
14
|
* Discovery is zero-config: everything under the project root that looks like source, minus the
|
|
15
15
|
* directories below. A project that needs more can narrow it through oxlint `settings`:
|
|
@@ -85,7 +85,7 @@ const readAliases = (root) => {
|
|
|
85
85
|
};
|
|
86
86
|
/**
|
|
87
87
|
* `"moduleResolution": "nodenext"` means a relative import may spell an explicit `.js` extension
|
|
88
|
-
* that has to land on the `.ts` source
|
|
88
|
+
* that has to land on the `.ts` source, the same rewrite `jest.config.js` does in its
|
|
89
89
|
* `moduleNameMapper`. Everything else is ordinary extension/index probing.
|
|
90
90
|
*/
|
|
91
91
|
const resolveSpecifier = (specifier, fromFile, root, aliases) => {
|
|
@@ -122,6 +122,8 @@ const resolveSpecifier = (specifier, fromFile, root, aliases) => {
|
|
|
122
122
|
}
|
|
123
123
|
return null;
|
|
124
124
|
};
|
|
125
|
+
/** Class member shapes whose own body should not keep their name alive. */
|
|
126
|
+
const CLASS_MEMBER_TYPES = new Set(['MethodDefinition', 'PropertyDefinition', 'AccessorProperty']);
|
|
125
127
|
/** Node types whose `id` names the thing being declared rather than referencing it. */
|
|
126
128
|
const DECLARES_ITS_ID = new Set([
|
|
127
129
|
'VariableDeclarator',
|
|
@@ -139,43 +141,59 @@ const DECLARES_ITS_ID = new Set([
|
|
|
139
141
|
*
|
|
140
142
|
* A member is "used" wherever its name appears in a position that could read it. Object literal
|
|
141
143
|
* keys and computed string accesses count, because a name reached that way is indistinguishable
|
|
142
|
-
* from a direct read without type information
|
|
144
|
+
* from a direct read without type information, the index deliberately over-counts usage so the
|
|
143
145
|
* rules under-report rather than point at live code.
|
|
144
146
|
*
|
|
145
147
|
* `localReferences` is the narrower question of whether an export is consumed inside its own file,
|
|
146
148
|
* so it skips the two places a name appears without being read: its own declaration `id`, and the
|
|
147
149
|
* specifiers of an `export { … }` clause.
|
|
148
150
|
*/
|
|
149
|
-
const collectNames = (node, members, locals) => {
|
|
151
|
+
const collectNames = (node, members, membersOutsideOwnBody, locals, enclosingMembers) => {
|
|
150
152
|
if (node === null || typeof node !== 'object') {
|
|
151
153
|
return;
|
|
152
154
|
}
|
|
153
155
|
if (Array.isArray(node)) {
|
|
154
156
|
for (const child of node) {
|
|
155
|
-
collectNames(child, members, locals);
|
|
157
|
+
collectNames(child, members, membersOutsideOwnBody, locals, enclosingMembers);
|
|
156
158
|
}
|
|
157
159
|
return;
|
|
158
160
|
}
|
|
159
161
|
const record = node;
|
|
160
162
|
const type = record.type;
|
|
163
|
+
/**
|
|
164
|
+
* `members` keeps every occurrence, the cross-file question must stay over-counted, or a
|
|
165
|
+
* resolver delegating to a same-named service method would stop keeping that method alive.
|
|
166
|
+
*
|
|
167
|
+
* Only the same-file "is it used internally?" question ignores occurrences inside a
|
|
168
|
+
* same-named member's own definition.
|
|
169
|
+
*/
|
|
170
|
+
const addMember = (name) => {
|
|
171
|
+
members.add(name);
|
|
172
|
+
if (!enclosingMembers.includes(name)) {
|
|
173
|
+
membersOutsideOwnBody.add(name);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
161
176
|
if (type === 'MemberExpression') {
|
|
162
177
|
if (!record.computed && record.property?.type === 'Identifier') {
|
|
163
|
-
|
|
178
|
+
addMember(record.property.name);
|
|
164
179
|
}
|
|
165
180
|
else if (record.computed && record.property?.type === 'Literal' && typeof record.property.value === 'string') {
|
|
166
|
-
|
|
181
|
+
addMember(record.property.value);
|
|
167
182
|
}
|
|
168
183
|
}
|
|
169
184
|
else if (type === 'Property' && !record.computed && record.key?.type === 'Identifier') {
|
|
170
|
-
|
|
185
|
+
addMember(record.key.name);
|
|
171
186
|
}
|
|
172
187
|
else if (type === 'Literal' && typeof record.value === 'string') {
|
|
173
|
-
|
|
188
|
+
addMember(record.value);
|
|
174
189
|
}
|
|
175
190
|
else if (type === 'Identifier') {
|
|
176
191
|
locals.add(record.name);
|
|
177
192
|
}
|
|
178
193
|
const skipId = DECLARES_ITS_ID.has(type);
|
|
194
|
+
const childEnclosingMembers = CLASS_MEMBER_TYPES.has(type) && !record.computed && record.key?.type === 'Identifier'
|
|
195
|
+
? [...enclosingMembers, record.key.name]
|
|
196
|
+
: enclosingMembers;
|
|
179
197
|
for (const key in record) {
|
|
180
198
|
if (key === 'type' || key === 'start' || key === 'end' || key === 'range' || key === 'loc') {
|
|
181
199
|
continue;
|
|
@@ -187,7 +205,7 @@ const collectNames = (node, members, locals) => {
|
|
|
187
205
|
if ((type === 'ExportSpecifier' || type === 'ImportSpecifier') && (key === 'local' || key === 'exported')) {
|
|
188
206
|
continue;
|
|
189
207
|
}
|
|
190
|
-
collectNames(record[key], members, locals);
|
|
208
|
+
collectNames(record[key], members, membersOutsideOwnBody, locals, childEnclosingMembers);
|
|
191
209
|
}
|
|
192
210
|
};
|
|
193
211
|
const indexFile = (path, root, aliases) => {
|
|
@@ -199,6 +217,7 @@ const indexFile = (path, root, aliases) => {
|
|
|
199
217
|
exports: new Map(),
|
|
200
218
|
imports: new Map(),
|
|
201
219
|
memberNames: new Set(),
|
|
220
|
+
memberNamesOutsideOwnBody: new Set(),
|
|
202
221
|
localReferences: new Set(),
|
|
203
222
|
intentionalExports: new Set(),
|
|
204
223
|
};
|
|
@@ -259,14 +278,14 @@ const indexFile = (path, root, aliases) => {
|
|
|
259
278
|
// The imported names are unknowable statically, so treat it as a namespace use.
|
|
260
279
|
record(specifier, '*');
|
|
261
280
|
}
|
|
262
|
-
collectNames(parsed.program, file.memberNames, file.localReferences);
|
|
281
|
+
collectNames(parsed.program, file.memberNames, file.memberNamesOutsideOwnBody, file.localReferences, []);
|
|
263
282
|
return file;
|
|
264
283
|
};
|
|
265
284
|
/** Keyed by root: the module is shared now, and one process can lint more than one project. */
|
|
266
285
|
const cache = new Map();
|
|
267
286
|
/**
|
|
268
287
|
* Built once per root and memoised. Oxlint may run JS plugins on more than one worker, in which
|
|
269
|
-
* case this runs once per worker
|
|
288
|
+
* case this runs once per worker, still cheap enough not to warrant an on-disk cache.
|
|
270
289
|
*/
|
|
271
290
|
export const getProjectIndex = (cwd, settings = {}) => {
|
|
272
291
|
const hit = cache.get(cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-index.mjs","sourceRoot":"","sources":["../src/project-index.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-index.mjs","sourceRoot":"","sources":["../src/project-index.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { relative } from 'node:path';
|
|
2
|
+
import { matchesGlob } from "../glob.mjs";
|
|
3
|
+
import { getProjectIndex, readProjectSettings } from "../project-index.mjs";
|
|
4
|
+
import {} from "../types.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* The complement of `no-unused-modules`: that rule treats an export its own file consumes as used,
|
|
7
|
+
* which leaves an over-exposed binding unreported. Nothing imports it, so the `export` should go.
|
|
8
|
+
*/
|
|
9
|
+
/** Always applied, on top of whatever a project configures. Mirrors `no-unused-modules`. */
|
|
10
|
+
const ALWAYS_IGNORED_EXPORTS = ['**/*.config.*'];
|
|
11
|
+
/** Declarations that emit no runtime binding, so exporting one is not the over-exposure this rule means. */
|
|
12
|
+
const TYPE_DECLARATIONS = new Set(['TSInterfaceDeclaration', 'TSTypeAliasDeclaration']);
|
|
13
|
+
const rule = {
|
|
14
|
+
meta: {
|
|
15
|
+
type: 'problem',
|
|
16
|
+
docs: {
|
|
17
|
+
description: 'Disallow exporting a binding only its own file uses',
|
|
18
|
+
},
|
|
19
|
+
messages: {
|
|
20
|
+
unnecessary: "'{{name}}' is only used in this file. Drop the `export` keyword.",
|
|
21
|
+
},
|
|
22
|
+
schema: [
|
|
23
|
+
{
|
|
24
|
+
type: 'object',
|
|
25
|
+
properties: {
|
|
26
|
+
includeTypes: { type: 'boolean' },
|
|
27
|
+
ignoreExports: { type: 'array', items: { type: 'string' } },
|
|
28
|
+
},
|
|
29
|
+
additionalProperties: false,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
hasSuggestions: true,
|
|
33
|
+
},
|
|
34
|
+
create(context) {
|
|
35
|
+
const raw = (context.options?.[0] ?? {});
|
|
36
|
+
const includeTypes = raw.includeTypes ?? false;
|
|
37
|
+
const ignoreExports = [...ALWAYS_IGNORED_EXPORTS, ...(raw.ignoreExports ?? [])];
|
|
38
|
+
const index = getProjectIndex(context.cwd, readProjectSettings(context));
|
|
39
|
+
const self = context.filename;
|
|
40
|
+
const file = index.files.get(self);
|
|
41
|
+
if (!file) {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
const relativePath = relative(index.root, self).split('\\').join('/');
|
|
45
|
+
if (matchesGlob(relativePath, ignoreExports)) {
|
|
46
|
+
return {};
|
|
47
|
+
}
|
|
48
|
+
const importers = index.importedFrom.get(self);
|
|
49
|
+
// A namespace import (`import * as x`) reaches every export, so none of them can be called local.
|
|
50
|
+
if (importers?.has('*')) {
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
const isLocalOnly = (name) => {
|
|
54
|
+
if (importers?.has(name) || file.intentionalExports.has(name)) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
// The inversion. Without a local reference the export is dead, which is `no-unused-modules`'
|
|
58
|
+
// finding, not this one, and the two must never both fire on a name.
|
|
59
|
+
return file.localReferences.has(name);
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* The span covering the `export` keyword, or null when removing it is not the right fix. A
|
|
63
|
+
* specifier list drops one entry instead, and a destructured export may have an imported sibling.
|
|
64
|
+
*/
|
|
65
|
+
const exportKeywordRange = (node, declaration) => {
|
|
66
|
+
if ((node.specifiers ?? []).length > 0) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const declarations = (declaration.declarations ?? []);
|
|
70
|
+
const single = declaration.id?.type === 'Identifier' ||
|
|
71
|
+
(declarations.length === 1 && declarations[0]?.id?.type === 'Identifier');
|
|
72
|
+
return single ? [node.range[0], declaration.range[0]] : null;
|
|
73
|
+
};
|
|
74
|
+
const report = (node, name, range) => {
|
|
75
|
+
if (!isLocalOnly(name)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
context.report({
|
|
79
|
+
node,
|
|
80
|
+
messageId: 'unnecessary',
|
|
81
|
+
data: { name },
|
|
82
|
+
...(range && {
|
|
83
|
+
suggest: [
|
|
84
|
+
{
|
|
85
|
+
desc: 'Remove the `export` keyword.',
|
|
86
|
+
fix: fixer => fixer.removeRange(range),
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
/**
|
|
94
|
+
* `export default` is out of scope: its export name is `default`, a reserved word no
|
|
95
|
+
* identifier can match, so it never has a local reference to begin with.
|
|
96
|
+
*/
|
|
97
|
+
ExportNamedDeclaration(node) {
|
|
98
|
+
if (node.source || (!includeTypes && node.exportKind === 'type')) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
for (const specifier of (node.specifiers ?? [])) {
|
|
102
|
+
const name = specifier.exported?.name;
|
|
103
|
+
if (!name || name === 'default' || (!includeTypes && specifier.exportKind === 'type')) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
report(specifier.exported, name, null);
|
|
107
|
+
}
|
|
108
|
+
const declaration = node.declaration;
|
|
109
|
+
if (!declaration || (!includeTypes && TYPE_DECLARATIONS.has(declaration.type))) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const range = exportKeywordRange(node, declaration);
|
|
113
|
+
if (declaration.id?.name) {
|
|
114
|
+
report(declaration.id, declaration.id.name, range);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
for (const declarator of (declaration.declarations ?? [])) {
|
|
118
|
+
if (declarator.id?.type === 'Identifier') {
|
|
119
|
+
report(declarator.id, declarator.id.name, range);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
export default rule;
|
|
127
|
+
//# sourceMappingURL=no-unnecessary-export.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-unnecessary-export.mjs","sourceRoot":"","sources":["../../src/rules/no-unnecessary-export.mts"],"names":[],"mappings":"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"}
|
|
@@ -98,7 +98,7 @@ const rule = {
|
|
|
98
98
|
if (seenIn && [...seenIn].some(countsAsUsage)) {
|
|
99
99
|
continue;
|
|
100
100
|
}
|
|
101
|
-
const usedInternally = Boolean(
|
|
101
|
+
const usedInternally = Boolean(index.files.get(self)?.memberNamesOutsideOwnBody.has(name));
|
|
102
102
|
if (usedInternally && !reportPrivateCandidates) {
|
|
103
103
|
continue;
|
|
104
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-unused-class-members.mjs","sourceRoot":"","sources":["../../src/rules/no-unused-class-members.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"no-unused-class-members.mjs","sourceRoot":"","sources":["../../src/rules/no-unused-class-members.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jeremybarbet/oxlint-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Shared oxlint JS plugin: dead-code rules that oxlint, tsc and knip each miss, plus a few house rules.",
|
|
5
5
|
"author": "Jérémy Barbet <jeremgraph@gmail.com> (https://github.com/jeremybarbet)",
|
|
6
6
|
"repository": "https://github.com/jeremybarbet/oxlint-plugin",
|
|
7
7
|
"homepage": "https://github.com/jeremybarbet/oxlint-plugin#readme",
|
|
8
8
|
"license": "MIT",
|
|
9
|
-
"packageManager": "yarn@4.
|
|
9
|
+
"packageManager": "yarn@4.18.0",
|
|
10
10
|
"engines": {
|
|
11
11
|
"node": ">=22"
|
|
12
12
|
},
|