farhadi / farhadi/node-smpp

Proposal: TypeScript rewrite (dual ESM+CJS, types, Bun) — maintained fork available

Open
#262 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
435
Forks
194
PR merge metrics
No merged PRs in 30d

Description

@
Opening this for discussion rather than as a giant PR, since it touches the whole tree.

I rewrote node-smpp in **TypeScript** while keeping the runtime API 100% backward
compatible, and published it as a maintained fork:
**https://github.com/fdciabdul/node-smpp-next** (`npm i node-smpp-next`).

### What it includes
- TypeScript source with bundled `.d.ts` (addresses #180 "Types Support")
- Dual **ESM + CommonJS** build via tsup (`import` and `require` both work)
- **Bun** support (`bun` runtime + `bun test`)
- Node baseline raised to >=18; native `Buffer` (drops `safer-buffer`)
- Security: removed abandoned `coveralls` + `nyc` (43 transitive CVEs); 0 prod vulnerabilities
- `findhit-proxywrap` made an **optional**, lazily-loaded dependency so the core
install carries no GPLv3 transitive dep (addresses #214)
- New features: session pool (#249), client auto-reconnect (#248), per-request
response timeout (#227), user-defined TLV round-trip (#231)
- The three pure bug fixes (#229/#256, #66/#252, #231) are also offered as a small
JS-only PR here: #261

### Question for the maintainer
Would you be open to upstreaming any of this — e.g. the TS migration, the type
defs, or the GPLv3-dependency removal? Happy to split it into reviewable PRs
(types-only, build-only, proxy-dep-only, etc.) if that is preferable to one large
change. If you would rather keep this repo as-is, the fork is available for users
who need these.

Thanks for the original library — it is the foundation for all of the above.
@

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.