{"id":48758,"library":"node-persist-manager","title":"node-persist-manager","description":"node-persist-manager is a TypeScript-based asynchronous storage manager for Node.js that provides a simple key-value persist layer with a file-based backend. It is designed to be lightweight and easy to use for local data persistence in Node.js applications. The current stable version is 2.0.2, released with a focus on modern Node.js runtimes (v20.19+, v22.13+, v24+). It offers a straightforward API with methods like getItem, setItem, removeItem, and clear, and uses a manager pattern for managing storage contexts. Compared to other packages like node-persist or lowdb, it is largely unmaintained and has a very narrow engine support range, making it risky for production use.","status":"maintenance","version":"2.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/Luligu/node-persist-manager","tags":["javascript","node-persist","persist","storage","context","NodeStorageManager","NodeStorage","typescript"],"install":[{"cmd":"npm install node-persist-manager","lang":"bash","label":"npm"},{"cmd":"yarn add node-persist-manager","lang":"bash","label":"yarn"},{"cmd":"pnpm add node-persist-manager","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Package is ESM-only. CommonJS require will not work.","wrong":"const NodeStorageManager = require('node-persist-manager');","symbol":"NodeStorageManager","correct":"import { NodeStorageManager } from 'node-persist-manager';"},{"note":"If you need the storage class directly.","wrong":"","symbol":"NodeStorage","correct":"import { NodeStorage } from 'node-persist-manager';"},{"note":"Default export may not exist; prefer named imports.","wrong":"","symbol":"default","correct":"import NodePersist from 'node-persist-manager';"},{"note":"TypeScript types are bundled with the package.","wrong":"","symbol":"Type definitions","correct":"import type { StorageOptions } from 'node-persist-manager';"}],"quickstart":{"code":"import { NodeStorageManager } from 'node-persist-manager';\nimport { join } from 'path';\n\nasync function main() {\n  const storageManager = new NodeStorageManager();\n  const storage = storageManager.createContext('myApp');\n\n  // Set an item\n  await storage.setItem('user', { name: 'Alice', age: 30 });\n\n  // Get an item\n  const user = await storage.getItem('user');\n  console.log('User:', user);\n\n  // Remove an item\n  await storage.removeItem('user');\n\n  // Clear all items\n  await storage.clear();\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Demonstrates creating a storage context, setting, getting, removing, and clearing key-value data asynchronously."},"warnings":[{"fix":"Use Node.js version that satisfies the engine range, or downgrade to a compatible earlier version.","message":"Engine requirement: Node.js >=20.19.0 <21.0.0 || >=22.13.0 <23.0.0 || >=24.0.0 <25.0.0 - will not install on older or incompatible Node versions.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Implement your own backup or error handling for file corruption.","message":"No persistence guarantees across process restarts if storage file is corrupted or missing; no built-in backup mechanism.","severity":"gotcha","affected_versions":"all"},{"fix":"Consider migrating to more actively maintained storage solutions like lowdb or node-persist.","message":"Package is in maintenance mode with minimal updates; may have unaddressed issues.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"search_vec":"'2.0.2':56 'api':72 'applic':50 'asynchron':14 'backend':33 'base':13,32 'clear':80 'compar':90 'context':89,124 'current':52 'data':46 'design':36 'easi':41 'engin':109 'file':31 'file-bas':30 'focus':60 'getitem':76 'javascript':118 'key':24 'key-valu':23 'larg':102 'layer':27 'lightweight':39 'like':75,94 'local':45 'lowdb':99 'make':112 'manag':4,8,16,84,87 'method':74 'modern':62 'narrow':108 'node':2,6,96,120 'node-persist':95,119 'node-persist-manag':1,5 'node.js':18,49,63 'nodestorag':126 'nodestoragemanag':125 'offer':69 'packag':93 'pattern':85 'persist':3,7,26,47,97,121,122 'product':116 'provid':20 'rang':111 'releas':57 'removeitem':78 'riski':114 'runtim':64 'setitem':77 'simpl':22 'stabl':53 'storag':15,88,123 'straightforward':71 'support':110 'typescript':12,127 'typescript-bas':11 'unmaintain':103 'use':43,82,117 'v20.19':65 'v22.13':66 'v24':67 'valu':25 'version':54","created_at":"2026-06-07T16:58:18.941785+00:00","updated_at":"2026-06-07T16:58:18.941785+00:00","problems":[{"fix":"Use `import { NodeStorageManager } from 'node-persist-manager';` instead of `require()`.","cause":"The package is ESM-only and requires importing using ES modules syntax (import).","error":"ERR_MODULE_NOT_FOUND: Cannot find module 'node-persist-manager'"},{"fix":"Import `{ NodeStorageManager }` instead of `NodeStorageManager` as default.","cause":"Incorrect import: likely using default import when named import is needed.","error":"TypeError: storageManager.createContext is not a function"},{"fix":"Update Node.js to one of the supported versions (e.g., 20.19.x, 22.13.x, or 24.x).","cause":"Your Node.js version does not satisfy the engine requirements.","error":"Error: The engine \"node\" is incompatible with this module. Expected version \">=20.19.0 <21.0.0 || >=22.13.0 <23.0.0 || >=24.0.0 <25.0.0\"."}],"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://www.npmjs.com/package/node-persist-manager","github":"https://github.com/Luligu/node-persist-manager","docs":null,"changelog":null,"pypi":null,"npm":"node-persist-manager","openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}