@qwik.dev/devtools 0.2.1 → 0.2.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 (54) hide show
  1. package/dist/plugin/index.d.ts +4 -1
  2. package/dist/plugin/index.js +1914 -463
  3. package/dist/ui/_virtual/browser.qwik.mjs +8 -0
  4. package/dist/ui/_virtual/browser.qwik2.mjs +4 -0
  5. package/dist/ui/components/DevtoolsButton/DevtoolsButton.qwik.mjs +1 -1
  6. package/dist/ui/components/DevtoolsPanel/DevtoolsPanel.qwik.mjs +1 -1
  7. package/dist/ui/components/Tab/Tab.qwik.mjs +1 -1
  8. package/dist/ui/components/TabContent/TabContent.qwik.mjs +1 -1
  9. package/dist/ui/components/ThemeToggle/QwikThemeToggle.qwik.mjs +1 -1
  10. package/dist/ui/components/Tree/Tree.qwik.mjs +1 -1
  11. package/dist/ui/devtools.qwik.mjs +31 -9
  12. package/dist/ui/features/Assets/Assets.qwik.mjs +3 -3
  13. package/dist/ui/features/CodeBreack/CodeBreack.qwik.mjs +4 -4
  14. package/dist/ui/features/CodeBreack/HtmlParser.qwik.mjs +13 -20
  15. package/dist/ui/features/CodeBreack/StateParser.qwik.mjs +13 -20
  16. package/dist/ui/features/Overview/Overview.qwik.mjs +17 -17
  17. package/dist/ui/features/Packages/Packages.qwik.mjs +4 -4
  18. package/dist/ui/features/Packages/components/DependencyCard/DependencyCard.qwik.mjs +9 -9
  19. package/dist/ui/features/Packages/components/PackageIcon/PackageIcon.qwik.mjs +1 -1
  20. package/dist/ui/features/Performance/Performance.qwik.mjs +307 -0
  21. package/dist/ui/features/Performance/computePerfViewModel.qwik.mjs +101 -0
  22. package/dist/ui/features/Performance/transformPerformanceData.qwik.mjs +34 -0
  23. package/dist/ui/features/RenderTree/RenderTree.qwik.mjs +38 -45
  24. package/dist/ui/features/RenderTree/TreeBuilder.qwik.mjs +181 -0
  25. package/dist/ui/features/RenderTree/data.qwik.mjs +30 -16
  26. package/dist/ui/features/RenderTree/formatTreeData.qwik.mjs +205 -230
  27. package/dist/ui/features/RenderTree/types.qwik.mjs +50 -0
  28. package/dist/ui/features/Routes/Routes.qwik.mjs +3 -3
  29. package/dist/ui/features/inspect/Inspect.qwik.mjs +1 -1
  30. package/dist/ui/global.css.qwik.mjs +1 -1
  31. package/dist/ui/lib-types/kit/src/globals.d.ts +56 -5
  32. package/dist/ui/lib-types/kit/src/index.d.ts +1 -0
  33. package/dist/ui/lib-types/ui/src/features/Performance/Performance.d.ts +1 -0
  34. package/dist/ui/lib-types/ui/src/features/Performance/computePerfViewModel.d.ts +33 -0
  35. package/dist/ui/lib-types/ui/src/features/Performance/computePerfViewModel.test.d.ts +1 -0
  36. package/dist/ui/lib-types/ui/src/features/Performance/transformPerformanceData.d.ts +22 -0
  37. package/dist/ui/lib-types/ui/src/features/Performance/transformPerformanceData.test.d.ts +1 -0
  38. package/dist/ui/lib-types/ui/src/features/RenderTree/TreeBuilder.d.ts +60 -0
  39. package/dist/ui/lib-types/ui/src/features/RenderTree/data.d.ts +34 -8
  40. package/dist/ui/lib-types/ui/src/features/RenderTree/formatTreeData.d.ts +79 -148
  41. package/dist/ui/lib-types/ui/src/features/RenderTree/index.d.ts +6 -0
  42. package/dist/ui/lib-types/ui/src/features/RenderTree/types.d.ts +116 -0
  43. package/dist/ui/lib-types/ui/src/types/state.d.ts +1 -1
  44. package/dist/ui/lib-types/ui/src/utils/shiki.d.ts +2 -0
  45. package/dist/ui/node_modules/.pnpm/@qwikest_icons@0.0.13_@builder.io_qwik@1.11.0_vite@7.1.3_@types_node@20.14.11_jiti@2.6._02d306fcbd9f637dd624291702bff9c0/node_modules/@qwikest/icons/lib/hi.qwik.qwik.mjs +19 -0
  46. package/dist/ui/node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/browser.qwik.mjs +177 -0
  47. package/dist/ui/node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/common.qwik.mjs +182 -0
  48. package/dist/ui/node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.qwik.mjs +120 -0
  49. package/dist/ui/packages/kit/src/constants.qwik.mjs +0 -2
  50. package/dist/ui/packages/kit/src/context.qwik.mjs +5 -4
  51. package/dist/ui/utils/shiki.qwik.mjs +23 -0
  52. package/package.json +3 -3
  53. package/dist/ui/features/RenderTree/transfromqseq.qwik.mjs +0 -91
  54. package/dist/ui/lib-types/ui/src/features/RenderTree/transfromqseq.d.ts +0 -7
