Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Replace unsupported fstream in filesystem LOB examples

Chiusa
#320 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
javascript, node.js
Ambito
backend, databases

Direzione di ricerca

Attendi che i maintainer scelgano tra l'alias, le API integrate del filesystem o la rimozione degli esempi. Poi ispeziona package.json, package-lock.json, examples/app5.js, examples/app6.js e la sezione Running examples del README; esegui npm test e convalida qualsiasi copertura mirata degli esempi venga richiesta. Il lavoro è terminato quando la direzione scelta è documentata, la dipendenza e gli esempi sono coerenti e la suite di unit test esistente continua a superare i test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The documented filesystem LOB examples still use the unsupported [email protected] package as a direct development dependency. Would the maintainers prefer to replace that implementation through a compatibility alias, rewrite the examples with Node's built-in filesystem/stream APIs, or remove the dependency/examples if they are no longer supported?

The current uses are limited but real:

  • examples/app5.js imports fstream and calls fstream.Reader({ path: dirname, filter: isChildFile }), then pipes filesystem entries into the HANA statement adapter.
  • examples/app6.js imports fstream and creates new fstream.Writer({ path: dirname, type: 'Directory' }), then pipes HANA LOB rows into the destination directory.
  • Both examples are listed in the README's “Running examples” section.
  • package.json declares the exact direct dev dependency "fstream": "1.0.12".

One low-diff option would be an npm alias:

"fstream": "npm:@stackline/[email protected]"

That would preserve both existing require('fstream') calls and the Reader/Writer API. The expected repository changes would be limited to package.json, package-lock.json, and any focused example coverage the maintainers request. @stackline/fstream declares Node.js >=14.15.1; node-hdb declares Node.js >=18, and its workflow matrix lists Node.js 20, 22, 24, and 26.

The alternative is to replace the examples' fstream-specific entry handling with built-in fs and stream primitives, or remove these examples and the dependency if they are no longer maintained. That avoids adopting another package but is a larger behavioral rewrite. I do not have a preference over the project's desired maintenance direction.

Clean baseline recorded on 2026-08-28 at f26df559cdc9b01e7c5055f3b8571537cac4a4bf, using Node.js v20.20.2 and npm 10.8.2:

  • npm ci: exit 0; 138 packages added, 139 audited; npm emitted the existing fstream deprecation warning.
  • npm test: exit 0; 586 tests passed.

The unit suite does not exercise examples/app5.js or examples/app6.js, and both examples require a configured HANA connection. If the alias option is welcome, I can prepare the package.json/package-lock.json change and include any focused example coverage the maintainers request. It should preserve the clean unit baseline and add or document an isolated Reader/Writer smoke check where practical; end-to-end example validation would still require HANA.

Disclosure: I maintain @stackline/fstream, an independent compatibility-focused package. I am not affiliated with SAP or the node-hdb maintainers. This proposal is about dependency maintenance only. It is not a vulnerability report, makes no security claim about fstream or node-hdb, and does not ask the project to treat it as a security fix.

References:

Lingua principale
JavaScript
Stelle
322
Fork
99
Merge medio
24m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di SAP/node-hdb

Tutte le issue di SAP/node-hdb

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.