@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
|
-
|
|
3
|
-
exports.moduleMappingTestData = exports.fakeContext = exports.fakeFilePath = void 0;
|
|
4
|
-
const NestProvidedInjectablesMap_1 = require("./models/NestProvidedInjectablesMap");
|
|
5
|
-
exports.fakeFilePath = "fake/path.ts";
|
|
1
|
+
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap.js";
|
|
2
|
+
export const fakeFilePath = "fake/path.ts";
|
|
6
3
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
7
|
-
|
|
4
|
+
export const fakeContext = {
|
|
8
5
|
parserOptions: {
|
|
9
6
|
ecmaVersion: 2019,
|
|
10
7
|
ecmaFeatures: { globalReturn: false },
|
|
@@ -12,7 +9,7 @@ exports.fakeContext = {
|
|
|
12
9
|
},
|
|
13
10
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
11
|
};
|
|
15
|
-
|
|
12
|
+
export const moduleMappingTestData = [
|
|
16
13
|
{
|
|
17
14
|
moduleCode: `import { Module } from "@nestjs/common";
|
|
18
15
|
|
|
@@ -27,8 +24,8 @@ exports.moduleMappingTestData = [
|
|
|
27
24
|
})
|
|
28
25
|
export class MyModule {}`,
|
|
29
26
|
expectedMapping: [
|
|
30
|
-
|
|
31
|
-
new
|
|
27
|
+
fakeFilePath,
|
|
28
|
+
new NestProvidedInjectablesMap(new Set(["MyController"]), new Set(["MyProvider", "MyInjectable"])),
|
|
32
29
|
],
|
|
33
30
|
},
|
|
34
31
|
{
|
|
@@ -45,9 +42,9 @@ export const MyOtherInjectableProvider: Provider = {
|
|
|
45
42
|
inject: [MyService],
|
|
46
43
|
};`,
|
|
47
44
|
expectedMapping: [
|
|
48
|
-
|
|
49
|
-
new
|
|
45
|
+
fakeFilePath,
|
|
46
|
+
new NestProvidedInjectablesMap(new Set([]), new Set(["MyOtherInjectable"])),
|
|
50
47
|
],
|
|
51
48
|
},
|
|
52
49
|
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdFByb3ZpZGVkSW5qZWN0YWJsZU1hcHBlci50ZXN0RGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9uZXN0TW9kdWxlcy9uZXN0UHJvdmlkZWRJbmplY3RhYmxlTWFwcGVyLnRlc3REYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUM7QUFDM0MsbUVBQW1FO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixhQUFhLEVBQUU7UUFDWCxXQUFXLEVBQUUsSUFBNEI7UUFDekMsWUFBWSxFQUFFLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBQztRQUNuQyxVQUFVLEVBQUUsUUFBUTtLQUNHO0lBQzNCLDhEQUE4RDtDQUMxRCxDQUFDO0FBQ1QsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakM7UUFDSSxVQUFVLEVBQUU7Ozs7Ozs7Ozs7OzZCQVdTO1FBQ3JCLGVBQWUsRUFBRTtZQUNiLFlBQVk7WUFDWixJQUFJLDBCQUEwQixDQUMxQixJQUFJLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQ3pCLElBQUksR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQzFDO1NBQ0o7S0FDSjtJQUNEO1FBQ0ksVUFBVSxFQUFFOzs7Ozs7Ozs7OztHQVdqQjtRQUNLLGVBQWUsRUFBRTtZQUNiLFlBQVk7WUFDWixJQUFJLDBCQUEwQixDQUMxQixJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFDWCxJQUFJLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FDakM7U0FDSjtLQUNKO0NBQ0osQ0FBQyJ9
|
|
@@ -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 nestProviderAstParser: {
|
|
4
4
|
mapNestProviderObject(n: TSESTree.Property, path: string): [string, NestProvidedInjectablesMap] | null;
|
|
5
5
|
findProvideProperty(providerDeclaration: TSESTree.VariableDeclarator | undefined, propertyName: string): TSESTree.Property | null;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("@typescript-eslint/utils");
|
|
5
|
-
const NestProvidedInjectablesMap_1 = require("./models/NestProvidedInjectablesMap");
|
|
6
|
-
exports.nestProviderAstParser = {
|
|
1
|
+
import { AST_NODE_TYPES } from "@typescript-eslint/utils";
|
|
2
|
+
import { NestProvidedInjectablesMap } from "./models/NestProvidedInjectablesMap.js";
|
|
3
|
+
export const nestProviderAstParser = {
|
|
7
4
|
mapNestProviderObject(n, path) {
|
|
8
5
|
const propertyName = n.value?.name;
|
|
9
6
|
if (propertyName) {
|
|
10
7
|
return [
|
|
11
8
|
path,
|
|
12
|
-
new
|
|
9
|
+
new NestProvidedInjectablesMap(new Set(), new Set([propertyName])),
|
|
13
10
|
];
|
|
14
11
|
}
|
|
15
12
|
return null;
|
|
@@ -24,24 +21,24 @@ exports.nestProviderAstParser = {
|
|
|
24
21
|
},
|
|
25
22
|
findNestProviderVariableDeclaration(ast) {
|
|
26
23
|
for (const n of ast.body) {
|
|
27
|
-
if ((n.type ===
|
|
28
|
-
n.type ===
|
|
29
|
-
n.declaration?.type ===
|
|
24
|
+
if ((n.type === AST_NODE_TYPES.ExportNamedDeclaration ||
|
|
25
|
+
n.type === AST_NODE_TYPES.ExportDefaultDeclaration) &&
|
|
26
|
+
n.declaration?.type === AST_NODE_TYPES.VariableDeclaration) {
|
|
30
27
|
const providerDeclaration = n.declaration.declarations.find((d) => {
|
|
31
|
-
const isObjectExpression = (d.type ===
|
|
28
|
+
const isObjectExpression = (d.type === AST_NODE_TYPES.VariableDeclarator &&
|
|
32
29
|
// has property "provide" and that property is an identifier
|
|
33
30
|
d.init?.type ===
|
|
34
|
-
|
|
31
|
+
AST_NODE_TYPES.ObjectExpression) ||
|
|
35
32
|
false;
|
|
36
33
|
const hasProvideProperty = isObjectExpression &&
|
|
37
34
|
d.init.properties.some((property) => {
|
|
38
35
|
return ((property.type ===
|
|
39
|
-
|
|
36
|
+
AST_NODE_TYPES.Property &&
|
|
40
37
|
property.key.type ===
|
|
41
|
-
|
|
38
|
+
AST_NODE_TYPES.Identifier &&
|
|
42
39
|
property.key.name === "provide" &&
|
|
43
40
|
property.value.type ===
|
|
44
|
-
|
|
41
|
+
AST_NODE_TYPES.Identifier) ||
|
|
45
42
|
false);
|
|
46
43
|
});
|
|
47
44
|
return hasProvideProperty;
|
|
@@ -52,4 +49,4 @@ exports.nestProviderAstParser = {
|
|
|
52
49
|
return undefined;
|
|
53
50
|
},
|
|
54
51
|
};
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdFByb3ZpZGVyQXN0UGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL25lc3RNb2R1bGVzL25lc3RQcm92aWRlckFzdFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFXLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMscUJBQXFCLENBQ2pCLENBQW9CLEVBQ3BCLElBQVk7UUFFWixNQUFNLFlBQVksR0FBSSxDQUFDLENBQUMsS0FBNkIsRUFBRSxJQUFJLENBQUM7UUFDNUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLE9BQU87Z0JBQ0gsSUFBSTtnQkFDSixJQUFJLDBCQUEwQixDQUMxQixJQUFJLEdBQUcsRUFBRSxFQUNULElBQUksR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDMUI7YUFDSixDQUFDO1FBQ04sQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxtQkFBbUIsQ0FDZixtQkFBNEQsRUFDNUQsWUFBb0I7UUFFcEIsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RCLE1BQU0scUJBQXFCLEdBQ3ZCLG1CQUFtQixDQUFDLElBQ3ZCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDYixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0EsQ0FBdUIsQ0FBQyxHQUEyQjtpQkFDaEQsSUFBSSxLQUFLLFlBQVksQ0FDWixDQUFDO1lBQ3ZCLE9BQU8scUJBQXFCLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxtQ0FBbUMsQ0FDL0IsR0FBcUI7UUFFckIsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFDSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLHNCQUFzQjtnQkFDN0MsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLGNBQWMsQ0FBQyxtQkFBbUIsRUFDNUQsQ0FBQztnQkFDQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdkQsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDRixNQUFNLGtCQUFrQixHQUNwQixDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLGtCQUFrQjt3QkFDekMsNERBQTREO3dCQUM1RCxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUk7NEJBQ1IsY0FBYyxDQUFDLGdCQUFnQixDQUFDO3dCQUN4QyxLQUFLLENBQUM7b0JBRVYsTUFBTSxrQkFBa0IsR0FDcEIsa0JBQWtCO3dCQUVkLENBQUMsQ0FBQyxJQUNMLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFOzRCQUMzQixPQUFPLENBQ0gsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQ0FDVixjQUFjLENBQUMsUUFBUTtnQ0FDdkIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJO29DQUNiLGNBQWMsQ0FBQyxVQUFVO2dDQUM3QixRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTO2dDQUMvQixRQUFRLENBQUMsS0FBSyxDQUFDLElBQUk7b0NBQ2YsY0FBYyxDQUFDLFVBQVUsQ0FBQztnQ0FDbEMsS0FBSyxDQUNSLENBQUM7d0JBQ04sQ0FBQyxDQUFDLENBQUM7b0JBQ1AsT0FBTyxrQkFBa0IsQ0FBQztnQkFDOUIsQ0FBQyxDQUNKLENBQUM7Z0JBRUYsT0FBTyxtQkFBbUIsQ0FBQztZQUMvQixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7Q0FDSixDQUFDIn0=
|
|
@@ -1,48 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
exports.typedTokenHelpers = void 0;
|
|
40
|
-
const utils_1 = require("@typescript-eslint/utils");
|
|
41
|
-
const parser_1 = require("@typescript-eslint/parser");
|
|
42
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
43
|
-
const tsutilsImp = __importStar(require("ts-api-utils"));
|
|
1
|
+
import { AST_NODE_TYPES, TSESTree } from "@typescript-eslint/utils";
|
|
2
|
+
import { parse } from "@typescript-eslint/parser";
|
|
3
|
+
import ts from "typescript";
|
|
4
|
+
import * as tsutilsImp from "ts-api-utils";
|
|
44
5
|
const tsutils = tsutilsImp;
|
|
45
|
-
|
|
6
|
+
export const typedTokenHelpers = {
|
|
46
7
|
decoratorsThatCouldMeanTheDevIsValidatingAnArray: [
|
|
47
8
|
"IsArray",
|
|
48
9
|
"ArrayMinSize",
|
|
@@ -54,7 +15,7 @@ exports.typedTokenHelpers = {
|
|
|
54
15
|
],
|
|
55
16
|
isTypeArrayTypeOrUnionOfArrayTypes(node, parserService, checker) {
|
|
56
17
|
if (node.typeAnnotation?.typeAnnotation
|
|
57
|
-
.type ===
|
|
18
|
+
.type === TSESTree.AST_NODE_TYPES.TSArrayType) {
|
|
58
19
|
return true;
|
|
59
20
|
}
|
|
60
21
|
const nodeType = this.getNodeType(node, parserService, checker);
|
|
@@ -70,7 +31,7 @@ exports.typedTokenHelpers = {
|
|
|
70
31
|
},
|
|
71
32
|
getNodeType(node, parserService, checker) {
|
|
72
33
|
const tsNode = parserService.esTreeNodeToTSNodeMap.get(node);
|
|
73
|
-
return
|
|
34
|
+
return typedTokenHelpers.getConstrainedTypeAtLocation(checker, tsNode);
|
|
74
35
|
},
|
|
75
36
|
expressionNodeIsArrayType(node, parserService, checker) {
|
|
76
37
|
const nodeType = this.getNodeType(node, parserService, checker);
|
|
@@ -79,11 +40,11 @@ exports.typedTokenHelpers = {
|
|
|
79
40
|
getPropertyValueEqualsExpected(firstArgument, propertyName, expectedValue) {
|
|
80
41
|
let didMatchExpectedValues = false;
|
|
81
42
|
if (firstArgument !== undefined) {
|
|
82
|
-
const foundPropertyOfName = firstArgument.properties.find((p) => p.type ===
|
|
43
|
+
const foundPropertyOfName = firstArgument.properties.find((p) => p.type === TSESTree.AST_NODE_TYPES.Property &&
|
|
83
44
|
p.key.name === propertyName);
|
|
84
45
|
didMatchExpectedValues =
|
|
85
46
|
foundPropertyOfName !== undefined &&
|
|
86
|
-
foundPropertyOfName.type ===
|
|
47
|
+
foundPropertyOfName.type === TSESTree.AST_NODE_TYPES.Property &&
|
|
87
48
|
foundPropertyOfName.value.value ===
|
|
88
49
|
expectedValue;
|
|
89
50
|
}
|
|
@@ -109,7 +70,7 @@ exports.typedTokenHelpers = {
|
|
|
109
70
|
return decorators || [];
|
|
110
71
|
},
|
|
111
72
|
parseStringToAst(code, path, context) {
|
|
112
|
-
return
|
|
73
|
+
return parse(code, {
|
|
113
74
|
filePath: path,
|
|
114
75
|
range: true,
|
|
115
76
|
tokens: true,
|
|
@@ -119,12 +80,12 @@ exports.typedTokenHelpers = {
|
|
|
119
80
|
},
|
|
120
81
|
isEnumType(type) {
|
|
121
82
|
// if for some reason this returns true...
|
|
122
|
-
if (tsutils.isTypeFlagSet(type,
|
|
83
|
+
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Enum))
|
|
123
84
|
return true;
|
|
124
|
-
if (tsutils.isTypeFlagSet(type,
|
|
85
|
+
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.EnumLike))
|
|
125
86
|
return true;
|
|
126
87
|
// it's not an enum type if it's an enum literal type
|
|
127
|
-
if (tsutils.isTypeFlagSet(type,
|
|
88
|
+
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.EnumLiteral) &&
|
|
128
89
|
!type.isUnion())
|
|
129
90
|
return false;
|
|
130
91
|
// get the symbol and check if its value declaration is an enum declaration
|
|
@@ -133,10 +94,10 @@ exports.typedTokenHelpers = {
|
|
|
133
94
|
return false;
|
|
134
95
|
const { valueDeclaration } = symbol;
|
|
135
96
|
return (valueDeclaration != null &&
|
|
136
|
-
valueDeclaration.kind ===
|
|
97
|
+
valueDeclaration.kind === ts.SyntaxKind.EnumDeclaration);
|
|
137
98
|
},
|
|
138
99
|
isOptionalPropertyValue(node) {
|
|
139
|
-
const isUndefinedType = node.typeAnnotation?.typeAnnotation?.types?.find((t) => t.type ===
|
|
100
|
+
const isUndefinedType = node.typeAnnotation?.typeAnnotation?.types?.find((t) => t.type === AST_NODE_TYPES.TSUndefinedKeyword) !== undefined;
|
|
140
101
|
const isOptionalPropertyValue = node.optional || isUndefinedType || false;
|
|
141
102
|
return isOptionalPropertyValue;
|
|
142
103
|
},
|
|
@@ -160,7 +121,7 @@ exports.typedTokenHelpers = {
|
|
|
160
121
|
if (!decoratorName) {
|
|
161
122
|
return false;
|
|
162
123
|
}
|
|
163
|
-
return imports.some((imp) =>
|
|
124
|
+
return imports.some((imp) => typedTokenHelpers.importIsDecorator(imp, decoratorName));
|
|
164
125
|
},
|
|
165
126
|
/**
|
|
166
127
|
* Checks whether a decorator is a class validator decorator
|
|
@@ -171,8 +132,8 @@ exports.typedTokenHelpers = {
|
|
|
171
132
|
if (!program) {
|
|
172
133
|
return false;
|
|
173
134
|
}
|
|
174
|
-
const imports = program.body.filter((node) => node.type ===
|
|
175
|
-
return
|
|
135
|
+
const imports = program.body.filter((node) => node.type === TSESTree.AST_NODE_TYPES.ImportDeclaration);
|
|
136
|
+
return typedTokenHelpers.decoratorIsImportedFromClassValidator(imports, decorator);
|
|
176
137
|
},
|
|
177
138
|
/**
|
|
178
139
|
* Gets the root program of a node
|
|
@@ -181,7 +142,7 @@ exports.typedTokenHelpers = {
|
|
|
181
142
|
getRootProgram(node) {
|
|
182
143
|
let root = node;
|
|
183
144
|
while (root.parent) {
|
|
184
|
-
if (root.parent.type ===
|
|
145
|
+
if (root.parent.type === TSESTree.AST_NODE_TYPES.Program) {
|
|
185
146
|
return root.parent;
|
|
186
147
|
}
|
|
187
148
|
root = root.parent;
|
|
@@ -193,11 +154,11 @@ exports.typedTokenHelpers = {
|
|
|
193
154
|
* @param node PropertyDefinition node
|
|
194
155
|
*/
|
|
195
156
|
getValidationDecorators(node, additionalCustomValidatorDecorators = []) {
|
|
196
|
-
const program =
|
|
157
|
+
const program = typedTokenHelpers.getRootProgram(node);
|
|
197
158
|
const { decorators } = node;
|
|
198
159
|
return (decorators.filter((decorator) => {
|
|
199
|
-
const isClassValidatorDecorator =
|
|
200
|
-
const decoratorName =
|
|
160
|
+
const isClassValidatorDecorator = typedTokenHelpers.decoratorIsClassValidatorDecorator(program, decorator);
|
|
161
|
+
const decoratorName = typedTokenHelpers.getDecoratorName(decorator);
|
|
201
162
|
const isCustomClassValidatorDecorator = decoratorName === null
|
|
202
163
|
? false
|
|
203
164
|
: additionalCustomValidatorDecorators.includes(decoratorName);
|
|
@@ -225,14 +186,14 @@ exports.typedTokenHelpers = {
|
|
|
225
186
|
* @param decorator
|
|
226
187
|
*/
|
|
227
188
|
getDecoratorName(decorator) {
|
|
228
|
-
if (decorator.expression.type !==
|
|
189
|
+
if (decorator.expression.type !== TSESTree.AST_NODE_TYPES.CallExpression) {
|
|
229
190
|
return null;
|
|
230
191
|
}
|
|
231
192
|
if (decorator.expression.callee.type !==
|
|
232
|
-
|
|
193
|
+
TSESTree.AST_NODE_TYPES.Identifier) {
|
|
233
194
|
return null;
|
|
234
195
|
}
|
|
235
196
|
return decorator.expression.callee.name;
|
|
236
197
|
},
|
|
237
198
|
};
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRUb2tlbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdHlwZWRUb2tlbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBWSxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsS0FBSyxFQUFpQixNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEtBQUssVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUUzQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUM7QUFFM0IsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsZ0RBQWdELEVBQUU7UUFDOUMsU0FBUztRQUNULGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsYUFBYTtLQUNoQjtJQUNELGtDQUFrQyxDQUM5QixJQUFtQixFQUNuQixhQUE2QixFQUM3QixPQUF1QjtRQUV2QixJQUNLLElBQW9DLENBQUMsY0FBYyxFQUFFLGNBQWM7YUFDL0QsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUNuRCxDQUFDO1lBQ0MsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUs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
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.MODULE_CLASS_DECORATOR = void 0;
|
|
4
|
-
exports.MODULE_CLASS_DECORATOR = 'ClassDeclaration > Decorator[expression.callee.name="Module"]';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VsbEtub3duU2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3dlbGxLbm93blNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLHNCQUFzQixHQUMvQiwrREFBK0QsQ0FBQyJ9
|
|
1
|
+
export const MODULE_CLASS_DECORATOR = 'ClassDeclaration > Decorator[expression.callee.name="Module"]';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VsbEtub3duU2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3dlbGxLbm93blNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FDL0IsK0RBQStELENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@darraghor/eslint-plugin-nestjs-typed",
|
|
3
|
-
"version": "6.0.0
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"description": "Eslint rules for nestjs projects",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"clean": "rm -Rf ./dist/",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"url": "https://darraghoriordan.com"
|
|
48
48
|
},
|
|
49
49
|
"main": "dist/index.js",
|
|
50
|
-
"type": "
|
|
50
|
+
"type": "module",
|
|
51
51
|
"exports": {
|
|
52
52
|
".": {
|
|
53
53
|
"types": "./dist/index.d.ts",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"./package.json": "./package.json"
|
|
57
57
|
},
|
|
58
58
|
"types": "./dist/index.d.ts",
|
|
59
|
+
"sideEffects": false,
|
|
59
60
|
"dependencies": {
|
|
60
61
|
"@typescript-eslint/scope-manager": "^8.21.0",
|
|
61
62
|
"@typescript-eslint/utils": "^8.21.0",
|
|
@@ -99,7 +100,7 @@
|
|
|
99
100
|
"peerDependencies": {
|
|
100
101
|
"@typescript-eslint/parser": "^7.0.0 || ^8.0.0",
|
|
101
102
|
"class-validator": "*",
|
|
102
|
-
"eslint": "
|
|
103
|
+
"eslint": ">=9.18.0"
|
|
103
104
|
},
|
|
104
105
|
"keywords": [
|
|
105
106
|
"eslint",
|
package/dist/configs/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare const allConfigs: {
|
|
2
|
-
recommended: {
|
|
3
|
-
extends: string[];
|
|
4
|
-
rules: Partial<import("eslint").Linter.RulesRecord>;
|
|
5
|
-
};
|
|
6
|
-
"no-swagger": {
|
|
7
|
-
extends: string[];
|
|
8
|
-
rules: Partial<import("eslint").Linter.RulesRecord>;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export default allConfigs;
|
package/dist/configs/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
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
|
-
const noSwagger_1 = __importDefault(require("./noSwagger"));
|
|
7
|
-
const recommended_1 = __importDefault(require("./recommended"));
|
|
8
|
-
const allConfigs = {
|
|
9
|
-
recommended: recommended_1.default,
|
|
10
|
-
"no-swagger": noSwagger_1.default,
|
|
11
|
-
};
|
|
12
|
-
exports.default = allConfigs;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDREQUFvQztBQUNwQyxnRUFBd0M7QUFDeEMsTUFBTSxVQUFVLEdBQUc7SUFDZixXQUFXLEVBQUUscUJBQVc7SUFDeEIsWUFBWSxFQUFFLG1CQUFTO0NBQzFCLENBQUM7QUFFRixrQkFBZSxVQUFVLENBQUMifQ==
|