• Stars
    star
    7,211
  • Rank 5,262 (Top 0.2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 13 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

qr code generator

node-qrcode

QR code/2d barcode generator.

Travis npm npm npm

Highlights

  • Works on server and client (and react native with svg)
  • CLI utility
  • Save QR code as image
  • Support for Numeric, Alphanumeric, Kanji and Byte mode
  • Support for mixed modes
  • Support for chinese, cyrillic, greek and japanese characters
  • Support for multibyte characters (like emojis 😄)
  • Auto generates optimized segments for best data compression and smallest QR Code size
  • App agnostic readability, QR Codes by definition are app agnostic

Installation

Inside your project folder do:

npm install --save qrcode

or, install it globally to use qrcode from the command line to save qrcode images or generate ones you can view in your terminal.

npm install -g qrcode

Usage

CLI

Usage: qrcode [options] <input string>

QR Code options:
  -v, --qversion  QR Code symbol version (1 - 40)                       [number]
  -e, --error     Error correction level           [choices: "L", "M", "Q", "H"]
  -m, --mask      Mask pattern (0 - 7)                                  [number]

Renderer options:
  -t, --type        Output type                  [choices: "png", "svg", "utf8"]
  -w, --width       Image width (px)                                    [number]
  -s, --scale       Scale factor                                        [number]
  -q, --qzone       Quiet zone size                                     [number]
  -l, --lightcolor  Light RGBA hex color
  -d, --darkcolor   Dark RGBA hex color
  --small  Output smaller QR code to terminal                          [boolean]

Options:
  -o, --output  Output file
  -h, --help    Show help                                              [boolean]
  --version     Show version number                                    [boolean]

Examples:
  qrcode "some text"                    Draw in terminal window
  qrcode -o out.png "some text"         Save as png image
  qrcode -d F00 -o out.png "some text"  Use red as foreground color

If not specified, output type is guessed from file extension.
Recognized extensions are png, svg and txt.

Browser

node-qrcode can be used in browser through module bundlers like Browserify and Webpack or by including the precompiled bundle present in build/ folder.

Module bundlers

<!-- index.html -->
<html>
  <body>
    <canvas id="canvas"></canvas>
    <script src="bundle.js"></script>
  </body>
</html>
// index.js -> bundle.js
var QRCode = require('qrcode')
var canvas = document.getElementById('canvas')

QRCode.toCanvas(canvas, 'sample text', function (error) {
  if (error) console.error(error)
  console.log('success!');
})

Precompiled bundle

<canvas id="canvas"></canvas>

<script src="/build/qrcode.js"></script>
<script>
  QRCode.toCanvas(document.getElementById('canvas'), 'sample text', function (error) {
    if (error) console.error(error)
    console.log('success!');
  })
</script>

If you install through npm, precompiled files will be available in node_modules/qrcode/build/ folder.

The precompiled bundle have support for Internet Explorer 10+, Safari 5.1+, and all evergreen browsers.

NodeJS

Require the module qrcode

var QRCode = require('qrcode')

QRCode.toDataURL('I am a pony!', function (err, url) {
  console.log(url)
})

render a qrcode for the terminal

var QRCode = require('qrcode')

QRCode.toString('I am a pony!',{type:'terminal'}, function (err, url) {
  console.log(url)
})

ES6/ES7

Promises and Async/Await can be used in place of callback function.

import QRCode from 'qrcode'

// With promises
QRCode.toDataURL('I am a pony!')
  .then(url => {
    console.log(url)
  })
  .catch(err => {
    console.error(err)
  })

// With async/await
const generateQR = async text => {
  try {
    console.log(await QRCode.toDataURL(text))
  } catch (err) {
    console.error(err)
  }
}

Error correction level

Error correction capability allows to successfully scan a QR Code even if the symbol is dirty or damaged. Four levels are available to choose according to the operating environment.

Higher levels offer a better error resistance but reduce the symbol's capacity.
If the chances that the QR Code symbol may be corrupted are low (for example if it is showed through a monitor) is possible to safely use a low error level such as Low or Medium.

Possible levels are shown below:

Level Error resistance
L (Low) ~7%
M (Medium) ~15%
Q (Quartile) ~25%
H (High) ~30%

The percentage indicates the maximum amount of damaged surface after which the symbol becomes unreadable.

Error level can be set through options.errorCorrectionLevel property.
If not specified, the default value is M.

QRCode.toDataURL('some text', { errorCorrectionLevel: 'H' }, function (err, url) {
  console.log(url)
})

QR Code capacity

Capacity depends on symbol version and error correction level. Also encoding modes may influence the amount of storable data.

The QR Code versions range from version 1 to version 40.
Each version has a different number of modules (black and white dots), which define the symbol's size. For version 1 they are 21x21, for version 2 25x25 e so on. Higher is the version, more are the storable data, and of course bigger will be the QR Code symbol.

The table below shows the maximum number of storable characters in each encoding mode and for each error correction level.

Mode L M Q H
Numeric 7089 5596 3993 3057
Alphanumeric 4296 3391 2420 1852
Byte 2953 2331 1663 1273
Kanji 1817 1435 1024 784

Note: Maximum characters number can be different when using Mixed modes.

QR Code version can be set through options.version property.
If no version is specified, the more suitable value will be used. Unless a specific version is required, this option is not needed.

QRCode.toDataURL('some text', { version: 2 }, function (err, url) {
  console.log(url)
})

Encoding modes

Modes can be used to encode a string in a more efficient way.
A mode may be more suitable than others depending on the string content. A list of supported modes are shown in the table below:

Mode Characters Compression
Numeric 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 3 characters are represented by 10 bits
Alphanumeric 0–9, A–Z (upper-case only), space, $, %, *, +, -, ., /, : 2 characters are represented by 11 bits
Kanji Characters from the Shift JIS system based on JIS X 0208 2 kanji are represented by 13 bits
Byte Characters from the ISO/IEC 8859-1 character set Each characters are represented by 8 bits

Choose the right mode may be tricky if the input text is unknown.
In these cases Byte mode is the best choice since all characters can be encoded with it. (See Multibyte characters)
However, if the QR Code reader supports mixed modes, using Auto mode may produce better results.

Mixed modes

Mixed modes are also possible. A QR code can be generated from a series of segments having different encoding modes to optimize the data compression.
However, switching from a mode to another has a cost which may lead to a worst result if it's not taken into account. See Manual mode for an example of how to specify segments with different encoding modes.

Auto mode

By default, automatic mode selection is used.
The input string is automatically splitted in various segments optimized to produce the shortest possible bitstream using mixed modes.
This is the preferred way to generate the QR Code.

For example, the string ABCDE12345678?A1A will be splitted in 3 segments with the following modes:

Segment Mode
ABCDE Alphanumeric
12345678 Numeric
?A1A Byte

Any other combinations of segments and modes will result in a longer bitstream.
If you need to keep the QR Code size small, this mode will produce the best results.

Manual mode

If auto mode doesn't work for you or you have specific needs, is also possible to manually specify each segment with the relative mode. In this way no segment optimizations will be applied under the hood.
Segments list can be passed as an array of object:

  var QRCode = require('qrcode')

  var segs = [
    { data: 'ABCDEFG', mode: 'alphanumeric' },
    { data: '0123456', mode: 'numeric' }
  ]

  QRCode.toDataURL(segs, function (err, url) {
    console.log(url)
  })

Kanji mode

With kanji mode is possible to encode characters from the Shift JIS system in an optimized way.
Unfortunately, there isn't a way to calculate a Shifted JIS values from, for example, a character encoded in UTF-8, for this reason a conversion table from the input characters to the SJIS values is needed.
This table is not included by default in the bundle to keep the size as small as possible.

If your application requires kanji support, you will need to pass a function that will take care of converting the input characters to appropriate values.

An helper method is provided by the lib through an optional file that you can include as shown in the example below.

Note: Support for Kanji mode is only needed if you want to benefit of the data compression, otherwise is still possible to encode kanji using Byte mode (See Multibyte characters).

  var QRCode = require('qrcode')
  var toSJIS = require('qrcode/helper/to-sjis')

  QRCode.toDataURL(kanjiString, { toSJISFunc: toSJIS }, function (err, url) {
    console.log(url)
  })

With precompiled bundle:

<canvas id="canvas"></canvas>

<script src="/build/qrcode.min.js"></script>
<script src="/build/qrcode.tosjis.min.js"></script>
<script>
  QRCode.toCanvas(document.getElementById('canvas'),
    'sample text', { toSJISFunc: QRCode.toSJIS }, function (error) {
    if (error) console.error(error)
    console.log('success!')
  })
</script>

Binary data

QR Codes can hold arbitrary byte-based binary data. If you attempt to create a binary QR Code by first converting the data to a JavaScript string, it will fail to encode propery because string encoding adds additional bytes. Instead, you must pass a Uint8ClampedArray or compatible array, or a Node Buffer, as follows:

// Regular array example
// WARNING: Element values will be clamped to 0-255 even if your data contains higher values.
const QRCode = require('qrcode')
QRCode.toFile(
  'foo.png',
  [{ data: [253,254,255], mode: 'byte' }],
  ...options...,
  ...callback...
)
// Uint8ClampedArray example
const QRCode = require('qrcode')

QRCode.toFile(
  'foo.png',
  [{ data: new Uint8ClampedArray([253,254,255]), mode: 'byte' }],
  ...options...,
  ...callback...
)
// Node Buffer example
// WARNING: Element values will be clamped to 0-255 even if your data contains higher values.
const QRCode = require('qrcode')

QRCode.toFile(
  'foo.png',
  [{ data: Buffer.from([253,254,255]), mode: 'byte' }],
  ...options...,
  ...callback...
)

TypeScript users: if you are using @types/qrcode, you will need to add a // @ts-ignore above the data segment because it expects data: string.

Multibyte characters

Support for multibyte characters isn't present in the initial QR Code standard, but is possible to encode UTF-8 characters in Byte mode.

QR Codes provide a way to specify a different type of character set through ECI (Extended Channel Interpretation), but it's not fully implemented in this lib yet.

Most QR Code readers, however, are able to recognize multibyte characters even without ECI.

Note that a single Kanji/Kana or Emoji can take up to 4 bytes.

API

Browser:

Server:

Browser API

create(text, [options])

Creates QR Code symbol and returns a qrcode object.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options

See QR Code options.

returns

Type: Object

// QRCode object
{
  modules,              // Bitmatrix class with modules data
  version,              // Calculated QR Code version
  errorCorrectionLevel, // Error Correction Level
  maskPattern,          // Calculated Mask pattern
  segments              // Generated segments
}

toCanvas(canvasElement, text, [options], [cb(error)])

toCanvas(text, [options], [cb(error, canvas)])

Draws qr code symbol to canvas.
If canvasElement is omitted a new canvas is returned.

canvasElement

Type: DOMElement

Canvas where to draw QR Code.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options

See Options.

cb

Type: Function

Callback function called on finish.

Example
QRCode.toCanvas('text', { errorCorrectionLevel: 'H' }, function (err, canvas) {
  if (err) throw err

  var container = document.getElementById('container')
  container.appendChild(canvas)
})

toDataURL(text, [options], [cb(error, url)])

toDataURL(canvasElement, text, [options], [cb(error, url)])

Returns a Data URI containing a representation of the QR Code image.
If provided, canvasElement will be used as canvas to generate the data URI.

canvasElement

Type: DOMElement

Canvas where to draw QR Code.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options
  • type

    Type: String
    Default: image/png

    Data URI format.
    Possible values are: image/png, image/jpeg, image/webp.

  • rendererOpts.quality

    Type: Number
    Default: 0.92

    A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp.

See Options for other settings.

cb

Type: Function

Callback function called on finish.

Example
var opts = {
  errorCorrectionLevel: 'H',
  type: 'image/jpeg',
  quality: 0.3,
  margin: 1,
  color: {
    dark:"#010599FF",
    light:"#FFBF60FF"
  }
}

QRCode.toDataURL('text', opts, function (err, url) {
  if (err) throw err

  var img = document.getElementById('image')
  img.src = url
})

toString(text, [options], [cb(error, string)])

Returns a string representation of the QR Code.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options
  • type

    Type: String
    Default: utf8

    Output format.
    Possible values are: terminal,utf8, and svg.

See Options for other settings.

cb

Type: Function

Callback function called on finish.

Example
QRCode.toString('http://www.google.com', function (err, string) {
  if (err) throw err
  console.log(string)
})

Server API

create(text, [options])

See create.


toCanvas(canvas, text, [options], [cb(error)])

Draws qr code symbol to node canvas.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options

See Options.

cb

Type: Function

Callback function called on finish.


toDataURL(text, [options], [cb(error, url)])

Returns a Data URI containing a representation of the QR Code image.
Only works with image/png type for now.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options

See Options for other settings.

cb

Type: Function

Callback function called on finish.


toString(text, [options], [cb(error, string)])

Returns a string representation of the QR Code.
If choosen output format is svg it will returns a string containing xml code.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options
  • type

    Type: String
    Default: utf8

    Output format.
    Possible values are: utf8, svg, terminal.

See Options for other settings.

cb

Type: Function

Callback function called on finish.

Example
QRCode.toString('http://www.google.com', function (err, string) {
  if (err) throw err
  console.log(string)
})

toFile(path, text, [options], [cb(error)])

Saves QR Code to image file.
If options.type is not specified, the format will be guessed from file extension.
Recognized extensions are png, svg, txt.

path

Type: String

Path where to save the file.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options
  • type

    Type: String
    Default: png

    Output format.
    Possible values are: png, svg, utf8.

  • rendererOpts.deflateLevel (png only)

    Type: Number
    Default: 9

    Compression level for deflate.

  • rendererOpts.deflateStrategy (png only)

    Type: Number
    Default: 3

    Compression strategy for deflate.

See Options for other settings.

cb

Type: Function

Callback function called on finish.

Example
QRCode.toFile('path/to/filename.png', 'Some text', {
  color: {
    dark: '#00F',  // Blue dots
    light: '#0000' // Transparent background
  }
}, function (err) {
  if (err) throw err
  console.log('done')
})

toFileStream(stream, text, [options])

Writes QR Code image to stream. Only works with png format for now.

stream

Type: stream.Writable

Node stream.

text

Type: String|Array

Text to encode or a list of objects describing segments.

options

See Options.


Options

QR Code options

version

Type: Number

QR Code version. If not specified the more suitable value will be calculated.

errorCorrectionLevel

Type: String
Default: M

Error correction level.
Possible values are low, medium, quartile, high or L, M, Q, H.

maskPattern

Type: Number

Mask pattern used to mask the symbol.
Possible values are 0, 1, 2, 3, 4, 5, 6, 7.
If not specified the more suitable value will be calculated.

toSJISFunc

Type: Function

Helper function used internally to convert a kanji to its Shift JIS value.
Provide this function if you need support for Kanji mode.

Renderers options

margin

Type: Number
Default: 4

Define how much wide the quiet zone should be.

scale

Type: Number
Default: 4

Scale factor. A value of 1 means 1px per modules (black dots).

small

Type: Boolean
Default: false

Relevant only for terminal renderer. Outputs smaller QR code.

width

Type: Number

Forces a specific width for the output image.
If width is too small to contain the qr symbol, this option will be ignored.
Takes precedence over scale.

color.dark

Type: String
Default: #000000ff

Color of dark module. Value must be in hex format (RGBA).
Note: dark color should always be darker than color.light.

color.light

Type: String
Default: #ffffffff

Color of light module. Value must be in hex format (RGBA).


GS1 QR Codes

There was a real good discussion here about them. but in short any qrcode generator will make gs1 compatible qrcodes, but what defines a gs1 qrcode is a header with metadata that describes your gs1 information.

#45

Credits

This lib is based on "QRCode for JavaScript" which Kazuhiko Arase thankfully MIT licensed.

License

MIT

The word "QR Code" is registered trademark of:
DENSO WAVE INCORPORATED

More Repositories

1

node-walkdir

Walk a directory tree emitting events based on the contents. API compatable with node-findit. Walk a tree of any depth. Fast! Handles permission errors. Stoppable. windows support. Pull requests are awesome. watchers are appreciated.
JavaScript
129
star
2

node-jsontoxml

this renders a simple javascript object structure into xml/html. js objects are easier to modify than strings so no need to parse a whole dom to reliably add a few elements. while this could support async callbacks it doesn't. if people need it i will be happy to add support.
JavaScript
102
star
3

node-procfs-stats

get detailed information about running process and threads on linux machines from node. more than ps/top/iostat alone
JavaScript
66
star
4

node-s3-npm

publish packages to your own s3 bucket, install an resolve nested private or public deps without replacing or hacking npm
JavaScript
32
star
5

node-binarysearch

binary search for sorted javascript arrays||array like obejcts. provides method to create sorted index of objects.
JavaScript
31
star
6

node-colormatch

A module for extracting colors from images and for generating lookup ranges that accept rgb and outputs ranges of rgb values for db lookups
JavaScript
24
star
7

pinoccio-io

johnny five io plugin for pinoccio!
JavaScript
18
star
8

node-gitconfiglocal

parse the .git/config file into a useful data structure
JavaScript
16
star
9

highcharts-browserify

browserify bundle for highcharts. its free for non commercial http://www.highcharts.com/demo/
JavaScript
14
star
10

node-buffer-split

split a buffer by another buffer. think String.split()
JavaScript
13
star
11

pinoccio-server

a pinoccio command server for your local network. proxies to the pinocc.io api for historical data streams and outside access!
JavaScript
13
star
12

node-buffer-indexof

find the index of a buffer in a buffer
JavaScript
12
star
13

node-mergesort-stream

pipe many streams to this transform stream and output the data in order.
JavaScript
12
star
14

node-pressure-stream

call an async function for each data event on a writable stream. manage concurrency as back pressure.
JavaScript
12
star
15

node-fs-backwards-stream

stream a file backwards
JavaScript
10
star
16

node-forkfriend

worker child process manager. respawn children. load balance work amongst children.
JavaScript
10
star
17

node-module-resolution

Use to make your own module loaders. A compliant node module loader base without any fs.
TypeScript
9
star
18

cssmin

this is a white space and extra char css optimizer that is smiilar to crockfords jsmin. written in c it reads from stdin and writes to stdout. it is fast enough because its in c to process css on the fly or you can concatenate all of your css into a minified file and deliver it
C
9
star
19

jspiano

play a canvas piano. download client side generated audio. 100% client side wav generation for audio frequencies on the fly with some effects. kinda an audio generation javascript playground. too support chrome something awesome would have to happen in relation to porting ogg to js =)
JavaScript
9
star
20

