node-red-biglib
raw JSON → 1.3.4 verified Fri May 01 auth: no javascript maintenance
node-red-biglib is the core library for building high-volume Node-RED flow nodes that process data in 'blocks' (buffers). Version 1.3.4 is stable, with no recent updates since 2017. It provides helpers for memory control, buffer workflows, status propagation (color/message), and message reuse (_msgid, topic). Unlike standard Node-RED nodes, Big Nodes emphasize a second output for flow control and filter-by-default behavior. Dependencies include byline, filesize, and moment.
Common errors
error TypeError: BigLib.createBlock is not a function ↓
cause Incorrect import or use of a non-existent API; likely a typo or wrong symbol.
fix
Use BigLib.Block or check actual exported properties (require('node-red-biglib')).
error Cannot find module 'node-red-biglib' ↓
cause Package not installed in the Node-RED user directory or global modules.
fix
Run 'npm install node-red-biglib' in the Node-RED home directory (~/.node-red).
error BigNode is not a constructor ↓
cause BigNode not called with 'new' or not properly inherited.
fix
Ensure proper usage: BigNode.call(this, config) inside node constructor.
Warnings
gotcha This library is designed for Node-RED and not intended for standalone use outside of Node-RED's runtime. ↓
fix Only use within Node-RED custom node development.
gotcha The documentation and API are not well documented; rely on Big Nodes child packages for usage examples. ↓
fix Refer to node-red-contrib-bigfile, node-red-contrib-bigcsv etc. for patterns.
deprecated Moment.js is deprecated and recommended to be replaced with modern date libraries. ↓
fix Consider patching to use date-fns or Luxon instead, but be aware of breaking changes.
breaking Major version 2 may not be backward compatible; no official migration guide exists. ↓
fix If upgrading from 1.x, check child node packages for compatibility.
Install
npm install node-red-biglib yarn add node-red-biglib pnpm add node-red-biglib Imports
- BigLib wrong
import BigLib from 'node-red-biglib'correctconst BigLib = require('node-red-biglib') - biglib wrong
const BigLib = require('node-red-biglib').BigLibcorrectconst biglib = require('node-red-biglib') - BigNode wrong
import { BigNode } from 'node-red-biglib'correctconst BigNode = require('node-red-biglib').BigNode
Quickstart
const BigLib = require('node-red-biglib');
const BigNode = BigLib.BigNode;
// Example: Create a simple big node
module.exports = function(RED) {
function MyBigNode(config) {
RED.nodes.createNode(this, config);
BigNode.call(this, config);
this.on('input', function(msg) {
// Process blocks
const block = BigLib.createBlock(msg.payload, {});
this.sendBlock(block);
});
}
RED.nodes.registerType('my-big-node', MyBigNode);
};