Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[swc] Allow keepClassNames configuration, or default to true #1343

@ldiqual

Description

@ldiqual

Desired Behavior

In https://github.com/TypeStrong/ts-node/blob/main/src/transpilers/swc.ts#L57-L88 there is no reference to keepClassNames which is required for popular libraries like TypeORM to work.

Proposal is to either:

  1. Make jsc.keepClassNames = true by default
  2. Allow setting keepClassNames somehow (maybe in ts-node.compilerOptions.keepClassNames)

Is this request related to a problem?

With ts-node v10 and swc 1.2.58, running typeorm migrations result in this kind of error:

Error during migration run:
Error: Entity metadata for Entity#field was not found. Check if you specified a correct entity object and if it's connected in the connection options.
    at /Users/ldiqual/Siteline/siteline/src/metadata-builder/EntityMetadataBuilder.ts:671:23
    at Array.forEach (<anonymous>)
    at EntityMetadataBuilder.computeInverseProperties (/Users/ldiqual/Siteline/siteline/src/metadata-builder/EntityMetadataBuilder.ts:666:34)
    at /Users/ldiqual/Siteline/siteline/src/metadata-builder/EntityMetadataBuilder.ts:118:56
    at Array.forEach (<anonymous>)
    at EntityMetadataBuilder.build (/Users/ldiqual/Siteline/siteline/src/metadata-builder/EntityMetadataBuilder.ts:118:25)
    at ConnectionMetadataBuilder.buildEntityMetadatas (/Users/ldiqual/Siteline/siteline/src/connection/ConnectionMetadataBuilder.ts:66:111)
    at Connection.buildMetadatas (/Users/ldiqual/Siteline/siteline/src/connection/Connection.ts:517:59)
    at Connection.<anonymous> (/Users/ldiqual/Siteline/siteline/src/connection/Connection.ts:193:18)
    at step (/Users/ldiqual/Siteline/siteline/node_modules/typeorm/node_modules/tslib/tslib.js:143:27)

This is what keepClassNames is for: swc-project/swc#1279

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions