This is your work, valued

Tallinn, Estonia

Andri Möll

Expert
@moll

Writing hundreds of thousands of lines of Haskell to really just parse XML @ https://billberry.ee.

vim-node. Tools and environment to make Vim superb for developing with Node.js. Like Rails.vim for Node.

799

vim-bbye. Delete buffers and close files in Vim without closing your windows or messing up your layout. Like Bclose.vim, but rewritten and well maintained.

685

node-mitm. Intercept and mock outgoing Node.js network TCP connections and HTTP requests for testing. Intercepts and gives you a Net.Socket, Http.IncomingMessage and Http.ServerResponse to test and respond with. Super useful when testing code that hits remote servers.

660

json-stringify-safe. Like JSON.stringify, but doesn't throw on circular references

556

js-must. An assertion library for JavaScript and Node.js with a friendly BDD syntax (awesome.must.be.true()). It ships with many expressive matchers and is test runner and framework agnostic. Follows RFC 2119 with its use of MUST. Good stuff and well tested.

338

capistrano-rsync. Deploy with Rsync from any local (or remote) repository when using Capistrano. Capistrano v3 ready!

124

js-ddl. Gets you a JSON Schema from PostgreSQL or SQLite3. Also supports arrays and default values. Use it for introspection or preparing your domain models like with Rails's Active Record.

68

js-fetch-defaults. Fetch API mixin to set a default base URL and options. Functional and immutable.

55

mina-rsync. Deploy with Rsync from any local (or remote) repository when using Mina.

50

js-concert. An event library for JavaScript and Node.js that implements the observer pattern (a.k.a publish/subscribe). Similar to Node's EventEmitter and Backbone.Events, but independent, minimal and light-weight.

43

js-standard-error. Tiny JavaScript library that simplifies subclassing and inheriting from Error while keeping the correct name and stack. Also supports constructing from an object of properties. Saves you from boilerplate.

42

js-undersign. A JavaScript library for creating eIDAS compatible XAdES signatures, incl. support for OCSP, timestamps and ASIC-E. Works also with the Estonian Id-card, Mobile-Id and Smart-Id out of the box.

32

js-strange. Range object for JavaScript. Supports exclusive and infinite ranges. Stringifies to PostgreSQL compatible format.

27

sh-chnode. Change between installed Node versions in your current shell.

22

js-promise-defer. JavaScript Polyfill for Promise.defer. Uses the native ES6 Promise. Supports other Promises/A+ implementations.

22

node-pg-error. An error class for Node.js that parses PostgreSQL's ErrorResponse format and sets human readable field names. Works with node-pg, too.

21

js-standard-http-error. Standard HTTP error class for Node.js. Proper serialization, no bloat. Extensible.

20

js-element-from-point. A consistent cross-browser document.elementFromPoint function. Works around idiosyncracies of old WebKits et al.

11

js-j6pack. JavaScript library to render JSX to JavaScript and HTML on the web or on Node.js. Works with Express.js. No React dependency, no virtual DOM.

11

node-require-guard. Prevent files and modules being required more than once. Helps with auto-reloaders or test runners that insist.

9

js-hugml. An XML parsing and serializing library based on Google's GDATA and BadgerFish conventions. Supports namespaces.

9

js-oolong. Object utility library for JavaScript. Simple, tasteful and plentiful. Supports inherited properties.

9

js-sqlate. A tiny tagged template string function library for JavaScript to write SQL safely. Works with Mapbox's SQLite3 library, Brian Carlson's PostgreSQL library and others.

8

js-co-next. JavaScript function to use generators for request handlers and middleware. Calls next only if there was an error. Useful for Express routes.

7

js-internet-message. Library for JavaScript to parse and stringify RFC 822 ARPA Internet Text Messages. Useful format for messages with headers and body. Similar to HTTP.

6

js-lazy-object. JavaScript library to define lazy properties on objects that are initialized once and only when accessed. Also known as a lazy initialization and cached/memoized getters.

6

js-kindof. A proper typeof that works with primitives, built-in value objects and those from other execution contexts.

5

js-syslog-protocol. Syslog (RFC 3164) parser. Works with RFC 3339/ISO 8601 timestamps.

5

js-medium-type. JavaScript library for parsing, stringifying and manipulating media types. Useful for content negotiation. Follows RFC2045, supports quoted parameters, all allowed characters etc.

5

nutikaitse. CSS

5

js-egal. Strict equality test (like ===) for JavaScript that handles both built-in and custom value objects (those with a valueOf function).

5

js-fetch-parse. Fetch API mixin to buffer and parse response bodies. Supports media type patterns for content type specific custom parsers.

4

js-square-batman. A small JavaScript scheduling algorithm library. Useful for round-robin etc.

4

browserify-substitution-mass-confusion. Browserify plugin for substituting modules everywhere. It expands the package.json "browser" field to work for nested dependencies.

3

js-fetch-jsonify. Fetch API mixin for stringifying JSON and setting Content-Type if unset. Functional and immutable.

3

node-selenium-dom. SeleniumDom.js is a mixin library for Node.js's Selenium WebDriver that adds **DOM methods** to Selenium's `WebDriver` and `WebElement`.

3

node-syslogh. Log to your system's Syslog from within Node.js. Provides simple native bindings to <syslog.h> and syslog(3). Works on Node v0.10 up to v4 and beyond.

3

node-heaven-sqlite. Heaven.js's Data Mapper for SQLite. CRUD API that parses and serializes your models to and from SQLite.

3

js-soul. Soul.js is a simple yet extensible mutable model library for JavaScript.

3

js-internet-message-type. Library for JavaScript to parse RFC 822 ARPA Internet Text Messages types and bodies. Works well with InternetMessage.js.

2

node-fetch-off. Fetch API polyfill and facade. Its request and response wrappers can be used separately: use fetch for request yet get back Node's Http.get response (IncomingMessage) for streaming.

2

js-descend. Function to set up an inherited class that calls its ancestor constructors automatically. Can also be attached to constructors.

1

js-fetch-formify. Fetch API mixin for urlencoding an object and setting Content-Type if unset. Functional and immutable.

1

js-overstrike. A utility library in the style of Underscore.js with consistent inherited property handling, the simplest implementation and curation by yours truly.

1

js-fetch-error. A JavaScript library for an error class for use with the Fetch API.

1

node-flash-fiction. Flash messages middleware for Express/Connect with support for redirects and immediate use. Useful for informational or errors messages. Like Rails's Flash.

1

js-fetch-throw. A JavaScript Fetch API mixin to throw FetchError when the request fails or response has an error.

1

exportjs. A tool that helps you publish and export your JavaScripts to other environments by wrapping them in an IIFE. Or UMD in the future.

1