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