node-tailfd

Tail a file. This will continue to work even if a file is unlinked rotated or truncated. It is also ok if the path doesnt exist before watching it
JavaScript
8
star
21

printastic

printastic printing server. sends pdf files from spool directories to remote printers via printastic-printer client processes.
JavaScript
6
star
22

pinoccio-photosynthesis

ndvi / photosynthesis detector on a pinoccio backpack!
Arduino
6
star
23

node-ua-device-type

user agent based device type sniffer tablet||phone||tv||desktop
JavaScript
5
star
24

node-canvasutil

a canvas utility for applying transforms whilst iterating pixels
JavaScript
5
star
25

multilevel-reconnected

multilevel on top of reconnect. adds errors to streams that have been disconnected rather than no error+end
JavaScript
5
star
26

level-incr

add an incr command to level
JavaScript
5
star
27

pinoccio-arduino-compile

node module for compiling sketches for pinccio using the arduino ide from the command line
Shell
4
star
28

node-find-git-repos

this walks a path or paths, finds all of the git repositories, and their origins
JavaScript
4
star
29

node-line-stream

split/binary-split but lines contain byte offset in the source stream and gives access to last line fragment
JavaScript
4
star
30

solumLite

super light on demand/modular nested controller pattern php framework
PHP
4
star
31

node-buffer-compare

Lexicographically compare two buffers.
JavaScript
4
star
32

jquery-konami-code-extension

bind javascript functions at a window level to the konami code [up up , down down , left right , left right , b a]
JavaScript
4
star
33

node-moviesearch

nodejs plain text movie title search via scrapers for movie info, images, and more. does not save or cache data.
JavaScript
4
star
34

node-sshey

simple node wrapper for interactive ssh sessions
JavaScript
3
star
35

stats-npm

find an destroy econnreset monsters
JavaScript
3
star
36

phpunit-git-deploy

Wrapper repository for Sebastians PHPUnit that allows quick install based on submodules. Use when PEAR pisses you off.
PHP
3
star
37

node-memcache-server-stream

a memcache server implementation in node js. used for mocking! works over the wire!
JavaScript
3
star
38

cpu-percent

use procfs to return % cpu use over windowed average
JavaScript
3
star
39

reset-usb

reset a usb device on linux with ioctl
C++
3
star
40

node-turtles

adds stream passing support for dnode callbacks
JavaScript
3
star
41

pinoccio-bridge

use a field scout with pinoccio hq.
JavaScript
3
star
42

docker-alpine-elasticsearch

130mb ish Elasticsearch container based on alpine linux.
Shell
3
star
43

nogrammars

