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
Acknowledgements
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 getisStrict: false
which is incorrect.tsx index.mts
ornode index.mjs
both outputisStrict: 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
Compensating engineering work will speed up resolution and support the project