modviz 0.1.2

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 (109) hide show
  1. package/README.md +261 -0
  2. package/dist/client/_shell.html +0 -0
  3. package/dist/client/android-chrome-192x192.png +0 -0
  4. package/dist/client/android-chrome-512x512.png +0 -0
  5. package/dist/client/apple-touch-icon.png +0 -0
  6. package/dist/client/assets/app-Sjrldkrg.css +2 -0
  7. package/dist/client/assets/button-aOWckyNs.js +1 -0
  8. package/dist/client/assets/check-C0EQe2S8.js +1 -0
  9. package/dist/client/assets/chevron-down-DrspihmT.js +1 -0
  10. package/dist/client/assets/chevron-right-DIJHr8AN.js +1 -0
  11. package/dist/client/assets/colors-CQoWjU5E.js +1 -0
  12. package/dist/client/assets/command-kkF7_wdz.js +45 -0
  13. package/dist/client/assets/compare-K6jVFsiI.js +1 -0
  14. package/dist/client/assets/compare-TOnoe1EP.js +2 -0
  15. package/dist/client/assets/configure-DnlSnhtN.js +1 -0
  16. package/dist/client/assets/explorer-C7NclVKg.js +2 -0
  17. package/dist/client/assets/explorer-Xu2X6XXF.js +1 -0
  18. package/dist/client/assets/external-link-B9eNA-li.js +1 -0
  19. package/dist/client/assets/flamegraph-CRVZSAlj.js +13 -0
  20. package/dist/client/assets/floating-ui.dom-DLIT5tPE.js +1 -0
  21. package/dist/client/assets/formatting-CiC0SYI8.js +1 -0
  22. package/dist/client/assets/graph-6Vr74V1k.js +2 -0
  23. package/dist/client/assets/graph-CVzypIGU.js +2 -0
  24. package/dist/client/assets/graph-command-menu-D2MoVT2B.js +4 -0
  25. package/dist/client/assets/graph-command-menu-VWiiW3qy.css +1 -0
  26. package/dist/client/assets/hierarchy-C8xxGb_u.js +2 -0
  27. package/dist/client/assets/hierarchy-iO7d4oSK.js +2 -0
  28. package/dist/client/assets/import-display-D-jRyyjM.js +5 -0
  29. package/dist/client/assets/imports-CPggnrs-.js +2 -0
  30. package/dist/client/assets/imports-CodbPyUJ.js +1 -0
  31. package/dist/client/assets/index-Dj_rhLdR.js +12 -0
  32. package/dist/client/assets/input-BCFMF0aR.js +1 -0
  33. package/dist/client/assets/jsx-runtime-DWSWI4JT.js +1 -0
  34. package/dist/client/assets/lazyRouteComponent-PTSyFp1J.js +1 -0
  35. package/dist/client/assets/loading-state-CyC_hrTF.js +1 -0
  36. package/dist/client/assets/modviz-data-BiRqoDI5.js +1 -0
  37. package/dist/client/assets/modviz-layout-Do93E-IB.js +1 -0
  38. package/dist/client/assets/modviz-sigma-Xl8qHaxK.js +312 -0
  39. package/dist/client/assets/portal-BgAm3V3j.js +1 -0
  40. package/dist/client/assets/routes-DBtN8hrZ.js +1 -0
  41. package/dist/client/assets/schemas-B4zfTepZ.js +39 -0
  42. package/dist/client/assets/search-BYHxNrYn.js +1 -0
  43. package/dist/client/assets/search-params-BaZRBvGI.js +1 -0
  44. package/dist/client/assets/setup-view-j1o0TuZz.js +1 -0
  45. package/dist/client/assets/summary-D703Zh3x.js +1 -0
  46. package/dist/client/assets/tooltip-B1VDU9HG.js +1 -0
  47. package/dist/client/assets/trace-B67CM5s2.js +2 -0
  48. package/dist/client/assets/trace-Bwwdw3AM.js +1 -0
  49. package/dist/client/assets/treemap-BZf2shzY.js +5 -0
  50. package/dist/client/assets/treemap-Csroy8Gy.js +2 -0
  51. package/dist/client/assets/utils-DkkZd0ys.js +1 -0
  52. package/dist/client/favicon-16x16.png +0 -0
  53. package/dist/client/favicon-32x32.png +0 -0
  54. package/dist/client/favicon.ico +0 -0
  55. package/dist/client/favicon.png +0 -0
  56. package/dist/client/site.webmanifest +19 -0
  57. package/dist/mod/cli-options.js +225 -0
  58. package/dist/mod/cli.js +519 -0
  59. package/dist/mod/index.js +3 -0
  60. package/dist/mod/llm-analysis.js +29 -0
  61. package/dist/mod/llm-output.js +742 -0
  62. package/dist/mod/module-graph-plugins.js +60 -0
  63. package/dist/mod/production-server.js +103 -0
  64. package/dist/mod/runtime-host.js +217 -0
  65. package/dist/mod/snapshot-history.js +73 -0
  66. package/dist/mod/types.js +3 -0
  67. package/dist/server/assets/__23tanstack-start-plugin-adapters-3QxJs4a0.js +5 -0
  68. package/dist/server/assets/_tanstack-start-manifest_v-DMytuIue.js +188 -0
  69. package/dist/server/assets/button-Bqnnid5i.js +41 -0
  70. package/dist/server/assets/colors-DhAxrYua.js +100 -0
  71. package/dist/server/assets/command-SdxShIbL.js +138 -0
  72. package/dist/server/assets/compare-BFMiiUsB.js +562 -0
  73. package/dist/server/assets/compare-CpOqTpYu.js +10 -0
  74. package/dist/server/assets/configure-Bvd45DTI.js +288 -0
  75. package/dist/server/assets/explorer-C7dODpSv.js +379 -0
  76. package/dist/server/assets/explorer-CpSb0JTa.js +20 -0
  77. package/dist/server/assets/flamegraph-CdW-VG6I.js +198 -0
  78. package/dist/server/assets/formatting-iDlL4tA-.js +4 -0
  79. package/dist/server/assets/graph-C1G9H5O4.js +438 -0
  80. package/dist/server/assets/graph-DAGFGioS.js +45 -0
  81. package/dist/server/assets/graph-command-menu-BV5GtOWx.js +249 -0
  82. package/dist/server/assets/hierarchy-B4K-Zfn9.js +16 -0
  83. package/dist/server/assets/hierarchy-BGpWSG-f.js +104 -0
  84. package/dist/server/assets/import-display-BVIOWcsm.js +124 -0
  85. package/dist/server/assets/imports-B6JBDl_h.js +379 -0
  86. package/dist/server/assets/imports-BGe5tZJT.js +28 -0
  87. package/dist/server/assets/input-C5r-hBix.js +19 -0
  88. package/dist/server/assets/loading-state-CrvCWTtw.js +23 -0
  89. package/dist/server/assets/modviz-data-CUyTorv0.js +197 -0
  90. package/dist/server/assets/modviz-layout-BAH2ogse.js +253 -0
  91. package/dist/server/assets/modviz-server-DoMlAyFW.js +195 -0
  92. package/dist/server/assets/modviz-sigma-XYxARWqd.js +1441 -0
  93. package/dist/server/assets/rolldown-runtime-rSIU-vHC.js +13 -0
  94. package/dist/server/assets/router-DYJ-zDbU.js +353 -0
  95. package/dist/server/assets/routes-DInCacpY.js +244 -0
  96. package/dist/server/assets/search-params-BNApPgkX.js +26 -0
  97. package/dist/server/assets/setup-view-DjI49Iqr.js +91 -0
  98. package/dist/server/assets/start-Ba3KII43.js +4 -0
  99. package/dist/server/assets/summary-z3lXkLCQ.js +208 -0
  100. package/dist/server/assets/tooltip-Ck0DDfF7.js +24 -0
  101. package/dist/server/assets/trace-ColKOf9g.js +16 -0
  102. package/dist/server/assets/trace-eVs-hIZO.js +578 -0
  103. package/dist/server/assets/treemap-BbZ9M4GF.js +17 -0
  104. package/dist/server/assets/treemap-CrgWFoCF.js +912 -0
  105. package/dist/server/assets/utils-BQZm0uva.js +8 -0
  106. package/dist/server/server.js +5259 -0
  107. package/dist/shared/modviz-compare.js +120 -0
  108. package/dist/shared/modviz-trace.js +244 -0
  109. package/package.json +135 -0
