Many low level node.js libs written in c/c++ or dependent on native modules. That's awesome, but in some trade off case we need pure javascript lib.
- jpeg-js A pure javascript JPEG encoder and decoder for node.js
- upng.js Fast and advanced PNG (APNG) decoder and encoder
- node-pnglib Pure Javascript lib for generate PNG, Node.js version for PNGlib.
- jimp An image processing library written entirely in JavaScript
- ⭐️ node-pureimage Pure JS implementation of an image drawing and encoding api, based on HTML Canvas
- look-same Node.js library for comparing images
- omggif JavaScript implementation of a GIF 89a encoder and decoder
- gifuct-js Simple to use javascript .GIF decoder/parser
- node-mpeg2ts-parser MPEG-2 TS parser in Node.js
- whammy.js A real time javascript webm encoder based on a canvas hack
- mp4-stream Streaming mp4 encoder and decoder
- mp4-box-encoding mp4 header reading and writing using the abstract-encoding interface
- trek captcha A Lightweight Pure JavaScript Captcha for Node.js. No C/C++, No ImageMagick, No Canvas.
- svg captcha generate svg captcha in node
- jsQR A pure javascript QR code reading library. This library takes in raw images and will locate, extract and parse any QR code found within
- qr image Yet another QR code generator
typr process fonts in Javascript- opentype Read and write OpenType fonts using JavaScript
- ttj.js JavaScript font library for Node.js
- BDF.js Simple library for reading Adobe Glyph Bitmap Distribution font files
- js-2dmath Fast 2d geometry math: Vector2, Rectangle, Circle, Matrix2x3 (2D transformation), Circle, BoundingBox, Line2, Segment2, Intersections, Distances, Transitions (animation/tween), Noise, Random numbers
- pako high speed zlib port to javascript
- jszip Create, read and edit .zip files with Javascript
- tar tar for node
- tar-stream tar-stream is a streaming tar parser and generator.
- snappyjs JavaScript implementation of Google's Snappy compression library
- gzipme A simple way to gzip your files
- ws Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js
- eshttp Portable pure JavaScript ES6/2015 HTTP library
- dns Replacement dns module in pure javascript for node.js
- ssh2 SSH2 client and server modules written in pure JavaScript for node.js
- netcat
- node-x11 X11 node.js network protocol client
- http-parser This library parses HTTP protocol for requests and responses. It was created to replace http_parser.c since calling C++ function from JS is really slow in V8.
- stun Session Traversal Utilities for NAT (STUN) server. Implements RFC5389 with partial support RFC5766, RFC5245, RFC5780.
- stun STUN (Simple Traversal of UDP through NAT: RFC3489)
- turn-js implements (most of) the features specified in RFC 5766
- ps-list Get running processes. Works on macOS, Linux, and Windows.
font-list Current version supports macOS and Windows only, can not be used on Linux yet.
- node-winreg node module that provides access to the Windows Registry through the REG commandline tool
- xlsx
- jsPDF
- pdf.js
- pdfmake
- plist
- Binary plist Binary plist parser and creator for node.js
- sax-js A sax style parser for JS
- xmldom A PURE JS W3C Standard based(XML DOM Level2 CORE) DOMParser and XMLSerializer.
- file-type Detect the file type of a Buffer/Uint8Array
- mime mime type for javascript
- css CSS parser / stringifier for Node.js
- gradle A quick & dirty Gradle build file to JavaScript object parser
- .properties .properties parser/stringifier.
- csv-parser Streaming csv parser inspired by binary-csv that aims to be faster than everyone else
- bson BSON is short for Binary JSON and is the binary-encoded serialization of JSON-like documents
- protobuf.js Protocol Buffers are a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more, originally designed at Google
- msgpack5
- msgpack-js
- binary-extract Extract a value from a buffer of json without parsing the whole thing
- jsdiff A javascript text differencing implementation.
- pinyinjs 一个实现汉字与拼音互转的工具库
- iconv-lite Convert character encodings in pure javascript.
- base64
- sha.js
- jsonwebtoken JsonWebToken implementation for node.js
- keypair Generate a RSA PEM key pair from pure JS
- AES-js A pure JavaScript implementation of the AES block cipher and all common modes of operation for node.js
- BLAKE2s BLAKE2s cryptographic hash function in JavaScript
- date-time-format-timezone Surgically polyfills timezone support in Intl.DateTimeFormat API
- Intl.js Compatibility implementation of the ECMAScript Internationalization API (ECMA-402) for JavaScript
- node-opencc Translates between Traditional and Simplified Chinese in pure Node.js
- lru-cache A cache object that deletes the least-recently-used items.
- long.js A Long class for representing a 64-bit two's-complement integer value.
- LinkList
- node-jumplist(skiplist)
- js-tree
- Buckets-JS(collections)
- Data-Structures(collections) A library for data structure in JavaScript
- lago(collections) 🌴 Data Structures and Algorithms library for JavaScript.
- dsjslib(collections) A library implementing several standard data structures and utilities
- uint32 An javascript implementation of bitwise uint32 operations
- tiny-queue A simple FIFO queue implementation as a linked list. The main benefit is to avoid doing shift() on an array, which may be slow.
- dsp.js Digital Signal Processing
- fourier-transform Minimalistic and efficient FFT implementation
- fibonacci-layout
- crc Module for calculating Cyclic Redundancy Check (CRC)
- buffer-crc32 A pure javascript CRC32 algorithm that plays nice with binary data
- algorithms.js Traditional Computer Science algorithms and data structures implemented in JavaScript
- uint64be Encode / decode big endian unsigned 64 bit integers
- color-diff Implements the CIEDE2000 color difference algorithm, conversion between RGB and LAB color and mapping all colors in palette X to the closest color in palette Y based on the CIEDE2000 difference.
- thalia pure js NOT in memory db
- jinn-db A pure javascript, persistent key-value store for Node.js that supports out-of-core data access.
- node-level A pure js key-value storage engine based on LSM, inspired by Leveldb.
- node-lsm log structured merge tree in pure node.js
- node-leveljs LevelDB in pure JavaScript, a very immature work in progress
- hyperdb Distributed scalable database
Contribution welcome, please use issue to commit libs.
欢迎通过issue提交您推荐的库。
Licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.