{"id":30180973,"url":"https://github.com/streamich/streamich","last_synced_at":"2026-02-10T16:16:32.182Z","repository":{"id":246020606,"uuid":"819826160","full_name":"streamich/streamich","owner":"streamich","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-03T12:12:07.000Z","size":95,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-03T13:14:23.875Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/streamich.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-25T09:17:57.000Z","updated_at":"2025-08-03T12:12:10.000Z","dependencies_parsed_at":"2025-08-03T13:09:17.889Z","dependency_job_id":"dea1126a-dbdd-4eab-8302-da85409731fd","html_url":"https://github.com/streamich/streamich","commit_stats":null,"previous_names":["streamich/streamich"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/streamich/streamich","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fstreamich","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fstreamich/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fstreamich/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fstreamich/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/streamich","download_url":"https://codeload.github.com/streamich/streamich/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamich%2Fstreamich/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270024697,"owners_count":24514054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-12T08:06:21.460Z","updated_at":"2026-02-10T16:16:32.177Z","avatar_url":"https://github.com/streamich.png","language":null,"funding_links":["https://github.com/sponsors/streamich)__","https://buymeacoffee.com/streamich)__"],"categories":[],"sub_categories":[],"readme":"- UI and React\n  - [`react-use`][react-use] and [`libreact`][libreact] \u0026mdash; lots of React hooks and utility components.\n  - [`nano-css`][nano-css] and [`nano-theme`][nano-theme] \u0026mdash; the fastest and smallest CSS-in-JS library with lots of plugins (successor of [`freestyler`][freestyler]).\n  - [`react-embed`][react-embed] \u0026mdash; embed social widgets in your React app.\n  - [`use-media`][use-media] \u0026mdash; CSS media queries through React hook.\n  - [`react-simple-player`][react-simple-player] \u0026mdash; a minimalistic audio player React component.\n  - [`clickable-json`][clickable-json] \u0026mdash; JSON viewer and editor with hoverable and clickable objects.\n  - [`flexible-input`][flexible-input] \u0026mdash; React `\u003cinput\u003e` and `\u003ctextarea\u003e` components which stretch to fit the content.\n  - [`awesome-styleguides`][awesome-styleguides] \u0026mdash; index of style guides and design systems.\n  - [`code-colors`][code-colors] and [`code-colors-react`][code-colors-react] \u0026mdash; code syntax highlighting libraries.\n  - [`use-t`][use-t] \u0026mdash; a small internationalization library for React.\n  - [`iconista`][iconista] \u0026mdash; 100,000 free SVG icons, available on CDN and packaged as a React component.\n  - [`react-router-lite`][react-router-lite] \u0026mdash; a lightweight React router.\n- Filesystem\n  - [`memfs`][memfs] \u0026mdash; a virtual filesystem for Node.js and browser, plus OPFS file system helpers.\n  - [`unionfs`][unionfs] \u0026mdash; creates a union of multiple filesystem volumes.\n  - [`fs-monkey`][fs-monkey] \u0026mdash; monkey-patches Node's `fs` module and `require` function.\n  - [`linkfs`][linkfs] \u0026mdash; redirects filesystem paths.\n  - [`spyfs`][spyfs] \u0026mdash; spies on filesystem actions.\n  \u003c!-- - `fs-zoo` 🔜 __soon__ \u0026mdash; browser OPFS and other file system utilities. --\u003e\n- Collaborative editing\n  - [`json-joy`](https://github.com/streamich/json-joy), a [JSON CRDT](https://jsonjoy.com/specs/json-crdt) implementation and collection of JSON awesomeness.\n    - [`json-joy/json-crdt`](https://jsonjoy.com/libs/json-joy-js/json-crdt) \u0026mdash; the fastest list CRDT implementation in JavaScript.\n    - [`json-joy/json-patch`](https://jsonjoy.com/libs/json-joy-js/json-patch) \u0026mdash; very fast JSON Patch (and JSON Pointer) implementation in JavaScript.\n  - [`collaborative-editor`][collaborative-editor] \u0026mdash; General JSON CRDT `str` node sychnonization with any editor.\n  - [`collaborative-input`][collaborative-input] \u0026mdash; React `\u003cinput\u003e` and `\u003ctextarea\u003e` components with JSON CRDT real-time collaboration support.\n  - [`collaborative-ace`][collaborative-ace] \u0026mdash; JSON CRDT real-time collaboration bindings for Ace editor.\n  - [`collaborative-monaco`][collaborative-monaco] \u0026mdash; JSON CRDT real-time collaboration bindings for the Monaco editor.\n  - [`collaborative-codemirror`][collaborative-codemirror] \u0026mdash; JSON CRDT real-time collaboration bindings for the CodeMirror editor.\n  - [`json-pointer`][json-pointer] \u0026mdash; JSON Pointer (RFC 6901) implementation with JIT compilation.\n- CLI tools\n  - [`git-cz`][git-cz] \u0026mdash; `feat: 🎸 emoji-fied Git commits`\n  - [`json-type-cli`][json-type-cli] \u0026mdash; type-safe request/response CLI too builder.\n  - [`cross-ci`][cross-ci] \u0026mdash; env var normalization across CI/CD services.\n- Data structures, algorithms, and utilities\n  - [`sonic-forest`][sonic-forest] \u0026mdash; very fast AVL, Red-Black, Splay, and Radix tree implementations in JavaScript.\n  - [`thingies`][thingies] \u0026mdash; a collection of useful TypeScript utilities.\n  - [`json-expression`][json-expression] \u0026mdash; JSON Expression implementation with JIT compilation.\n  - [`json-type`][json-type] \u0026mdash; JSON Type implementation: type-safe JSON schema builder, validator, parser.\n  - [`json-random`][json-random] \u0026mdash; collection tools to generate random JSON.\n  - [`rx-use`][rx-use] \u0026mdash; useful RxJS observables for web apps.\n  - [`tree-dump`][tree-dump] \u0026mdash; utility to easily print tree-like structures.\n  - [`pojo-dump`][pojo-dump] \u0026mdash; nicely prints JSON (or POJO) for human consumption.\n  - [`buffers`][buffers] \u0026mdash; essential browser and Node.js buffer tools.\n- Parsing\n  - [`json-pack`][json-pack] \u0026mdash; the fastest CBOR, MessagePack, RESP3, UBJSON, JSON, and Bencode codecs in plain JavaScript.\n  - [`jit-router`][jit-router] \u0026mdash; the fastest HTTP router in JavaScript.\n  - [`very-small-parser`][very-small-parser] \u0026mdash; small Markdown and HTML parser and formatter.\n    - Supersedes [`md-mdast`](https://github.com/streamich/md-mdast) \u0026mdash; extremely small and fast Markdown to MDAST parser.\n  - [`base64`][base64] \u0026mdash; the fastest Base64 encoder and decoder for browser and Node.js.\n  - [`mdast-flat`](https://github.com/streamich/mdast-flat) \u0026mdash; MDAST format to flat-MDAST converter.\n  - [`jit-parser`][jit-parser] \u0026mdash; PEG recursive descent backtracking JIT parser generator.\n  - [`mqtt-codec`][mqtt-codec] \u0026mdash; the fastest MQTT packet parser for Node.js.\n- Low-level, Server \u0026 Networking\n  - [`codegen`][codegen] \u0026mdash; JIT code generation tools for JavaScript.\n  - [`ass-js`][ass-js] 🧪💥 __experimental__ \u0026mdash; X86_64 assembler compiler in JavaScript.\n  - [`reactive-rpc`][reactive-rpc] 🧪💥 __experimental__ \u0026mdash; a very fast and type safe [JSON Reactive RPC][spec-json-rx] server and client.\n  - [`redis-joy`][redis-joy] 🧪💥 __experimental__ \u0026mdash; a very fast Redis 7+ RESP3 standalone and cluster client.\n  - [`node-multicore`][node-multicore] 🧪💥 __experimental__ \u0026mdash; PoC of a very fast thread pool for Node.js.\n- Specifications\n  - `spec` [**JSON CRDT**][spec-json-crdt] \u0026mdash; Full JSON implementation as a CRDT (Conflict-free Replicated Datatype).\n  - `spec` [**JSON CRDT Patch**][spec-json-crdt-patch] \u0026mdash; The patch format for JSON CRDT.\n  - `spec` [**JSON Expression**][spec-json-expression] \u0026mdash; s-expression specification for JSON.\n  - `spec` [**JSON Reactive RPC**][spec-json-rx] \u0026mdash; JSON Reactive RPC protocol (RPC with server push) implementation.\n  - `encoding` [**Compact JSON**][spec-compact-json] \u0026mdash; A compact *Tuple-Type-Value* (TTV) encoding for JSON.\n- Blog posts\n  - `blog` [_Collaborative Text Editors (Part 2): Plain Text Synchronization_](https://jsonjoy.com/blog/collaborative-text-sync-plain-text)\n  - `blog` [_Collaborative Text Editors (Part 1): Prelude_](https://jsonjoy.com/blog/collaborative-text-sync-prelude)\n  - `blog` [_Fuzz Testing RGA CRDT_](https://jsonjoy.com/blog/fuzz-testing-rga-crdt)\n  - `blog` [_Benchmarking JSON Serialization Codecs_](https://jsonjoy.com/blog/json-codec-benchmarks)\n  - `blog` [_List CRDT Benchmarks_](https://jsonjoy.com/blog/list-crdt-benchmarks)\n  - `blog` [_Blazing Fast List CRDT_](https://jsonjoy.com/blog/performant-rga-list-crdt-algorithm)\n- My [random notes](https://onp4.com/@vadim)\n  - `note` [Programming](https://onp4.com/@vadim/~programming)\n  - `note` [JavaScript](https://onp4.com/@vadim/~js)\n  - `note` [Collaborative editing](https://onp4.com/@vadim/~collaborative-editing)\n  - `note` [Funny GitHub profiles](https://onp4.com/@vadim/~funny-github-profiles)\n\n[ass-js]: https://github.com/streamich/ass-js\n[awesome-styleguides]: https://github.com/streamich/awesome-styleguides\n[base64]: https://github.com/jsonjoy-com/base64\n[buffers]: https://github.com/jsonjoy-com/buffers\n[clickable-json]: https://github.com/streamich/clickable-json\n[codegen]: https://github.com/jsonjoy-com/codegen\n[code-colors-react]: https://github.com/streamich/code-colors-react\n[code-colors]: https://github.com/streamich/code-colors\n[collaborative-editor]: https://github.com/streamich/collaborative-editor\n[collaborative-input]: https://github.com/streamich/collaborative-input\n[collaborative-ace]: https://github.com/streamich/collaborative-ace\n[collaborative-monaco]: https://github.com/streamich/collaborative-monaco\n[collaborative-codemirror]: https://github.com/streamich/collaborative-codemirror\n[cross-ci]: https://github.com/streamich/cross-ci\n[flexible-input]: https://github.com/streamich/flexible-input\n[freestyler]: https://github.com/streamich/freestyler\n[fs-monkey]: https://github.com/streamich/fs-monkey\n[git-cz]: https://github.com/streamich/git-cz\n[iconista]: https://github.com/streamich/iconista\n[jit-router]: https://github.com/jsonjoy-com/jit-router\n[jit-parser]: https://github.com/streamich/jit-parser\n[json-expression]: https://github.com/jsonjoy-com/json-expression\n[json-pack]: https://github.com/jsonjoy-com/json-pack\n[json-pointer]: https://github.com/jsonjoy-com/json-pointer\n[json-random]: https://github.com/jsonjoy-com/json-random\n[json-type]: https://github.com/jsonjoy-com/json-type\n[json-type-cli]: https://github.com/streamich/json-type-cli\n[libreact]: https://github.com/streamich/libreact\n[linkfs]: https://github.com/streamich/linkfs\n[memfs]: https://github.com/streamich/memfs\n[mqtt-codec]: https://github.com/streamich/mqtt-codec\n[nano-css]: https://github.com/streamich/nano-css\n[nano-theme]: https://github.com/streamich/nano-theme\n[node-multicore]: https://github.com/streamich/node-multicore\n[react-embed]: https://github.com/streamich/react-embed\n[react-router-lite]: https://github.com/streamich/react-router-lite\n[react-simple-player]: https://github.com/streamich/react-simple-player\n[react-use]: https://github.com/streamich/react-use\n[reactive-rpc]: https://github.com/jsonjoy-com/reactive-rpc\n[redis-joy]: https://github.com/streamich/redis-joy\n[sonic-forest]: https://github.com/streamich/sonic-forest\n[spyfs]: https://github.com/streamich/spyfs\n[thingies]: https://github.com/streamich/thingies\n[tree-dump]: https://github.com/streamich/tree-dump\n[pojo-dump]: https://github.com/streamich/pojo-dump\n[unionfs]: https://github.com/streamich/unionfs\n[use-media]: https://github.com/streamich/use-media\n[use-t]: https://github.com/streamich/use-t\n[rx-use]: https://github.com/streamich/rx-use\n[very-small-parser]: https://github.com/streamich/very-small-parser\n[spec-json-crdt]: https://jsonjoy.com/specs/json-crdt\n[spec-json-crdt-patch]: https://jsonjoy.com/specs/json-crdt-patch\n[spec-json-expression]: https://jsonjoy.com/specs/json-expression\n[spec-json-rx]: https://jsonjoy.com/specs/json-rx\n[spec-compact-json]: https://jsonjoy.com/specs/compact-json\n\n\n---\n\nYour support means a lot to me and will help me to continue working on my projects!\n\n[![streamich GitHub stats](https://github-readme-stats.vercel.app/api?username=streamich)](https://github.com/anuraghazra/github-readme-stats)\n\n\u003e [!IMPORTANT]\n\u003e If you or __your company__ are using any of my projects or like what I'm doing, please consider backing me\n\u003e up. I appreciate it! 🙏 Your support will help me allocate more time to the open source work.\n\u003e \n\u003e - __[Become a sponsor](https://github.com/sponsors/streamich)__\n\u003e - __[Buy me a coffee](https://buymeacoffee.com/streamich)__ ☕️\n\u003e -  or send a Solana airdrop 🚀 🌘, SOL: `LJJwteDZjL8u2Uhh5giwVpRa5KcHLkDogYAZntYbMsD`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamich%2Fstreamich","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstreamich%2Fstreamich","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamich%2Fstreamich/lists"}