@opensip-cli/dashboard 0.1.7 → 0.1.9

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 (211) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/catalog-provenance.test.js +6 -24
  3. package/dist/__tests__/catalog-provenance.test.js.map +1 -1
  4. package/dist/__tests__/coupling-attribution.test.js +10 -14
  5. package/dist/__tests__/coupling-attribution.test.js.map +1 -1
  6. package/dist/__tests__/dashboard-bundle-weight.test.d.ts +9 -2
  7. package/dist/__tests__/dashboard-bundle-weight.test.d.ts.map +1 -1
  8. package/dist/__tests__/dashboard-bundle-weight.test.js +19 -12
  9. package/dist/__tests__/dashboard-bundle-weight.test.js.map +1 -1
  10. package/dist/__tests__/dashboard-cell-containment.test.js +5 -2
  11. package/dist/__tests__/dashboard-cell-containment.test.js.map +1 -1
  12. package/dist/__tests__/dashboard-editor-link.test.d.ts +9 -0
  13. package/dist/__tests__/dashboard-editor-link.test.d.ts.map +1 -1
  14. package/dist/__tests__/dashboard-editor-link.test.js +72 -21
  15. package/dist/__tests__/dashboard-editor-link.test.js.map +1 -1
  16. package/dist/__tests__/dashboard-el.test.d.ts +18 -0
  17. package/dist/__tests__/dashboard-el.test.d.ts.map +1 -0
  18. package/dist/__tests__/dashboard-el.test.js +90 -0
  19. package/dist/__tests__/dashboard-el.test.js.map +1 -0
  20. package/dist/__tests__/dashboard-filters.test.js +6 -14
  21. package/dist/__tests__/dashboard-filters.test.js.map +1 -1
  22. package/dist/__tests__/dashboard-function-card-singleton.test.js +15 -27
  23. package/dist/__tests__/dashboard-function-card-singleton.test.js.map +1 -1
  24. package/dist/__tests__/dashboard-function-card.test.d.ts +4 -4
  25. package/dist/__tests__/dashboard-function-card.test.js +80 -44
  26. package/dist/__tests__/dashboard-function-card.test.js.map +1 -1
  27. package/dist/__tests__/dashboard-function-row.test.js +52 -51
  28. package/dist/__tests__/dashboard-function-row.test.js.map +1 -1
  29. package/dist/__tests__/dashboard-generator-graph-catalog.test.js +3 -1
  30. package/dist/__tests__/dashboard-generator-graph-catalog.test.js.map +1 -1
  31. package/dist/__tests__/dashboard-graph-offline.integration.test.js +3 -1
  32. package/dist/__tests__/dashboard-graph-offline.integration.test.js.map +1 -1
  33. package/dist/__tests__/dashboard-help-drawer.test.js +11 -17
  34. package/dist/__tests__/dashboard-help-drawer.test.js.map +1 -1
  35. package/dist/__tests__/dashboard-indexes.test.d.ts +6 -4
  36. package/dist/__tests__/dashboard-indexes.test.d.ts.map +1 -1
  37. package/dist/__tests__/dashboard-indexes.test.js +10 -7
  38. package/dist/__tests__/dashboard-indexes.test.js.map +1 -1
  39. package/dist/__tests__/dashboard-pagination.test.d.ts +15 -0
  40. package/dist/__tests__/dashboard-pagination.test.d.ts.map +1 -0
  41. package/dist/__tests__/dashboard-pagination.test.js +140 -0
  42. package/dist/__tests__/dashboard-pagination.test.js.map +1 -0
  43. package/dist/__tests__/dashboard-path-utils.test.d.ts +7 -0
  44. package/dist/__tests__/dashboard-path-utils.test.d.ts.map +1 -1
  45. package/dist/__tests__/dashboard-path-utils.test.js +11 -3
  46. package/dist/__tests__/dashboard-path-utils.test.js.map +1 -1
  47. package/dist/__tests__/dashboard-search.test.d.ts +5 -0
  48. package/dist/__tests__/dashboard-search.test.d.ts.map +1 -1
  49. package/dist/__tests__/dashboard-search.test.js +9 -3
  50. package/dist/__tests__/dashboard-search.test.js.map +1 -1
  51. package/dist/__tests__/dashboard-sessions.test.js +13 -11
  52. package/dist/__tests__/dashboard-sessions.test.js.map +1 -1
  53. package/dist/__tests__/dashboard-trace.test.d.ts +11 -0
  54. package/dist/__tests__/dashboard-trace.test.d.ts.map +1 -1
  55. package/dist/__tests__/dashboard-trace.test.js +55 -32
  56. package/dist/__tests__/dashboard-trace.test.js.map +1 -1
  57. package/dist/__tests__/dashboard-view-conformance.test.js +9 -15
  58. package/dist/__tests__/dashboard-view-conformance.test.js.map +1 -1
  59. package/dist/__tests__/dashboard-view-coupling.test.js +14 -35
  60. package/dist/__tests__/dashboard-view-coupling.test.js.map +1 -1
  61. package/dist/__tests__/dashboard-view-distribution.test.js +14 -37
  62. package/dist/__tests__/dashboard-view-distribution.test.js.map +1 -1
  63. package/dist/__tests__/dashboard-view-graph.test.js +29 -62
  64. package/dist/__tests__/dashboard-view-graph.test.js.map +1 -1
  65. package/dist/__tests__/dashboard-view-template.test.d.ts +13 -14
  66. package/dist/__tests__/dashboard-view-template.test.d.ts.map +1 -1
  67. package/dist/__tests__/dashboard-view-template.test.js +165 -112
  68. package/dist/__tests__/dashboard-view-template.test.js.map +1 -1
  69. package/dist/__tests__/graph-tab.test.js +4 -2
  70. package/dist/__tests__/graph-tab.test.js.map +1 -1
  71. package/dist/client/el.d.ts +17 -0
  72. package/dist/client/el.d.ts.map +1 -0
  73. package/dist/client/el.js +36 -0
  74. package/dist/client/el.js.map +1 -0
  75. package/dist/client-bundle.generated.d.ts +2 -0
  76. package/dist/client-bundle.generated.d.ts.map +1 -0
  77. package/dist/client-bundle.generated.js +3 -0
  78. package/dist/client-bundle.generated.js.map +1 -0
  79. package/dist/code-paths/__tests__/views-registry.test.d.ts +13 -8
  80. package/dist/code-paths/__tests__/views-registry.test.d.ts.map +1 -1
  81. package/dist/code-paths/__tests__/views-registry.test.js +27 -25
  82. package/dist/code-paths/__tests__/views-registry.test.js.map +1 -1
  83. package/dist/code-paths.d.ts +21 -62
  84. package/dist/code-paths.d.ts.map +1 -1
  85. package/dist/code-paths.js +24 -349
  86. package/dist/code-paths.js.map +1 -1
  87. package/dist/generator.d.ts +2 -0
  88. package/dist/generator.d.ts.map +1 -1
  89. package/dist/generator.js +28 -17
  90. package/dist/generator.js.map +1 -1
  91. package/package.json +5 -4
  92. package/dist/checks.d.ts +0 -7
  93. package/dist/checks.d.ts.map +0 -1
  94. package/dist/checks.js +0 -283
  95. package/dist/checks.js.map +0 -1
  96. package/dist/code-paths/catalog-provenance.d.ts +0 -22
  97. package/dist/code-paths/catalog-provenance.d.ts.map +0 -1
  98. package/dist/code-paths/catalog-provenance.js +0 -108
  99. package/dist/code-paths/catalog-provenance.js.map +0 -1
  100. package/dist/code-paths/catalog-recipes-tables.d.ts +0 -11
  101. package/dist/code-paths/catalog-recipes-tables.d.ts.map +0 -1
  102. package/dist/code-paths/catalog-recipes-tables.js +0 -86
  103. package/dist/code-paths/catalog-recipes-tables.js.map +0 -1
  104. package/dist/code-paths/editor-link.d.ts +0 -10
  105. package/dist/code-paths/editor-link.d.ts.map +0 -1
  106. package/dist/code-paths/editor-link.js +0 -20
  107. package/dist/code-paths/editor-link.js.map +0 -1
  108. package/dist/code-paths/filters.d.ts +0 -19
  109. package/dist/code-paths/filters.d.ts.map +0 -1
  110. package/dist/code-paths/filters.js +0 -47
  111. package/dist/code-paths/filters.js.map +0 -1
  112. package/dist/code-paths/function-card.d.ts +0 -15
  113. package/dist/code-paths/function-card.d.ts.map +0 -1
  114. package/dist/code-paths/function-card.js +0 -169
  115. package/dist/code-paths/function-card.js.map +0 -1
  116. package/dist/code-paths/function-row.d.ts +0 -17
  117. package/dist/code-paths/function-row.d.ts.map +0 -1
  118. package/dist/code-paths/function-row.js +0 -77
  119. package/dist/code-paths/function-row.js.map +0 -1
  120. package/dist/code-paths/graph-controls.d.ts +0 -27
  121. package/dist/code-paths/graph-controls.d.ts.map +0 -1
  122. package/dist/code-paths/graph-controls.js +0 -257
  123. package/dist/code-paths/graph-controls.js.map +0 -1
  124. package/dist/code-paths/graph-stylesheet.d.ts +0 -22
  125. package/dist/code-paths/graph-stylesheet.d.ts.map +0 -1
  126. package/dist/code-paths/graph-stylesheet.js +0 -121
  127. package/dist/code-paths/graph-stylesheet.js.map +0 -1
  128. package/dist/code-paths/help-drawer.d.ts +0 -18
  129. package/dist/code-paths/help-drawer.d.ts.map +0 -1
  130. package/dist/code-paths/help-drawer.js +0 -54
  131. package/dist/code-paths/help-drawer.js.map +0 -1
  132. package/dist/code-paths/indexes.d.ts +0 -28
  133. package/dist/code-paths/indexes.d.ts.map +0 -1
  134. package/dist/code-paths/indexes.js +0 -97
  135. package/dist/code-paths/indexes.js.map +0 -1
  136. package/dist/code-paths/path-utils.d.ts +0 -15
  137. package/dist/code-paths/path-utils.d.ts.map +0 -1
  138. package/dist/code-paths/path-utils.js +0 -47
  139. package/dist/code-paths/path-utils.js.map +0 -1
  140. package/dist/code-paths/search.d.ts +0 -14
  141. package/dist/code-paths/search.d.ts.map +0 -1
  142. package/dist/code-paths/search.js +0 -54
  143. package/dist/code-paths/search.js.map +0 -1
  144. package/dist/code-paths/trace.d.ts +0 -11
  145. package/dist/code-paths/trace.d.ts.map +0 -1
  146. package/dist/code-paths/trace.js +0 -60
  147. package/dist/code-paths/trace.js.map +0 -1
  148. package/dist/code-paths/view-coupling.d.ts +0 -22
  149. package/dist/code-paths/view-coupling.d.ts.map +0 -1
  150. package/dist/code-paths/view-coupling.js +0 -218
  151. package/dist/code-paths/view-coupling.js.map +0 -1
  152. package/dist/code-paths/view-distribution.d.ts +0 -20
  153. package/dist/code-paths/view-distribution.d.ts.map +0 -1
  154. package/dist/code-paths/view-distribution.js +0 -82
  155. package/dist/code-paths/view-distribution.js.map +0 -1
  156. package/dist/code-paths/view-graph.d.ts +0 -35
  157. package/dist/code-paths/view-graph.d.ts.map +0 -1
  158. package/dist/code-paths/view-graph.js +0 -379
  159. package/dist/code-paths/view-graph.js.map +0 -1
  160. package/dist/code-paths/view-template.d.ts +0 -154
  161. package/dist/code-paths/view-template.d.ts.map +0 -1
  162. package/dist/code-paths/view-template.js +0 -218
  163. package/dist/code-paths/view-template.js.map +0 -1
  164. package/dist/code-paths/views-registry.d.ts +0 -13
  165. package/dist/code-paths/views-registry.d.ts.map +0 -1
  166. package/dist/code-paths/views-registry.js +0 -53
  167. package/dist/code-paths/views-registry.js.map +0 -1
  168. package/dist/overview.d.ts +0 -13
  169. package/dist/overview.d.ts.map +0 -1
  170. package/dist/overview.js +0 -91
  171. package/dist/overview.js.map +0 -1
  172. package/dist/recipes.d.ts +0 -6
  173. package/dist/recipes.d.ts.map +0 -1
  174. package/dist/recipes.js +0 -68
  175. package/dist/recipes.js.map +0 -1
  176. package/dist/sessions.d.ts +0 -6
  177. package/dist/sessions.d.ts.map +0 -1
  178. package/dist/sessions.js +0 -288
  179. package/dist/sessions.js.map +0 -1
  180. package/dist/shared/el.d.ts +0 -13
  181. package/dist/shared/el.d.ts.map +0 -1
  182. package/dist/shared/el.js +0 -27
  183. package/dist/shared/el.js.map +0 -1
  184. package/dist/shared/pagination.d.ts +0 -15
  185. package/dist/shared/pagination.d.ts.map +0 -1
  186. package/dist/shared/pagination.js +0 -113
  187. package/dist/shared/pagination.js.map +0 -1
  188. package/dist/shared/sortable.d.ts +0 -14
  189. package/dist/shared/sortable.d.ts.map +0 -1
  190. package/dist/shared/sortable.js +0 -101
  191. package/dist/shared/sortable.js.map +0 -1
  192. package/dist/shared/tab-activators.d.ts +0 -16
  193. package/dist/shared/tab-activators.d.ts.map +0 -1
  194. package/dist/shared/tab-activators.js +0 -33
  195. package/dist/shared/tab-activators.js.map +0 -1
  196. package/dist/shared/tab-bar.d.ts +0 -8
  197. package/dist/shared/tab-bar.d.ts.map +0 -1
  198. package/dist/shared/tab-bar.js +0 -20
  199. package/dist/shared/tab-bar.js.map +0 -1
  200. package/dist/shared.d.ts +0 -26
  201. package/dist/shared.d.ts.map +0 -1
  202. package/dist/shared.js +0 -39
  203. package/dist/shared.js.map +0 -1
  204. package/dist/subtab-bar.d.ts +0 -23
  205. package/dist/subtab-bar.d.ts.map +0 -1
  206. package/dist/subtab-bar.js +0 -77
  207. package/dist/subtab-bar.js.map +0 -1
  208. package/dist/tool-tabs.d.ts +0 -12
  209. package/dist/tool-tabs.d.ts.map +0 -1
  210. package/dist/tool-tabs.js +0 -80
  211. package/dist/tool-tabs.js.map +0 -1
