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

Problem with CommonJS. #447

Open
mits87 opened this issue Nov 14, 2024 · 4 comments
Open

Problem with CommonJS. #447

mits87 opened this issue Nov 14, 2024 · 4 comments

Comments

@mits87
Copy link

mits87 commented Nov 14, 2024

Hi, first of all thank you for really great library.

There is one small problem, basically I can't use this library in project with CJS (example NestJS). Whenever I'm trying to import the library I'm getting:

Cannot find module 'swissqrbill/pdf' or its corresponding type declarations.
Cannot find module 'swissqrbill/utils' or its corresponding type declarations.

Can you help me with that?

@schoero
Copy link
Owner

schoero commented Nov 14, 2024

Can you change moduleResolution in your tsconfig.json to "bundler", "node16", or "nodenext"?

@mits87
Copy link
Author

mits87 commented Nov 15, 2024

Hi @schoero, this was my first thought but I can't change it because my NestJs application stop working.
The "module" must stay as "commonjs" otherwise everything stop working.

image

Also I tried to import it like:
import { SwissQRBill } from 'swissqrbill/lib/cjs/pdf';

But then I have problem with:

image

Would you mind to provide some workaround?

@schoero schoero added the bug Something isn't working label Nov 15, 2024
@schoero
Copy link
Owner

schoero commented Nov 19, 2024

I tried to reproduce this, but It seems to work also with "module": "CommonJS" and "moduleResolution": "classic".

Take a look here: https://stackblitz.com/edit/schoero-swissqrbill-bpener?file=src%2Fpdf.ts

@schoero schoero removed the bug Something isn't working label Nov 19, 2024
@hohler
Copy link

hohler commented Nov 21, 2024

According to https://www.typescriptlang.org/tsconfig/#moduleResolution - classic shouldn't be used anymore.

In my case, an Angular 18 project would not build with CommonJS/classic settings.

Saying this, I have a similar problem, just that another library does not support moduleResolution: Bundler (also not in connection with "type": "module" in the package.json).

But it's probably easier to find a workaround in my case.

Anyways, thank you very much for building and maintaining this library 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants