Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Micro npm Packages
  3. syncthrough

syncthrough

MITJavaScriptv1.1.0

A synchronous transform stream for Node.js with 10x performance over standard Transform streams.

GitHubGitHub
110 stars3 forks0 contributors

What is syncthrough?

syncthrough is a synchronous transform stream for Node.js that allows developers to transform data as it passes through a stream pipeline. It solves the performance limitations of standard Transform streams by using synchronous processing functions and eliminating internal buffering while maintaining proper backpressure handling.

Target Audience

Node.js developers working with stream processing who need high-performance data transformation without the overhead of asynchronous callbacks.

Value Proposition

Developers choose syncthrough for its 10x performance improvement over standard Transform streams, simple synchronous API, and proper backpressure enforcement without the complexity of internal buffering.

Overview

Transform your data as it pass by, synchronously.

Use Cases

Best For

  • High-throughput data transformation in Node.js streams
  • Replacing through2 with synchronous processing
  • Performance-critical stream processing pipelines
  • Simple data transformation without async callbacks
  • Object mode stream transformations
  • Building efficient data processing pipelines with pump() or pipeline()

Not Ideal For

  • Projects requiring asynchronous transformation functions for I/O-bound operations
  • Streams that need to split or aggregate data chunks internally
  • Applications dependent on standard Node.js stream class inheritance and events like 'readable'

Pros & Cons

Pros

High Performance

Delivers 10x throughput compared to standard Node.js Transform streams, as benchmarked and stated in the README.

Simple Synchronous API

Uses synchronous transformation functions without callbacks, reducing code complexity compared to async-based streams.

Proper Backpressure Enforcement

Enforces backpressure without internal buffering, ensuring efficient data flow in pipelines while avoiding memory overhead.

Object Mode Support

Fully compatible with object mode streams, allowing transformation of objects using the same minimal API as buffer chunks.

Cons

Strict Error Handling

Throws errors if write() is called after backpressure without waiting for 'drain', requiring precise control and error management.

No Chunk Splitting

Cannot split incoming chunks into multiple outputs, limiting transformation flexibility for complex data processing tasks.

Non-Standard Implementation

Does not inherit from Node.js stream classes, which may cause compatibility issues with libraries expecting standard stream interfaces.

Frequently Asked Questions

Quick Stats

Stars110
Forks3
Contributors0
Open Issues1
Last commit5 months ago
CreatedSince 2016

Tags

#stream-processing#transform-stream#high-performance#nodejs-streams#backpressure#data-transformation

Built With

N
Node.js

Included in

Micro npm Packages4.6k
Auto-fetched 1 day ago

Related Projects

JSONStreamJSONStream

rawStream.pipe(JSONStream.parse()).pipe(streamOfObjects)

Stars1,929
Forks163
Last commit8 years ago
through2through2

Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise

Stars1,907
Forks106
Last commit4 days ago
pumppump

pipe streams together and close all of them if one of them closes

Stars917
Forks64
Last commit7 months ago
concat-streamconcat-stream

writable stream that concatenates strings or data and calls a callback with the result

Stars575
Forks62
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub