termcast 1.4.1 → 1.6.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.
Files changed (180) hide show
  1. package/dist/build.d.ts.map +1 -1
  2. package/dist/build.js +30 -12
  3. package/dist/build.js.map +1 -1
  4. package/dist/cli.js +0 -40
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compile.d.ts.map +1 -1
  7. package/dist/compile.js +7 -1
  8. package/dist/compile.js.map +1 -1
  9. package/dist/components/bar-graph.d.ts +23 -8
  10. package/dist/components/bar-graph.d.ts.map +1 -1
  11. package/dist/components/bar-graph.js +84 -40
  12. package/dist/components/bar-graph.js.map +1 -1
  13. package/dist/components/dotted-line-graph.d.ts +86 -0
  14. package/dist/components/dotted-line-graph.d.ts.map +1 -0
  15. package/dist/components/dotted-line-graph.js +260 -0
  16. package/dist/components/dotted-line-graph.js.map +1 -0
  17. package/dist/components/extension-preferences.d.ts.map +1 -1
  18. package/dist/components/extension-preferences.js +1 -10
  19. package/dist/components/extension-preferences.js.map +1 -1
  20. package/dist/components/graph.d.ts.map +1 -1
  21. package/dist/components/graph.js +7 -1
  22. package/dist/components/graph.js.map +1 -1
  23. package/dist/components/histogram.d.ts +42 -0
  24. package/dist/components/histogram.d.ts.map +1 -0
  25. package/dist/components/histogram.js +115 -0
  26. package/dist/components/histogram.js.map +1 -0
  27. package/dist/components/horizontal-bar-graph.d.ts +47 -0
  28. package/dist/components/horizontal-bar-graph.d.ts.map +1 -0
  29. package/dist/components/horizontal-bar-graph.js +137 -0
  30. package/dist/components/horizontal-bar-graph.js.map +1 -0
  31. package/dist/components/list.d.ts +9 -0
  32. package/dist/components/list.d.ts.map +1 -1
  33. package/dist/components/list.js +84 -21
  34. package/dist/components/list.js.map +1 -1
  35. package/dist/examples/bar-graph-weekly.js +2 -2
  36. package/dist/examples/bar-graph-weekly.js.map +1 -1
  37. package/dist/examples/charts-showcase-barchart.d.ts +2 -0
  38. package/dist/examples/charts-showcase-barchart.d.ts.map +1 -0
  39. package/dist/examples/charts-showcase-barchart.js +10 -0
  40. package/dist/examples/charts-showcase-barchart.js.map +1 -0
  41. package/dist/examples/charts-showcase-bargraph.d.ts +2 -0
  42. package/dist/examples/charts-showcase-bargraph.d.ts.map +1 -0
  43. package/dist/examples/charts-showcase-bargraph.js +60 -0
  44. package/dist/examples/charts-showcase-bargraph.js.map +1 -0
  45. package/dist/examples/charts-showcase-candle.d.ts +2 -0
  46. package/dist/examples/charts-showcase-candle.d.ts.map +1 -0
  47. package/dist/examples/charts-showcase-candle.js +30 -0
  48. package/dist/examples/charts-showcase-candle.js.map +1 -0
  49. package/dist/examples/charts-showcase-graph.d.ts +2 -0
  50. package/dist/examples/charts-showcase-graph.d.ts.map +1 -0
  51. package/dist/examples/charts-showcase-graph.js +33 -0
  52. package/dist/examples/charts-showcase-graph.js.map +1 -0
  53. package/dist/examples/charts-showcase-heatmap.d.ts +2 -0
  54. package/dist/examples/charts-showcase-heatmap.d.ts.map +1 -0
  55. package/dist/examples/charts-showcase-heatmap.js +36 -0
  56. package/dist/examples/charts-showcase-heatmap.js.map +1 -0
  57. package/dist/examples/charts-showcase-mixed.d.ts +2 -0
  58. package/dist/examples/charts-showcase-mixed.d.ts.map +1 -0
  59. package/dist/examples/charts-showcase-mixed.js +30 -0
  60. package/dist/examples/charts-showcase-mixed.js.map +1 -0
  61. package/dist/examples/charts-showcase-progress.d.ts +2 -0
  62. package/dist/examples/charts-showcase-progress.d.ts.map +1 -0
  63. package/dist/examples/charts-showcase-progress.js +10 -0
  64. package/dist/examples/charts-showcase-progress.js.map +1 -0
  65. package/dist/examples/graph-multi-series.js +1 -1
  66. package/dist/examples/graph-multi-series.js.map +1 -1
  67. package/dist/examples/horizontal-bar-graph-weekly.d.ts +2 -0
  68. package/dist/examples/horizontal-bar-graph-weekly.d.ts.map +1 -0
  69. package/dist/examples/horizontal-bar-graph-weekly.js +67 -0
  70. package/dist/examples/horizontal-bar-graph-weekly.js.map +1 -0
  71. package/dist/examples/list-detail-height-ratchet.d.ts +2 -0
  72. package/dist/examples/list-detail-height-ratchet.d.ts.map +1 -0
  73. package/dist/examples/list-detail-height-ratchet.js +26 -0
  74. package/dist/examples/list-detail-height-ratchet.js.map +1 -0
  75. package/dist/examples/simple-dotted-line-graph.d.ts +2 -0
  76. package/dist/examples/simple-dotted-line-graph.d.ts.map +1 -0
  77. package/dist/examples/simple-dotted-line-graph.js +39 -0
  78. package/dist/examples/simple-dotted-line-graph.js.map +1 -0
  79. package/dist/examples/simple-histogram.d.ts +2 -0
  80. package/dist/examples/simple-histogram.d.ts.map +1 -0
  81. package/dist/examples/simple-histogram.js +47 -0
  82. package/dist/examples/simple-histogram.js.map +1 -0
  83. package/dist/extensions/dev.d.ts.map +1 -1
  84. package/dist/extensions/dev.js +1 -0
  85. package/dist/extensions/dev.js.map +1 -1
  86. package/dist/globals.js +8 -0
  87. package/dist/globals.js.map +1 -1
  88. package/dist/index.d.ts +6 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +6 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/package-json.d.ts +2 -0
  93. package/dist/package-json.d.ts.map +1 -1
  94. package/dist/package-json.js +20 -17
  95. package/dist/package-json.js.map +1 -1
  96. package/dist/platform/node/sqlite.d.ts +6 -5
  97. package/dist/platform/node/sqlite.d.ts.map +1 -1
  98. package/dist/platform/node/sqlite.js +30 -14
  99. package/dist/platform/node/sqlite.js.map +1 -1
  100. package/dist/profiler.d.ts +2 -0
  101. package/dist/profiler.d.ts.map +1 -0
  102. package/dist/profiler.js +390 -0
  103. package/dist/profiler.js.map +1 -0
  104. package/dist/theme.d.ts.map +1 -1
  105. package/dist/theme.js +11 -9
  106. package/dist/theme.js.map +1 -1
  107. package/dist/utils/run-command.d.ts.map +1 -1
  108. package/dist/utils/run-command.js +8 -19
  109. package/dist/utils/run-command.js.map +1 -1
  110. package/dist/utils.d.ts +1 -19
  111. package/dist/utils.d.ts.map +1 -1
  112. package/dist/utils.js +1 -100
  113. package/dist/utils.js.map +1 -1
  114. package/package.json +18 -21
  115. package/src/build.tsx +38 -15
  116. package/src/cli.tsx +3 -40
  117. package/src/compile.tsx +9 -1
  118. package/src/compile.vitest.tsx +8 -8
  119. package/src/components/bar-graph.tsx +217 -111
  120. package/src/components/dotted-line-graph.tsx +407 -0
  121. package/src/components/extension-preferences.tsx +2 -12
  122. package/src/components/graph.tsx +5 -1
  123. package/src/components/histogram.tsx +228 -0
  124. package/src/components/horizontal-bar-graph.tsx +279 -0
  125. package/src/components/list.tsx +112 -26
  126. package/src/examples/action-shortcut.vitest.tsx +20 -20
  127. package/src/examples/actions-context.vitest.tsx +2 -2
  128. package/src/examples/bar-graph-weekly.tsx +2 -2
  129. package/src/examples/bar-graph-weekly.vitest.tsx +103 -102
  130. package/src/examples/charts-showcase-bargraph.tsx +103 -0
  131. package/src/examples/detail-metadata-showcase.vitest.tsx +12 -12
  132. package/src/examples/form-basic.vitest.tsx +11 -11
  133. package/src/examples/form-dropdown.vitest.tsx +11 -11
  134. package/src/examples/form-scroll.vitest.tsx +1 -1
  135. package/src/examples/form-tagpicker.vitest.tsx +11 -11
  136. package/src/examples/github.vitest.tsx +22 -31
  137. package/src/examples/graph-bar-chart.vitest.tsx +36 -36
  138. package/src/examples/graph-multi-series.tsx +1 -1
  139. package/src/examples/graph-polymarket.vitest.tsx +24 -24
  140. package/src/examples/graph-row.vitest.tsx +14 -14
  141. package/src/examples/graph-styles.vitest.tsx +77 -77
  142. package/src/examples/horizontal-bar-graph-weekly.tsx +138 -0
  143. package/src/examples/horizontal-bar-graph-weekly.vitest.tsx +164 -0
  144. package/src/examples/list-detail-height-ratchet.tsx +48 -0
  145. package/src/examples/list-detail-height-ratchet.vitest.tsx +161 -0
  146. package/src/examples/list-detail-metadata.vitest.tsx +51 -51
  147. package/src/examples/list-dropdown-default.vitest.tsx +27 -27
  148. package/src/examples/list-fetch-data.vitest.tsx +3 -3
  149. package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
  150. package/src/examples/list-no-actions.vitest.tsx +3 -3
  151. package/src/examples/list-scrollbox.vitest.tsx +6 -6
  152. package/src/examples/list-spacing-mode.vitest.tsx +1 -1
  153. package/src/examples/list-with-detail.vitest.tsx +55 -55
  154. package/src/examples/list-with-dropdown.vitest.tsx +6 -6
  155. package/src/examples/list-with-sections.vitest.tsx +20 -20
  156. package/src/examples/list-with-toast.vitest.tsx +4 -4
  157. package/src/examples/simple-candle-chart.vitest.tsx +61 -59
  158. package/src/examples/simple-dotted-line-graph.tsx +53 -0
  159. package/src/examples/simple-dotted-line-graph.vitest.tsx +62 -0
  160. package/src/examples/simple-grid.vitest.tsx +4 -4
  161. package/src/examples/simple-heatmap.vitest.tsx +9 -9
  162. package/src/examples/simple-histogram.tsx +90 -0
  163. package/src/examples/simple-navigation.vitest.tsx +25 -25
  164. package/src/examples/simple-progress-bar.vitest.tsx +7 -7
  165. package/src/examples/swift-extension.vitest.tsx +5 -5
  166. package/src/examples/toast-action.vitest.tsx +4 -4
  167. package/src/extensions/dev.tsx +2 -1
  168. package/src/extensions/dev.vitest.tsx +17 -17
  169. package/src/globals.ts +9 -0
  170. package/src/index.tsx +21 -0
  171. package/src/package-json.tsx +24 -23
  172. package/src/platform/node/sqlite.ts +29 -13
  173. package/src/profiler.tsx +487 -0
  174. package/src/theme.tsx +11 -10
  175. package/src/utils/run-command.tsx +10 -19
  176. package/src/utils.tsx +0 -163
  177. package/src/examples/store.tsx +0 -4
  178. package/src/examples/store.vitest.tsx +0 -78
  179. package/src/extensions/home.tsx +0 -227
  180. package/src/extensions/store.tsx +0 -375
