@jnst/cursor-usage 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +96 -0
- package/dist/cli.js +25 -0
- package/dist/web/chunk-1vzwq3k1.js +285 -0
- package/dist/web/chunk-gbmr24vb.css +1 -0
- package/dist/web/index.html +17 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg:#0d1117;--panel:#161b22;--panel-border:#21262d;--text:#e6edf3;--text-dim:#8b949e;--accent:#58a6ff;--accent-soft:#58a6ff1f;--green:#3fb950}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,sans-serif;font-size:14px;line-height:1.5}.app{max-width:1180px;margin:0 auto;padding:24px 20px 64px}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}.header h1{letter-spacing:.02em;margin:0;font-size:20px}.header .meta{color:var(--text-dim);font-size:13px}.reload-button{background:var(--panel);border:1px solid var(--panel-border);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px}.reload-button:hover{border-color:var(--accent)}.dropzone{display:flex;border:2px dashed var(--panel-border);cursor:pointer;text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items: center;gap:12px;min-height:70vh;padding:40px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft)}.dropzone .icon{font-size:44px}.dropzone h2{margin:0;font-size:18px;font-weight:600}.dropzone p{color:var(--text-dim);max-width:460px;margin:0}.dropzone .error{color:#f85149}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:14px 16px}.card .label{color:var(--text-dim);margin-bottom:4px;font-size:12px}.card .value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.card .sub{color:var(--text-dim);margin-top:2px;font-size:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid .wide{grid-column:1/-1}@media (max-width:860px){.grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;padding:16px}.panel h3{color:var(--text);margin:0 0 12px;font-size:14px;font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--panel-border);white-space:nowrap;padding:7px 10px}th{color:var(--text-dim);font-size:12px;font-weight:500}td.num,th.num{text-align:right}tr:last-child td{border-bottom:none}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:11px}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="ja">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Cursor Usage</title>
|
|
7
|
+
<link
|
|
8
|
+
rel="icon"
|
|
9
|
+
href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='8' width='3' height='7' fill='%2358a6ff'/%3E%3Crect x='6' y='4' width='3' height='11' fill='%233fb950'/%3E%3Crect x='11' y='1' width='3' height='14' fill='%23d29922'/%3E%3C/svg%3E"
|
|
10
|
+
/>
|
|
11
|
+
|
|
12
|
+
<link rel="stylesheet" crossorigin href="./chunk-gbmr24vb.css"><script type="module" crossorigin src="./chunk-1vzwq3k1.js"></script></head>
|
|
13
|
+
<body>
|
|
14
|
+
<div id="root"></div>
|
|
15
|
+
|
|
16
|
+
</body>
|
|
17
|
+
</html>
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jnst/cursor-usage",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Visualize Cursor usage-events CSV: terminal stats and a drag-and-drop local dashboard",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/jnst/cursor-usage.git"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/jnst/cursor-usage#readme",
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/jnst/cursor-usage/issues"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"bin": {
|
|
16
|
+
"cursor-usage": "dist/cli.js"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"dev": "bun --hot src/server/dev.ts",
|
|
23
|
+
"test": "bun test",
|
|
24
|
+
"typecheck": "tsc --noEmit",
|
|
25
|
+
"build": "bun run build.ts",
|
|
26
|
+
"prepublishOnly": "bun run build"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=20"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"cursor",
|
|
33
|
+
"usage",
|
|
34
|
+
"cli",
|
|
35
|
+
"dashboard"
|
|
36
|
+
],
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/bun": "^1.3.14",
|
|
39
|
+
"@types/react": "^19.2.17",
|
|
40
|
+
"@types/react-dom": "^19.2.3",
|
|
41
|
+
"react": "^19.2.7",
|
|
42
|
+
"react-dom": "^19.2.7",
|
|
43
|
+
"recharts": "^3.8.1",
|
|
44
|
+
"typescript": "^6.0.3"
|
|
45
|
+
}
|
|
46
|
+
}
|