@darraghor/eslint-plugin-nestjs-typed 6.0.0-rc.9 → 6.0.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 +58 -16
- package/dist/configs/base.d.ts +1 -1
- package/dist/configs/base.js +3 -4
- package/dist/configs/noSwagger.d.ts +2 -1
- package/dist/configs/noSwagger.js +3 -4
- package/dist/configs/recommended.d.ts +2 -1
- package/dist/configs/recommended.js +3 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +25 -57
- package/dist/rules/allPropertiesAreWhitelisted/allPropertiesAreWhitelisted.js +11 -13
- package/dist/rules/allPropertiesHaveExplicitDefined/allPropertiesHaveExplicitDefined.js +15 -17
- package/dist/rules/apiEnumPropertyBestPractices/apiEnumPropertyBestPractices.d.ts +1 -1
- package/dist/rules/apiEnumPropertyBestPractices/apiEnumPropertyBestPractices.js +17 -22
- package/dist/rules/apiEnumPropertyBestPractices/enumTestResultModel.js +2 -6
- package/dist/rules/apiMethodsShouldBeGuarded/apiMethodsShouldBeGuarded.js +12 -16
- package/dist/rules/apiMethodsShouldSpecifyApiOperation/apiMethodsShouldSpecifyApiOperation.js +9 -13
- package/dist/rules/apiMethodsShouldSpecifyApiResponse/apiMethodsShouldSpecifyApiResponse.js +9 -13
- package/dist/rules/apiPropertyMatchesPropertyOptionality/apiPropertyMatchesPropertyOptionality.js +13 -18
- package/dist/rules/apiPropertyReturningArrayShouldSetArray/apiPropertyReturningArrayShouldSetArray.d.ts +1 -1
- package/dist/rules/apiPropertyReturningArrayShouldSetArray/apiPropertyReturningArrayShouldSetArray.js +17 -24
- package/dist/rules/apiPropertyReturningArrayShouldSetArray/arraySetResultModel.js +2 -5
- package/dist/rules/controllerDecoratedHasApiTags/controllerDecoratedHasApiTags.js +9 -13
- package/dist/rules/index.d.ts +3 -3
- package/dist/rules/index.js +36 -41
- package/dist/rules/injectablesShouldBeProvided/injectableShouldBeProvided.js +13 -18
- package/dist/rules/noDuplicateDecorators/noDuplicateDecorators.js +10 -14
- package/dist/rules/paramDecoratorNameMatchesRouteParam/paramDecoratorNameMatchesRouteParam.js +19 -26
- package/dist/rules/paramDecoratorNameMatchesRouteParam/rule.testData.js +3 -6
- package/dist/rules/providerInjectedShouldMatchFactory/ProviderInjectedShouldMatchFactory.js +12 -18
- package/dist/rules/shouldSpecifyForbidUnknownValues/shouldSpecifyForbidUnknownValuesRule.js +20 -27
- package/dist/rules/sortModuleMetadataArrays/sortModuleMetadataArrays.js +18 -23
- package/dist/rules/validateNestedOfArrayShouldSetEach/arraySetResultModel.js +2 -5
- package/dist/rules/validateNestedOfArrayShouldSetEach/validateNestedOfArrayShouldSetEach.d.ts +1 -1
- package/dist/rules/validateNestedOfArrayShouldSetEach/validateNestedOfArrayShouldSetEach.js +14 -21
- package/dist/rules/validateNonPrimitiveNeedsTypeDecorator/validateNonPrimitiveNeedsDecorators.js +29 -33
- package/dist/testing/fixtureSetup.js +4 -10
- package/dist/testing/preRun.js +2 -4
- package/dist/utils/ast.js +4 -7
- package/dist/utils/createRule.js +3 -6
- package/dist/utils/files/customFileEnumeratorWrapper.js +9 -16
- package/dist/utils/files/isFilteredPath.js +2 -4
- package/dist/utils/nestModules/models/NestProvidedInjectablesMap.js +2 -6
- package/dist/utils/nestModules/nestModuleAstParser.d.ts +1 -1
- package/dist/utils/nestModules/nestModuleAstParser.js +9 -12
- package/dist/utils/nestModules/nestProvidedInjectableMapper.d.ts +1 -1
- package/dist/utils/nestModules/nestProvidedInjectableMapper.js +14 -52
- package/dist/utils/nestModules/nestProvidedInjectableMapper.testData.d.ts +1 -1
- package/dist/utils/nestModules/nestProvidedInjectableMapper.testData.js +9 -12
- package/dist/utils/nestModules/nestProviderAstParser.d.ts +1 -1
- package/dist/utils/nestModules/nestProviderAstParser.js +13 -16
- package/dist/utils/typedTokenHelpers.js +25 -64
- package/dist/utils/wellKnownSelectors.js +2 -5
- package/package.json +4 -3
- package/dist/configs/index.d.ts +0 -11
- package/dist/configs/index.js +0 -13
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class ArraySetResultModel {
|
|
1
|
+
export default class ArraySetResultModel {
|
|
4
2
|
constructor(isArrayShouldBeSetTrue, isArrayShouldBeSetFalse) {
|
|
5
3
|
this.isArrayShouldBeSetTrue = isArrayShouldBeSetTrue;
|
|
6
4
|
this.isArrayShouldBeSetFalse = isArrayShouldBeSetFalse;
|
|
7
5
|
}
|
|
8
6
|
}
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlTZXRSZXN1bHRNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy92YWxpZGF0ZU5lc3RlZE9mQXJyYXlTaG91bGRTZXRFYWNoL2FycmF5U2V0UmVzdWx0TW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFxQixtQkFBbUI7SUFDcEMsWUFDVyxzQkFBK0IsRUFDL0IsdUJBQWdDO1FBRGhDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBUztRQUMvQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVM7SUFDeEMsQ0FBQztDQUNQO0FBTEQsc0NBS0MifQ==
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlTZXRSZXN1bHRNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy92YWxpZGF0ZU5lc3RlZE9mQXJyYXlTaG91bGRTZXRFYWNoL2FycmF5U2V0UmVzdWx0TW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE9BQU8sT0FBTyxtQkFBbUI7SUFDcEMsWUFDVyxzQkFBK0IsRUFDL0IsdUJBQWdDO1FBRGhDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBUztRQUMvQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVM7SUFDeEMsQ0FBQztDQUNQIn0=
|
package/dist/rules/validateNestedOfArrayShouldSetEach/validateNestedOfArrayShouldSetEach.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import ArraySetResultModel from "./arraySetResultModel";
|
|
2
|
+
import ArraySetResultModel from "./arraySetResultModel.js";
|
|
3
3
|
export declare const shouldSetArrayProperty: (node: TSESTree.PropertyDefinition) => ArraySetResultModel;
|
|
4
4
|
declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSetEachPropertyTrue" | "shouldSetEachPropertyFalse", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
5
5
|
export default rule;
|
|
@@ -1,31 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const utils_1 = require("@typescript-eslint/utils");
|
|
8
|
-
const createRule_1 = require("../../utils/createRule");
|
|
9
|
-
const typedTokenHelpers_1 = require("../../utils/typedTokenHelpers");
|
|
10
|
-
const arraySetResultModel_1 = __importDefault(require("./arraySetResultModel"));
|
|
11
|
-
const shouldSetArrayProperty = (node) => {
|
|
12
|
-
const decorators = typedTokenHelpers_1.typedTokenHelpers.getDecoratorsNamed(node, [
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
|
+
import { createRule } from "../../utils/createRule.js";
|
|
3
|
+
import { typedTokenHelpers } from "../../utils/typedTokenHelpers.js";
|
|
4
|
+
import ArraySetResultModel from "./arraySetResultModel.js";
|
|
5
|
+
export const shouldSetArrayProperty = (node) => {
|
|
6
|
+
const decorators = typedTokenHelpers.getDecoratorsNamed(node, [
|
|
13
7
|
"ValidateNested",
|
|
14
8
|
]);
|
|
15
9
|
if (decorators.length === 0) {
|
|
16
|
-
return new
|
|
10
|
+
return new ArraySetResultModel(false, false);
|
|
17
11
|
}
|
|
18
12
|
const firstArgumentToDecorator = decorators[0].expression.arguments[0];
|
|
19
|
-
const hasEachSetInOptions =
|
|
13
|
+
const hasEachSetInOptions = typedTokenHelpers.getPropertyValueEqualsExpected(firstArgumentToDecorator, "each", true);
|
|
20
14
|
// handle string[] or Array<string>
|
|
21
15
|
const isArrayType = (node.typeAnnotation?.typeAnnotation)
|
|
22
16
|
.typeName?.name === "Array";
|
|
23
|
-
const isTypescriptArrayType = node.typeAnnotation?.typeAnnotation.type ===
|
|
17
|
+
const isTypescriptArrayType = node.typeAnnotation?.typeAnnotation.type === AST_NODE_TYPES.TSArrayType;
|
|
24
18
|
const isAnArrayLikeType = isArrayType || isTypescriptArrayType;
|
|
25
|
-
return new
|
|
19
|
+
return new ArraySetResultModel(isAnArrayLikeType && !hasEachSetInOptions, !isAnArrayLikeType && hasEachSetInOptions);
|
|
26
20
|
};
|
|
27
|
-
|
|
28
|
-
const rule = (0, createRule_1.createRule)({
|
|
21
|
+
const rule = createRule({
|
|
29
22
|
name: "validate-nested-of-array-should-set-each",
|
|
30
23
|
meta: {
|
|
31
24
|
docs: {
|
|
@@ -43,7 +36,7 @@ const rule = (0, createRule_1.createRule)({
|
|
|
43
36
|
create(context) {
|
|
44
37
|
return {
|
|
45
38
|
PropertyDefinition: (node) => {
|
|
46
|
-
const shouldSetArrayResults =
|
|
39
|
+
const shouldSetArrayResults = shouldSetArrayProperty(node);
|
|
47
40
|
if (shouldSetArrayResults.isArrayShouldBeSetFalse) {
|
|
48
41
|
context.report({
|
|
49
42
|
node: node,
|
|
@@ -60,5 +53,5 @@ const rule = (0, createRule_1.createRule)({
|
|
|
60
53
|
};
|
|
61
54
|
},
|
|
62
55
|
});
|
|
63
|
-
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
export default rule;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVOZXN0ZWRPZkFycmF5U2hvdWxkU2V0RWFjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy92YWxpZGF0ZU5lc3RlZE9mQXJyYXlTaG91bGRTZXRFYWNoL3ZhbGlkYXRlTmVzdGVkT2ZBcnJheVNob3VsZFNldEVhY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBVyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLG1CQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQ2xDLElBQWlDLEVBQ2QsRUFBRTtJQUNyQixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7UUFDMUQsZ0JBQWdCO0tBQ25CLENBQUMsQ0FBQztJQUVILElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLHdCQUF3QixHQUMxQixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFDakIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUE4QixDQUFDO0lBRTVDLE1BQU0sbUJBQW1CLEdBQ3JCLGlCQUFpQixDQUFDLDhCQUE4QixDQUM1Qyx3QkFBd0IsRUFDeEIsTUFBTSxFQUNOLElBQUksQ0FDUCxDQUFDO0lBQ04sbUNBQW1DO0lBQ25DLE1BQU0sV0FBVyxHQUVULENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUEyQyxDQUFBO1NBQzVELFFBQ1IsRUFBRSxJQUFJLEtBQUssT0FBTyxDQUFDO0lBQ3hCLE1BQU0scUJBQXFCLEdBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQzVFLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxJQUFJLHFCQUFxQixDQUFDO0lBRS9ELE9BQU8sSUFBSSxtQkFBbUIsQ0FDMUIsaUJBQWlCLElBQUksQ0FBQyxtQkFBbUIsRUFDekMsQ0FBQyxpQkFBaUIsSUFBSSxtQkFBbUIsQ0FDNUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FHckI7SUFDRSxJQUFJLEVBQUUsMENBQTBDO0lBQ2hELElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCxxRkFBcUY7U0FDNUY7UUFDRCxRQUFRLEVBQUU7WUFDTix5QkFBeUIsRUFBRSwrREFBK0Q7WUFDMUYsMEJBQTBCLEVBQUUsa0xBQWtMO1NBQ2pOO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixjQUFjLEVBQUUsS0FBSztRQUNyQixJQUFJLEVBQUUsWUFBWTtLQUNyQjtJQUNELGNBQWMsRUFBRSxFQUFFO0lBRWxCLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILGtCQUFrQixFQUFFLENBQUMsSUFBbUIsRUFBRSxFQUFFO2dCQUN4QyxNQUFNLHFCQUFxQixHQUFHLHNCQUFzQixDQUNoRCxJQUFtQyxDQUN0QyxDQUFDO2dCQUVGLElBQUkscUJBQXFCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsNEJBQTRCO3FCQUMxQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztnQkFDRCxJQUFJLHFCQUFxQixDQUFDLHNCQUFzQixFQUFFLENBQUM7b0JBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLDJCQUEyQjtxQkFDekMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxlQUFlLElBQUksQ0FBQyJ9
|
package/dist/rules/validateNonPrimitiveNeedsTypeDecorator/validateNonPrimitiveNeedsDecorators.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shouldTrigger = void 0;
|
|
4
1
|
/* eslint-disable unicorn/prevent-abbreviations */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
|
|
3
|
+
import { createRule } from "../../utils/createRule.js";
|
|
4
|
+
import { typedTokenHelpers } from "../../utils/typedTokenHelpers.js";
|
|
8
5
|
const primitiveTypes = new Set([
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
AST_NODE_TYPES.TSStringKeyword,
|
|
7
|
+
AST_NODE_TYPES.TSBooleanKeyword,
|
|
8
|
+
AST_NODE_TYPES.TSNumberKeyword,
|
|
9
|
+
AST_NODE_TYPES.TSLiteralType,
|
|
10
|
+
AST_NODE_TYPES.TSNullKeyword,
|
|
11
|
+
AST_NODE_TYPES.TSUnknownKeyword,
|
|
12
|
+
AST_NODE_TYPES.TSAnyKeyword,
|
|
13
|
+
AST_NODE_TYPES.TSObjectKeyword,
|
|
17
14
|
]);
|
|
18
|
-
const shouldTrigger = () => {
|
|
15
|
+
export const shouldTrigger = () => {
|
|
19
16
|
return true;
|
|
20
17
|
};
|
|
21
|
-
|
|
22
|
-
const rule = (0, createRule_1.createRule)({
|
|
18
|
+
const rule = createRule({
|
|
23
19
|
name: "validated-non-primitive-property-needs-type-decorator",
|
|
24
20
|
meta: {
|
|
25
21
|
docs: {
|
|
@@ -68,13 +64,13 @@ const rule = (0, createRule_1.createRule)({
|
|
|
68
64
|
additionalTypeDecorators: [],
|
|
69
65
|
additionalCustomValidatorDecorators: [],
|
|
70
66
|
};
|
|
71
|
-
const parserServices =
|
|
67
|
+
const parserServices = ESLintUtils.getParserServices(context);
|
|
72
68
|
const typeChecker = parserServices.program.getTypeChecker();
|
|
73
69
|
return {
|
|
74
70
|
PropertyDefinition(node) {
|
|
75
71
|
// if it's an array get the element type
|
|
76
72
|
let mainType;
|
|
77
|
-
const isAnArray =
|
|
73
|
+
const isAnArray = typedTokenHelpers.isTypeArrayTypeOrUnionOfArrayTypes(node, parserServices, typeChecker);
|
|
78
74
|
// this is getting very messy
|
|
79
75
|
if (isAnArray) {
|
|
80
76
|
const mainTypeInShortArray = (node.typeAnnotation
|
|
@@ -103,7 +99,7 @@ const rule = (0, createRule_1.createRule)({
|
|
|
103
99
|
return;
|
|
104
100
|
}
|
|
105
101
|
// property is a union with primitive type - no need to validate
|
|
106
|
-
const isNodeAUnionWithAPrimitive = mainType ===
|
|
102
|
+
const isNodeAUnionWithAPrimitive = mainType === AST_NODE_TYPES.TSUnionType &&
|
|
107
103
|
node.typeAnnotation
|
|
108
104
|
?.typeAnnotation?.types?.some((x) => primitiveTypes.has(x.type));
|
|
109
105
|
if (isNodeAUnionWithAPrimitive) {
|
|
@@ -112,7 +108,7 @@ const rule = (0, createRule_1.createRule)({
|
|
|
112
108
|
// if this is an enum we don't need a type decorator
|
|
113
109
|
const mappedNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
|
114
110
|
const objectType = typeChecker.getTypeAtLocation(mappedNode);
|
|
115
|
-
if (
|
|
111
|
+
if (typedTokenHelpers.isEnumType(objectType)) {
|
|
116
112
|
return;
|
|
117
113
|
}
|
|
118
114
|
// We have to make an assumption here. We assume that
|
|
@@ -120,12 +116,12 @@ const rule = (0, createRule_1.createRule)({
|
|
|
120
116
|
// And for input DTOs they should specify types.
|
|
121
117
|
// property has a validation decorator but not IsEnum
|
|
122
118
|
// (we don't care about un-validated properties and enums don't need Type())
|
|
123
|
-
const foundClassValidatorDecorators =
|
|
124
|
-
const hasEnum = foundClassValidatorDecorators.some((foundClassValidatorDecorator) =>
|
|
119
|
+
const foundClassValidatorDecorators = typedTokenHelpers.getValidationDecorators(node, additionalCustomValidatorDecorators);
|
|
120
|
+
const hasEnum = foundClassValidatorDecorators.some((foundClassValidatorDecorator) => typedTokenHelpers.decoratorIsIsEnum(foundClassValidatorDecorator));
|
|
125
121
|
if (hasEnum) {
|
|
126
122
|
return;
|
|
127
123
|
}
|
|
128
|
-
const hasObject = foundClassValidatorDecorators.some((foundClassValidatorDecorator) =>
|
|
124
|
+
const hasObject = foundClassValidatorDecorators.some((foundClassValidatorDecorator) => typedTokenHelpers.decoratorIsIsObject(foundClassValidatorDecorator));
|
|
129
125
|
if (hasObject) {
|
|
130
126
|
return;
|
|
131
127
|
}
|
|
@@ -142,15 +138,15 @@ const rule = (0, createRule_1.createRule)({
|
|
|
142
138
|
["Type"] //this is the default type decorator
|
|
143
139
|
);
|
|
144
140
|
// ok so does the property have Type decorator or custom type decorator? it probably should
|
|
145
|
-
const foundTypeDecorator =
|
|
141
|
+
const foundTypeDecorator = typedTokenHelpers.getDecoratorsNamed(node, typeDecorators);
|
|
146
142
|
if (foundTypeDecorator.length === 0) {
|
|
147
143
|
const typeAnnotationNode = node.typeAnnotation?.typeAnnotation;
|
|
148
144
|
let typeIdentifier;
|
|
149
145
|
if (typeAnnotationNode) {
|
|
150
146
|
if (typeAnnotationNode.type ===
|
|
151
|
-
|
|
147
|
+
AST_NODE_TYPES.TSTypeReference &&
|
|
152
148
|
typeAnnotationNode.typeName.type ===
|
|
153
|
-
|
|
149
|
+
AST_NODE_TYPES.Identifier) {
|
|
154
150
|
typeIdentifier = typeAnnotationNode.typeName.name;
|
|
155
151
|
if (typeAnnotationNode.typeName.name === "Array") {
|
|
156
152
|
const foundParams = (node.typeAnnotation
|
|
@@ -158,19 +154,19 @@ const rule = (0, createRule_1.createRule)({
|
|
|
158
154
|
if (foundParams && foundParams.length === 1) {
|
|
159
155
|
const typeName = foundParams[0].typeName;
|
|
160
156
|
if (typeName.type ===
|
|
161
|
-
|
|
157
|
+
AST_NODE_TYPES.Identifier) {
|
|
162
158
|
typeIdentifier = typeName.name;
|
|
163
159
|
}
|
|
164
160
|
}
|
|
165
161
|
}
|
|
166
162
|
}
|
|
167
163
|
else if (typeAnnotationNode.type ===
|
|
168
|
-
|
|
164
|
+
AST_NODE_TYPES.TSArrayType) {
|
|
169
165
|
const elementTypeNode = typeAnnotationNode.elementType;
|
|
170
166
|
if (elementTypeNode.type ===
|
|
171
|
-
|
|
167
|
+
AST_NODE_TYPES.TSTypeReference &&
|
|
172
168
|
elementTypeNode.typeName.type ===
|
|
173
|
-
|
|
169
|
+
AST_NODE_TYPES.Identifier) {
|
|
174
170
|
typeIdentifier = elementTypeNode.typeName.name;
|
|
175
171
|
}
|
|
176
172
|
}
|
|
@@ -201,5 +197,5 @@ const rule = (0, createRule_1.createRule)({
|
|
|
201
197
|
};
|
|
202
198
|
},
|
|
203
199
|
});
|
|
204
|
-
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
200
|
+
export default rule;
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVOb25QcmltaXRpdmVOZWVkc0RlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvdmFsaWRhdGVOb25QcmltaXRpdmVOZWVkc1R5cGVEZWNvcmF0b3IvdmFsaWRhdGVOb25QcmltaXRpdmVOZWVkc0RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQVksV0FBVyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBR25FLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNCLGNBQWMsQ0FBQyxlQUFlO0lBQzlCLGNBQWMsQ0FBQyxnQkFBZ0I7SUFDL0IsY0FBYyxDQUFDLGVBQWU7SUFDOUIsY0FBYyxDQUFDLGFBQWE7SUFDNUIsY0FBYyxDQUFDLGFBQWE7SUFDNUIsY0FBYyxDQUFDLGdCQUFnQjtJQUMvQixjQUFjLENBQUMsWUFBWTtJQUMzQixjQUFjLENBQUMsZUFBZTtDQUNqQyxDQUFDLENBQUM7QUFPSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBWSxFQUFFO0lBQ3ZDLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FHckI7SUFDRSxJQUFJLEVBQUUsdURBQXVEO0lBQzdELElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCxnRkFBZ0Y7U0FDdkY7UUFDRCxRQUFRLEVBQUU7WUFDTix3QkFBd0IsRUFDcEIsd0VBQXdFO1lBQzVFLHNCQUFzQixFQUNsQiw4SkFBOEo7U0FDcks7UUFDRCxNQUFNLEVBQUU7WUFDSjtnQkFDSSxJQUFJLEVBQUUsUUFBK0I7Z0JBQ3JDLFVB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
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFixturesRootDirectory = getFixturesRootDirectory;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
function getFixturesRootDirectory() {
|
|
9
|
-
return path_1.default.join(__dirname, "..", "fixtures");
|
|
1
|
+
import path from "path";
|
|
2
|
+
export function getFixturesRootDirectory() {
|
|
3
|
+
return path.join(__dirname, "..", "fixtures");
|
|
10
4
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZVNldHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvZml4dHVyZVNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixNQUFNLFVBQVUsd0JBQXdCO0lBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2xELENBQUMifQ==
|
package/dist/testing/preRun.js
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
require("reflect-metadata");
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlUnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvcHJlUnVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNEJBQTBCIn0=
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlUnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvcHJlUnVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUMifQ==
|
package/dist/utils/ast.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const types_1 = require("@typescript-eslint/types");
|
|
5
|
-
function getPropertiesDefinitions(classDeclaration) {
|
|
6
|
-
return classDeclaration.body.body.filter((element) => element.type === types_1.AST_NODE_TYPES.PropertyDefinition);
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/types";
|
|
2
|
+
export function getPropertiesDefinitions(classDeclaration) {
|
|
3
|
+
return classDeclaration.body.body.filter((element) => element.type === AST_NODE_TYPES.PropertyDefinition);
|
|
7
4
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFXLE1BQU0sMEJBQTBCLENBQUM7QUFFbEUsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxnQkFBMkM7SUFFM0MsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDcEMsQ0FBQyxPQUFPLEVBQTBDLEVBQUUsQ0FDaEQsT0FBTyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsa0JBQWtCLENBQ3pELENBQUM7QUFDTixDQUFDIn0=
|
package/dist/utils/createRule.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createRule = void 0;
|
|
4
|
-
const utils_1 = require("@typescript-eslint/utils");
|
|
1
|
+
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
5
2
|
// Note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder
|
|
6
3
|
//const {version} = require("../../package.json");
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export const createRule = ESLintUtils.RuleCreator((name) => `https://github.com/darraghoriordan/eslint-plugin-nestjs-typed/blob/main/src/docs/rules/${name}.md`);
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jcmVhdGVSdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxzSEFBc0g7QUFFdEgsa0RBQWtEO0FBRWxELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUM3QyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ0wsMEZBQTBGLElBQUksS0FBSyxDQUMxRyxDQUFDIn0=
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FileEnumerator = void 0;
|
|
7
|
-
const glob_1 = require("glob");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const isFilteredPath_1 = __importDefault(require("./isFilteredPath"));
|
|
1
|
+
import { glob } from "glob";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import IsFilteredPath from "./isFilteredPath.js";
|
|
10
4
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
11
|
-
class FileEnumerator {
|
|
5
|
+
export class FileEnumerator {
|
|
12
6
|
static enumerateFiles(sourceGlobs, extensions, filterFromPaths) {
|
|
13
7
|
// Create glob pattern that includes extensions
|
|
14
8
|
const patterns = sourceGlobs.flatMap((pattern) => {
|
|
15
|
-
if (
|
|
9
|
+
if (path.extname(pattern)) {
|
|
16
10
|
return pattern;
|
|
17
11
|
}
|
|
18
12
|
return extensions.map((extension) => `${pattern}/**/*${extension}`);
|
|
19
13
|
});
|
|
20
14
|
// Find all files matching the patterns
|
|
21
|
-
const files =
|
|
15
|
+
const files = glob.sync(patterns, {
|
|
22
16
|
ignore: ["**/node_modules/**"],
|
|
23
17
|
nodir: true,
|
|
24
18
|
});
|
|
@@ -28,9 +22,8 @@ class FileEnumerator {
|
|
|
28
22
|
ignored: false, // You can implement custom ignore logic if needed
|
|
29
23
|
filename: filePath,
|
|
30
24
|
}))
|
|
31
|
-
.filter((file) => !
|
|
25
|
+
.filter((file) => !IsFilteredPath.test(file.filename, filterFromPaths));
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tRmlsZUVudW1lcmF0b3JXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2ZpbGVzL2N1c3RvbUZpbGVFbnVtZXJhdG9yV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBMEI7QUFDMUIsZ0RBQXdCO0FBQ3hCLHNFQUE4QztBQU85QyxrRUFBa0U7QUFDbEUsTUFBYSxjQUFjO0lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQ2pCLFdBQXFCLEVBQ3JCLFVBQW9CLEVBQ3BCLGVBQXlCO1FBRXpCLCtDQUErQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxjQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sT0FBTyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQ2pCLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLFFBQVEsU0FBUyxFQUFFLENBQ3ZELENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILHVDQUF1QztRQUN2QyxNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5QixNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQUM5QixLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztRQUVILHdDQUF3QztRQUN4QyxPQUFPLEtBQUs7YUFDUCxHQUFHLENBQ0EsQ0FBQyxRQUFRLEVBQVksRUFBRSxDQUFDLENBQUM7WUFDckIsT0FBTyxFQUFFLEtBQUssRUFBRSxrREFBa0Q7WUFDbEUsUUFBUSxFQUFFLFFBQVE7U0FDckIsQ0FBQyxDQUNMO2FBQ0EsTUFBTSxDQUNILENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLHdCQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQ2pFLENBQUM7SUFDVixDQUFDO0NBQ0o7QUFsQ0Qsd0NBa0NDO0FBRUQsa0JBQWUsY0FBYyxDQUFDIn0=
|
|
28
|
+
export default FileEnumerator;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tRmlsZUVudW1lcmF0b3JXcmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2ZpbGVzL2N1c3RvbUZpbGVFbnVtZXJhdG9yV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLGNBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQU9qRCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGNBQWM7SUFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FDakIsV0FBcUIsRUFDckIsVUFBb0IsRUFDcEIsZUFBeUI7UUFFekIsK0NBQStDO1FBQy9DLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxPQUFPLENBQUM7WUFDbkIsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FDakIsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sUUFBUSxTQUFTLEVBQUUsQ0FDdkQsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsdUNBQXVDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzlCLE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQzlCLEtBQUssRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsd0NBQXdDO1FBQ3hDLE9BQU8sS0FBSzthQUNQLEdBQUcsQ0FDQSxDQUFDLFFBQVEsRUFBWSxFQUFFLENBQUMsQ0FBQztZQUNyQixPQUFPLEVBQUUsS0FBSyxFQUFFLGtEQUFrRDtZQUNsRSxRQUFRLEVBQUUsUUFBUTtTQUNyQixDQUFDLENBQ0w7YUFDQSxNQUFNLENBQ0gsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUNqRSxDQUFDO0lBQ1YsQ0FBQztDQUNKO0FBRUQsZUFBZSxjQUFjLENBQUMifQ==
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
4
2
|
class IsFilteredPath {
|
|
5
3
|
}
|
|
@@ -12,5 +10,5 @@ IsFilteredPath.test = (path, filteredStrings) => {
|
|
|
12
10
|
});
|
|
13
11
|
return hasFoundFilter ?? false;
|
|
14
12
|
};
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
export default IsFilteredPath;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNGaWx0ZXJlZFBhdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZmlsZXMvaXNGaWx0ZXJlZFBhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0VBQWtFO0FBQ2xFLE1BQU0sY0FBYzs7QUFDVCxtQkFBSSxHQUFHLENBQ1YsSUFBd0IsRUFDeEIsZUFBcUMsRUFDOUIsRUFBRTtJQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNSLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDN0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxjQUFjLElBQUksS0FBSyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUdOLGVBQWUsY0FBYyxDQUFDIn0=
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NestProvidedInjectablesMap = void 0;
|
|
4
|
-
class NestProvidedInjectablesMap {
|
|
1
|
+
export class NestProvidedInjectablesMap {
|
|
5
2
|
constructor(controllers, providers) {
|
|
6
3
|
this.controllers = controllers;
|
|
7
4
|
this.providers = providers;
|
|
8
5
|
}
|
|
9
6
|
}
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdFByb3ZpZGVkSW5qZWN0YWJsZXNNYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvbmVzdE1vZHVsZXMvbW9kZWxzL05lc3RQcm92aWRlZEluamVjdGFibGVzTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWEsMEJBQTBCO0lBQ25DLFlBQ1csV0FBd0IsRUFDeEIsU0FBc0I7UUFEdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBYTtJQUM5QixDQUFDO0NBQ1A7QUFMRCxnRUFLQyJ9
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmVzdFByb3ZpZGVkSW5qZWN0YWJsZXNNYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvbmVzdE1vZHVsZXMvbW9kZWxzL05lc3RQcm92aWRlZEluamVjdGFibGVzTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywwQkFBMEI7SUFDbkMsWUFDVyxXQUF3QixFQUN4QixTQUFzQjtRQUR0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFhO0lBQzlCLENBQUM7Q0FDUCJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap";
|
|
2
|
+
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap.js";
|
|
3
3
|
export declare const nestModuleAstParser: {
|
|
4
4
|
findNestModuleClass(ast: TSESTree.Program): TSESTree.ClassDeclaration | null;
|
|
5
5
|
mapNestModuleDecorator(n: TSESTree.ClassDeclaration, path: string): [string, NestProvidedInjectablesMap] | null;
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("@typescript-eslint/utils");
|
|
5
|
-
const NestProvidedInjectablesMap_1 = require("./models/NestProvidedInjectablesMap");
|
|
6
|
-
exports.nestModuleAstParser = {
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
|
+
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap.js";
|
|
3
|
+
export const nestModuleAstParser = {
|
|
7
4
|
findNestModuleClass(ast) {
|
|
8
5
|
for (const n of ast.body) {
|
|
9
6
|
// find class declaration even if it's inside an export
|
|
10
|
-
if (n.type ===
|
|
7
|
+
if (n.type === AST_NODE_TYPES.ClassDeclaration &&
|
|
11
8
|
n.decorators &&
|
|
12
9
|
n.decorators.length > 0) {
|
|
13
10
|
return n;
|
|
14
11
|
}
|
|
15
|
-
if ((n.type ===
|
|
16
|
-
n.type ===
|
|
17
|
-
n.declaration?.type ===
|
|
12
|
+
if ((n.type === AST_NODE_TYPES.ExportNamedDeclaration ||
|
|
13
|
+
n.type === AST_NODE_TYPES.ExportDefaultDeclaration) &&
|
|
14
|
+
n.declaration?.type === AST_NODE_TYPES.ClassDeclaration) {
|
|
18
15
|
return n.declaration;
|
|
19
16
|
}
|
|
20
17
|
}
|
|
@@ -29,7 +26,7 @@ exports.nestModuleAstParser = {
|
|
|
29
26
|
const mappedProviderElements = this.mapModuleDecoratorOptionProperty(moduleDecorator, "providers");
|
|
30
27
|
const nestModuleMap = [
|
|
31
28
|
path,
|
|
32
|
-
new
|
|
29
|
+
new NestProvidedInjectablesMap(mappedControllerElements, mappedProviderElements),
|
|
33
30
|
];
|
|
34
31
|
return nestModuleMap;
|
|
35
32
|
}
|
|
@@ -50,4 +47,4 @@ exports.nestModuleAstParser = {
|
|
|
50
47
|
return new Set();
|
|
51
48
|
},
|
|
52
49
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdE1vZHVsZUFzdFBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9uZXN0TW9kdWxlcy9uZXN0TW9kdWxlQXN0UGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQVcsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixtQkFBbUIsQ0FDZixHQUFxQjtRQUVyQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2Qix1REFBdUQ7WUFDdkQsSUFDSSxDQUFDLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxnQkFBZ0I7Z0JBQzFDLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDekIsQ0FBQztnQkFDQyxPQUFPLENBQUMsQ0FBQztZQUNiLENBQUM7WUFFRCxJQUNJLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsc0JBQXNCO2dCQUM3QyxDQUFDLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLEtBQUssY0FBYyxDQUFDLGdCQUFnQixFQUN6RCxDQUFDO2dCQUNDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxzQkFBc0IsQ0FDbEIsQ0FBNEIsRUFDNUIsSUFBWTtRQUVaLCtDQUErQztRQUMvQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDckMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUVHLENBQUMsQ0FBQyxVQUFzQzthQUNwQyxNQUNSLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FDMUIsQ0FBQztRQUNGLElBQUksZUFBZSxFQUFFLENBQUM7WUFDbEIsTUFBTSx3QkFBd0IsR0FDMUIsSUFBSSxDQUFDLGdDQUFnQyxDQUNqQyxlQUFlLEVBQ2YsYUFBYSxDQUNoQixDQUFDO1lBQ04sTUFBTSxzQkFBc0IsR0FDeEIsSUFBSSxDQUFDLGdDQUFnQyxDQUNqQyxlQUFlLEVBQ2YsV0FBVyxDQUNkLENBQUM7WUFFTixNQUFNLGFBQWEsR0FBeUM7Z0JBQ3hELElBQUk7Z0JBQ0osSUFBSSwwQkFBMEIsQ0FDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixDQUN6QjthQUNKLENBQUM7WUFDRixPQUFPLGFBQWEsQ0FBQztRQUN6QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGdDQUFnQyxDQUM1QixlQUFtQyxFQUNuQyxZQUFvQjtRQUVwQixNQUFNLGNBQWMsR0FDZixlQUFlLENBQUMsVUFBaUQ7YUFDN0QsU0FBUyxDQUFDLENBQUMsQ0FDbkIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNiLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDQSxDQUF1QixDQUFDLEdBQTJCLENBQUMsSUFBSTtZQUMxRCxZQUFZLENBQ25CLENBQUM7UUFFRixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLHlEQUF5RDtZQUN6RCx3Q0FBd0M7WUFDeEMsa0RBQWtEO1lBRWxELE1BQU0saUNBQWlDLEdBRTlCLGNBQStDO2lCQUMzQyxLQUNSLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUVyQixPQUFPLElBQUksR0FBRyxDQUNWLGlDQUFpQyxDQUFDLEdBQUcsQ0FDakMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFFLE9BQStCLENBQUMsSUFBSSxDQUNyRCxDQUNKLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Q0FDSixDQUFDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESLint, TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap";
|
|
2
|
+
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap.js";
|
|
3
3
|
declare const NestProvidedInjectableMapper: {
|
|
4
4
|
detectDirectoryToScanForFiles(sourceGlob: string | string[] | undefined, currentWorkingDirectory: string): string[];
|
|
5
5
|
parseFileList(files: {
|
|
@@ -1,48 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
1
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
40
2
|
// @ts-ignore
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
3
|
+
import * as unambiguous from "eslint-module-utils/unambiguous";
|
|
4
|
+
import fs from "fs";
|
|
5
|
+
import { typedTokenHelpers } from "../typedTokenHelpers.js";
|
|
6
|
+
import { nestModuleAstParser } from "./nestModuleAstParser.js";
|
|
7
|
+
import { nestProviderAstParser } from "./nestProviderAstParser.js";
|
|
46
8
|
const implementsForInjectablesThatAreNotProvided = new Set([
|
|
47
9
|
"CanActivate", //(isAGuard)
|
|
48
10
|
"NestInterceptor", //(isAnInterceptor)
|
|
@@ -67,7 +29,7 @@ const NestProvidedInjectableMapper = {
|
|
|
67
29
|
files
|
|
68
30
|
.map((f) => {
|
|
69
31
|
const fileContents = NestProvidedInjectableMapper.readFileContents(f.filename);
|
|
70
|
-
const fileAstString =
|
|
32
|
+
const fileAstString = typedTokenHelpers.parseStringToAst(fileContents, f.filename, context);
|
|
71
33
|
return NestProvidedInjectableMapper.mapAllProvidedInjectables(fileAstString, f.filename);
|
|
72
34
|
})
|
|
73
35
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
@@ -81,7 +43,7 @@ const NestProvidedInjectableMapper = {
|
|
|
81
43
|
return true;
|
|
82
44
|
},
|
|
83
45
|
readFileContents(path) {
|
|
84
|
-
return
|
|
46
|
+
return fs.readFileSync(path, { encoding: "utf8" });
|
|
85
47
|
},
|
|
86
48
|
isNestInjectableThatIsNeverProvided(node) {
|
|
87
49
|
for (const implementsClass of node.implements || []) {
|
|
@@ -102,18 +64,18 @@ const NestProvidedInjectableMapper = {
|
|
|
102
64
|
// set up the response model
|
|
103
65
|
let nestModuleMap = null;
|
|
104
66
|
// Is this a module?
|
|
105
|
-
const foundNestModuleClass =
|
|
67
|
+
const foundNestModuleClass = nestModuleAstParser.findNestModuleClass(ast);
|
|
106
68
|
if (foundNestModuleClass) {
|
|
107
|
-
nestModuleMap =
|
|
69
|
+
nestModuleMap = nestModuleAstParser.mapNestModuleDecorator(foundNestModuleClass, path);
|
|
108
70
|
return nestModuleMap;
|
|
109
71
|
}
|
|
110
72
|
// or is this a custom provider that would provide an instance of the class?
|
|
111
73
|
// if it is we map the itentifier it "provide"s. This will only work if it's an identifier
|
|
112
74
|
// it can't be provider for a string literal "provide".
|
|
113
|
-
const foundProviderDeclaration =
|
|
114
|
-
const provideProperty =
|
|
75
|
+
const foundProviderDeclaration = nestProviderAstParser.findNestProviderVariableDeclaration(ast);
|
|
76
|
+
const provideProperty = nestProviderAstParser.findProvideProperty(foundProviderDeclaration, "provide");
|
|
115
77
|
if (provideProperty) {
|
|
116
|
-
nestModuleMap =
|
|
78
|
+
nestModuleMap = nestProviderAstParser.mapNestProviderObject(provideProperty, path);
|
|
117
79
|
}
|
|
118
80
|
return nestModuleMap;
|
|
119
81
|
}
|
|
@@ -125,5 +87,5 @@ const NestProvidedInjectableMapper = {
|
|
|
125
87
|
}
|
|
126
88
|
},
|
|
127
89
|
};
|
|
128
|
-
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
export default NestProvidedInjectableMapper;
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdFByb3ZpZGVkSW5qZWN0YWJsZU1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9uZXN0TW9kdWxlcy9uZXN0UHJvdmlkZWRJbmplY3RhYmxlTWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2IsT0FBTyxLQUFLLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFakUsTUFBTSwwQ0FBMEMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN2RCxhQUFhLEVBQUUsWUFBWTtJQUMzQixpQkFBaUIsRUFBRSxtQkFBbUI7SUFDdEMsZUFBZSxFQUFFLG9CQUFvQjtJQUNyQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Q0FDckMsQ0FBQyxDQUFDO0FBQ0gsTUFBTSw0QkFBNEIsR0FBRztJQUNqQyw2QkFBNkIsQ0FDekIsVUFBeUMsRUFDekMsdUJBQStCO1FBRS9CLElBQUksVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUNULGdHQUFnRyxFQUNoRyxFQUFDLHVCQUF1QixFQUFDLENBQzVCLENBQUM7UUFDRixPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap";
|
|
1
|
+
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap.js";
|
|
2
2
|
export declare const fakeFilePath = "fake/path.ts";
|
|
3
3
|
export declare const fakeContext: any;
|
|
4
4
|
export declare const moduleMappingTestData: {
|