Constructor error (TS2351) in TypeScript when using ESM since v5
### package.json
```json
{
"type": "module",
"dependencies": {
"fraction.js": "^5.1.0"
},
"devDependencies": {
"typescript": "^5.6.3"
}
}
```
### tsconfig.json
```json
{
"compilerOptions": {
"module": "node16"
}
}
```
### test.ts
```ts
import Fraction from "fraction.js";
let x = new Fraction(1.88);
```
Compilation error:
```
$ npx tsc
test.ts:3:13 - error TS2351: This expression is not constructable.
Type 'typeof import(".../node_modules/fraction.js/fraction")' has no construct signatures.
3 let x = new Fraction(1.88);
~~~~~~~~
Found 1 error in test.ts:3
```
It worked fine in v4, and it works again if `"type": "module"` is added back to `node_modules/fraction.js/package.json`.
关闭于 2025-08-16 10 条评论