@@ -0,0 +1,390 @@
1
+ // React component profiler for termcast.
2
+ //
3
+ // Captures React 19.2+ PerformanceMeasure entries emitted by the development
4
+ // reconciler (react-reconciler/cjs/react-reconciler.development.js) and writes
5
+ // a .cpuprofile file on process exit. Analyze with profano:
6
+ //
7
+ // TERMCAST_REACT_PROFILE=1 termcast dev ./my-extension
8
+ // bunx profano ./tmp/react-profile-*.cpuprofile --sort self
9
+ // bunx profano ./tmp/react-profile-*.cpuprofile --sort total
10
+ //
11
+ // The reconciler emits performance.measure() calls with:
12
+ // - name: "\u200b" + componentName (component renders)
13
+ // - name: trigger string like "Mount", "Cascading Update", etc.
14
+ // - detail.devtools.track: "Components ⚛" for component renders
15
+ //
16
+ // NOTE: React also emits some entries via console.timeStamp() which are not
17
+ // captured by PerformanceObserver. This profiler captures a useful subset of
18
+ // React's performance track data, not every component render.
19
+ //
20
+ // The profile builds a best-effort call tree from time containment: if measure
21
+ // A fully contains measure B in time, B becomes a child of A. Partially
22
+ // overlapping measures are attached to the nearest containing ancestor.
23
+ // This gives meaningful self vs total times in profano output:
24
+ // - total time = all time inside a measure (including children)
25
+ // - self time = time not attributed to any child measure
26
+ //
27
+ // Requirements:
28
+ // - React 19.2+ in development mode (NODE_ENV !== 'production')
29
+ // - PerformanceObserver available (Node.js 16+, Bun)
30
+ import fs from 'node:fs';
31
+ import path from 'node:path';
32
+ import { logger } from './logger';
33
+ const measures = [];
34
+ let observerInstalled = false;
35
+ let profileWritten = false;
36
+ let perfObserver = null;
37
+ function writeProfileOnce() {
38
+ if (profileWritten) {
39
+ return;
40
+ }
41
+ profileWritten = true;
42
+ // Drain any queued records not yet delivered by the observer callback,
43
+ // so the last measures before exit are captured.
44
+ if (perfObserver) {
45
+ for (const entry of perfObserver.takeRecords()) {
46
+ const detail = entry.detail;
47
+ if (!detail?.devtools?.track) {
48
+ continue;
49
+ }
50
+ measures.push({
51
+ name: entry.name,
52
+ duration: entry.duration,
53
+ startTime: entry.startTime,
54
+ track: detail.devtools.track,
55
+ });
56
+ }
57
+ }
58
+ writeProfile();
59
+ }
60
+ export function installProfiler() {
61
+ if (observerInstalled) {
62
+ return;
63
+ }
64
+ if (typeof PerformanceObserver === 'undefined') {
65
+ logger.error('PerformanceObserver not available, profiling disabled');
66
+ return;
67
+ }
68
+ observerInstalled = true;
69
+ perfObserver = new PerformanceObserver((list) => {
70
+ for (const entry of list.getEntries()) {
71
+ const detail = entry.detail;
72
+ if (!detail?.devtools?.track) {
73
+ continue;
74
+ }
75
+ measures.push({
76
+ name: entry.name,
77
+ duration: entry.duration,
78
+ startTime: entry.startTime,
79
+ track: detail.devtools.track,
80
+ });
81
+ }
82
+ });
83
+ perfObserver.observe({ type: 'measure', buffered: true });
84
+ // Hook into the devtools fiber tree to collect component source locations
85
+ // from _debugStack on each commit. This builds the componentSourceMap
86
+ // incrementally as components render.
87
+ installFiberHook();
88
+ // Write profile on exit signals. The named function reference is used so
89
+ // removeListener actually removes the correct handler, preventing recursion
90
+ // when process.kill re-raises the signal.
91
+ const handleSignal = (signal) => {
92
+ writeProfileOnce();
93
+ process.removeListener(signal, handleSignal);
94
+ process.kill(process.pid, signal);
95
+ };
96
+ process.on('SIGINT', handleSignal);
97
+ process.on('SIGTERM', handleSignal);
98
+ process.on('exit', writeProfileOnce);
99
+ logger.log('React profiler installed. Profile will be written on exit.');
100
+ }
101
+ // Build a call tree from time containment: if span A fully contains span B,
102
+ // B is a child of A. Each unique (track, name) pair can appear at multiple
103
+ // tree positions when it occurs inside different parent spans.
104
+ //
105
+ // The algorithm: sort spans longest-first so parents come before children.
106
+ // For each span, walk the tree from root finding the deepest ancestor that
107
+ // contains it, then attach a new node there. Each tree node gets a unique ID
108
+ // even if the same component name appears multiple times (different call sites).
109
+ function buildCallTree({ spans, sourceMap }) {
110
+ const ROOT_ID = 1;
111
+ const IDLE_ID = 2;
112
+ const nodes = [
113
+ {
114
+ id: ROOT_ID,
115
+ callFrame: { functionName: '(root)', scriptId: '0', url: '', lineNumber: -1, columnNumber: -1 },
116
+ children: [IDLE_ID],
117
+ },
118
+ {
119
+ id: IDLE_ID,
120
+ callFrame: { functionName: '(idle)', scriptId: '0', url: '', lineNumber: -1, columnNumber: -1 },
121
+ children: [],
122
+ },
123
+ ];
124
+ let nextId = 3;
125
+ const rootEntry = {
126
+ nodeId: ROOT_ID,
127
+ startUs: -Infinity,
128
+ endUs: Infinity,
129
+ children: [],
130
+ };
131
+ // Sort spans by duration descending so parents (longer) are inserted first
132
+ const indexed = spans.map((s, i) => ({ ...s, originalIndex: i }));
133
+ indexed.sort((a, b) => (b.endUs - b.startUs) - (a.endUs - a.startUs));
134
+ // Map from original span index to the leaf node ID for sampling
135
+ const spanToLeafId = new Map();
136
+ for (const span of indexed) {
137
+ // Find deepest ancestor in the tree that fully contains this span
138
+ const parent = findDeepestContainer(rootEntry, span.startUs, span.endUs);
139
+ const id = nextId++;
140
+ const newEntry = {
141
+ nodeId: id,
142
+ startUs: span.startUs,
143
+ endUs: span.endUs,
144
+ children: [],
145
+ };
146
+ // Resolve source file path from the component name.
147
+ // Falls back to the React track name (e.g. "Components ⚛") for scheduler
148
+ // events and components not found in source.
149
+ // scriptId is stable per source identity so profano aggregates repeated
150
+ // renders of the same component into one row.
151
+ const sourcePath = sourceMap.get(span.name);
152
+ const sourceMatch = sourcePath ? /^(.*):(\d+)$/.exec(sourcePath) : null;
153
+ const url = sourceMatch ? sourceMatch[1] : (sourcePath || span.track);
154
+ const lineNumber = sourceMatch ? Number(sourceMatch[2]) : -1;
155
+ const scriptId = sourcePath || `${span.track}:${span.name}`;
156
+ nodes.push({
157
+ id,
158
+ callFrame: {
159
+ functionName: span.name,
160
+ scriptId,
161
+ url,
162
+ lineNumber,
163
+ columnNumber: -1,
164
+ },
165
+ children: [],
166
+ });
167
+ // Add as child of parent in both the tree and the profile nodes
168
+ parent.children.push(newEntry);
169
+ const parentNode = nodes.find((n) => n.id === parent.nodeId);
170
+ if (!parentNode.children.includes(id)) {
171
+ parentNode.children.push(id);
172
+ }
173
+ spanToLeafId.set(span.originalIndex, id);
174
+ }
175
+ return { nodes, spanToLeafId };
176
+ }
177
+ function findDeepestContainer(entry, startUs, endUs) {
178
+ // Check children for a tighter fit
179
+ for (const child of entry.children) {
180
+ if (child.startUs <= startUs && child.endUs >= endUs) {
181
+ return findDeepestContainer(child, startUs, endUs);
182
+ }
183
+ }
184
+ return entry;
185
+ }
186
+ // Component name → source file:line mapping built from React's fiber _debugStack.
187
+ // Populated at runtime by hooking into __REACT_DEVTOOLS_GLOBAL_HOOK__.onCommitFiberRoot
188
+ // which gives us the actual fiber tree with debug stack traces. Each fiber's _debugStack
189
+ // is an Error whose second stack frame points to where the JSX element was created.
190
+ // This is much more accurate than regex scanning source files.
191
+ const componentSourceMap = new Map();
192
+ // Extract "file:line" from a fiber's _debugStack Error.
193
+ // The stack trace format varies between Bun and Node:
194
+ // at functionName (/path/to/file.tsx:42:5) — named frame
195
+ // at /path/to/file.tsx:42:5 — anonymous frame
196
+ // We want the first non-React-internal frame. node_modules paths are kept
197
+ // so components from third-party packages show their real location.
198
+ function parseFrameLocation(frame) {
199
+ // Named frame: at fn (/path/file.tsx:1:2)
200
+ const parenthesized = /\((.+):(\d+):\d+\)\s*$/.exec(frame);
201
+ if (parenthesized) {
202
+ return { filePath: parenthesized[1], line: parenthesized[2] };
203
+ }
204
+ // Anonymous frame: at /path/file.tsx:1:2
205
+ const bare = /^\s*at (.+):(\d+):\d+\s*$/.exec(frame);
206
+ if (bare) {
207
+ return { filePath: bare[1], line: bare[2] };
208
+ }
209
+ return null;
210
+ }
211
+ function extractSourceFromFiber(fiber) {
212
+ const debugStack = fiber._debugStack;
213
+ if (!debugStack) {
214
+ return null;
215
+ }
216
+ const stack = debugStack.stack || String(debugStack);
217
+ const frames = stack.split('\n');
218
+ for (const frame of frames) {
219
+ // Skip only React internals, keep everything else including node_modules
220
+ if (frame.includes('react.development') ||
221
+ frame.includes('react-jsx') ||
222
+ frame.includes('react-reconciler')) {
223
+ continue;
224
+ }
225
+ const loc = parseFrameLocation(frame);
226
+ if (loc) {
227
+ const relativePath = path.relative(process.cwd(), loc.filePath);
228
+ return `${relativePath}:${loc.line}`;
229
+ }
230
+ }
231
+ return null;
232
+ }
233
+ // Get display name from a fiber, handling memo/forwardRef wrappers.
234
+ // React wraps components in objects with .type or .render for these HOCs.
235
+ function getFiberComponentName(fiber) {
236
+ const type = fiber.type;
237
+ if (!type) {
238
+ return null;
239
+ }
240
+ // Direct function component or class
241
+ if (type.displayName || type.name) {
242
+ return type.displayName || type.name;
243
+ }
244
+ // memo(Component) — type is { $$typeof: REACT_MEMO_TYPE, type: innerComponent }
245
+ if (type.type?.displayName || type.type?.name) {
246
+ return type.type.displayName || type.type.name;
247
+ }
248
+ // forwardRef(Component) — type is { $$typeof: REACT_FORWARD_REF_TYPE, render: fn }
249
+ if (type.render?.displayName || type.render?.name) {
250
+ return type.render.displayName || type.render.name;
251
+ }
252
+ return null;
253
+ }
254
+ // Iterative fiber tree walk to avoid stack overflow on large flat lists.
255
+ // Sibling chains can be hundreds deep; recursion would overflow.
256
+ function walkFiberTree(root) {
257
+ const stack = root ? [root] : [];
258
+ while (stack.length > 0) {
259
+ const fiber = stack.pop();
260
+ const name = getFiberComponentName(fiber);
261
+ if (name && !componentSourceMap.has(name)) {
262
+ const source = extractSourceFromFiber(fiber);
263
+ if (source) {
264
+ componentSourceMap.set(name, source);
265
+ }
266
+ }
267
+ if (fiber.sibling) {
268
+ stack.push(fiber.sibling);
269
+ }
270
+ if (fiber.child) {
271
+ stack.push(fiber.child);
272
+ }
273
+ }
274
+ }
275
+ function installFiberHook() {
276
+ const hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
277
+ if (!hook) {
278
+ return;
279
+ }
280
+ // Preserve all arguments and `this` so React Refresh and other hooks
281
+ // that depend on priorityLevel and didError continue to work.
282
+ const originalOnCommit = hook.onCommitFiberRoot;
283
+ hook.onCommitFiberRoot = function (...args) {
284
+ const root = args[1];
285
+ try {
286
+ walkFiberTree(root?.current);
287
+ }
288
+ finally {
289
+ return originalOnCommit?.apply(this, args);
290
+ }
291
+ };
292
+ }
293
+ function writeProfile() {
294
+ if (measures.length === 0) {
295
+ logger.log('No React performance measures captured, skipping profile write');
296
+ return;
297
+ }
298
+ const TICK = 1000; // microseconds per sample (1ms resolution)
299
+ // componentSourceMap was populated incrementally by the fiber hook during rendering
300
+ const sourceMap = componentSourceMap;
301
+ const sorted = [...measures].sort((a, b) => a.startTime - b.startTime);
302
+ const t0 = sorted[0].startTime;
303
+ const endUs = Math.round((Math.max(...sorted.map((m) => m.startTime + m.duration)) - t0) * 1000);
304
+ // Convert measures to spans with microsecond timestamps
305
+ const spans = sorted.map((m) => ({
306
+ startUs: Math.round((m.startTime - t0) * 1000),
307
+ endUs: Math.round((m.startTime + m.duration - t0) * 1000),
308
+ name: m.name.replace('\u200b', ''),
309
+ track: m.track,
310
+ }));
311
+ // Build call tree from time containment, passing sourceMap for file paths
312
+ const { nodes, spanToLeafId } = buildCallTree({ spans, sourceMap });
313
+ // Generate samples only over active span windows and compress idle gaps.
314
+ // Instead of iterating every tick across the full timeline (which is O(ticks * spans)
315
+ // and can hang for long sessions), collect all span boundaries, sort them, and only
316
+ // sample within active windows. Idle gaps between windows become a single idle sample
317
+ // with a large timeDelta.
318
+ const samples = [];
319
+ const timeDeltas = [];
320
+ const IDLE_ID = 2;
321
+ // Collect unique boundary times from all spans
322
+ const boundaries = new Set();
323
+ for (const span of spans) {
324
+ boundaries.add(span.startUs);
325
+ boundaries.add(span.endUs);
326
+ }
327
+ // Add timeline start/end
328
+ boundaries.add(0);
329
+ boundaries.add(endUs);
330
+ const sortedBoundaries = [...boundaries].sort((a, b) => a - b);
331
+ // Sort spans narrowest-first for fast deepest-leaf lookup
332
+ const spansByNarrowest = spans
333
+ .map((s, i) => ({ ...s, idx: i }))
334
+ .sort((a, b) => (a.endUs - a.startUs) - (b.endUs - b.startUs));
335
+ // For each window between consecutive boundaries, determine if any span is
336
+ // active. If yes, sample at TICK resolution. If no, emit one idle sample.
337
+ for (let w = 0; w < sortedBoundaries.length - 1; w++) {
338
+ const windowStart = sortedBoundaries[w];
339
+ const windowEnd = sortedBoundaries[w + 1];
340
+ if (windowStart >= windowEnd) {
341
+ continue;
342
+ }
343
+ // Check if any span is active at the midpoint of this window
344
+ const mid = windowStart + Math.floor((windowEnd - windowStart) / 2);
345
+ let hasActiveSpan = false;
346
+ for (const span of spansByNarrowest) {
347
+ if (mid >= span.startUs && mid < span.endUs) {
348
+ hasActiveSpan = true;
349
+ break;
350
+ }
351
+ }
352
+ if (!hasActiveSpan) {
353
+ // Compress idle window into a single sample
354
+ samples.push(IDLE_ID);
355
+ timeDeltas.push(windowEnd - windowStart);
356
+ continue;
357
+ }
358
+ // Sample at TICK resolution within this active window.
359
+ // Use Math.min so the last sample's timeDelta covers only the remainder,
360
+ // preventing inflation when the window is shorter than TICK or not divisible.
361
+ for (let t = windowStart; t < windowEnd; t += TICK) {
362
+ const nextT = Math.min(t + TICK, windowEnd);
363
+ let leafId = IDLE_ID;
364
+ for (const span of spansByNarrowest) {
365
+ if (t >= span.startUs && t < span.endUs) {
366
+ leafId = spanToLeafId.get(span.idx) ?? IDLE_ID;
367
+ break;
368
+ }
369
+ }
370
+ samples.push(leafId);
371
+ timeDeltas.push(nextT - t);
372
+ }
373
+ }
374
+ const profile = {
375
+ nodes,
376
+ samples,
377
+ startTime: 0,
378
+ endTime: endUs,
379
+ timeDeltas,
380
+ };
381
+ // Write to ./tmp/react-profile.cpuprofile relative to cwd
382
+ const outDir = path.join(process.cwd(), 'tmp');
383
+ fs.mkdirSync(outDir, { recursive: true });
384
+ const outPath = path.join(outDir, `react-profile-${Date.now()}.cpuprofile`);
385
+ fs.writeFileSync(outPath, JSON.stringify(profile));
386
+ const activeSamples = samples.filter((s) => s !== 2).length;
387
+ logger.log(`Wrote React profile: ${outPath} (${measures.length} measures, ${nodes.length} nodes, ${activeSamples} active / ${samples.length} total samples)`);
388
+ console.error(`\nReact profile written: ${outPath}\nAnalyze with: npx profano ${outPath} --sort self`);
389
+ }
390
+ //# sourceMappingURL=profiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiler.js","sourceRoot":"","sources":["../src/profiler.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAoC,KAAK,aAAa,EAAgC,MAAM,UAAU,CAAA;AAoB7G,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM/C;AAGD,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAGD,wBAAgB,QAAQ,IAAI,aAAa,CAGxC;AAID,wBAAgB,sBAAsB,IAAI,WAAW,CAGpD;AAID,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAoB1E;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAU9D;AAID,eAAO,MAAM,mBAAmB,aAI9B,CAAA"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAoC,KAAK,aAAa,EAAgC,MAAM,UAAU,CAAA;AAqB7G,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM/C;AAGD,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAGD,wBAAgB,QAAQ,IAAI,aAAa,CAGxC;AAID,wBAAgB,sBAAsB,IAAI,WAAW,CAGpD;AAID,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAoB1E;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAU9D;AAID,eAAO,MAAM,mBAAmB,aAI9B,CAAA"}
package/dist/theme.js CHANGED
@@ -2,6 +2,7 @@ import { SyntaxStyle } from '@opentui/core';
2
2
  import { getResolvedTheme, getSyntaxTheme, defaultThemeName, themeNames } from './themes';