JavaScript
2
star
44

node-tailreceiver

recieves data as newline delimited json {file:,line:,time} over tcp and commits it to log files
JavaScript
2
star
45

tty-to-usb-device

find out the usb device path for a usb serial tty ex (/dev/ttyACM0)
JavaScript
2
star
46

node-forwardho

forward log data from a bunch of watched log files over the network with a simple json protocol
JavaScript
2
star
47

first-mate-select-grammar

provides `registry.selectGrammar` for dependents that need it like highlghts.
JavaScript
2
star
48

node-jszlib

deflate implementation in pure js
JavaScript
2
star
49

minify-registry-metadata

how big will docs be if we trim some things out?
JavaScript
2
star
50

weak-tracker

track weak references from the "weak" module by key and line origin. (mem leak debugging)
JavaScript
2
star
51

pinoccio-serial

serial interface base objects for pinoccio microcontrollers https://pinocc.io
JavaScript
2
star
52

node-charm

ansi control sequences for terminal cursor hopping and colors
JavaScript
2
star
53

node-floody

combines floods of small stream writes while not delaying or buffering writes when not flooded. buffers only up to configured amount and only keeps buffer around for at most configured interval
JavaScript
2
star
54

threatdb

bottomless log structured database.
JavaScript
1
star
55

node-logtime-interval