@@ -0,0 +1,41 @@
1
+ import { t as cn } from "./utils-BQZm0uva.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cva } from "class-variance-authority";
6
+ //#region src/components/ui/button.tsx
7
+ var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
11
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
12
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
13
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
14
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
15
+ link: "text-primary underline-offset-4 hover:underline"
16
+ },
17
+ size: {
18
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
19
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
20
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
21
+ icon: "size-9"
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ variant: "default",
26
+ size: "default"
27
+ }
28
+ });
29
+ function Button({ className, variant, size, asChild = false, ...props }) {
30
+ return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
31
+ "data-slot": "button",
32
+ className: cn(buttonVariants({
33
+ variant,
34
+ size,
35
+ className
36
+ })),
37
+ ...props
38
+ });
39
+ }
40
+ //#endregion
41
+ export { Button as t };
@@ -0,0 +1,100 @@
1
+ import iwanthue from "iwanthue";
2
+ //#region src/components/graph/common/gnrg.ts
3
+ /**
4
+ * Seeded random number generator. The result will always be betweeen -1 and 1.
5
+ * Adapted from the more full-featured [seedrandom](https://github.com/davidbau/seedrandom), using [xorshift](https://en.wikipedia.org/wiki/Xorshift).
6
+ *
7
+ * @param seed - The seed to use for the random number.
8
+ *
9
+ * @example
10
+ * const getRandom1 = rng("abc")
11
+ * const a = getRandom1() // Random number between -1 and 1
12
+ * const b = getRandom1() // Random number between -1 and 1
13
+ *
14
+ * const getRandom2 = rng("abc") // same seed
15
+ * getRandom2() === a // true
16
+ * getRandom2() === b // true
17
+ *
18
+ * const getRandom3 = rng("xyz") // different seed
19
+ * getRandom3() === a // false
20
+ * getRandom3() === b // false
21
+ *
22
+ */
23
+ function rng(seed) {
24
+ let x = 0;
25
+ let y = 0;
26
+ let z = 0;
27
+ let w = 0;
28
+ function next() {
29
+ const t = x ^ x << 11;
30
+ x = y;
31
+ y = z;
32
+ z = w;
33
+ w ^= (w >>> 19 ^ t ^ t >>> 8) >>> 0;
34
+ return w / 4294967296;
35
+ }
36
+ for (let k = 0; k < seed.length + 64; k++) {
37
+ x ^= seed.charCodeAt(k) | 0;
38
+ next();
39
+ }
40
+ return next;
41
+ }
42
+ //#endregion
43
+ //#region src/components/graph/common/random.ts
44
+ var getRandom = rng("modviz");
45
+ //#endregion
46
+ //#region src/components/graph/common/colors.ts
47
+ var defaultColor = "#E2E2E2";
48
+ var colorList = [
49
+ "#FF5733",
50
+ "#3357FF",
51
+ "#FF33A6",
52
+ "#A633FF",
53
+ "#FF8633",
54
+ "#33FF86",
55
+ "#8633FF",
56
+ "#FF3386",
57
+ "#3386FF",
58
+ "#33FFA6",
59
+ "#FF8633",
60
+ "#3366FF",
61
+ "#FF6633",
62
+ "#3399FF",
63
+ "#FF9966",
64
+ "#9966FF",
65
+ "#5E6BFF",
66
+ "#FE2FB5",
67
+ "#B752F8",
68
+ "#F85252",
69
+ "#A5243D",
70
+ "#edcf8e",
71
+ "#C28CAE",
72
+ "#610F7F",
73
+ "#9BA2FF",
74
+ "#FFDC5E",
75
+ "#FF86C8",
76
+ "#FF69EB",
77
+ "#1CFEBA",
78
+ "#95F2D9"
79
+ ];
80
+ var randomColor = () => {
81
+ const digits = "0123456789abcdef";
82
+ let code = "#";
83
+ for (let i = 0; i < 6; i++) code += digits.charAt(Math.floor(getRandom() * 16));
84
+ return code;
85
+ };
86
+ var deterministicColor = (str) => {
87
+ return iwanthue(1, {
88
+ seed: str,
89
+ colorSpace: "all",
90
+ clustering: "force-vector"
91
+ })[0] || randomColor();
92
+ };
93
+ var colors = {
94
+ default: defaultColor,
95
+ list: colorList,
96
+ random: randomColor,
97
+ deterministic: deterministicColor
98
+ };
99
+ //#endregion
100
+ export { getRandom as n, colors as t };
@@ -0,0 +1,138 @@
1
+ import { t as cn } from "./utils-BQZm0uva.js";
2
+ import "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { SearchIcon, XIcon } from "lucide-react";
5
+ import { Command } from "cmdk";
6
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
7
+ //#region src/components/ui/dialog.tsx
8
+ function Dialog({ ...props }) {
9
+ return /* @__PURE__ */ jsx(DialogPrimitive.Root, {
10
+ "data-slot": "dialog",
11
+ ...props
12
+ });
13
+ }
14
+ function DialogPortal({ ...props }) {
15
+ return /* @__PURE__ */ jsx(DialogPrimitive.Portal, {
16
+ "data-slot": "dialog-portal",
17
+ ...props
18
+ });
19
+ }
20
+ function DialogOverlay({ className, ...props }) {
21
+ return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
22
+ "data-slot": "dialog-overlay",
23
+ className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className),
24
+ ...props
25
+ });
26
+ }
27
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
28
+ return /* @__PURE__ */ jsxs(DialogPortal, {
29
+ "data-slot": "dialog-portal",
30
+ children: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(DialogPrimitive.Content, {
31
+ "data-slot": "dialog-content",
32
+ className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", className),
33
+ ...props,
34
+ children: [children, showCloseButton && /* @__PURE__ */ jsxs(DialogPrimitive.Close, {
35
+ "data-slot": "dialog-close",
36
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
37
+ children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
38
+ className: "sr-only",
39
+ children: "Close"
40
+ })]
41
+ })]
42
+ })]
43
+ });
44
+ }
45
+ function DialogHeader({ className, ...props }) {
46
+ return /* @__PURE__ */ jsx("div", {
47
+ "data-slot": "dialog-header",
48
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
49
+ ...props
50
+ });
51
+ }
52
+ function DialogTitle({ className, ...props }) {
53
+ return /* @__PURE__ */ jsx(DialogPrimitive.Title, {
54
+ "data-slot": "dialog-title",
55
+ className: cn("text-lg leading-none font-semibold", className),
56
+ ...props
57
+ });
58
+ }
59
+ function DialogDescription({ className, ...props }) {
60
+ return /* @__PURE__ */ jsx(DialogPrimitive.Description, {
61
+ "data-slot": "dialog-description",
62
+ className: cn("text-muted-foreground text-sm", className),
63
+ ...props
64
+ });
65
+ }
66
+ //#endregion
67
+ //#region src/components/ui/command.tsx
68
+ function Command$1({ className, ...props }) {
69
+ return /* @__PURE__ */ jsx(Command, {
70
+ "data-slot": "command",
71
+ className: cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className),
72
+ ...props
73
+ });
74
+ }
75
+ function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, className, showCloseButton = true, ...props }) {
76
+ return /* @__PURE__ */ jsxs(Dialog, {
77
+ ...props,
78
+ children: [/* @__PURE__ */ jsxs(DialogHeader, {
79
+ className: "sr-only",
80
+ children: [/* @__PURE__ */ jsx(DialogTitle, { children: title }), /* @__PURE__ */ jsx(DialogDescription, { children: description })]
81
+ }), /* @__PURE__ */ jsx(DialogContent, {
82
+ className: cn("overflow-hidden p-0", className),
83
+ showCloseButton,
84
+ children: /* @__PURE__ */ jsx(Command$1, {
85
+ className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",
86
+ children
87
+ })
88
+ })]
89
+ });
90
+ }
91
+ function CommandInput({ className, ...props }) {
92
+ return /* @__PURE__ */ jsxs("div", {
93
+ "data-slot": "command-input-wrapper",
94
+ className: "flex h-9 items-center gap-2 border-b px-3",
95
+ children: [/* @__PURE__ */ jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }), /* @__PURE__ */ jsx(Command.Input, {
96
+ "data-slot": "command-input",
97
+ className: cn("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className),
98
+ ...props
99
+ })]
100
+ });
101
+ }
102
+ function CommandList({ className, ...props }) {
103
+ return /* @__PURE__ */ jsx(Command.List, {
104
+ "data-slot": "command-list",
105
+ className: cn("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", className),
106
+ ...props
107
+ });
108
+ }
109
+ function CommandEmpty({ ...props }) {
110
+ return /* @__PURE__ */ jsx(Command.Empty, {
111
+ "data-slot": "command-empty",
112
+ className: "py-6 text-center text-sm",
113
+ ...props
114
+ });
115
+ }
116
+ function CommandGroup({ className, ...props }) {
117
+ return /* @__PURE__ */ jsx(Command.Group, {
118
+ "data-slot": "command-group",
119
+ className: cn("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium", className),
120
+ ...props
121
+ });
122
+ }
123
+ function CommandSeparator({ className, ...props }) {
124
+ return /* @__PURE__ */ jsx(Command.Separator, {
125
+ "data-slot": "command-separator",
126
+ className: cn("bg-border -mx-1 h-px", className),
127
+ ...props
128
+ });
129
+ }
130
+ function CommandItem({ className, ...props }) {
131
+ return /* @__PURE__ */ jsx(Command.Item, {
132
+ "data-slot": "command-item",
133
+ className: cn("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
134
+ ...props
135
+ });
136
+ }
137
+ //#endregion
138
+ export { CommandInput as a, CommandSeparator as c, CommandGroup as i, CommandDialog as n, CommandItem as o, CommandEmpty as r, CommandList as s, Command$1 as t };