3
3
  import { useStore } from './state';
4
4
  import { Cache } from './apis/cache';
5
+ import { Color } from './colors';
5
6
  // Global cache for theme persistence (no namespace = global storage).
6
7
  // Tracks extensionPath so the cache is recreated if the path changes.
7
8
  let globalCache = null;
@@ -73,17 +74,18 @@ export function getInteractiveHoverBackground(theme) {
73
74
  }
74
75
  return theme.primary;
75
76
  }
76
- // Shared color palette for all chart components (Graph, BarChart, BarGraph).
77
- // Order: accent, info, success, warning, error, secondary, primary (cycles with %).
77
+ // Shared color palette for chart components.
78
+ // Based on the original Histogram showcase colors, which read better than a
79
+ // strictly semantic theme order for categorical data.
78
80
  export function getThemePalette(theme) {
79
81
  return [
80
- theme.accent,
81
- theme.info,
82
- theme.success,
83
- theme.warning,
84
- theme.error,
85
- theme.secondary,
86
- theme.primary,
82
+ Color.Orange,
83
+ Color.SecondaryText,
84
+ '#00CCCC',
85
+ Color.Purple,
86
+ Color.Yellow,
87
+ Color.Green,
88
+ Color.Blue,
87
89
  ];
88
90
  }
