eslint-plugin-ts-fortress 1.3.2 → 1.3.4
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/dist/rule-types.d.mts +0 -3
- package/dist/rule-types.d.mts.map +1 -1
- package/dist/rule-types.mjs +4 -1
- package/dist/rule-types.mjs.map +1 -1
- package/dist/rules/no-type-only-codec.d.mts.map +1 -1
- package/dist/rules/no-type-only-codec.mjs +25 -16
- package/dist/rules/no-type-only-codec.mjs.map +1 -1
- package/dist/rules/package-entry-points.mjs +14 -6
- package/dist/rules/package-entry-points.mjs.map +1 -1
- package/dist/rules/prefer-canonical-length-constrained-type.d.mts.map +1 -1
- package/dist/rules/prefer-canonical-length-constrained-type.mjs +6 -10
- package/dist/rules/prefer-canonical-length-constrained-type.mjs.map +1 -1
- package/dist/rules/prefer-namespace-import.d.mts.map +1 -1
- package/dist/rules/prefer-namespace-import.mjs +3 -3
- package/dist/rules/prefer-namespace-import.mjs.map +1 -1
- package/dist/rules/prefer-schema-over-guard-chain.mjs +1 -1
- package/dist/rules/prefer-schema-over-guard-chain.mjs.map +1 -1
- package/package.json +12 -11
- package/src/rule-types.mts +5 -9
- package/src/rules/no-type-only-codec.mts +28 -20
- package/src/rules/package-entry-points.mts +17 -9
- package/src/rules/prefer-canonical-length-constrained-type.mts +27 -22
- package/src/rules/prefer-canonical-length-constrained-type.test.mts +31 -3
- package/src/rules/prefer-namespace-import.mts +6 -3
- package/src/rules/prefer-schema-over-guard-chain.mts +1 -1
- package/dist/rules/ast-utils.d.mts +0 -15
- package/dist/rules/ast-utils.d.mts.map +0 -1
- package/dist/rules/ast-utils.mjs +0 -24
- package/dist/rules/ast-utils.mjs.map +0 -1
- package/dist/rules/import-utils.d.mts +0 -47
- package/dist/rules/import-utils.d.mts.map +0 -1
- package/dist/rules/import-utils.mjs +0 -103
- package/dist/rules/import-utils.mjs.map +0 -1
- package/src/rules/ast-utils.mts +0 -35
- package/src/rules/import-utils.mts +0 -174
package/dist/rule-types.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { TSESLint } from '@typescript-eslint/utils';
|
|
2
2
|
import type { Linter } from 'eslint';
|
|
3
|
-
import type { TypeEq } from 'ts-type-forge';
|
|
4
3
|
import type { tsFortressRules } from './rules/index.mjs';
|
|
5
4
|
type SpreadOptionsIfIsArray<T extends readonly [Linter.StringSeverity, unknown]> = T[1] extends readonly unknown[] ? readonly [Linter.StringSeverity, ...T[1]] : T;
|
|
6
5
|
/**
|
|
@@ -146,7 +145,5 @@ export type EslintTsFortressRulesOption = Readonly<{
|
|
|
146
145
|
'ts-fortress/prefer-namespace-import': PreferNamespaceImport.Options;
|
|
147
146
|
'ts-fortress/prefer-schema-over-guard-chain': PreferSchemaOverGuardChain.Options;
|
|
148
147
|
}>;
|
|
149
|
-
type AssertTrue<B extends true> = B;
|
|
150
|
-
export type RuleNamesAreInSync = AssertTrue<TypeEq<keyof EslintTsFortressRules, `ts-fortress/${keyof typeof tsFortressRules}`>>;
|
|
151
148
|
export {};
|
|
152
149
|
//# sourceMappingURL=rule-types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-types.d.mts","sourceRoot":"","sources":["../src/rule-types.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-types.d.mts","sourceRoot":"","sources":["../src/rule-types.mts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,KAAK,sBAAsB,CACzB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,IACjD,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAC/B,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GACzC,CAAC,CAAC;AAEN;;;;GAIG;AACH,KAAK,aAAa,CAAC,IAAI,SAAS,MAAM,OAAO,eAAe,IAC1D,CAAC,OAAO,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,UAAU,CACxD,MAAM,WAAW,SAAS,MAAM,EAChC,MAAM,OAAO,SAAS,SAAS,OAAO,EAAE,CACzC,GACG,OAAO,GACP,KAAK,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,kBAAU,eAAe,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAY,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,KAAY,SAAS,GACjB,KAAK,GACL,MAAM,CAAC,QAAQ,GACf,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;CACvE;AAED;;;;;;;;;;GAUG;AACH,kBAAU,oCAAoC,CAAC;IAC7C,KAAY,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,kBAAU,qBAAqB,CAAC;IAC9B;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAY,OAAO,GAAG,WAAW,CAC/B,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC;IAEF,KAAY,SAAS,GACjB,KAAK,GACL,MAAM,CAAC,QAAQ,GACf,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;CACvE;AAED;;;;;;;;;;GAUG;AACH,kBAAU,0BAA0B,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAY,OAAO,GAAG,WAAW,CAC/B,aAAa,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;IAEF,KAAY,SAAS,GACjB,KAAK,GACL,MAAM,CAAC,QAAQ,GACf,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,gCAAgC,EAAE,eAAe,CAAC,SAAS,CAAC;IAC5D,sDAAsD,EAAE,oCAAoC,CAAC,SAAS,CAAC;IACvG,qCAAqC,EAAE,qBAAqB,CAAC,SAAS,CAAC;IACvE,4CAA4C,EAAE,0BAA0B,CAAC,SAAS,CAAC;CACpF,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,gCAAgC,EAAE,eAAe,CAAC,OAAO,CAAC;IAC1D,qCAAqC,EAAE,qBAAqB,CAAC,OAAO,CAAC;IACrE,4CAA4C,EAAE,0BAA0B,CAAC,OAAO,CAAC;CAClF,CAAC,CAAC"}
|
package/dist/rule-types.mjs
CHANGED
package/dist/rule-types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-types.mjs","sourceRoot":"","sources":["../src/rule-types.mts"],"names":[],"mappings":"AAAA,oBAAoB"}
|
|
1
|
+
{"version":3,"file":"rule-types.mjs","sourceRoot":"","sources":["../src/rule-types.mts"],"names":[],"mappings":"AAAA,oBAAoB;AAOpB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAqL3C,8EAA8E;AAC9E,8DAA8D;AAC9D,UAAU,CAGR,GAAG,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-type-only-codec.d.mts","sourceRoot":"","sources":["../../src/rules/no-type-only-codec.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"no-type-only-codec.d.mts","sourceRoot":"","sources":["../../src/rules/no-type-only-codec.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AASlC,KAAK,OAAO,GAAG,SAAS;IACtB,QAAQ,CAAC;QACP,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACjC,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,GAAG,eAAe,CAAC;AAKlC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA6F3D,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
|
|
2
|
+
import { getImportDeclarations } from 'eslint-rule-forge';
|
|
2
3
|
import * as path from 'node:path';
|
|
3
4
|
import { Arr } from 'ts-data-forge';
|
|
5
|
+
import { TS_FORTRESS_MODULE } from './constants.mjs';
|
|
4
6
|
import { isExportedValueUsed } from './export-usage.mjs';
|
|
5
|
-
import { getTsFortressImports } from './import-utils.mjs';
|
|
6
7
|
import { packageEntryPoints } from './package-entry-points.mjs';
|
|
7
8
|
|
|
8
9
|
const TYPE_OF = 'TypeOf';
|
|
@@ -57,7 +58,7 @@ export const noTypeOnlyCodec = {
|
|
|
57
58
|
const entryPointOption = context.options[0]?.entryPoints;
|
|
58
59
|
return {
|
|
59
60
|
Program: (program) => {
|
|
60
|
-
const isTypeOf = buildTypeOfMatcher(
|
|
61
|
+
const isTypeOf = buildTypeOfMatcher(getImportDeclarations(program, TS_FORTRESS_MODULE));
|
|
61
62
|
if (isTypeOf === undefined) {
|
|
62
63
|
return;
|
|
63
64
|
}
|
|
@@ -190,26 +191,34 @@ const collectExportedValueNames = (program) => {
|
|
|
190
191
|
return [];
|
|
191
192
|
}
|
|
192
193
|
if (statement.declaration !== null) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
|
|
195
|
+
const { declaration } = statement;
|
|
196
|
+
return declaration.type === AST_NODE_TYPES.VariableDeclaration
|
|
197
|
+
? Arr.generate(function* () {
|
|
198
|
+
for (const declarator of declaration.declarations) {
|
|
199
|
+
if (declarator.id.type === AST_NODE_TYPES.Identifier) {
|
|
200
|
+
yield [declarator.id.name, declarator.id.name];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
})
|
|
197
204
|
: [];
|
|
198
205
|
}
|
|
199
206
|
|
|
200
207
|
if (statement.source !== null) {
|
|
201
208
|
return [];
|
|
202
209
|
}
|
|
203
|
-
return
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
210
|
+
return Arr.generate(function* () {
|
|
211
|
+
for (const specifier of statement.specifiers) {
|
|
212
|
+
if (specifier.exportKind !== 'type') {
|
|
213
|
+
yield [
|
|
214
|
+
specifier.local.name,
|
|
215
|
+
specifier.exported.type === AST_NODE_TYPES.Identifier
|
|
216
|
+
? specifier.exported.name
|
|
217
|
+
: specifier.exported.value,
|
|
218
|
+
];
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
});
|
|
213
222
|
});
|
|
214
223
|
const mut_names = new Map();
|
|
215
224
|
for (const [local, exported] of entries) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-type-only-codec.mjs","sourceRoot":"","sources":["../../src/rules/no-type-only-codec.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"no-type-only-codec.mjs","sourceRoot":"","sources":["../../src/rules/no-type-only-codec.mts"],"names":[],"mappings":"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"}
|
|
@@ -115,9 +115,13 @@ const readJson = (filePath) => {
|
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
const subpathTargets = (manifest) => {
|
|
118
|
-
const legacyTargets =
|
|
119
|
-
const
|
|
120
|
-
|
|
118
|
+
const legacyTargets = Arr.generate(function* () {
|
|
119
|
+
for (const field of LEGACY_ENTRY_FIELDS) {
|
|
120
|
+
const value = manifest[field];
|
|
121
|
+
if (typeof value === 'string') {
|
|
122
|
+
yield value;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
121
125
|
});
|
|
122
126
|
const exportsField = manifest['exports'];
|
|
123
127
|
const subpaths = isRecord(exportsField) &&
|
|
@@ -144,9 +148,13 @@ const resolveTarget = (program, packageDirectory, target) => {
|
|
|
144
148
|
const relative = path.normalize(target).replaceAll('\\', '/');
|
|
145
149
|
const candidates = Arr.toUnshifted(relative)(sourceCandidates(program, packageDirectory, relative));
|
|
146
150
|
if (!relative.includes('*')) {
|
|
147
|
-
return
|
|
148
|
-
const
|
|
149
|
-
|
|
151
|
+
return Arr.generate(function* () {
|
|
152
|
+
for (const candidate of candidates) {
|
|
153
|
+
const sourceFile = program.getSourceFile(path.resolve(packageDirectory, candidate));
|
|
154
|
+
if (sourceFile !== undefined) {
|
|
155
|
+
yield sourceFile.fileName;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
150
158
|
});
|
|
151
159
|
}
|
|
152
160
|
const patterns = candidates.map((candidate) => toPosix(path.resolve(packageDirectory, candidate)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-entry-points.mjs","sourceRoot":"","sources":["../../src/rules/package-entry-points.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"package-entry-points.mjs","sourceRoot":"","sources":["../../src/rules/package-entry-points.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-canonical-length-constrained-type.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-canonical-length-constrained-type.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"prefer-canonical-length-constrained-type.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-canonical-length-constrained-type.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAsBlC,KAAK,OAAO,GAAG,SAAS,EAAE,CAAC;AAE3B,KAAK,UAAU,GAAG,kBAAkB,CAAC;AAyFrC,eAAO,MAAM,oCAAoC,EAAE,QAAQ,CAAC,UAAU,CACpE,UAAU,EACV,OAAO,CAgJC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ASTUtils, } from '@typescript-eslint/utils';
|
|
2
|
+
import { buildCalleeResolver, buildNamedImportFix, getImportDeclarations, getImportedLocalName, hasForeignBinding, parenthesesDepth, } from 'eslint-rule-forge';
|
|
2
3
|
import { Arr } from 'ts-data-forge';
|
|
3
|
-
import { ARRAY_FN, BOUNDED_LENGTH_TUPLE_FN, FIXED_LENGTH_TUPLE_FN, MAX_LENGTH_TUPLE_FN, MIN_LENGTH_ARRAY_FN, MIN_LENGTH_TUPLE_FN, NON_EMPTY_ARRAY_FN, STRUCTURAL_PREFIX_CAP, } from './constants.mjs';
|
|
4
|
-
import { buildCalleeResolver, buildImportsFix, getImportedLocalName, getTsFortressImports, hasForeignBinding, } from './import-utils.mjs';
|
|
4
|
+
import { ARRAY_FN, BOUNDED_LENGTH_TUPLE_FN, FIXED_LENGTH_TUPLE_FN, MAX_LENGTH_TUPLE_FN, MIN_LENGTH_ARRAY_FN, MIN_LENGTH_TUPLE_FN, NON_EMPTY_ARRAY_FN, STRUCTURAL_PREFIX_CAP, TS_FORTRESS_MODULE, } from './constants.mjs';
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -84,7 +84,7 @@ export const preferCanonicalLengthConstrainedType = {
|
|
|
84
84
|
create: (context) => {
|
|
85
85
|
const sourceCode = context.sourceCode;
|
|
86
86
|
const program = sourceCode.ast;
|
|
87
|
-
const tsFortressImports =
|
|
87
|
+
const tsFortressImports = getImportDeclarations(program, TS_FORTRESS_MODULE);
|
|
88
88
|
const resolveCallee = buildCalleeResolver(tsFortressImports);
|
|
89
89
|
const mut_matches = [];
|
|
90
90
|
return {
|
|
@@ -118,7 +118,7 @@ export const preferCanonicalLengthConstrainedType = {
|
|
|
118
118
|
propertyNode: resolved.propertyNode,
|
|
119
119
|
isNamespace: false,
|
|
120
120
|
rewrite,
|
|
121
|
-
localName: hasForeignBinding(sourceCode, node, localName)
|
|
121
|
+
localName: hasForeignBinding(sourceCode, node, localName, TS_FORTRESS_MODULE)
|
|
122
122
|
? undefined
|
|
123
123
|
: localName,
|
|
124
124
|
needsImport: importedLocalName === undefined,
|
|
@@ -145,7 +145,7 @@ export const preferCanonicalLengthConstrainedType = {
|
|
|
145
145
|
},
|
|
146
146
|
fix: (fixer) => [
|
|
147
147
|
...(index === importFixIndex
|
|
148
|
-
?
|
|
148
|
+
? buildNamedImportFix(fixer, program, TS_FORTRESS_MODULE, namesNeedingImport)
|
|
149
149
|
: []),
|
|
150
150
|
fixer.replaceText(propertyNode, localName),
|
|
151
151
|
...dropBoundsFix(fixer, node, rewrite, sourceCode),
|
|
@@ -217,7 +217,7 @@ const dropBoundsFix = (fixer, node, rewrite, sourceCode) => rewrite.bounds.flatM
|
|
|
217
217
|
if (dropped === undefined || rewrite.keep.includes(index)) {
|
|
218
218
|
return [];
|
|
219
219
|
}
|
|
220
|
-
const depth = parenthesesDepth(
|
|
220
|
+
const depth = parenthesesDepth(sourceCode, dropped);
|
|
221
221
|
const first = sourceCode.getFirstToken(dropped);
|
|
222
222
|
const start = first === null || depth === 0
|
|
223
223
|
? first
|
|
@@ -231,10 +231,6 @@ const dropBoundsFix = (fixer, node, rewrite, sourceCode) => rewrite.bounds.flatM
|
|
|
231
231
|
: [fixer.removeRange([start.range[0], end.range[0]])];
|
|
232
232
|
});
|
|
233
233
|
|
|
234
|
-
const parenthesesDepth = (node, sourceCode, depth = 0) => ASTUtils.isParenthesized(depth + 1, node, sourceCode)
|
|
235
|
-
? parenthesesDepth(node, sourceCode, depth + 1)
|
|
236
|
-
: depth;
|
|
237
|
-
|
|
238
234
|
|
|
239
235
|
|
|
240
236
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-canonical-length-constrained-type.mjs","sourceRoot":"","sources":["../../src/rules/prefer-canonical-length-constrained-type.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,GAGT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"prefer-canonical-length-constrained-type.mjs","sourceRoot":"","sources":["../../src/rules/prefer-canonical-length-constrained-type.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-namespace-import.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-namespace-import.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAKlC,KAAK,OAAO,GAAG,SAAS;IACtB,QAAQ,CAAC;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;AA0BlE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"prefer-namespace-import.d.mts","sourceRoot":"","sources":["../../src/rules/prefer-namespace-import.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAKlC,KAAK,OAAO,GAAG,SAAS;IACtB,QAAQ,CAAC;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ,CAAC;AAEF,KAAK,UAAU,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;AA0BlE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA0GjE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, } from '@typescript-eslint/utils';
|
|
2
|
+
import { getImportDeclarations, hasForeignBinding } from 'eslint-rule-forge';
|
|
2
3
|
import { Arr } from 'ts-data-forge';
|
|
3
4
|
import { TS_FORTRESS_MODULE } from './constants.mjs';
|
|
4
|
-
import { getTsFortressImports, hasForeignBinding } from './import-utils.mjs';
|
|
5
5
|
|
|
6
6
|
const DEFAULT_NAMESPACE_NAME = 't';
|
|
7
7
|
|
|
@@ -52,7 +52,7 @@ export const preferNamespaceImport = {
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
'Program:exit': () => {
|
|
55
|
-
const declarations =
|
|
55
|
+
const declarations = getImportDeclarations(sourceCode.ast, TS_FORTRESS_MODULE);
|
|
56
56
|
const reported = declarations.filter((declaration) => !isNamespaceOnly(declaration));
|
|
57
57
|
if (!Arr.isNonEmpty(reported)) {
|
|
58
58
|
return;
|
|
@@ -183,7 +183,7 @@ const buildReferenceRewrite = (sourceCode, identifier, namespaceName, memberName
|
|
|
183
183
|
if (identifier.type !== AST_NODE_TYPES.Identifier ||
|
|
184
184
|
|
|
185
185
|
|
|
186
|
-
hasForeignBinding(sourceCode, identifier, namespaceName)) {
|
|
186
|
+
hasForeignBinding(sourceCode, identifier, namespaceName, TS_FORTRESS_MODULE)) {
|
|
187
187
|
return undefined;
|
|
188
188
|
}
|
|
189
189
|
const target = memberName === undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-namespace-import.mjs","sourceRoot":"","sources":["../../src/rules/prefer-namespace-import.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prefer-namespace-import.mjs","sourceRoot":"","sources":["../../src/rules/prefer-namespace-import.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefer-schema-over-guard-chain.mjs","sourceRoot":"","sources":["../../src/rules/prefer-schema-over-guard-chain.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"prefer-schema-over-guard-chain.mjs","sourceRoot":"","sources":["../../src/rules/prefer-schema-over-guard-chain.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-ts-fortress",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "ESLint rules that steer schema definitions toward ts-fortress idioms.",
|
|
6
6
|
"keywords": [
|
|
@@ -36,20 +36,21 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@typescript-eslint/utils": "8.71.1",
|
|
39
|
-
"
|
|
39
|
+
"eslint-rule-forge": "^0.2.0",
|
|
40
|
+
"ts-data-forge": "~14.8.0",
|
|
40
41
|
"ts-type-forge": "~9.2.2"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@typescript-eslint/parser": "8.71.1",
|
|
44
45
|
"@typescript-eslint/rule-tester": "8.71.1",
|
|
45
46
|
"dedent": "1.7.2",
|
|
46
|
-
"eslint-config-typed": "5.
|
|
47
|
-
"eslint-plugin-ts-data-forge": "0.
|
|
48
|
-
"eslint-plugin-ts-type-forge": "0.8.
|
|
47
|
+
"eslint-config-typed": "5.19.0",
|
|
48
|
+
"eslint-plugin-ts-data-forge": "0.9.0",
|
|
49
|
+
"eslint-plugin-ts-type-forge": "0.8.9",
|
|
49
50
|
"prettier": "3.9.9",
|
|
50
51
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
51
52
|
"prettier-plugin-packagejson": "3.0.2",
|
|
52
|
-
"ts-fortress": "12.
|
|
53
|
+
"ts-fortress": "12.3.0",
|
|
53
54
|
"ts-repo-utils": "10.7.1"
|
|
54
55
|
},
|
|
55
56
|
"peerDependencies": {
|
|
@@ -67,15 +68,15 @@
|
|
|
67
68
|
"scripts": {
|
|
68
69
|
"build": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/build.mts",
|
|
69
70
|
"check:ext": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/check-ext.mts",
|
|
70
|
-
"check:lint": "oxlint . && eslint .",
|
|
71
|
-
"check:test": "pnpm run z:vitest run",
|
|
72
|
-
"check:test:cov": "pnpm run z:vitest run --coverage",
|
|
73
|
-
"check:types": "node ../../node_modules/typescript-native/bin/tsc --noEmit",
|
|
71
|
+
"check:lint": "node ../../tools/scripts/cmd/assert-deps-built.mts && oxlint . && eslint .",
|
|
72
|
+
"check:test": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest run",
|
|
73
|
+
"check:test:cov": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest run --coverage",
|
|
74
|
+
"check:types": "node ../../tools/scripts/cmd/assert-deps-built.mts && node ../../node_modules/typescript-native/bin/tsc --noEmit",
|
|
74
75
|
"doc": "pnpm run gen:readme",
|
|
75
76
|
"fix:fmt": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-uncommitted.mts --cwd .",
|
|
76
77
|
"fix:fmt:diff": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-diff-from.mts origin/main --cwd .",
|
|
77
78
|
"fix:fmt:full": "pnpm run z:prettier .",
|
|
78
|
-
"fix:lint": "oxlint . --fix && eslint . --fix",
|
|
79
|
+
"fix:lint": "node ../../tools/scripts/cmd/assert-deps-built.mts && oxlint . --fix && eslint . --fix",
|
|
79
80
|
"fmt": "pnpm run fix:fmt",
|
|
80
81
|
"gen": "run-s gen:rule-types gen:readme",
|
|
81
82
|
"gen:readme": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples.mts",
|
package/src/rule-types.mts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import type { TSESLint } from '@typescript-eslint/utils';
|
|
7
7
|
import type { Linter } from 'eslint';
|
|
8
|
-
import
|
|
8
|
+
import { expectType } from 'ts-data-forge';
|
|
9
9
|
import type { tsFortressRules } from './rules/index.mjs';
|
|
10
10
|
|
|
11
11
|
type SpreadOptionsIfIsArray<
|
|
@@ -188,11 +188,7 @@ export type EslintTsFortressRulesOption = Readonly<{
|
|
|
188
188
|
|
|
189
189
|
// If this assertion fails to type-check, this generated file has drifted from
|
|
190
190
|
// the actual plugin rules — re-run `pnpm run gen:rule-types`.
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
keyof EslintTsFortressRules,
|
|
196
|
-
`ts-fortress/${keyof typeof tsFortressRules}`
|
|
197
|
-
>
|
|
198
|
-
>;
|
|
191
|
+
expectType<
|
|
192
|
+
keyof EslintTsFortressRules,
|
|
193
|
+
`ts-fortress/${keyof typeof tsFortressRules}`
|
|
194
|
+
>('=');
|
|
@@ -3,11 +3,12 @@ import {
|
|
|
3
3
|
type TSESLint,
|
|
4
4
|
type TSESTree,
|
|
5
5
|
} from '@typescript-eslint/utils';
|
|
6
|
+
import { getImportDeclarations } from 'eslint-rule-forge';
|
|
6
7
|
import * as path from 'node:path';
|
|
7
8
|
import { Arr } from 'ts-data-forge';
|
|
8
9
|
import type { FixedLengthTuple } from 'ts-type-forge';
|
|
10
|
+
import { TS_FORTRESS_MODULE } from './constants.mjs';
|
|
9
11
|
import { isExportedValueUsed } from './export-usage.mjs';
|
|
10
|
-
import { getTsFortressImports } from './import-utils.mjs';
|
|
11
12
|
import { packageEntryPoints } from './package-entry-points.mjs';
|
|
12
13
|
|
|
13
14
|
type Options = readonly [
|
|
@@ -75,7 +76,9 @@ export const noTypeOnlyCodec: TSESLint.RuleModule<MessageIds, Options> = {
|
|
|
75
76
|
|
|
76
77
|
return {
|
|
77
78
|
Program: (program) => {
|
|
78
|
-
const isTypeOf = buildTypeOfMatcher(
|
|
79
|
+
const isTypeOf = buildTypeOfMatcher(
|
|
80
|
+
getImportDeclarations(program, TS_FORTRESS_MODULE),
|
|
81
|
+
);
|
|
79
82
|
|
|
80
83
|
if (isTypeOf === undefined) {
|
|
81
84
|
return;
|
|
@@ -287,12 +290,17 @@ const collectExportedValueNames = (
|
|
|
287
290
|
}
|
|
288
291
|
|
|
289
292
|
if (statement.declaration !== null) {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
293
|
+
// A const, so that its narrowing reaches into the generator function.
|
|
294
|
+
const { declaration } = statement;
|
|
295
|
+
|
|
296
|
+
return declaration.type === AST_NODE_TYPES.VariableDeclaration
|
|
297
|
+
? Arr.generate(function* () {
|
|
298
|
+
for (const declarator of declaration.declarations) {
|
|
299
|
+
if (declarator.id.type === AST_NODE_TYPES.Identifier) {
|
|
300
|
+
yield [declarator.id.name, declarator.id.name] as const;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
})
|
|
296
304
|
: [];
|
|
297
305
|
}
|
|
298
306
|
|
|
@@ -301,18 +309,18 @@ const collectExportedValueNames = (
|
|
|
301
309
|
return [];
|
|
302
310
|
}
|
|
303
311
|
|
|
304
|
-
return
|
|
305
|
-
specifier.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
specifier.exported.
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
);
|
|
312
|
+
return Arr.generate(function* () {
|
|
313
|
+
for (const specifier of statement.specifiers) {
|
|
314
|
+
if (specifier.exportKind !== 'type') {
|
|
315
|
+
yield [
|
|
316
|
+
specifier.local.name,
|
|
317
|
+
specifier.exported.type === AST_NODE_TYPES.Identifier
|
|
318
|
+
? specifier.exported.name
|
|
319
|
+
: specifier.exported.value,
|
|
320
|
+
] as const;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
});
|
|
316
324
|
},
|
|
317
325
|
);
|
|
318
326
|
|