@@ -7,11 +7,7 @@
7
7
  * succession.
8
8
  */
9
9
  import { describe, expect, it, beforeEach } from 'vitest';
10
- import { dashboardEditorLinkJs } from '../code-paths/editor-link.js';
11
- import { dashboardFunctionCardJs } from '../code-paths/function-card.js';
12
- import { dashboardIndexesJs } from '../code-paths/indexes.js';
13
- import { dashboardPathUtilsJs } from '../code-paths/path-utils.js';
14
- import { dashboardTraceJs } from '../code-paths/trace.js';
10
+ import { DASHBOARD_CLIENT_BUNDLE } from '../client-bundle.generated.js';
15
11
  function makeOcc(over) {
16
12
  return {
17
13
  qualifiedName: over.simpleName,
@@ -32,33 +28,25 @@ function makeOcc(over) {
32
28
  };
33
29
  }
34
30
  function loadEnv(catalog) {
35
- const elSrc = `
36
- function el(tag, attrs, children) {
37
- const e = document.createElement(tag);
38
- if (attrs) Object.entries(attrs).forEach(([k,v]) => {
39
- if (k === 'text') e.textContent = v;
40
- else if (k === 'class') e.className = v;
41
- else if (k.startsWith('on')) e.addEventListener(k.slice(2), v);
42
- else e.setAttribute(k, v);
43
- });
44
- if (children) children.forEach(c => { if (typeof c === 'string') e.appendChild(document.createTextNode(c)); else if (c) e.appendChild(c); });
45
- return e;
46
- }
31
+ // `openFunctionCard` (with `el`, `buildIndexes`, `editorLinkUrl`, `traceFromEntry`,
32
+ // path-utils) now lives in the typed client bundle (L4) and is exposed as a page
33
+ // global; it reads the `graphCatalog` / `graphIndexes` page globals as free
34
+ // identifiers. Declare those (plus `EDITOR_PROTOCOL` and `sessions`) in the eval
35
+ // scope so the bundle's IIFE closes over them; the tail seeds graphCatalog /
36
+ // graphIndexes after the bundle has defined `buildIndexes`.
37
+ const head = `
38
+ var sessions = [];
47
39
  var EDITOR_PROTOCOL = null;
40
+ var graphCatalog = null;
41
+ var graphIndexes = null;
48
42
  `;
49
43
  const tail = `
50
- var graphCatalog = ${JSON.stringify(catalog)};
51
- var graphIndexes = buildIndexes(graphCatalog);
44
+ graphCatalog = ${JSON.stringify(catalog)};
45
+ graphIndexes = buildIndexes(graphCatalog);
52
46
  return { open: openFunctionCard };
53
47
  `;
54
- // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source.
55
- return new Function(elSrc +
56
- dashboardPathUtilsJs() +
57
- dashboardIndexesJs() +
58
- dashboardEditorLinkJs() +
59
- dashboardTraceJs() +
60
- dashboardFunctionCardJs() +
61
- tail)();
48
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source: our own bundled dashboard JS.
49
+ return new Function(head + DASHBOARD_CLIENT_BUNDLE + tail)();
62
50
  }
63
51
  beforeEach(() => {
64
52
  document.body.innerHTML = '';
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-function-card-singleton.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-function-card-singleton.test.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,SAAS,OAAO,CACd,IAAiF;IAEjF,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,UAAU;QAC9B,QAAQ,EAAE,qBAAqB;QAC/B,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,EAAE;QACT,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAAqB;IACpC,MAAM,KAAK,GAAG;;;;;;;;;;;;;CAaf,CAAC;IACA,MAAM,IAAI,GAAG;qBACM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;;;CAG3C,CAAC;IACA,oGAAoG;IACpG,OAAO,IAAI,QAAQ,CACjB,KAAK;QACH,oBAAoB,EAAE;QACtB,kBAAkB,EAAE;QACpB,qBAAqB,EAAE;QACvB,gBAAgB,EAAE;QAClB,uBAAuB,EAAE;QACzB,IAAI,CACP,EAAS,CAAC;AACb,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,GAAG,GAAG,OAAO,CAAC;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;aAClD;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dashboard-function-card-singleton.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-function-card-singleton.test.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAQxE,SAAS,OAAO,CACd,IAAiF;IAEjF,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,UAAU;QAC9B,QAAQ,EAAE,qBAAqB;QAC/B,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,EAAE;QACT,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAAqB;IACpC,oFAAoF;IACpF,iFAAiF;IACjF,4EAA4E;IAC5E,iFAAiF;IACjF,6EAA6E;IAC7E,4DAA4D;IAC5D,MAAM,IAAI,GAAG;;;;;CAKd,CAAC;IACA,MAAM,IAAI,GAAG;iBACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;;;CAGvC,CAAC;IACA,kIAAkI;IAClI,OAAO,IAAI,QAAQ,CAAC,IAAI,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAS,CAAC;AACtE,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,GAAG,GAAG,OAAO,CAAC;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;aAClD;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * @vitest-environment jsdom
3
3
  *
4
- * Function Card overlay behavior tests. Loads the emitted JS from the
5
- * indexes + function-card + function-row + path-utils + editor-link +
6
- * trace + filters + views-registry modules into a jsdom global, then
7
- * exercises the public API (openFunctionCard, closeFunctionCard).
4
+ * Function Card overlay behavior tests. Loads the typed client bundle (L4) —
5
+ * which carries indexes + function-card + path-utils + editor-link + trace —
6
+ * into the jsdom global scope, then exercises the public API (openFunctionCard,
7
+ * closeFunctionCard, both exposed as page globals).
8
8
  */
9
9
  export {};
10
10
  //# sourceMappingURL=dashboard-function-card.test.d.ts.map
@@ -2,18 +2,13 @@
2
2
  /**
3
3
  * @vitest-environment jsdom
4
4
  *
5
- * Function Card overlay behavior tests. Loads the emitted JS from the
6
- * indexes + function-card + function-row + path-utils + editor-link +
7
- * trace + filters + views-registry modules into a jsdom global, then
8
- * exercises the public API (openFunctionCard, closeFunctionCard).
5
+ * Function Card overlay behavior tests. Loads the typed client bundle (L4) —
6
+ * which carries indexes + function-card + path-utils + editor-link + trace —
7
+ * into the jsdom global scope, then exercises the public API (openFunctionCard,
8
+ * closeFunctionCard, both exposed as page globals).
9
9
  */
10
10
  import { describe, expect, it, beforeEach } from 'vitest';
11
- import { dashboardEditorLinkJs } from '../code-paths/editor-link.js';
12
- import { dashboardFiltersJs } from '../code-paths/filters.js';
13
- import { dashboardFunctionCardJs } from '../code-paths/function-card.js';
14
- import { dashboardIndexesJs } from '../code-paths/indexes.js';
15
- import { dashboardPathUtilsJs } from '../code-paths/path-utils.js';
16
- import { dashboardTraceJs } from '../code-paths/trace.js';
11
+ import { DASHBOARD_CLIENT_BUNDLE } from '../client-bundle.generated.js';
17
12
  function makeOcc(over) {
18
13
  return {
19
14
  qualifiedName: over.simpleName,
@@ -34,43 +29,27 @@ function makeOcc(over) {
34
29
  };
35
30
  }
36
31
  function bootDashboard(catalog) {
37
- // The emitted JS expects an `el(tag, attrs, children)` helper to exist
38
- // in scope (provided by shared.ts). We provide a minimal compatible
39
- // version for the test environment.
40
- const elSrc = `
41
- function el(tag, attrs, children) {
42
- const e = document.createElement(tag);
43
- if (attrs) Object.entries(attrs).forEach(([k,v]) => {
44
- if (k === 'text') e.textContent = v;
45
- else if (k === 'class') e.className = v;
46
- else if (k.startsWith('on')) e.addEventListener(k.slice(2), v);
47
- else e.setAttribute(k, v);
48
- });
49
- if (children) children.forEach(c => { if (typeof c === 'string') e.appendChild(document.createTextNode(c)); else if (c) e.appendChild(c); });
50
- return e;
51
- }
32
+ // The bundle (with `el`, `buildIndexes`, `editorLinkUrl`, `traceFromEntry`,
33
+ // path-utils, function-card) exposes openFunctionCard / closeFunctionCard on
34
+ // globalThis. It reads `graphCatalog` / `graphIndexes` as free identifiers;
35
+ // declare them (plus `EDITOR_PROTOCOL`, `sessions`) in the eval scope so the
36
+ // bundle's IIFE closes over them, then seed graphCatalog / graphIndexes after
37
+ // the bundle has defined `buildIndexes` and re-expose them on globalThis.
38
+ const head = `
39
+ var sessions = [];
40
+ var EDITOR_PROTOCOL = null;
41
+ var graphCatalog = null;
42
+ var graphIndexes = null;
52
43
  `;
53
- const editorProtocolSrc = `var EDITOR_PROTOCOL = null;`;
54
44
  const tail = `
55
- var graphCatalog = ${JSON.stringify(catalog)};
56
- var graphIndexes = buildIndexes(graphCatalog);
57
- window.openFunctionCard = openFunctionCard;
58
- window.closeFunctionCard = closeFunctionCard;
59
- window.graphIndexes = graphIndexes;
45
+ graphCatalog = ${JSON.stringify(catalog)};
46
+ graphIndexes = buildIndexes(graphCatalog);
47
+ globalThis.openFunctionCard = openFunctionCard;
48
+ globalThis.closeFunctionCard = closeFunctionCard;
49
+ globalThis.graphIndexes = graphIndexes;
60
50
  `;
61
- const src = [
62
- elSrc,
63
- editorProtocolSrc,
64
- dashboardPathUtilsJs(),
65
- dashboardIndexesJs(),
66
- dashboardFiltersJs(),
67
- dashboardEditorLinkJs(),
68
- dashboardTraceJs(),
69
- dashboardFunctionCardJs(),
70
- tail,
71
- ].join('\n');
72
- // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source: our own emitter.
73
- new Function(src).call(globalThis);
51
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source: our own bundled dashboard JS.
52
+ new Function(head + DASHBOARD_CLIENT_BUNDLE + tail).call(globalThis);
74
53
  }
75
54
  function w() {
76
55
  return globalThis;
@@ -373,6 +352,63 @@ describe('Function Card overlay', () => {
373
352
  expect(document.querySelectorAll('.function-card-overlay').length).toBe(1);
374
353
  expect(document.querySelector('.function-card-overlay').textContent).toContain('caller');
375
354
  });
355
+ it('clicking a caller list item drills into that function (delegated listener)', () => {
356
+ // Drill-in is now handled by ONE delegated listener on the overlay (the
357
+ // graph:cycle break), not per-item onclick closures — this proves a real
358
+ // click on a `li[data-body-hash]` still re-opens the target's card.
359
+ bootDashboard({
360
+ version: '2.0',
361
+ tool: 'graph',
362
+ language: 'typescript',
363
+ builtAt: 'now',
364
+ functions: {
365
+ target: [makeOcc({ bodyHash: 't1', simpleName: 'target' })],
366
+ theCaller: [
367
+ makeOcc({
368
+ bodyHash: 'cr',
369
+ simpleName: 'theCaller',
370
+ filePath: 'packages/cli/src/cr.ts',
371
+ calls: [
372
+ {
373
+ to: ['t1'],
374
+ line: 1,
375
+ column: 0,
376
+ resolution: 'static',
377
+ confidence: 'high',
378
+ text: 'target()',
379
+ },
380
+ ],
381
+ }),
382
+ ],
383
+ },
384
+ });
385
+ w().openFunctionCard('t1');
386
+ const overlay = document.querySelector('.function-card-overlay');
387
+ expect(overlay.querySelector('.function-card h3').textContent).toBe('target');
388
+ // The Callers section lists the caller as a clickable li[data-body-hash].
389
+ const callerItem = overlay.querySelector('li[data-body-hash="cr"]');
390
+ expect(callerItem).not.toBeNull();
391
+ callerItem.dispatchEvent(new MouseEvent('click', { bubbles: true }));
392
+ // Still a single overlay (singleton), now showing the caller's card.
393
+ expect(document.querySelectorAll('.function-card-overlay').length).toBe(1);
394
+ expect(document.querySelector('.function-card h3').textContent).toBe('theCaller');
395
+ });
396
+ it('clicking a non-item region inside the card does NOT close or drill', () => {
397
+ bootDashboard({
398
+ version: '2.0',
399
+ tool: 'graph',
400
+ language: 'typescript',
401
+ builtAt: 'now',
402
+ functions: { f: [makeOcc({ bodyHash: 'h', simpleName: 'f' })] },
403
+ });
404
+ w().openFunctionCard('h');
405
+ const meta = document.querySelector('.fc-meta');
406
+ meta.dispatchEvent(new MouseEvent('click', { bubbles: true }));
407
+ // Card stays open and unchanged (the click bubbled to the overlay but matched
408
+ // neither the backdrop nor a li[data-body-hash]).
409
+ expect(document.querySelector('.function-card-overlay')).not.toBeNull();
410
+ expect(document.querySelector('.function-card h3').textContent).toBe('f');
411
+ });
376
412
  it('closeFunctionCard removes the overlay node', () => {
377
413
  bootDashboard({
378
414
  version: '2.0',
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-function-card.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-function-card.test.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,SAAS,OAAO,CACd,IAAiF;IAEjF,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,UAAU;QAC9B,QAAQ,EAAE,qBAAqB;QAC/B,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,EAAE;QACT,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAqB;IAC1C,uEAAuE;IACvE,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYf,CAAC;IACA,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;IACxD,MAAM,IAAI,GAAG;qBACM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;;;;;CAK3C,CAAC;IACA,MAAM,GAAG,GAAG;QACV,KAAK;QACL,iBAAiB;QACjB,oBAAoB,EAAE;QACtB,kBAAkB,EAAE;QACpB,kBAAkB,EAAE;QACpB,qBAAqB,EAAE;QACvB,gBAAgB,EAAE;QAClB,uBAAuB,EAAE;QACzB,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,qHAAqH;IACrH,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAWD,SAAS,CAAC;IACR,OAAO,UAAwC,CAAC;AAClD,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,mBAAmB,EAAE;oBACnB,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,qBAAqB;wBACjC,QAAQ,EAAE,gCAAgC;wBAC1C,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,EAAE;qBACZ,CAAC;iBACH;aACF;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC5E,MAAM,CAAC,OAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,MAAM,EAAE;oBACN,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,QAAQ;wBACpB,IAAI,EAAE,QAAQ;wBACd,cAAc,EAAE,QAAQ;qBACzB,CAAC;iBACH;aACF;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,oBAAoB,EAAE;oBACpB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iBAC7E;aACF;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC;QAClE,iEAAiE;QACjE,sDAAsD;QACtD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAChE,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvE,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;aAC3F;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1F,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,uBAAuB;wBACjC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,uBAAuB;wBACjC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,6BAA6B;wBACvC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,6BAA6B;wBACvC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,6BAA6B;wBACvC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,6BAA6B;wBACvC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,QAAQ,EAAE,6BAA6B;wBACvC,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;aACF;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC,WAAW,IAAI,EAAE,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE;SAC3E,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAC7E,wBAAwB,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,CAAC,EAAE;oBACD,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gCACtB,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,iBAAiB;gCAC7B,UAAU,EAAE,QAAQ;gCACpB,IAAI,EAAE,SAAS;6BAChB;yBACF;qBACF,CAAC;iBACH;gBACD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;aAClD;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ;aAClB,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;aACjD,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3D,MAAM,EAAE;oBACN,OAAO,CAAC;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,QAAQ;wBACpB,KAAK,EAAE;4BACL;gCACE,EAAE,EAAE,CAAC,IAAI,CAAC;gCACV,IAAI,EAAE,CAAC;gCACP,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,MAAM;gCAClB,IAAI,EAAE,UAAU;6BACjB;yBACF;qBACF,CAAC;iBACH;aACF;SACF,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;SAChE,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxE,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,aAAa,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;SAChE,CAAC,CAAC;QACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAE,CAAC;QAClE,OAAO,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dashboard-function-card.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-function-card.test.ts"],"names":[],"mappings":"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"}
@@ -9,23 +9,13 @@
9
9
  * per-row cell values.
10
10
  */
11
11
  import { describe, expect, it, beforeEach } from 'vitest';
12
- import { dashboardFunctionRowJs } from '../code-paths/function-row.js';
12
+ import { DASHBOARD_CLIENT_BUNDLE } from '../client-bundle.generated.js';
13
13
  function loadRenderFn() {
14
- const elSrc = `
15
- function el(tag, attrs, children) {
16
- const e = document.createElement(tag);
17
- if (attrs) Object.entries(attrs).forEach(([k,v]) => {
18
- if (k === 'text') e.textContent = v;
19
- else if (k === 'class') e.className = v;
20
- else if (k.startsWith('on')) e.addEventListener(k.slice(2), v);
21
- else e.setAttribute(k, v);
22
- });
23
- if (children) children.forEach(c => { if (typeof c === 'string') e.appendChild(document.createTextNode(c)); else if (c) e.appendChild(c); });
24
- return e;
25
- }
26
- `;
27
- // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source.
28
- return new Function(elSrc + dashboardFunctionRowJs() + '\nreturn renderFunctionRows;')();
14
+ // `renderFunctionRows` (with `el`, the paginators and `makeSortable`) now all
15
+ // live in the typed client bundle (L4) and are exposed as page globals;
16
+ // `var sessions = []` satisfies checks.ts's load-time `computeCheckStats()` read.
17
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source: our own bundled dashboard JS.
18
+ return new Function('var sessions = [];\n' + DASHBOARD_CLIENT_BUNDLE + '\nreturn renderFunctionRows;')();
29
19
  }
30
20
  beforeEach(() => {
31
21
  document.body.innerHTML = '';
@@ -34,12 +24,17 @@ describe('renderFunctionRows', () => {
34
24
  it('Hot view column shape: Function / Callers / Package / File', () => {
35
25
  const f = loadRenderFn();
36
26
  const c = document.createElement('div');
37
- f(c, [{ simpleName: 'logger', __callers: 12, filePath: 'packages/core/src/lib/logger.ts:42' }], [
38
- { label: 'Function', value: (o) => o.simpleName },
39
- { label: 'Callers', value: (o) => o.__callers },
40
- { label: 'Package', value: () => 'core' },
41
- { label: 'File', value: (o) => o.filePath },
42
- ]);
27
+ f(c, {
28
+ occurrences: [
29
+ { simpleName: 'logger', __callers: 12, filePath: 'packages/core/src/lib/logger.ts:42' },
30
+ ],
31
+ columns: [
32
+ { label: 'Function', value: (o) => o.simpleName },
33
+ { label: 'Callers', value: (o) => o.__callers },
34
+ { label: 'Package', value: () => 'core' },
35
+ { label: 'File', value: (o) => o.filePath },
36
+ ],
37
+ });
43
38
  // eslint-disable-next-line unicorn/prefer-spread -- TS NodeListOf iteration via spread requires lib.dom.iterable; Array.from is the portable form for the test target.
44
39
  const ths = Array.from(c.querySelectorAll('th'));
45
40
  expect(ths.map((t) => t.textContent)).toEqual(['Function', 'Callers', 'Package', 'File']);
@@ -55,46 +50,52 @@ describe('renderFunctionRows', () => {
55
50
  it('Big view column shape: Function / Lines / Kind / Package / File', () => {
56
51
  const f = loadRenderFn();
57
52
  const c = document.createElement('div');
58
- f(c, [
59
- {
60
- simpleName: 'foo',
61
- __size: 42,
62
- kind: 'function-declaration',
63
- filePath: 'packages/x/src/x.ts:1',
64
- },
65
- ], [
66
- { label: 'Function', value: (o) => o.simpleName },
67
- { label: 'Lines', value: (o) => o.__size },
68
- { label: 'Kind', value: (o) => o.kind },
69
- { label: 'Package', value: () => 'x' },
70
- { label: 'File', value: (o) => o.filePath },
71
- ]);
53
+ f(c, {
54
+ occurrences: [
55
+ {
56
+ simpleName: 'foo',
57
+ __size: 42,
58
+ kind: 'function-declaration',
59
+ filePath: 'packages/x/src/x.ts:1',
60
+ },
61
+ ],
62
+ columns: [
63
+ { label: 'Function', value: (o) => o.simpleName },
64
+ { label: 'Lines', value: (o) => o.__size },
65
+ { label: 'Kind', value: (o) => o.kind },
66
+ { label: 'Package', value: () => 'x' },
67
+ { label: 'File', value: (o) => o.filePath },
68
+ ],
69
+ });
72
70
  expect(c.querySelectorAll('thead th').length).toBe(5);
73
71
  });
74
72
  it('Wide view shape includes a Signature column with the parameter thumb', () => {
75
73
  const f = loadRenderFn();
76
74
  const c = document.createElement('div');
77
- f(c, [
78
- {
79
- simpleName: 'connect',
80
- __arity: 5,
81
- __thumb: '(a, b, c, d, e)',
82
- filePath: 'packages/x/x.ts:1',
83
- },
84
- ], [
85
- { label: 'Function', value: (o) => o.simpleName },
86
- { label: 'Params', value: (o) => o.__arity },
87
- { label: 'Signature', value: (o) => o.__thumb },
88
- { label: 'Package', value: () => 'x' },
89
- { label: 'File', value: (o) => o.filePath },
90
- ]);
75
+ f(c, {
76
+ occurrences: [
77
+ {
78
+ simpleName: 'connect',
79
+ __arity: 5,
80
+ __thumb: '(a, b, c, d, e)',
81
+ filePath: 'packages/x/x.ts:1',
82
+ },
83
+ ],
84
+ columns: [
85
+ { label: 'Function', value: (o) => o.simpleName },
86
+ { label: 'Params', value: (o) => o.__arity },
87
+ { label: 'Signature', value: (o) => o.__thumb },
88
+ { label: 'Package', value: () => 'x' },
89
+ { label: 'File', value: (o) => o.filePath },
90
+ ],
91
+ });
91
92
  const sigCell = c.querySelectorAll('tbody td')[2];
92
93
  expect(sigCell.textContent).toBe('(a, b, c, d, e)');
93
94
  });
94
95
  it('renders the empty state for zero rows', () => {
95
96
  const f = loadRenderFn();
96
97
  const c = document.createElement('div');
97
- f(c, [], [{ label: 'X', value: () => 'y' }]);
98
+ f(c, { occurrences: [], columns: [{ label: 'X', value: () => 'y' }] });
98
99
  expect(c.querySelector('.empty')).not.toBeNull();
99
100
  });
100
101
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-function-row.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-function-row.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-function-row.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-function-row.test.ts"],"names":[],"mappings":"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"}
@@ -67,8 +67,10 @@ describe('generateDashboardHtml — graph catalog wiring', () => {
67
67
  });
68
68
  it('embeds the restructured view ids via the views[] registry', () => {
69
69
  const html = generateDashboardHtml({ sessions: [], graphCatalog: minimalCatalog });
70
+ // The views register from the typed client bundle (L4); esbuild emits
71
+ // double-quoted object values, so the marker is the bundled form.
70
72
  for (const id of ['graph', 'coupling', 'distribution']) {
71
- expect(html).toContain(`id: '${id}'`);
73
+ expect(html).toContain(`id: "${id}"`);
72
74
  }
73
75
  });
74
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-generator-graph-catalog.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-generator-graph-catalog.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-generator-graph-catalog.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-generator-graph-catalog.test.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,9 @@ describe('Graph view — offline render guarantee', () => {
40
40
  expect(html).toContain('id="graph-view-model"');
41
41
  });
42
42
  it('registers the Graph view', () => {
43
- expect(html).toContain("id: 'graph'");
43
+ // The view registers from the typed client bundle (L4) — esbuild emits
44
+ // double-quoted object keys/values, so the marker is the bundled form.
45
+ expect(html).toContain('id: "graph"');
44
46
  expect(html).toContain('code-paths-graph-canvas');
45
47
  });
46
48
  it('has no external <script src> references (renders fully offline)', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-graph-offline.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-graph-offline.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,oBAAoB,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,CAAC;KAC7E,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC1D,CAAC;AAED,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAElF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,SAAS,GAAG,oCAAoC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dashboard-graph-offline.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-graph-offline.integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,oBAAoB,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,CAAC;KAC7E,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC1D,CAAC;AAED,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAElF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,SAAS,GAAG,oCAAoC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -7,29 +7,23 @@
7
7
  * page at a time.
8
8
  */
9
9
  import { describe, expect, it, beforeEach } from 'vitest';
10
- import { dashboardHelpDrawerJs } from '../code-paths/help-drawer.js';
11
- import { dashboardViewsRegistryJs } from '../code-paths/views-registry.js';
10
+ import { DASHBOARD_CLIENT_BUNDLE } from '../client-bundle.generated.js';
12
11
  function loadEnv() {
13
- const elSrc = `
14
- function el(tag, attrs, children) {
15
- const e = document.createElement(tag);
16
- if (attrs) Object.entries(attrs).forEach(([k,v]) => {
17
- if (k === 'text') e.textContent = v;
18
- else if (k === 'class') e.className = v;
19
- else if (k.startsWith('on')) e.addEventListener(k.slice(2), v);
20
- else e.setAttribute(k, v);
21
- });
22
- if (children) children.forEach(c => { if (typeof c === 'string') e.appendChild(document.createTextNode(c)); else if (c) e.appendChild(c); });
23
- return e;
24
- }
12
+ // The views registry + help drawer (with `el`) now live in the typed client
13
+ // bundle (L4) and are exposed as page globals; the bundle's help-drawer also
14
+ // attaches its load-time Escape keydown handler. `var sessions = []` satisfies
15
+ // checks.ts's load-time `computeCheckStats()` read.
16
+ const shim = `
25
17
  // jsdom does not implement requestAnimationFrame in all configurations;
26
18
  // inline a synchronous shim so the drawer's open class is applied
27
19
  // deterministically inside the test.
28
20
  if (typeof requestAnimationFrame === 'undefined') {
29
21
  globalThis.requestAnimationFrame = (cb) => { cb(0); return 0; };
30
22
  }
23
+ var sessions = [];
31
24
  `;
32
25
  const seed = `
26
+ views.length = 0;
33
27
  views.push({
34
28
  id: 'hot',
35
29
  label: 'Hot functions',
@@ -43,10 +37,10 @@ views.push({
43
37
  render() {},
44
38
  });
45
39
  views.push({ id: 'no-help', label: 'No help', render() {} });
46
- return { openHelpDrawer, closeHelpDrawer, views };
40
+ return { openHelpDrawer, views };
47
41
  `;
48
- // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source.
49
- const factory = new Function(elSrc + dashboardViewsRegistryJs() + dashboardHelpDrawerJs() + seed);
42
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval, sonarjs/code-eval -- Trusted source: our own bundled dashboard JS.
43
+ const factory = new Function(shim + DASHBOARD_CLIENT_BUNDLE + seed);
50
44
  return factory();
51
45
  }
52
46
  beforeEach(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-help-drawer.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-help-drawer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-help-drawer.test.js","sourceRoot":"","sources":["../../src/__tests__/dashboard-help-drawer.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  /**
2
- * Unit tests for the v0.3 browser-side `buildIndexes` JS emitter.
2
+ * @vitest-environment jsdom
3
3
  *
4
- * The emitter produces a JS string that defines `function buildIndexes`.
5
- * We evaluate it in a fresh function scope, then exercise the resulting
6
- * function against synthetic catalogs.
4
+ * Unit tests for the browser-side `buildIndexes` builder.
5
+ *
6
+ * `buildIndexes` now lives in the typed client bundle (L4) and is exposed as a
7
+ * page global; the test loads the bundle and reads it off the eval scope, then
8
+ * exercises the function against synthetic catalogs.
7
9
  */
8
10
  export {};
9
11
  //# sourceMappingURL=dashboard-indexes.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-indexes.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/dashboard-indexes.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"dashboard-indexes.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/dashboard-indexes.test.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG"}