when you would like a timer callback to fire based on the timestamp of the data you are processing - the timestamp of the data when you created the timer
JavaScript
1
star
56

node-when-connected

reconnection retry and stream continuation for multilevel
JavaScript
1
star
57

regex-arg

node. parse an arg into safe regex
JavaScript
1
star
58

scouts

website for my son's scout troop
JavaScript
1
star
59

node-packageroot

return the closest parent or current directory that contains a package.json
JavaScript
1
star
60

log-parser

learning rust writing a log parser
Rust
1
star
61

node-kazoo

a streaming json parser with an interface similar to clarinet - do not use yet :)
JavaScript
1
star
62

node-prettyuse

print memory in bytes for human consumtion
JavaScript
1
star
63

fs-readstream-many

read a glob of files as a single read stream
JavaScript
1
star
64

nginx-etag

generate an etag like nginx
JavaScript
1
star
65

node-rotator

Emit rotate events for log files based on interval. Rotate event handlers are called "rotator-tots" or just tots. Tots get passed a (readable stream, the log file path, and the data passed in when the log was asociated).
JavaScript
1
star
66

node-packagereadme

return the readme as a string for the current package based on closest package.json in the specified or parent directory"
JavaScript
1
star
67

node-emitter-trace

log all events from this emitter and emitters it emits
JavaScript
1
star
68