89
91
  // For backward compatibility - some code imports markdownSyntaxStyle directly
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.d.ts","sourceRoot":"","sources":["../../src/utils/run-command.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAGhE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAY,GACb,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,mBAAmB,CAalD;AAsBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,QAAQ,EACR,QAAY,GACb,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAUP;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IACrC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,CAAA;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;CAC7C;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoJ1E;AAiED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
1
+ {"version":3,"file":"run-command.d.ts","sourceRoot":"","sources":["../../src/utils/run-command.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAGhE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAY,GACb,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,mBAAmB,CAOlD;AAsBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,QAAQ,EACR,QAAY,GACb,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAUP;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IACrC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,CAAA;IAC1D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;CAC7C;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoJ1E;AA+DD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
- import { goke } from 'goke';
3
2
  import { useStore } from 'termcast/src/state';
4
3
  import { showToast, Toast } from 'termcast/src/apis/toast';
5
4
  import { LocalStorage } from 'termcast/src/apis/localstorage';
@@ -11,17 +10,11 @@ import { logger } from '../logger';
11
10
  * @param skipArgv - Number of subcommand args to skip (e.g. 1 for "dev" in "termcast dev")
12
11
  */
13
12
  export function parseExtensionArgs({ skipArgv = 0, } = {}) {
14
- // Build argv for goke: keep first 2 (binary + script), skip subcommand args, keep the rest
15
- const argv = [
16
- process.argv[0],
17
- process.argv[1],
18
- ...process.argv.slice(2 + skipArgv),
19
- ];
20
- const parsed = goke().parse(argv, { run: false });
13
+ const args = process.argv.slice(2 + skipArgv);
21
14
  return {
22
- commandName: parsed.args[0],
23
- showHelp: Boolean(parsed.options.help || parsed.options.h),
24
- showVersion: Boolean(parsed.options.version || parsed.options.v),
15
+ commandName: args.find((arg) => !arg.startsWith('-')),
16
+ showHelp: args.includes('--help') || args.includes('-h'),
17
+ showVersion: args.includes('--version') || args.includes('-v'),
25
18
  };
26
19
  }
27
20
  function printExtensionHelp({ extensionName, commands, }) {
@@ -66,7 +59,7 @@ export async function runCommand(options) {
66
59
  push(_jsx(ExtensionPreferences, { extensionName: extensionName, commandName: prefsCheck.requiredPreferences === 'command'
67
60
  ? command.name
68
61
  : undefined, onSubmit: () => {
69
- runCommand({ ...options, push: replace || push });
62
+ void runCommand({ ...options, push: replace || push });
70
63
  } }));
71
64
  return;
72
65
  }
@@ -78,7 +71,7 @@ export async function runCommand(options) {
78
71
  // Use replace in onSubmit so the command replaces the arguments screen
79
72
  push(_jsx(CommandArguments, { arguments: commandArgs, commandTitle: command.title, onSubmit: (args) => {
80
73
  useStore.setState({ currentCommandArguments: args });
81
- runCommand({ ...options, push: replace || push });
74
+ void runCommand({ ...options, push: replace || push });
82
75
  } }));
83
76
  return;
84
77
  }
@@ -183,12 +176,8 @@ async function checkRequiredPreferences({ command, extensionName, packageJson, }
183
176
  const extensionPrefsKey = `preferences.${extensionName}`;
184
177
  const savedCommandPrefs = await LocalStorage.getItem(commandPrefsKey);
185
178
  const savedExtensionPrefs = await LocalStorage.getItem(extensionPrefsKey);
186
- const parsedCommandPrefs = savedCommandPrefs
187
- ? JSON.parse(savedCommandPrefs)
188
- : {};
189
- const parsedExtensionPrefs = savedExtensionPrefs
190
- ? JSON.parse(savedExtensionPrefs)
191
- : {};
179
+ const parsedCommandPrefs = typeof savedCommandPrefs === 'string' ? JSON.parse(savedCommandPrefs) : {};
180
+ const parsedExtensionPrefs = typeof savedExtensionPrefs === 'string' ? JSON.parse(savedExtensionPrefs) : {};
192
181
  // Check if all required command preferences are set
193
182
  for (const pref of commandPrefs) {
194
183
  if (pref.required && parsedCommandPrefs[pref.name] == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../../src/utils/run-command.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../../src/utils/run-command.tsx"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type RaycastPackageJson, type CommandWithFile } from './package-json';
2
+ import { type RaycastPackageJson } from './package-json';
3
3
  export interface RenderWithProvidersOptions {
4
4
  extensionName?: string;
5
5
  extensionPath?: string;
@@ -39,32 +39,14 @@ export declare function showInFinder(path: PathLike): Promise<void>;
39
39
  export declare function trash(path: PathLike | PathLike[]): Promise<void>;
40
40
  export declare function open(target: string, application?: Application | string): Promise<void>;
41
41
  export declare function captureException(exception: unknown): void;
42
- export declare function getExtensionPath(extensionName: string): string;
43
- export declare function getExtensionPackageJsonPath(extensionName: string): string;
44
- export declare function getExtensionPackageJson(extensionName: string): RaycastPackageJson | null;
45
42
  export interface ExtensionPreferencesInfo {
46
43
  hasPreferences: boolean;
47
44
  hasRequiredPreferences: boolean;
48
45
  }
49
- export declare function checkExtensionPreferences(extensionName: string): ExtensionPreferencesInfo;
50
- interface BundledCommand extends CommandWithFile {
51
- bundledPath: string;
52
- }
53
- interface StoredExtension {
54
- name: string;
55
- packageJsonPath: string;
56
- commands: BundledCommand[];
57
- }
58
46
  export declare function resolveCommandPath({ commandName, dir, }: {
59
47
  commandName: string;
60
48
  dir: string;
61
49
  }): string;
62
- export declare function getStoreDirectory(): string;
63
- export declare function installExtension({ extensionName, extensionSourcePath, }: {
64
- extensionName: string;
65
- extensionSourcePath: string;
66
- }): void;
67
- export declare function getStoredExtensions(): StoredExtension[];
68
50
  export type ParseExecOutputHandler<T = any> = (args: {
69
51
  stdout: string;
70
52
  }) => T;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"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"}