A simple Node.js transform stream for reading text streams line-by-line with Unicode support.
byline is a Node.js module that provides a buffered LineStream transform stream for reading text streams line-by-line. It solves the problem of efficiently processing large text files or continuous text streams by breaking them into manageable lines while supporting Unicode, cross-platform line endings, and Node.js streaming APIs.
Node.js developers working with file processing, log analysis, or any application requiring line-by-line reading of text streams.
Developers choose byline for its simplicity, lack of dependencies, and robust support for modern Node.js streams2 API, Unicode line boundaries, and seamless pipe integration without the complexity of other line-reading libraries.
Line-by-line Stream reader for node.js
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with modern Node.js streaming APIs from v0.10+, supporting non-flowing mode and efficient data handling without legacy monkeypatching.
Correctly handles Unicode UTS #18 line boundaries and both UNIX/LF and Windows/CRLF line endings, ensuring robust text processing across environments.
Contains no external dependencies, unnecessary code, or CoffeeScript, reducing bundle size and complexity while maintaining reliability.
Can wrap any readable stream or act as a standalone transform stream with pipe() support, offering optional keepEmptyLines parameter for control.
Focuses solely on line reading without built-in support for custom delimiters, error recovery, or line metadata, requiring additional code for advanced use cases.
Full compatibility requires Node v0.10+, with older versions like v0.8 needing specific older releases (2.1.x series), which can complicate maintenance and updates.
The README does not detail error handling strategies for stream failures, leaving it to the user to manage errors externally, which can increase complexity.