adminutils

a collection of scripts i use to manage my servers
1
star
69

highcharts-stream

streaming interface to highcharts-browserify. stream data into charts
JavaScript
1
star
70

batching-fs-writestream

writes files faster by writing data to disk in chunks rather then one syscall for each call to write as in `fs.createWriteStream` except buffers chunks of data while other writes are pending to batch them to dis
JavaScript
1
star
71

goodmarks

goodmarks!
JavaScript
1
star
72

node-poll-stream

poll a function on an interval emit data
JavaScript
1
star
73

tar-files

convenience wrapper around fs gunzip and node-tar to stream file entries' data.
JavaScript
1
star
74

node-mysqlsetup

mysql migration runner api
JavaScript
1
star
75

printastic-protocol

wire protocol for printastic server
JavaScript
1
star
76

tigers----

javascript bookmarklet game! fight tigers anywhere!
JavaScript
1
star
77

lumber-nominal-size-table

table of nominal sizes to actual sizes based on american lumber standards
JavaScript
1
star
78

node-memcached-multiplex

combine concurrent gets for the same keys into one get/multiget to the server
JavaScript
1
star
79

node-s3-service-registry

use s3 to publish the hosts and ports of running services
JavaScript
1
star
80

ians-game

a html+js game im writing with my son
JavaScript
1
star
81

