Skip to content

Commit 62317c8

Browse files
Revert "fix: properly import external enums"
1 parent 3d83335 commit 62317c8

File tree

4 files changed

+14
-98
lines changed

4 files changed

+14
-98
lines changed

lib/plugin/utils/external-imports.util.ts

-54
This file was deleted.

lib/plugin/visitors/model-class.visitor.ts

+13-33
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ import {
2828
} from '../utils/plugin-utils';
2929
import { typeReferenceToIdentifier } from '../utils/type-reference-to-identifier.util';
3030
import { AbstractFileVisitor } from './abstract.visitor';
31-
import {
32-
getExternalImports,
33-
replaceExternalImportsInTypeReference
34-
} from '../utils/external-imports.util';
3531
import {
3632
decoratorsProperties,
3733
decoratorsPropertiesMappingType
@@ -70,7 +66,6 @@ export class ModelClassVisitor extends AbstractFileVisitor {
7066
program: ts.Program,
7167
options: PluginOptions
7268
) {
73-
const externalImports = getExternalImports(sourceFile);
7469
const typeChecker = program.getTypeChecker();
7570
sourceFile = this.updateImports(sourceFile, ctx.factory, program);
7671

@@ -85,8 +80,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
8580
typeChecker,
8681
options,
8782
sourceFile,
88-
metadata,
89-
externalImports
83+
metadata
9084
);
9185
} else if (
9286
options.parameterProperties &&
@@ -97,8 +91,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
9791
typeChecker,
9892
options,
9993
sourceFile,
100-
metadata,
101-
externalImports
94+
metadata
10295
);
10396
}
10497
return node;
@@ -164,8 +157,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
164157
typeChecker: ts.TypeChecker,
165158
options: PluginOptions,
166159
sourceFile: ts.SourceFile,
167-
metadata: ClassMetadata,
168-
externalImports: Record<string, string>
160+
metadata: ClassMetadata
169161
) {
170162
const isPropertyStatic = (node.modifiers || []).some(
171163
(modifier: ts.Modifier) => modifier.kind === ts.SyntaxKind.StaticKeyword
@@ -212,8 +204,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
212204
options,
213205
sourceFile.fileName,
214206
sourceFile,
215-
metadata,
216-
externalImports
207+
metadata
217208
);
218209
} catch (err) {
219210
return node;
@@ -225,8 +216,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
225216
typeChecker: ts.TypeChecker,
226217
options: PluginOptions,
227218
sourceFile: ts.SourceFile,
228-
metadata: ClassMetadata,
229-
externalImports: Record<string, string>
219+
metadata: ClassMetadata
230220
) {
231221
constructorNode.forEachChild((node) => {
232222
if (
@@ -247,8 +237,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
247237
factory.createNodeArray(),
248238
options,
249239
sourceFile.fileName,
250-
sourceFile,
251-
externalImports
240+
sourceFile
252241
);
253242

254243
const propertyName = node.name.getText();
@@ -314,8 +303,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
314303
options: PluginOptions,
315304
hostFilename: string,
316305
sourceFile: ts.SourceFile,
317-
metadata: ClassMetadata,
318-
externalImports: Record<string, string>
306+
metadata: ClassMetadata
319307
) {
320308
const objectLiteralExpr = this.createDecoratorObjectLiteralExpr(
321309
factory,
@@ -324,8 +312,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
324312
factory.createNodeArray(),
325313
options,
326314
hostFilename,
327-
sourceFile,
328-
externalImports
315+
sourceFile
329316
);
330317
this.addClassMetadata(
331318
compilerNode,
@@ -345,8 +332,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
345332
existingProperties: ts.NodeArray<ts.PropertyAssignment> = factory.createNodeArray(),
346333
options: PluginOptions = {},
347334
hostFilename = '',
348-
sourceFile?: ts.SourceFile,
349-
externalImports: Record<string, string> = {}
335+
sourceFile?: ts.SourceFile
350336
): ts.ObjectLiteralExpression {
351337
const isRequired = !node.questionToken;
352338

@@ -385,8 +371,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
385371
typeChecker,
386372
existingProperties,
387373
hostFilename,
388-
options,
389-
externalImports
374+
options
390375
)
391376
];
392377
if (
@@ -543,8 +528,7 @@ export class ModelClassVisitor extends AbstractFileVisitor {
543528
typeChecker: ts.TypeChecker,
544529
existingProperties: ts.NodeArray<ts.PropertyAssignment>,
545530
hostFilename: string,
546-
options: PluginOptions,
547-
externalImports: Record<string, string>
531+
options: PluginOptions
548532
) {
549533
const key = 'enum';
550534
if (hasPropertyKey(key, existingProperties)) {
@@ -580,12 +564,8 @@ export class ModelClassVisitor extends AbstractFileVisitor {
580564
}
581565
type = typeIsArrayTuple.type;
582566
}
583-
const typeReferenceDescriptor = {
584-
typeName: replaceExternalImportsInTypeReference(
585-
getText(type, typeChecker),
586-
externalImports
587-
)
588-
};
567+
568+
const typeReferenceDescriptor = { typeName: getText(type, typeChecker) };
589569
const enumIdentifier = typeReferenceToIdentifier(
590570
typeReferenceDescriptor,
591571
hostFilename,

test/plugin/fixtures/project/cats/dto/create-cat.dto.ts

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ConsoleLogger, HttpStatus } from '@nestjs/common';
1+
import { ConsoleLogger } from '@nestjs/common';
22
import {
33
IsIn,
44
IsNegative,
@@ -99,12 +99,6 @@ export class CreateCatDto {
9999
})
100100
enum: LettersEnum;
101101

102-
@ApiProperty({
103-
enum: HttpStatus,
104-
enumName: 'HttpStatus'
105-
})
106-
externalEnum: HttpStatus;
107-
108102
/**
109103
* Available language in the application
110104
* @example FR

test/plugin/fixtures/serialized-meta.fixture.ts

-4
Original file line numberDiff line numberDiff line change
@@ -139,10 +139,6 @@ export default async () => {
139139
required: true,
140140
enum: t['./cats/dto/pagination-query.dto'].LettersEnum
141141
},
142-
externalEnum: {
143-
required: true,
144-
enum: require('@nestjs/common').HttpStatus
145-
},
146142
state: {
147143
required: false,
148144
description: 'Available language in the application',

0 commit comments

Comments
 (0)