尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Paste or drop a CSV and instantly see per-column statistics — no upload, no sign-in, all in your browser.
Give it a CSV by pasting text, dropping a .csv file, or picking one with the file button. It parses the data locally and shows a table with one row per column:
• Numeric columns — min, max, mean, and median.
• Text columns — number of unique values and the most frequent one.
• Every column — how many values are missing (empty or whitespace) and how many are present.檢視完整 README ↗Paste or drop a CSV and instantly see per-column statistics — no upload, no sign-in, all in your browser.
Give it a CSV by pasting text, dropping a .csv file, or picking one with the file button. It parses the data locally and shows a table with one row per column:
Each column is labelled Numeric or Text so you can see at a glance how it was interpreted. Nothing is sent to a server — parsing and stats run entirely in the page.
Click any column header (or Tab to it and press Enter or Space) to sort the table by that column. Activating the same header again reverses the order; a third activation restores the original CSV column order. Only one column is sorted at a time, missing values always sort to the bottom, and the active header shows an arrow (▲ ascending, ▼ descending) alongside aria-sort for assistive tech.
bun install
bun run dev
Open http://localhost:3000 and paste a CSV.
| Command | Does |
|---|---|
bun run dev | dev server |
bun run build | production build |
bun run lint | Biome check |
bun run typecheck | route typegen + tsc |
bun run test | unit tests (Vitest) |
bun run test:e2e | end-to-end tests (Playwright) |
bun run test:a11y | accessibility scan (axe-core, WCAG 2.2 AA) |
lib/parseCsv.ts — wraps Papa Parse (header: true, skipEmptyLines: "greedy"), returning clean Record<string, string> rows plus any parse error.lib/stats.ts — pure functions that classify each column and compute its statistics. Fully unit-tested.lib/sortStats.ts — the pure three-state sort cycle (ascending → descending → original order) and comparator, including the null-sinks-to-bottom and tie-break-by-name rules. Fully unit-tested.components/ — CsvInput (paste / drop / pick), StatsTable, SortableHeader (the clickable, keyboard-operable column header), and TypeBadge, one per file.app/page.tsx — wires input to stats and renders the empty, error, and results states.Unit tests live beside the code they cover (lib/*.test.ts). End-to-end and accessibility specs live in e2e/. Every route is scanned against WCAG 2.2 A + AA — add new routes to the ROUTES array in e2e/a11y.spec.ts, since an unlisted route is not covered.
Bun, Next.js App Router, TypeScript strict, Tailwind CSS v4, Biome, Vitest, Playwright, Papa Parse.
Deployed on Vercel. Every pull request gets a preview build; production deploys are manual.