{"id":27498,"library":"uangcermat-web-toolkit-v2","title":"UangCermat Web Toolkit v2","description":"A React component library and utility toolkit for building UangCermat financial web applications. Currently at version 0.2.30 (pre-1.0), it ships TypeScript types and requires React 18.2+, react-dom 18.2+, and husky ^8.0.0 as peer dependencies. The package is in early development with a TODO indicating missing test and commit lint setup. Compared to general UI libraries, it is tightly coupled to UangCermat's design system and internal conventions, and may have breaking changes frequently.","status":"active","version":"0.2.30","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","typescript"],"install":[{"cmd":"npm install uangcermat-web-toolkit-v2","lang":"bash","label":"npm"},{"cmd":"yarn add uangcermat-web-toolkit-v2","lang":"bash","label":"yarn"},{"cmd":"pnpm add uangcermat-web-toolkit-v2","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency (^8.0.0) for git hooks","package":"husky","optional":true},{"reason":"peer dependency (^18.2.0) for React components","package":"react","optional":false},{"reason":"peer dependency (^18.2.0) for React DOM rendering","package":"react-dom","optional":false}],"imports":[{"note":"Named export, not default. CJS require works with destructuring.","wrong":"import Button from 'uangcermat-web-toolkit-v2'","symbol":"Button","correct":"import { Button } from 'uangcermat-web-toolkit-v2'"},{"note":"Also a named export. Supports both ESM and CJS.","wrong":"const theme = require('uangcermat-web-toolkit-v2').theme","symbol":"theme","correct":"import { theme } from 'uangcermat-web-toolkit-v2'"},{"note":"Exported from main entry; no subpath exports documented.","wrong":"import { useAuth } from 'uangcermat-web-toolkit-v2/hooks'","symbol":"useAuth","correct":"import { useAuth } from 'uangcermat-web-toolkit-v2'"}],"quickstart":{"code":"// Install with peer dependencies\nnpm install uangcermat-web-toolkit-v2 react@^18.2.0 react-dom@^18.2.0 husky@^8.0.0\n\n// Use in a React component\nimport { Button, theme } from 'uangcermat-web-toolkit-v2';\n\nfunction App() {\n  return (\n    <div style={{ background: theme.colors.primary }}>\n      <Button label=\"Click me\" onClick={() => alert('Clicked')} />\n    </div>\n  );\n}\n\nexport default App;","lang":"typescript","description":"Quickstart showing installation with peer deps, named imports, and usage of Button component with theme."},"warnings":[{"fix":"Increase Node.js max_old_space_size: add 'NODE_OPTIONS=--max_old_space_size=8129' to dev script.","message":"FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Pin to specific version and test upgrades thoroughly.","message":"Package is early stage (v0.2.30) with missing test and commit lint setup; expect frequent breaking changes.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"If using husky v9, check for breaking changes and update scripts accordingly.","message":"Husky v8 is a peer dependency but may be superseded by v9; ensure compatibility.","severity":"deprecated","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Set NODE_OPTIONS=--max_old_space_size=8129 in dev script.","cause":"Default Node memory limit insufficient for storybook or build","error":"FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory"},{"fix":"Run npm install react@^18.2.0 react-dom@^18.2.0","cause":"Peer dependencies not installed","error":"Cannot find module 'react' or 'react-dom'"},{"fix":"Ensure import { theme } from 'uangcermat-web-toolkit-v2' is correct and theme provider wraps app.","cause":"Theme object not initialized or imported incorrectly","error":"TypeError: Cannot read properties of undefined (reading 'colors')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}