@@ -0,0 +1,182 @@
1
+ import { __require as requireMs } from "../../../../ms@2.1.3/node_modules/ms/index.qwik.mjs";
2
+ var common;
3
+ var hasRequiredCommon;
4
+ function requireCommon() {
5
+ if (hasRequiredCommon) return common;
6
+ hasRequiredCommon = 1;
7
+ function setup(env) {
8
+ createDebug.debug = createDebug;
9
+ createDebug.default = createDebug;
10
+ createDebug.coerce = coerce;
11
+ createDebug.disable = disable;
12
+ createDebug.enable = enable;
13
+ createDebug.enabled = enabled;
14
+ createDebug.humanize = requireMs();
15
+ createDebug.destroy = destroy;
16
+ Object.keys(env).forEach((key) => {
17
+ createDebug[key] = env[key];
18
+ });
19
+ createDebug.names = [];
20
+ createDebug.skips = [];
21
+ createDebug.formatters = {};
22
+ function selectColor(namespace) {
23
+ let hash = 0;
24
+ for (let i = 0; i < namespace.length; i++) {
25
+ hash = (hash << 5) - hash + namespace.charCodeAt(i);
26
+ hash |= 0;
27
+ }
28
+ return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
29
+ }
30
+ createDebug.selectColor = selectColor;
31
+ function createDebug(namespace) {
32
+ let prevTime;
33
+ let enableOverride = null;
34
+ let namespacesCache;
35
+ let enabledCache;
36
+ function debug(...args) {
37
+ if (!debug.enabled) {
38
+ return;
39
+ }
40
+ const self = debug;
41
+ const curr = Number(/* @__PURE__ */ new Date());
42
+ const ms = curr - (prevTime || curr);
43
+ self.diff = ms;
44
+ self.prev = prevTime;
45
+ self.curr = curr;
46
+ prevTime = curr;
47
+ args[0] = createDebug.coerce(args[0]);
48
+ if (typeof args[0] !== "string") {
49
+ args.unshift("%O");
50
+ }
51
+ let index = 0;
52
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
53
+ if (match === "%%") {
54
+ return "%";
55
+ }
56
+ index++;
57
+ const formatter = createDebug.formatters[format];
58
+ if (typeof formatter === "function") {
59
+ const val = args[index];
60
+ match = formatter.call(self, val);
61
+ args.splice(index, 1);
62
+ index--;
63
+ }
64
+ return match;
65
+ });
66
+ createDebug.formatArgs.call(self, args);
67
+ const logFn = self.log || createDebug.log;
68
+ logFn.apply(self, args);
69
+ }
70
+ debug.namespace = namespace;
71
+ debug.useColors = createDebug.useColors();
72
+ debug.color = createDebug.selectColor(namespace);
73
+ debug.extend = extend;
74
+ debug.destroy = createDebug.destroy;
75
+ Object.defineProperty(debug, "enabled", {
76
+ enumerable: true,
77
+ configurable: false,
78
+ get: () => {
79
+ if (enableOverride !== null) {
80
+ return enableOverride;
81
+ }
82
+ if (namespacesCache !== createDebug.namespaces) {
83
+ namespacesCache = createDebug.namespaces;
84
+ enabledCache = createDebug.enabled(namespace);
85
+ }
86
+ return enabledCache;
87
+ },
88
+ set: (v) => {
89
+ enableOverride = v;
90
+ }
91
+ });
92
+ if (typeof createDebug.init === "function") {
93
+ createDebug.init(debug);
94
+ }
95
+ return debug;
96
+ }
97
+ function extend(namespace, delimiter) {
98
+ const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
99
+ newDebug.log = this.log;
100
+ return newDebug;
101
+ }
102
+ function enable(namespaces) {
103
+ createDebug.save(namespaces);
104
+ createDebug.namespaces = namespaces;
105
+ createDebug.names = [];
106
+ createDebug.skips = [];
107
+ const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
108
+ for (const ns of split) {
109
+ if (ns[0] === "-") {
110
+ createDebug.skips.push(ns.slice(1));
111
+ } else {
112
+ createDebug.names.push(ns);
113
+ }
114
+ }
115
+ }
116
+ function matchesTemplate(search, template) {
117
+ let searchIndex = 0;
118
+ let templateIndex = 0;
119
+ let starIndex = -1;
120
+ let matchIndex = 0;
121
+ while (searchIndex < search.length) {
122
+ if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
123
+ if (template[templateIndex] === "*") {
124
+ starIndex = templateIndex;
125
+ matchIndex = searchIndex;
126
+ templateIndex++;
127
+ } else {
128
+ searchIndex++;
129
+ templateIndex++;
130
+ }
131
+ } else if (starIndex !== -1) {
132
+ templateIndex = starIndex + 1;
133
+ matchIndex++;
134
+ searchIndex = matchIndex;
135
+ } else {
136
+ return false;
137
+ }
138
+ }
139
+ while (templateIndex < template.length && template[templateIndex] === "*") {
140
+ templateIndex++;
141
+ }
142
+ return templateIndex === template.length;
143
+ }
144
+ function disable() {
145
+ const namespaces = [
146
+ ...createDebug.names,
147
+ ...createDebug.skips.map((namespace) => "-" + namespace)
148
+ ].join(",");
149
+ createDebug.enable("");
150
+ return namespaces;
151
+ }
152
+ function enabled(name) {
153
+ for (const skip of createDebug.skips) {
154
+ if (matchesTemplate(name, skip)) {
155
+ return false;
156
+ }
157
+ }
158
+ for (const ns of createDebug.names) {
159
+ if (matchesTemplate(name, ns)) {
160
+ return true;
161
+ }
162
+ }
163
+ return false;
164
+ }
165
+ function coerce(val) {
166
+ if (val instanceof Error) {
167
+ return val.stack || val.message;
168
+ }
169
+ return val;
170
+ }
171
+ function destroy() {
172
+ console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
173
+ }
174
+ createDebug.enable(createDebug.load());
175
+ return createDebug;
176
+ }
177
+ common = setup;
178
+ return common;
179
+ }
180
+ export {
181
+ requireCommon as __require
182
+ };
@@ -0,0 +1,120 @@
1
+ var ms;
2
+ var hasRequiredMs;
3
+ function requireMs() {
4
+ if (hasRequiredMs) return ms;
5
+ hasRequiredMs = 1;
6
+ var s = 1e3;
7
+ var m = s * 60;
8
+ var h = m * 60;
9
+ var d = h * 24;
10
+ var w = d * 7;
11
+ var y = d * 365.25;
12
+ ms = function(val, options) {
13
+ options = options || {};
14
+ var type = typeof val;
15
+ if (type === "string" && val.length > 0) {
16
+ return parse(val);
17
+ } else if (type === "number" && isFinite(val)) {
18
+ return options.long ? fmtLong(val) : fmtShort(val);
19
+ }
20
+ throw new Error(
21
+ "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
22
+ );
23
+ };
24
+ function parse(str) {
25
+ str = String(str);
26
+ if (str.length > 100) {
27
+ return;
28
+ }
29
+ var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
30
+ str
31
+ );
32
+ if (!match) {
33
+ return;
34
+ }
35
+ var n = parseFloat(match[1]);
36
+ var type = (match[2] || "ms").toLowerCase();
37
+ switch (type) {
38
+ case "years":
39
+ case "year":
40
+ case "yrs":
41
+ case "yr":
42
+ case "y":
43
+ return n * y;
44
+ case "weeks":
45
+ case "week":
46
+ case "w":
47
+ return n * w;
48
+ case "days":
49
+ case "day":
50
+ case "d":
51
+ return n * d;
52
+ case "hours":
53
+ case "hour":
54
+ case "hrs":
55
+ case "hr":
56
+ case "h":
57
+ return n * h;
58
+ case "minutes":
59
+ case "minute":
60
+ case "mins":
61
+ case "min":
62
+ case "m":
63
+ return n * m;
64
+ case "seconds":
65
+ case "second":
66
+ case "secs":
67
+ case "sec":
68
+ case "s":
69
+ return n * s;
70
+ case "milliseconds":
71
+ case "millisecond":
72
+ case "msecs":
73
+ case "msec":
74
+ case "ms":
75
+ return n;
76
+ default:
77
+ return void 0;
78
+ }
79
+ }
80
+ function fmtShort(ms2) {
81
+ var msAbs = Math.abs(ms2);
82
+ if (msAbs >= d) {
83
+ return Math.round(ms2 / d) + "d";
84
+ }
85
+ if (msAbs >= h) {
86
+ return Math.round(ms2 / h) + "h";
87
+ }
88
+ if (msAbs >= m) {
89
+ return Math.round(ms2 / m) + "m";
90
+ }
91
+ if (msAbs >= s) {
92
+ return Math.round(ms2 / s) + "s";
93
+ }
94
+ return ms2 + "ms";
95
+ }
96
+ function fmtLong(ms2) {
97
+ var msAbs = Math.abs(ms2);
98
+ if (msAbs >= d) {
99
+ return plural(ms2, msAbs, d, "day");
100
+ }
101
+ if (msAbs >= h) {
102
+ return plural(ms2, msAbs, h, "hour");
103
+ }
104
+ if (msAbs >= m) {
105
+ return plural(ms2, msAbs, m, "minute");
106
+ }
107
+ if (msAbs >= s) {
108
+ return plural(ms2, msAbs, s, "second");
109
+ }
110
+ return ms2 + " ms";
111
+ }
112
+ function plural(ms2, msAbs, n, name) {
113
+ var isPlural = msAbs >= n * 1.5;
114
+ return Math.round(ms2 / n) + " " + name + (isPlural ? "s" : "");
115
+ }
116
+ return ms;
117
+ }
118
+ export {
119
+ requireMs as __require
120
+ };
@@ -6,11 +6,9 @@ const QTYPE = "q:type";
6
6
  const INNER_USE_HOOK = "useCollectHooks";
