File sp.ts:
import { SerialPort } from "serialport";
let port = new SerialPort(
{
path: "foobar",
baudRate: 115200
}
);
Transpile with tsc and get:
What happens?
$ ./node_modules/typescript/bin/tsc
node_modules/@serialport/bindings-cpp/dist/darwin.d.ts:2:10 - error TS2305: Module '"."' has no exported member 'BindingPortInterface'.
2 import { BindingPortInterface } from '.';
node_modules/@serialport/bindings-cpp/dist/linux.d.ts:4:10 - error TS2305: Module '"."' has no exported member 'BindingPortInterface'.
4 import { BindingPortInterface } from '.';
node_modules/@serialport/bindings-cpp/dist/win32.d.ts:2:10 - error TS2305: Module '"."' has no exported member 'BindingPortInterface'.
2 import { BindingPortInterface } from '.';
node_modules/serialport/dist/serialport.d.ts:2:27 - error TS2305: Module '"@serialport/bindings-cpp"' has no exported member 'OpenOptionsFromBinding'.
2 import { AutoDetectTypes, OpenOptionsFromBinding } from '@serialport/bindings-cpp';
SerialPort Version
12.0.0
Node Version
20.2
Electron Version
No response
Platform
Linux pi4-1r 6.6.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.20-1+rpt1 (2024-03-07) aarch64 GNU/Linux
Architecture
ARM
Hardware or chipset of serialport
FTDI
What steps will reproduce the bug?
tsconfig.json contains: module: "esnext" moduleResolution: "bundler"
File sp.ts: import { SerialPort } from "serialport";
let port = new SerialPort( { path: "foobar", baudRate: 115200 } );
Transpile with tsc and get:
What happens?
$ ./node_modules/typescript/bin/tsc node_modules/@serialport/bindings-cpp/dist/darwin.d.ts:2:10 - error TS2305: Module '"."' has no exported member 'BindingPortInterface'.
2 import { BindingPortInterface } from '.';
node_modules/@serialport/bindings-cpp/dist/win32.d.ts:2:10 - error TS2305: Module '"."' has no exported member 'BindingPortInterface'.
2 import { BindingPortInterface } from '.';
Found 4 errors in 4 files.
Errors Files 1 node_modules/@serialport/bindings-cpp/dist/darwin.d.ts:2 1 node_modules/@serialport/bindings-cpp/dist/linux.d.ts:4 1 node_modules/@serialport/bindings-cpp/dist/win32.d.ts:2 1 node_modules/serialport/dist/serialport.d.ts:2
What should have happened?
Transpilation should have succeeded.
Additional information
Either of these configurations works: "module": "esnext" "moduleResolution": "node" or "module": "nodenext" "moduleResolution": "nodenext"