node-packagenpmjson

this creates a npm compatable json document. you can use it as a component for private npm registries that doont use couch.
JavaScript
1
star
82

solumWebSocket

php web socket server - WAYYY OLD AND OUT OF SPEC NOW. an ok refrence i guess
1
star
83

leo-board-pinoccio

leo board config file for the pinoccio arduino compatible board
Shell
1
star
84

node-mocktimers

mock timers and timeouts for timing dependent node projects
JavaScript
1
star
85

node-npmish

a proxy npm repository server that serves local tars and packs local repos when they are requested.
JavaScript
1
star
86

node-packagegitconfig

find the git folder for your package and parse the .git/config file into a useful data structure. also adds the github web url for the repo.
JavaScript
1
star
87

node-repipe

reconnect/remake streams that are piped to a single output stream
JavaScript
1
star
88

sinky

run async node apis like `http` as sync
JavaScript
1
star
89

node-sorted-key-buckets

Map a key to a bucket where the keys assigned to each bucket must be sorted. Creates new buckets as needed. used to make sorted string tables.
JavaScript
1
star
90

retry-log

Process events in a log. Retry them a number of times. Then file them into failed.log or fixed.log
JavaScript
1
star
91

node-watchfd

change events for any file descriptors that are referenced by a watched path or were referenced by a watched path for as long as they are active
JavaScript
1
star
92

solumDB

another php mysql layer - master+slave replication support, direct connection access, automatic reconnect if server gone away, wont connect if no queries are run, simple orm layer with active record style row objects and no class files per table
PHP
1
star
93

node-sentiment-multitool

cli to scan piped text streams or start a web service for sentimint analysis. uses 'sentiment' by diy
1
star
94

node-engine.io-options-from-url

engine.io-cleint's options / defaults are seriously broken for cross domain. this takes a url and sets the options correctly.
JavaScript
1
star