{"id":43482,"library":"noflo-pgorm","title":"noflo-pgorm","description":"PostgreSQL ORM wrapper for noflo-pg, providing Read and Write components for NoFlo graph-based programming. Version 0.0.21 (last release ~2014). Minimal documentation, no known maintenance. Output uses NoFlo's IP (Information Packet) group/data format. Thin layer over noflo-pg without advanced ORM features like migrations or associations. Not actively developed.","status":"deprecated","version":"0.0.21","language":"javascript","source_language":"en","source_url":"https://github.com/kenhkan/noflo-pgorm","tags":["javascript","noflo","database","postgresql","postgres","pgsql","pg","sql","relational"],"install":[{"cmd":"npm install noflo-pgorm","lang":"bash","label":"npm"},{"cmd":"yarn add noflo-pgorm","lang":"bash","label":"yarn"},{"cmd":"pnpm add noflo-pgorm","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"NoFlo runtime required to load components","package":"noflo","optional":false},{"reason":"Underlying PostgreSQL client","package":"noflo-pg","optional":false}],"imports":[{"note":"This package provides NoFlo components, not a direct API. Use noflo.ComponentLoader to load 'pgorm/Read' and 'pgorm/Write'.","wrong":"const pgorm = require('noflo-pgorm')","symbol":"noflo-pgorm components","correct":"npm install noflo-pgorm"},{"note":"Components are registered under the 'pgorm/' namespace via NoFlo's component loader, not exported as modules.","wrong":"import { Read } from 'noflo-pgorm'","symbol":"Read","correct":"loader.load('pgorm/Read', callback)"},{"note":"Same as Read: use NoFlo component loader with 'pgorm/Write'.","wrong":"const Write = require('noflo-pgorm').Write","symbol":"Write","correct":"loader.load('pgorm/Write', callback)"}],"quickstart":{"code":"// Install: npm install noflo noflo-pg noflo-pgorm\n// Create a NoFlo graph using noflo-pgorm components\nconst noflo = require('noflo');\nconst loader = new noflo.ComponentLoader('/path/to/node_modules');\nloader.load('pgorm/Read', (err, Read) => {\n  if (err) { console.error(err); return; }\n  const network = noflo.createNetwork();\n  network.addComponent('Read', Read);\n  // Connect server URL\n  const serverPacket = noflo.internalSocket.createSocket();\n  network.addEdge('Read', 'SERVER', serverPacket);\n  serverPacket.post('tcp://default@localhost:5432/postgres');\n  // Send query with token and constraints\n  const tokenGroup = noflo.internalSocket.createSocket();\n  network.addEdge('Read', 'IN', tokenGroup);\n  tokenGroup.beginGroup('token');\n  tokenGroup.beginGroup('users');\n  tokenGroup.data('username,=,elephant');\n  tokenGroup.endGroup();\n  tokenGroup.endGroup();\n  // Start network\n  network.start(() => {\n    console.log('Graph ready');\n  });\n});","lang":"javascript","description":"Shows how to load and use the Read component via NoFlo's component loader, sending server URL and query constraints."},"warnings":[{"fix":"Consider modern alternatives like TypeORM or Sequelize, or use noflo-pg directly.","message":"Package is effectively unmaintained; last release 2014. No guarantees of compatibility with modern Node.js or PostgreSQL.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Use noflo.ComponentLoader with 'pgorm/Read' or 'pgorm/Write'.","message":"Components are loaded by name string, not imported directly. Requires NoFlo's component loader infrastructure.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Familiarize with NoFlo IP semantics before using.","message":"Input/output format uses NoFlo groups (BEGINGROUP/ENDGROUP/DATA) which differs from standard JavaScript ORMs.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Format constraints as strings, e.g., 'username,=,elephant'.","message":"'Read' component expects constraints as comma-separated strings like 'column,operator,value', not structured objects.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.0.21':23 '2014':26 'activ':56 'advanc':48 'associ':54 'base':20 'compon':15 'databas':60 'develop':57 'document':28 'featur':50 'format':40 'graph':19 'graph-bas':18 'group/data':39 'inform':37 'ip':36 'javascript':58 'known':30 'last':24 'layer':42 'like':51 'mainten':31 'migrat':52 'minim':27 'noflo':2,9,17,34,45,59 'noflo-pg':8,44 'noflo-pgorm':1 'orm':5,49 'output':32 'packet':38 'pg':10,46,64 'pgorm':3 'pgsql':63 'postgr':62 'postgresql':4,61 'program':21 'provid':11 'read':12 'relat':66 'releas':25 'sql':65 'thin':41 'use':33 'version':22 'without':47 'wrapper':6 'write':14","created_at":"2026-06-05T17:00:00.410284+00:00","updated_at":"2026-06-05T17:00:00.410284+00:00","problems":[{"fix":"Run 'npm install noflo-pgorm' and ensure it's in your project's node_modules.","cause":"Package not installed or not searched in correct node_modules path.","error":"Cannot find module 'noflo-pgorm'"},{"fix":"Pass correct base path to ComponentLoader constructor.","cause":"Component loader cannot find the component; package may not be loaded properly.","error":"No component registered for 'pgorm/Read'"},{"fix":"Use loader.load('pgorm/Read', callback) as shown in quickstart.","cause":"Attempting to use the component directly via require instead of NoFlo's loader.","error":"TypeError: Read is not a constructor"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/kenhkan/noflo-pgorm","github":"https://github.com/kenhkan/noflo-pgorm","docs":null,"changelog":null,"pypi":null,"npm":"noflo-pgorm","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}