privatenumber/tsx

imported module evaluated as non-strict if importing module is not explicitly a module

Opened this issue · 1 comments

Acknowledgements

  • I read the documentation and searched existing issues to avoid duplicates
  • I understand this is a bug tracker and anything other than a proven bug will be closed
  • I understand this is a free project and relies on community contributions
  • I read and understood the Contribution guide

Minimal reproduction URL

https://stackblitz.com/edit/node-3q8xbs?file=index.ts

Problem & expected behavior (under 200 words)

An es modules imported by a tsx transformed file will be evaluated in sloppy/strict mode depending on the module type of the importing file, which should have no effect. A file parsed and evaluated as esm should always be strict.

When running tsx index.ts, we get isStrict: false which is incorrect. tsx index.mts or node index.mjs both output isStrict: true as expected.

For some reason a dynamic import does not exhibit the same problem.

Bugs are expected to be fixed by those affected by it

  • I'm interested in working on this issue

Compensating engineering work will speed up resolution and support the project

  • I'm willing to offer $10 for financial support

Possibly related to #442