Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work with Typescript 4.9 or newer with moduleResolution:"node16" #585

Open
3 of 9 tasks
iamchathu opened this issue Nov 4, 2023 · 3 comments
Open
3 of 9 tasks
Labels
bug Something isn't working

Comments

@iamchathu
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Describe the issue

The imports doesn't work with latest Typescript versions with moduleResolution:"node16"

I did instigate on this and used

npx @arethetypeswrong/cli --from-npm @automapper/[email protected]

It does following output

👺 Import resolved to an ESM type declaration file, but a CommonJS JavaScript file. https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/FalseESM.md

🥴 Import found in a type declaration file failed to resolve. Either this indicates that runtime resolution errors will occur, or (more likely) the types misrepresent the contents of the JavaScript files. https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/InternalResolutionError.md


┌───────────────────┬──────────────────────────────┐
│                   │ "@automapper/core"           │
├───────────────────┼──────────────────────────────┤
│ node10            │ 🟢                           │
├───────────────────┼──────────────────────────────┤
│ node16 (from CJS) │ 👺 Masquerading as ESM       │
│                   │ 🥴 Internal resolution error │
├───────────────────┼──────────────────────────────┤
│ node16 (from ESM) │ 🥴 Internal resolution error │
├───────────────────┼──────────────────────────────┤
│ bundler           │ 🟢                           │
└───────────────────┴──────────────────────────────┘

Seems both CJS and ESM are broken for node16 resolution mode.

Models/DTOs/VMs

No response

Mapping configuration

No response

Steps to reproduce

No response

Expected behavior

Should work with new Typescript version with ES Module resolution.

Screenshots

No response

Minimum reproduction code

No response

Package

  • I don't know.
  • @automapper/core
  • @automapper/classes
  • @automapper/nestjs
  • @automapper/pojos
  • @automapper/mikro
  • @automapper/sequelize
  • Other (see below)

Other package and its version

No response

AutoMapper version

8.0.0

Additional context

No response

@iamchathu iamchathu added the bug Something isn't working label Nov 4, 2023
@driley-abbvie
Copy link

Any plans to tackle this @nartc? or did you figure it out @iamchathu

@iamchathu
Copy link
Author

@driley-abbvie Nope. I tried patching the module but seems have to do lot of work to get done manually. Better to setup something like tsup to generate seperate type definitions for both module types

@iamchathu
Copy link
Author

Even the latest version has the same issue.

npx @arethetypeswrong/cli --from-npm @automapper/[email protected]
┌───────────────────┬──────────────────────────────┐
│                   │ "@automapper/core"           │
├───────────────────┼──────────────────────────────┤
│ node10            │ 🟢                           │
├───────────────────┼──────────────────────────────┤
│ node16 (from CJS) │ 👺 Masquerading as ESM       │
│                   │ 🥴 Internal resolution error │
├───────────────────┼──────────────────────────────┤
│ node16 (from ESM) │ 👺 Masquerading as ESM       │
│                   │ 🥴 Internal resolution error │
├───────────────────┼──────────────────────────────┤
│ bundler           │ 🟢                           │
└───────────────────┴──────────────────────────────┘

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants