{"id":51423107,"url":"https://github.com/chdb-io/chdb-wasm","last_synced_at":"2026-07-05T01:02:10.399Z","repository":{"id":367162103,"uuid":"1255868359","full_name":"chdb-io/chdb-wasm","owner":"chdb-io","description":"Browser SQL shell for chDB — ClickHouse compiled to WebAssembly, running fully in the browser. Live at wasm.chdb.io","archived":false,"fork":false,"pushed_at":"2026-06-24T20:58:09.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-24T21:14:37.492Z","etag":null,"topics":["browser","chdb","clickhouse","database","olap","sql","wasm","webassembly"],"latest_commit_sha":null,"homepage":"https://wasm.chdb.io","language":"HTML","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/chdb-io.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["chdb-io"]}},"created_at":"2026-06-01T08:44:15.000Z","updated_at":"2026-06-24T20:58:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chdb-io/chdb-wasm","commit_stats":null,"previous_names":["chdb-io/chdb-wasm"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/chdb-io/chdb-wasm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chdb-io%2Fchdb-wasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chdb-io%2Fchdb-wasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chdb-io%2Fchdb-wasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chdb-io%2Fchdb-wasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chdb-io","download_url":"https://codeload.github.com/chdb-io/chdb-wasm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chdb-io%2Fchdb-wasm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35140189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"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":["browser","chdb","clickhouse","database","olap","sql","wasm","webassembly"],"created_at":"2026-07-05T01:02:09.735Z","updated_at":"2026-07-05T01:02:10.345Z","avatar_url":"https://github.com/chdb-io.png","language":"HTML","funding_links":["https://github.com/sponsors/chdb-io"],"categories":[],"sub_categories":[],"readme":"# chdb-wasm browser shell\n\nThe browser SQL shell behind **[wasm.chdb.io](https://wasm.chdb.io)** — chDB (ClickHouse\ncompiled to WebAssembly) running fully in the browser. SQL executes on the client, with\nno backend.\n\nThis repo is just the **web page + its Vercel deploy**. The engine itself (the\nWebAssembly build, the glue JS, and the `.wasm`) lives in the\n[`chdb-wasm` npm package](https://www.npmjs.com/package/chdb-wasm) (built from\n[`chdb-io/chdb-core`](https://github.com/chdb-io/chdb-core)); this shell only *consumes*\nit.\n\n## Layout\n\n- `web/index.html` — the shell. It references `./dist/...`; the build rewrites `./dist`\n  to a content-hashed `./dist-\u003chash\u003e/` directory so the engine can be cached forever.\n- `vercel.json` — deploy config: COOP/COEP cross-origin-isolation headers (needed by the\n  multi-threaded build), immutable caching for the hashed engine dir, `no-cache` for the\n  page, plus the build command and output directory.\n- `scripts/build-vercel.sh` — assembles the deploy output (`out/`) from the installed\n  `chdb-wasm` engine + `web/`, content-hashing the engine dir.\n- `scripts/serve.mjs` — local preview server (sets COOP/COEP).\n\n## Local preview\n\n```sh\nnpm install                 # pulls the chdb-wasm engine into node_modules/\nnpm run serve               # http://localhost:8099  (use localhost for SharedArrayBuffer)\n```\n\n`index.html` loads the engine from `./dist`; the preview server maps `/dist/*` to the\ninstalled `chdb-wasm` package. To preview an unpublished local build instead, symlink it:\n\n```sh\nmkdir -p node_modules \u0026\u0026 ln -s /path/to/chdb-core/packages/chdb-wasm node_modules/chdb-wasm\n```\n\n## Deploy (Vercel)\n\nHosted on **Vercel** as a static site — no backend. Everything, including the ~100 MB\n`.wasm`, is served as a **same-origin static asset** straight from Vercel's CDN; Vercel has\nno per-file size limit, so there is no external object store or streaming function (unlike\nthe old Cloudflare Pages + R2 setup). Serving the wasm same-origin also satisfies the\nCOOP/COEP cross-origin isolation the multi-threaded build requires.\n\nDeploys use Vercel's **Git integration**: pushes to `main` publish production, pull\nrequests get preview URLs. On each build Vercel installs `chdb-wasm` (a dependency), then\nruns `scripts/build-vercel.sh` (the `buildCommand` in `vercel.json`) to emit `out/`.\n\nOne-time setup (Vercel dashboard, on the **clickhouse** team):\n\n- Import this repo. Framework preset **Other**; the build command and output directory are\n  read from `vercel.json` (`bash scripts/build-vercel.sh` → `out/`).\n- Add the custom domain **`wasm.chdb.io`** and point its DNS at Vercel.\n- Plan: only the multi-threaded (mt) engine ships (~95 MB) — the page is always\n  cross-origin isolated, so the single-threaded fallback is never used. That fits Vercel's\n  static-upload limit on any plan. Serving the wasm counts toward Fast Data Transfer;\n  `immutable` caching means repeat visitors re-use the browser copy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchdb-io%2Fchdb-wasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchdb-io%2Fchdb-wasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchdb-io%2Fchdb-wasm/lists"}