Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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

Open
#262 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Stale
Tech stack
bun, node.js, typescript

Research direction

No specific files or tests are named; start by reviewing the maintained node-smpp-next fork and the existing repository before choosing a scope. Confirm whether the maintainer wants the TypeScript migration, type definitions, build changes, or dependency removal upstream. Done means a separately scoped, reviewable change with an agreed upstream direction.

Written by the indexing model from the issue text.

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.
@

Dominant language
JavaScript
Stars
434
Forks
194
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from farhadi/node-smpp

All issues in farhadi/node-smpp

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.