{"id":20521,"library":"ripemd-ts","title":"ripemd-ts","description":"RIPEMD hash functions (RIPEMD-160, RIPEMD-128, RIPEMD-256, RIPEMD-320) implemented in TypeScript. Current version 0.0.2 is a pre-release and ships TypeScript type definitions. Notable for providing pure TypeScript implementation of the RIPEMD family of cryptographic hash functions. However, the package appears to be using the TypeScript-library-starter boilerplate and may not be production-ready. No release cadence established. Alternative: ripemd160 (npm) for a more mature JavaScript implementation.","status":"active","version":"0.0.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install ripemd-ts","lang":"bash","label":"npm"},{"cmd":"yarn add ripemd-ts","lang":"bash","label":"yarn"},{"cmd":"pnpm add ripemd-ts","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Named export, not default.","wrong":"import RIPEMD160 from 'ripemd-ts'","symbol":"RIPEMD160","correct":"import { RIPEMD160 } from 'ripemd-ts'"},{"note":"ESM only. CJS require works but uses .property.","wrong":"const RIPEMD128 = require('ripemd-ts').RIPEMD128","symbol":"RIPEMD128","correct":"import { RIPEMD128 } from 'ripemd-ts'"},{"note":"require returns module object; need property access.","wrong":"const RIPEMD256 = require('ripemd-ts')","symbol":"RIPEMD256","correct":"import { RIPEMD256 } from 'ripemd-ts'"},{"note":"Named export.","symbol":"RIPEMD320","correct":"import { RIPEMD320 } from 'ripemd-ts'"}],"quickstart":{"code":"import { RIPEMD160, RIPEMD128, RIPEMD256, RIPEMD320 } from 'ripemd-ts';\n\nconst message = 'Hello, world!';\nconst hash160 = new RIPEMD160().update(message).digest('hex');\nconsole.log('RIPEMD-160:', hash160);\n\nconst hash128 = new RIPEMD128().update(message).digest('hex');\nconsole.log('RIPEMD-128:', hash128);\n\nconst hash256 = new RIPEMD256().update(message).digest('hex');\nconsole.log('RIPEMD-256:', hash256);\n\nconst hash320 = new RIPEMD320().update(message).digest('hex');\nconsole.log('RIPEMD-320:', hash320);","lang":"typescript","description":"Demonstrates creating hash instances, updating with data, and digesting to hex string. Uses TypeScript with named imports."},"warnings":[{"fix":"Consider using a more mature library like ripemd160 (npm) for production.","message":"Package is a pre-release (0.0.2) and may have incomplete or buggy implementations. Not audited for cryptographic correctness.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use import { RIPEMD160 } from 'ripemd-ts'.","message":"Default import (import X from 'ripemd-ts') is undefined; must use named import.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Monitor changelog for breaking changes.","message":"Naming conventions for hash function exports are not standardized; may change in future releases.","severity":"deprecated","affected_versions":"0.0.2"},{"fix":"If using CommonJS, use const { RIPEMD160 } = require('ripemd-ts').","message":"Only ESM module format is available in package; CJS require is not directly supported but works via property access (require('ripemd-ts').RIPEMD160).","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"import { RIPEMD160 } from 'ripemd-ts';","cause":"Default import not available; library exports only named exports.","error":"import RIPEMD160 from 'ripemd-ts'; // TypeError: Cannot read properties of undefined"},{"fix":"const { RIPEMD160 } = require('ripemd-ts');","cause":"require returns the module object, not the constructor directly.","error":"const RIPEMD160 = require('ripemd-ts'); // RIPEMD160 is not a constructor"},{"fix":"Ensure import statement uses named export: import { RIPEMD160 } from 'ripemd-ts';","cause":"TypeScript not recognizing named import or using default import erroneously.","error":"ReferenceError: RIPEMD160 is not defined (when using wrong import syntax in TS)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}