@angadie/chittie-transport-node
v0.5.2
Published
Node/Electron network (LAN) transport for chittie — raw TCP to an ESC/POS printer on port 9100. Zero deps (node:net).
Downloads
1,195
Readme
@angadie/chittie-transport-node
Network (LAN/Wi-Fi) transport for chittie on Node / Electron / print-servers: opens a raw TCP socket to a network printer and streams ESC/POS bytes. Zero dependencies (uses node:net).
Network printers (Epson TM, Star TSP, most kitchen/counter units) listen on TCP port 9100 (RAW / JetDirect) — the de-facto standard. This is the same approach as node-thermal-printer's Network interface and the native NetPrinter adapters inside RN printer libraries.
Install
pnpm add @angadie/chittie-transport-node @angadie/chittie-transportUsage
import { render, Printer, Text, Cut } from '@angadie/chittie';
import { print } from '@angadie/chittie-transport';
import { createNetworkTransport } from '@angadie/chittie-transport-node';
const bytes = render(<Printer width={48}><Text bold>KITCHEN</Text><Cut /></Printer>);
const transport = createNetworkTransport({ host: '192.168.1.50', port: 9100 });
await print(transport, bytes); // connect → write; call transport.disconnect() when donecreateNetworkTransport({ host, port = 9100, timeoutMs = 5000 }).
Network printing on other platforms
React Native (Wi-Fi printers): Node's
netisn't available — usereact-native-tcp-socket(itswriteaccepts aUint8Arraydirectly) withcreateTransportfrom@angadie/chittie-transport-react-native:import TcpSocket from 'react-native-tcp-socket'; import { createTransport } from '@angadie/chittie-transport-react-native'; const socket = TcpSocket.createConnection({ host: '192.168.1.50', port: 9100 }, () => {}); const transport = createTransport({ write: (b) => { socket.write(Buffer.from(b)); return Promise.resolve(); } });Browser: ⚠️ browsers cannot open raw TCP sockets, so a web page can't reach
host:9100directly. Either route through a backend proxy (server holds the socket — use this package there), or use the printer's HTTP API: Epson ePOS-Print (XML over HTTP) or Star WebPRNT.
License
MIT.