7
7
  const QRL_KEY = "$qrl$";
8
8
  const COMPUTED_QRL_KEY = "$computeQrl$";
9
- const CHUNK_KEY = "$chunk$";
10
9
  const CAPTURE_REF_KEY = "$captureRef$";
11
10
  export {
12
11
  CAPTURE_REF_KEY,
13
- CHUNK_KEY,
14
12
  COMPUTED_QRL_KEY,
15
13
  DEVTOOLS_VITE_MESSAGING_EVENT,
16
14
  INNER_USE_HOOK,
@@ -1,16 +1,17 @@
1
1
  import { target } from "./shared.qwik.mjs";
2
2
  import { CLIENT_RPC, CLIENT_CTX } from "./globals.qwik.mjs";
3
+ const t = target;
3
4
  function getViteClientContext() {
4
- return target[CLIENT_CTX];
5
+ return t[CLIENT_CTX];
5
6
  }
6
7
  function setViteClientContext(ctx) {
7
- target[CLIENT_CTX] = ctx;
8
+ t[CLIENT_CTX] = ctx;
8
9
  }
9
10
  function getViteClientRpc() {
10
- return target[CLIENT_RPC];
11
+ return t[CLIENT_RPC];
11
12
  }
12
13
  function setViteClientRpc(rpc) {
13
- target[CLIENT_RPC] = rpc;
14
+ t[CLIENT_RPC] = rpc;
14
15
  }
15
16
  export {
16
17
  getViteClientContext,
@@ -0,0 +1,23 @@
1
+ import { createHighlighter } from "../node_modules/.pnpm/shiki@3.8.1/node_modules/shiki/dist/bundle-full.qwik.mjs";
2
+ let highlighterPromise = null;
3
+ const getHighlighter = () => {
4
+ if (!highlighterPromise) {
5
+ highlighterPromise = createHighlighter({
6
+ themes: [
7
+ "nord"
8
+ ],
9
+ langs: [
10
+ "json",
11
+ "html",
12
+ "tsx",
13
+ "js",
14
+ "ts",
15
+ "jsx"
16
+ ]
17
+ });
18
+ }
19
+ return highlighterPromise;
20
+ };
21
+ export {
22
+ getHighlighter
23
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwik.dev/devtools",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "license": "MIT",
5
5
  "main": "./dist/plugin/index.mjs",
6
6
  "description": "Qwik devtools package",
@@ -24,8 +24,8 @@
24
24
  "README.md"
25
25
  ],
26
26
  "peerDependencies": {
27
- "@qwik.dev/core": "2.0.0-beta.11",
28
- "@qwik.dev/router": "2.0.0-beta.11",
27
+ "@qwik.dev/core": "2.0.0-beta.15",
28
+ "@qwik.dev/router": "2.0.0-beta.15",
29
29
  "vite": "7.1.3",
30
30
  "@tailwindcss/postcss": "^4.1.14",
31
31
  "@tailwindcss/vite": "^4.1.14",
@@ -1,91 +0,0 @@
1
- import { isValue } from "../../utils/type.qwik.mjs";
2
- let nodeIdCounter = 0;
3
- const objectToTree = (obj, parentPath = "") => {
4
- if (!obj || typeof obj !== "object") {
5
- return [];
6
- }
7
- const result = [];
8
- if (Array.isArray(obj)) {
9
- return obj.map((item, index) => {
10
- return createTreeNode(item, `[${index}]`);
11
- }).filter(Boolean);
12
- }
13
- Object.entries(obj).forEach(([key, value]) => {
14
- const node = createTreeNode(value, key);
15
- if (node) {
16
- result.push(node);
17
- }
18
- });
19
- return result;
20
- };
21
- function createTreeNode(value, key, path) {
22
- const node = createTreeNodeObj(key);
23
- if (value === null || value === void 0) {
24
- node.label = `${key}: ${value}`;
25
- node.elementType = "null";
26
- return node;
27
- }
28
- if (typeof value === "boolean") {
29
- node.label = `${key}: ${value}`;
30
- node.elementType = "boolean";
31
- return node;
32
- }
33
- if (typeof value === "number") {
34
- node.label = `${key}: ${value}`;
35
- node.elementType = "number";
36
- return node;
37
- }
38
- if (typeof value === "string") {
39
- node.label = `${key}: "${value}"`;
40
- node.elementType = "string";
41
- return node;
42
- }
43
- if (typeof value === "function") {
44
- node.label = `${key}: ƒ()`;
45
- node.elementType = "function";
46
- if (value.name) {
47
- node.label = `${key}: ƒ ${value.name}()`;
48
- }
49
- return node;
50
- }
51
- if (Array.isArray(value)) {
52
- node.label = `${key}: Array[${value.length}]`;
53
- node.elementType = "array";
54
- node.children = value.map((item, index) => {
55
- return createTreeNode(item, index.toString());
56
- }).filter(Boolean);
57
- return node;
58
- }
59
- if (typeof value === "object") {
60
- if (value.constructor.name !== "Object") {
61
- node.label = `${key}: Class {${value.constructor.name}}`;
62
- node.elementType = "object";
63
- if (isValue(value)) {
64
- node.children = [
65
- createTreeNode(value.value, "value")
66
- ];
67
- }
68
- } else {
69
- const keys = Object.keys(value);
70
- node.label = `${key}: Object {${keys.length}}`;
71
- node.elementType = "object";
72
- node.children = Object.entries(value).map(([childKey, childValue]) => {
73
- return createTreeNode(childValue, childKey);
74
- }).filter(Boolean);
75
- }
76
- return node;
77
- }
78
- return null;
79
- }
80
- const createTreeNodeObj = (label, children = []) => {
81
- return {
82
- id: `node-${nodeIdCounter++}`,
83
- label,
84
- props: {},
85
- children
86
- };
87
- };
88
- export {
89
- createTreeNodeObj,
90
- objectToTree
91
- };
@@ -1,7 +0,0 @@
1
- import { TreeNode } from '../../components/Tree/Tree';
2
- /**
3
- * Convert object to TreeNode array
4
- * Special handling for Qwik's q:seq and other special properties
5
- */
6
- export declare const objectToTree: (obj: any, parentPath?: string) => TreeNode[];
7
- export declare const createTreeNodeObj: (label: string, children?: TreeNode[]) => TreeNode;