{"id":41810,"library":"qpien-chat-text-formatter","title":"QPIEN Chat Text Formatter","description":"qpien-chat-text-formatter v1.4.3 is a React component for formatting chat messages with bold, italic, strikethrough, monospace, auto-linked URLs, and bulleted/numbered lists. Created by demirelakif, it supports Turkish locale via a capitalizeFirst utility that handles special characters (İ, ı, etc.). Requires React >=16.8.0. Actively maintained with a one-month release cycle. Differentiators: lightweight (no Markdown parser dependency), dedicated chat-focused syntax, and built-in Turkish language support.","status":"active","version":"1.4.3","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","chat","formatter","text","markdown","demirelakif","typescript"],"install":[{"cmd":"npm install qpien-chat-text-formatter","lang":"bash","label":"npm"},{"cmd":"yarn add qpien-chat-text-formatter","lang":"bash","label":"yarn"},{"cmd":"pnpm add qpien-chat-text-formatter","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for React component","package":"react","optional":false}],"imports":[{"note":"Package is ESM and ships TypeScript types; named export only. CommonJS require() may work if project uses module bundler that handles ESM interop, but ESM import is recommended.","wrong":"const { ChatTextFormatter } = require('qpien-chat-text-formatter')","symbol":"ChatTextFormatter","correct":"import { ChatTextFormatter } from 'qpien-chat-text-formatter'"},{"note":"capitalizeFirst is a named export from the main package, not a separate module. The wrong path does not exist.","wrong":"import { capitalizeFirst } from 'qpien-chat-text-formatter/capitalizeFirst'","symbol":"capitalizeFirst","correct":"import { capitalizeFirst } from 'qpien-chat-text-formatter'"},{"note":"No default export; only named exports (ChatTextFormatter, capitalizeFirst). Default import will result in undefined.","wrong":"import ChatTextFormatter from 'qpien-chat-text-formatter'","symbol":"default import","correct":"import { ChatTextFormatter } from 'qpien-chat-text-formatter'"}],"quickstart":{"code":"import { ChatTextFormatter } from 'qpien-chat-text-formatter';\n\nfunction App() {\n  const markdown = `*Bold* and _italic_\\n\\n- List item 1\\n- List item 2\\n\\nVisit https://example.com`;\n  return <ChatTextFormatter text={markdown} config={{ linkTarget: '_blank' }} />;\n}","lang":"typescript","description":"Demonstrates basic usage of ChatTextFormatter with bold, italic, bullet list, and auto-linked URL."},"warnings":[{"fix":"Use import { ChatTextFormatter } from 'qpien-chat-text-formatter' instead of default import.","message":"Importing default instead of named export","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Update to v1.4.0 or later and use the provided capitalizeFirst function with 'tr-TR' locale.","message":"Turkish locale misinterpretation with toLocaleUpperCase","severity":"gotcha","affected_versions":"<1.4.0"},{"fix":"No formal CSS API; use inline style or className to customize appearance.","message":"Package does not expose a CSS file; styling must be applied via className or style props","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'16.8.0':51 'activ':52 'auto':25 'auto-link':24 'bold':20 'built':74 'built-in':73 'bulleted/numbered':29 'capitalizefirst':40 'charact':45 'chat':2,7,17,69,80 'chat-focus':68 'compon':14 'creat':31 'cycl':60 'dedic':67 'demirelakif':33,84 'depend':66 'differenti':61 'etc':48 'focus':70 'format':16 'formatt':4,9,81 'handl':43 'ital':21 'javascript':79 'languag':77 'lightweight':62 'link':26 'list':30 'local':37 'maintain':53 'markdown':64,83 'messag':18 'monospac':23 'month':58 'one':57 'one-month':56 'parser':65 'qpien':1,6 'qpien-chat-text-formatt':5 'react':13,50 'releas':59 'requir':49 'special':44 'strikethrough':22 'support':35,78 'syntax':71 'text':3,8,82 'turkish':36,76 'typescript':85 'url':27 'util':41 'v1.4.3':10 'via':38 'ı':47","created_at":"2026-06-04T18:54:12.867755+00:00","updated_at":"2026-06-04T18:54:12.867755+00:00","problems":[{"fix":"Ensure text prop is a string, e.g., <ChatTextFormatter text={myText ?? ''} />","cause":"Passing text prop as undefined or null","error":"Uncaught TypeError: Cannot destructure property 'text' of 'undefined' or 'null'"},{"fix":"Run npm install qpien-chat-text-formatter","cause":"Package not installed or missing in node_modules","error":"Module not found: Can't resolve 'qpien-chat-text-formatter'"},{"fix":"Change import to import { ChatTextFormatter } from 'qpien-chat-text-formatter'","cause":"Default import used instead of named import","error":"Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object."},{"fix":"Install @types/react? Package ships types; check tsconfig includes node_modules/@types, or if using an older TS version, add 'skipLibCheck': true","cause":"TypeScript cannot resolve package types","error":"TS2307: Cannot find module 'qpien-chat-text-formatter' or its corresponding type declarations."}],"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":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"qpien-chat-text-formatter","openapi_spec":null,"status_page":null,"smithery":null,"categories":["productivity"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}