tailwind-styled-v4 5.0.36 → 5.0.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer.d.mts +152 -5
- package/dist/analyzer.d.ts +152 -5
- package/dist/analyzer.js +213 -161
- package/dist/analyzer.js.map +1 -1
- package/dist/analyzer.mjs +118 -82
- package/dist/analyzer.mjs.map +1 -1
- package/dist/animate.d.mts +30 -3
- package/dist/animate.d.ts +30 -3
- package/dist/animate.js +131 -87
- package/dist/animate.js.map +1 -1
- package/dist/animate.mjs +28 -14
- package/dist/animate.mjs.map +1 -1
- package/dist/atomic.js +105 -68
- package/dist/atomic.js.map +1 -1
- package/dist/atomic.mjs +40 -13
- package/dist/atomic.mjs.map +1 -1
- package/dist/cli.js +577 -426
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +466 -304
- package/dist/cli.mjs.map +1 -1
- package/dist/compiler.d.mts +5 -0
- package/dist/compiler.d.ts +5 -0
- package/dist/compiler.js +826 -508
- package/dist/compiler.js.map +1 -1
- package/dist/compiler.mjs +287 -29
- package/dist/compiler.mjs.map +1 -1
- package/dist/dashboard.js +71 -41
- package/dist/dashboard.js.map +1 -1
- package/dist/dashboard.mjs +12 -6
- package/dist/dashboard.mjs.map +1 -1
- package/dist/devtools.d.mts +88 -2
- package/dist/devtools.d.ts +88 -2
- package/dist/devtools.js +333 -289
- package/dist/devtools.js.map +1 -1
- package/dist/devtools.mjs +26 -11
- package/dist/devtools.mjs.map +1 -1
- package/dist/engine.d.mts +557 -6
- package/dist/engine.d.ts +557 -6
- package/dist/engine.js +679 -502
- package/dist/engine.js.map +1 -1
- package/dist/engine.mjs +467 -307
- package/dist/engine.mjs.map +1 -1
- package/dist/index.d.mts +180 -127
- package/dist/index.d.ts +180 -127
- package/dist/index.js +1329 -7441
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1266 -7385
- package/dist/index.mjs.map +1 -1
- package/dist/next.js +318 -243
- package/dist/next.js.map +1 -1
- package/dist/next.mjs +256 -181
- package/dist/next.mjs.map +1 -1
- package/dist/plugin-api.d.mts +4 -2
- package/dist/plugin-api.d.ts +4 -2
- package/dist/plugin-api.js +93 -49
- package/dist/plugin-api.js.map +1 -1
- package/dist/plugin-api.mjs +26 -6
- package/dist/plugin-api.mjs.map +1 -1
- package/dist/plugin-registry.js +103 -62
- package/dist/plugin-registry.js.map +1 -1
- package/dist/plugin-registry.mjs +53 -35
- package/dist/plugin-registry.mjs.map +1 -1
- package/dist/plugin.d.mts +165 -5
- package/dist/plugin.d.ts +165 -5
- package/dist/plugin.js +115 -50
- package/dist/plugin.js.map +1 -1
- package/dist/plugin.mjs +44 -6
- package/dist/plugin.mjs.map +1 -1
- package/dist/preset.js +47 -15
- package/dist/preset.js.map +1 -1
- package/dist/preset.mjs +13 -5
- package/dist/preset.mjs.map +1 -1
- package/dist/rspack.js +82 -50
- package/dist/rspack.js.map +1 -1
- package/dist/rspack.mjs +20 -12
- package/dist/rspack.mjs.map +1 -1
- package/dist/runtime-css.js +62 -24
- package/dist/runtime-css.js.map +1 -1
- package/dist/runtime-css.mjs +15 -7
- package/dist/runtime-css.mjs.map +1 -1
- package/dist/runtime.d.mts +38 -3
- package/dist/runtime.d.ts +38 -3
- package/dist/runtime.js +97 -44
- package/dist/runtime.js.map +1 -1
- package/dist/runtime.mjs +31 -8
- package/dist/runtime.mjs.map +1 -1
- package/dist/scanner.d.mts +58 -4
- package/dist/scanner.d.ts +58 -4
- package/dist/scanner.js +163 -120
- package/dist/scanner.js.map +1 -1
- package/dist/scanner.mjs +67 -39
- package/dist/scanner.mjs.map +1 -1
- package/dist/shared.d.mts +185 -3
- package/dist/shared.d.ts +185 -3
- package/dist/shared.js +441 -295
- package/dist/shared.js.map +1 -1
- package/dist/shared.mjs +253 -122
- package/dist/shared.mjs.map +1 -1
- package/dist/storybook-addon.d.mts +2 -2
- package/dist/storybook-addon.d.ts +2 -2
- package/dist/storybook-addon.js +39 -10
- package/dist/storybook-addon.js.map +1 -1
- package/dist/storybook-addon.mjs +8 -3
- package/dist/storybook-addon.mjs.map +1 -1
- package/dist/svelte.d.mts +2 -1
- package/dist/svelte.d.ts +2 -1
- package/dist/svelte.js +88 -64
- package/dist/svelte.js.map +1 -1
- package/dist/svelte.mjs +28 -13
- package/dist/svelte.mjs.map +1 -1
- package/dist/syntax.js +68 -37
- package/dist/syntax.js.map +1 -1
- package/dist/syntax.mjs +8 -7
- package/dist/syntax.mjs.map +1 -1
- package/dist/testing.js +55 -18
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs +16 -3
- package/dist/testing.mjs.map +1 -1
- package/dist/theme.d.mts +38 -3
- package/dist/theme.d.ts +38 -3
- package/dist/theme.js +131 -74
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +42 -13
- package/dist/theme.mjs.map +1 -1
- package/dist/turbopackLoader.js +150 -116
- package/dist/turbopackLoader.js.map +1 -1
- package/dist/turbopackLoader.mjs +124 -81
- package/dist/turbopackLoader.mjs.map +1 -1
- package/dist/tw.js +560 -421
- package/dist/tw.js.map +1 -1
- package/dist/tw.mjs +460 -302
- package/dist/tw.mjs.map +1 -1
- package/dist/vite.js +561 -446
- package/dist/vite.js.map +1 -1
- package/dist/vite.mjs +433 -321
- package/dist/vite.mjs.map +1 -1
- package/dist/vue.d.mts +4 -1
- package/dist/vue.d.ts +4 -1
- package/dist/vue.js +95 -70
- package/dist/vue.js.map +1 -1
- package/dist/vue.mjs +30 -14
- package/dist/vue.mjs.map +1 -1
- package/dist/webpackLoader.js +110 -78
- package/dist/webpackLoader.js.map +1 -1
- package/dist/webpackLoader.mjs +45 -17
- package/dist/webpackLoader.mjs.map +1 -1
- package/native/tailwind-styled-native.linux-x64-gnu.node +0 -0
- package/native/tailwind-styled-native.node +0 -0
- package/package.json +3 -1
- package/dist/analyzeWorkspace-B1_XRfdl.d.ts +0 -134
- package/dist/analyzeWorkspace-hYfu4Hg3.d.mts +0 -134
- package/dist/index-DQI6O24n.d.mts +0 -464
- package/dist/index-NDINUhLN.d.mts +0 -90
- package/dist/index-NDINUhLN.d.ts +0 -90
- package/dist/index-UkYbyBkR.d.ts +0 -464
- package/dist/liveTokenEngine-CN9ian1R.d.ts +0 -38
- package/dist/liveTokenEngine-DKoWRtqH.d.mts +0 -38
- package/dist/schemas-DR-SLxZZ.d.mts +0 -59
- package/dist/schemas-DR-SLxZZ.d.ts +0 -59
- package/dist/trace-Dz4vmZdy.d.mts +0 -96
- package/dist/trace-Dz4vmZdy.d.ts +0 -96
- package/dist/types-DXr2PmGP.d.mts +0 -31
- package/dist/types-DXr2PmGP.d.ts +0 -31
package/dist/dashboard.js
CHANGED
|
@@ -1,39 +1,68 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var events$1 = require('events');
|
|
4
|
-
var zod = require('zod');
|
|
5
|
-
|
|
6
1
|
/* tailwind-styled-v4 v5.0.4 | MIT | https://github.com/dictionar32/tailwind-styled-v4 */
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
7
20
|
|
|
21
|
+
// src/umbrella/dashboard.ts
|
|
22
|
+
var dashboard_exports = {};
|
|
23
|
+
__export(dashboard_exports, {
|
|
24
|
+
currentMetrics: () => currentMetrics,
|
|
25
|
+
events: () => events,
|
|
26
|
+
getMetricsSummary: () => getMetricsSummary,
|
|
27
|
+
history: () => history,
|
|
28
|
+
normalizeMetrics: () => normalizeMetrics,
|
|
29
|
+
resetHistory: () => resetHistory,
|
|
30
|
+
updateMetrics: () => updateMetrics
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(dashboard_exports);
|
|
33
|
+
|
|
34
|
+
// packages/infrastructure/dashboard/src/state.ts
|
|
35
|
+
var import_node_events = require("events");
|
|
36
|
+
var import_zod = require("zod");
|
|
8
37
|
var MAX_HISTORY = 100;
|
|
9
|
-
var MemoryMetricsSchema =
|
|
10
|
-
rss:
|
|
11
|
-
heapUsed:
|
|
12
|
-
heapTotal:
|
|
38
|
+
var MemoryMetricsSchema = import_zod.z.object({
|
|
39
|
+
rss: import_zod.z.number().nonnegative().optional(),
|
|
40
|
+
heapUsed: import_zod.z.number().nonnegative().optional(),
|
|
41
|
+
heapTotal: import_zod.z.number().nonnegative().optional()
|
|
13
42
|
}).passthrough();
|
|
14
|
-
var DashboardMetricsSchema =
|
|
15
|
-
generatedAt:
|
|
16
|
-
buildMs:
|
|
17
|
-
scanMs:
|
|
18
|
-
analyzeMs:
|
|
19
|
-
compileMs:
|
|
43
|
+
var DashboardMetricsSchema = import_zod.z.object({
|
|
44
|
+
generatedAt: import_zod.z.string().min(1).default(() => (/* @__PURE__ */ new Date()).toISOString()),
|
|
45
|
+
buildMs: import_zod.z.number().nonnegative().nullable().default(null),
|
|
46
|
+
scanMs: import_zod.z.number().nonnegative().nullable().default(null),
|
|
47
|
+
analyzeMs: import_zod.z.number().nonnegative().nullable().default(null),
|
|
48
|
+
compileMs: import_zod.z.number().nonnegative().nullable().default(null),
|
|
20
49
|
memoryMb: MemoryMetricsSchema.nullable().default(null),
|
|
21
|
-
classCount:
|
|
22
|
-
fileCount:
|
|
23
|
-
cssBytes:
|
|
24
|
-
packageCount:
|
|
25
|
-
mode:
|
|
26
|
-
error:
|
|
27
|
-
lastEventType:
|
|
28
|
-
eventsReceived:
|
|
29
|
-
eventsProcessed:
|
|
30
|
-
batchesProcessed:
|
|
31
|
-
incrementalUpdates:
|
|
32
|
-
fullRescans:
|
|
33
|
-
skippedLargeFiles:
|
|
34
|
-
queueMaxSize:
|
|
35
|
-
lastBuildMs:
|
|
36
|
-
avgBuildMs:
|
|
50
|
+
classCount: import_zod.z.number().int().nonnegative().nullable().default(null),
|
|
51
|
+
fileCount: import_zod.z.number().int().nonnegative().nullable().default(null),
|
|
52
|
+
cssBytes: import_zod.z.number().int().nonnegative().nullable().default(null),
|
|
53
|
+
packageCount: import_zod.z.number().int().nonnegative().nullable().default(null),
|
|
54
|
+
mode: import_zod.z.enum(["idle", "jit", "build", "watch", "error"]).nullable().default("idle"),
|
|
55
|
+
error: import_zod.z.string().optional(),
|
|
56
|
+
lastEventType: import_zod.z.string().optional(),
|
|
57
|
+
eventsReceived: import_zod.z.number().int().nonnegative().optional(),
|
|
58
|
+
eventsProcessed: import_zod.z.number().int().nonnegative().optional(),
|
|
59
|
+
batchesProcessed: import_zod.z.number().int().nonnegative().optional(),
|
|
60
|
+
incrementalUpdates: import_zod.z.number().int().nonnegative().optional(),
|
|
61
|
+
fullRescans: import_zod.z.number().int().nonnegative().optional(),
|
|
62
|
+
skippedLargeFiles: import_zod.z.number().int().nonnegative().optional(),
|
|
63
|
+
queueMaxSize: import_zod.z.number().int().nonnegative().optional(),
|
|
64
|
+
lastBuildMs: import_zod.z.number().nonnegative().optional(),
|
|
65
|
+
avgBuildMs: import_zod.z.number().nonnegative().optional()
|
|
37
66
|
}).passthrough();
|
|
38
67
|
function createDefaultMetrics() {
|
|
39
68
|
return DashboardMetricsSchema.parse({});
|
|
@@ -43,7 +72,7 @@ function formatIssues(error) {
|
|
|
43
72
|
}
|
|
44
73
|
var currentMetrics = createDefaultMetrics();
|
|
45
74
|
var history = [];
|
|
46
|
-
var events = new
|
|
75
|
+
var events = new import_node_events.EventEmitter();
|
|
47
76
|
function normalizeMetrics(data) {
|
|
48
77
|
const parsed = DashboardMetricsSchema.safeParse({
|
|
49
78
|
...currentMetrics,
|
|
@@ -129,13 +158,14 @@ function getMetricsSummary() {
|
|
|
129
158
|
}
|
|
130
159
|
};
|
|
131
160
|
}
|
|
132
|
-
|
|
133
|
-
exports
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
161
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
162
|
+
0 && (module.exports = {
|
|
163
|
+
currentMetrics,
|
|
164
|
+
events,
|
|
165
|
+
getMetricsSummary,
|
|
166
|
+
history,
|
|
167
|
+
normalizeMetrics,
|
|
168
|
+
resetHistory,
|
|
169
|
+
updateMetrics
|
|
170
|
+
});
|
|
141
171
|
//# sourceMappingURL=dashboard.js.map
|
package/dist/dashboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../packages/infrastructure/dashboard/src/state.ts"],"names":["z","EventEmitter"],"mappings":"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","file":"dashboard.js","sourcesContent":["import { EventEmitter } from \"node:events\"\n\nimport { z } from \"zod\"\n\nconst MAX_HISTORY = 100\n\nconst MemoryMetricsSchema = z\n .object({\n rss: z.number().nonnegative().optional(),\n heapUsed: z.number().nonnegative().optional(),\n heapTotal: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nconst DashboardMetricsSchema = z\n .object({\n generatedAt: z.string().min(1).default(() => new Date().toISOString()),\n buildMs: z.number().nonnegative().nullable().default(null),\n scanMs: z.number().nonnegative().nullable().default(null),\n analyzeMs: z.number().nonnegative().nullable().default(null),\n compileMs: z.number().nonnegative().nullable().default(null),\n memoryMb: MemoryMetricsSchema.nullable().default(null),\n classCount: z.number().int().nonnegative().nullable().default(null),\n fileCount: z.number().int().nonnegative().nullable().default(null),\n cssBytes: z.number().int().nonnegative().nullable().default(null),\n packageCount: z.number().int().nonnegative().nullable().default(null),\n mode: z.enum([\"idle\", \"jit\", \"build\", \"watch\", \"error\"]).nullable().default(\"idle\"),\n error: z.string().optional(),\n lastEventType: z.string().optional(),\n eventsReceived: z.number().int().nonnegative().optional(),\n eventsProcessed: z.number().int().nonnegative().optional(),\n batchesProcessed: z.number().int().nonnegative().optional(),\n incrementalUpdates: z.number().int().nonnegative().optional(),\n fullRescans: z.number().int().nonnegative().optional(),\n skippedLargeFiles: z.number().int().nonnegative().optional(),\n queueMaxSize: z.number().int().nonnegative().optional(),\n lastBuildMs: z.number().nonnegative().optional(),\n avgBuildMs: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nfunction createDefaultMetrics() {\n return DashboardMetricsSchema.parse({})\n}\n\nfunction formatIssues(error: import('zod').ZodError) {\n return error.issues.map((issue: import('zod').ZodIssue) => `${issue.path.join(\".\") || \"<root>\"}: ${issue.message}`).join(\"; \")\n}\n\nexport const currentMetrics = createDefaultMetrics()\nexport const history: ReturnType<typeof createDefaultMetrics>[] = []\nexport const events = new EventEmitter()\n\nexport function normalizeMetrics(data: Record<string, unknown>) {\n const parsed = DashboardMetricsSchema.safeParse({\n ...currentMetrics,\n ...data,\n })\n\n if (parsed.success) {\n return parsed.data\n }\n\n return {\n ...createDefaultMetrics(),\n generatedAt: new Date().toISOString(),\n mode: \"error\",\n error: formatIssues(parsed.error),\n }\n}\n\nexport function updateMetrics(data: Record<string, unknown>) {\n const next = normalizeMetrics(data)\n Object.assign(currentMetrics, next as object, { generatedAt: new Date().toISOString() })\n history.push({ ...currentMetrics } as typeof currentMetrics)\n if (history.length > MAX_HISTORY) history.shift()\n events.emit(\"update\", currentMetrics)\n return currentMetrics\n}\n\nexport function resetHistory() {\n history.length = 0\n events.emit(\"reset\")\n}\n\nexport function getMetricsSummary() {\n const issues = []\n\n if (currentMetrics.error) {\n issues.push({\n severity: \"error\",\n message: currentMetrics.error,\n })\n }\n\n if ((currentMetrics.buildMs ?? 0) > 2000) {\n issues.push({\n severity: \"warning\",\n message: `Build duration is elevated at ${currentMetrics.buildMs}ms.`,\n })\n }\n\n if ((currentMetrics.scanMs ?? 0) > 1000) {\n issues.push({\n severity: \"warning\",\n message: `Scan duration is elevated at ${currentMetrics.scanMs}ms.`,\n })\n }\n\n if ((currentMetrics.memoryMb?.heapUsed ?? 0) > 500) {\n issues.push({\n severity: \"warning\",\n message: `Heap usage is elevated at ${currentMetrics.memoryMb?.heapUsed}MB.`,\n })\n }\n\n const status =\n currentMetrics.mode === \"error\" || issues.some((issue) => issue.severity === \"error\")\n ? \"unhealthy\"\n : issues.some((issue) => issue.severity === \"warning\")\n ? \"degraded\"\n : \"healthy\"\n\n return {\n workspace: {\n totalPackages: currentMetrics.packageCount ?? 0,\n totalFiles: currentMetrics.fileCount ?? 0,\n totalClasses: currentMetrics.classCount ?? 0,\n lastScanDurationMs: currentMetrics.scanMs ?? 0,\n lastBuildDurationMs: currentMetrics.buildMs ?? 0,\n },\n cache: {\n hitRate:\n (currentMetrics.eventsReceived ?? 0) > 0\n ? Math.max(\n 0,\n Math.min(\n 1,\n (currentMetrics.eventsProcessed ?? 0) / Math.max(currentMetrics.eventsReceived ?? 1, 1)\n )\n )\n : 0,\n totalEntries: history.length,\n memoryUsageMb: currentMetrics.memoryMb?.heapUsed ?? 0,\n },\n pipeline: {\n scanDurationMs: currentMetrics.scanMs ?? 0,\n analyzeDurationMs: currentMetrics.analyzeMs ?? 0,\n compileDurationMs: currentMetrics.compileMs ?? 0,\n totalDurationMs:\n (currentMetrics.scanMs ?? 0) +\n (currentMetrics.analyzeMs ?? 0) +\n (currentMetrics.compileMs ?? 0),\n },\n health: {\n status,\n issues,\n },\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/umbrella/dashboard.ts","../packages/infrastructure/dashboard/src/state.ts"],"sourcesContent":["export * from \"@tailwind-styled/dashboard\"\n","import { EventEmitter } from \"node:events\"\n\nimport { z } from \"zod\"\n\nconst MAX_HISTORY = 100\n\nconst MemoryMetricsSchema = z\n .object({\n rss: z.number().nonnegative().optional(),\n heapUsed: z.number().nonnegative().optional(),\n heapTotal: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nconst DashboardMetricsSchema = z\n .object({\n generatedAt: z.string().min(1).default(() => new Date().toISOString()),\n buildMs: z.number().nonnegative().nullable().default(null),\n scanMs: z.number().nonnegative().nullable().default(null),\n analyzeMs: z.number().nonnegative().nullable().default(null),\n compileMs: z.number().nonnegative().nullable().default(null),\n memoryMb: MemoryMetricsSchema.nullable().default(null),\n classCount: z.number().int().nonnegative().nullable().default(null),\n fileCount: z.number().int().nonnegative().nullable().default(null),\n cssBytes: z.number().int().nonnegative().nullable().default(null),\n packageCount: z.number().int().nonnegative().nullable().default(null),\n mode: z.enum([\"idle\", \"jit\", \"build\", \"watch\", \"error\"]).nullable().default(\"idle\"),\n error: z.string().optional(),\n lastEventType: z.string().optional(),\n eventsReceived: z.number().int().nonnegative().optional(),\n eventsProcessed: z.number().int().nonnegative().optional(),\n batchesProcessed: z.number().int().nonnegative().optional(),\n incrementalUpdates: z.number().int().nonnegative().optional(),\n fullRescans: z.number().int().nonnegative().optional(),\n skippedLargeFiles: z.number().int().nonnegative().optional(),\n queueMaxSize: z.number().int().nonnegative().optional(),\n lastBuildMs: z.number().nonnegative().optional(),\n avgBuildMs: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nfunction createDefaultMetrics() {\n return DashboardMetricsSchema.parse({})\n}\n\nfunction formatIssues(error: import('zod').ZodError) {\n return error.issues.map((issue: import('zod').ZodIssue) => `${issue.path.join(\".\") || \"<root>\"}: ${issue.message}`).join(\"; \")\n}\n\nexport const currentMetrics = createDefaultMetrics()\nexport const history: ReturnType<typeof createDefaultMetrics>[] = []\nexport const events = new EventEmitter()\n\nexport function normalizeMetrics(data: Record<string, unknown>) {\n const parsed = DashboardMetricsSchema.safeParse({\n ...currentMetrics,\n ...data,\n })\n\n if (parsed.success) {\n return parsed.data\n }\n\n return {\n ...createDefaultMetrics(),\n generatedAt: new Date().toISOString(),\n mode: \"error\",\n error: formatIssues(parsed.error),\n }\n}\n\nexport function updateMetrics(data: Record<string, unknown>) {\n const next = normalizeMetrics(data)\n Object.assign(currentMetrics, next as object, { generatedAt: new Date().toISOString() })\n history.push({ ...currentMetrics } as typeof currentMetrics)\n if (history.length > MAX_HISTORY) history.shift()\n events.emit(\"update\", currentMetrics)\n return currentMetrics\n}\n\nexport function resetHistory() {\n history.length = 0\n events.emit(\"reset\")\n}\n\nexport function getMetricsSummary() {\n const issues = []\n\n if (currentMetrics.error) {\n issues.push({\n severity: \"error\",\n message: currentMetrics.error,\n })\n }\n\n if ((currentMetrics.buildMs ?? 0) > 2000) {\n issues.push({\n severity: \"warning\",\n message: `Build duration is elevated at ${currentMetrics.buildMs}ms.`,\n })\n }\n\n if ((currentMetrics.scanMs ?? 0) > 1000) {\n issues.push({\n severity: \"warning\",\n message: `Scan duration is elevated at ${currentMetrics.scanMs}ms.`,\n })\n }\n\n if ((currentMetrics.memoryMb?.heapUsed ?? 0) > 500) {\n issues.push({\n severity: \"warning\",\n message: `Heap usage is elevated at ${currentMetrics.memoryMb?.heapUsed}MB.`,\n })\n }\n\n const status =\n currentMetrics.mode === \"error\" || issues.some((issue) => issue.severity === \"error\")\n ? \"unhealthy\"\n : issues.some((issue) => issue.severity === \"warning\")\n ? \"degraded\"\n : \"healthy\"\n\n return {\n workspace: {\n totalPackages: currentMetrics.packageCount ?? 0,\n totalFiles: currentMetrics.fileCount ?? 0,\n totalClasses: currentMetrics.classCount ?? 0,\n lastScanDurationMs: currentMetrics.scanMs ?? 0,\n lastBuildDurationMs: currentMetrics.buildMs ?? 0,\n },\n cache: {\n hitRate:\n (currentMetrics.eventsReceived ?? 0) > 0\n ? Math.max(\n 0,\n Math.min(\n 1,\n (currentMetrics.eventsProcessed ?? 0) / Math.max(currentMetrics.eventsReceived ?? 1, 1)\n )\n )\n : 0,\n totalEntries: history.length,\n memoryUsageMb: currentMetrics.memoryMb?.heapUsed ?? 0,\n },\n pipeline: {\n scanDurationMs: currentMetrics.scanMs ?? 0,\n analyzeDurationMs: currentMetrics.analyzeMs ?? 0,\n compileDurationMs: currentMetrics.compileMs ?? 0,\n totalDurationMs:\n (currentMetrics.scanMs ?? 0) +\n (currentMetrics.analyzeMs ?? 0) +\n (currentMetrics.compileMs ?? 0),\n },\n health: {\n status,\n issues,\n },\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/dashboard.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
|
|
4
1
|
/* tailwind-styled-v4 v5.0.4 | MIT | https://github.com/dictionar32/tailwind-styled-v4 */
|
|
5
2
|
|
|
3
|
+
// packages/infrastructure/dashboard/src/state.ts
|
|
4
|
+
import { EventEmitter } from "events";
|
|
5
|
+
import { z } from "zod";
|
|
6
6
|
var MAX_HISTORY = 100;
|
|
7
7
|
var MemoryMetricsSchema = z.object({
|
|
8
8
|
rss: z.number().nonnegative().optional(),
|
|
@@ -127,7 +127,13 @@ function getMetricsSummary() {
|
|
|
127
127
|
}
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
export {
|
|
131
|
+
currentMetrics,
|
|
132
|
+
events,
|
|
133
|
+
getMetricsSummary,
|
|
134
|
+
history,
|
|
135
|
+
normalizeMetrics,
|
|
136
|
+
resetHistory,
|
|
137
|
+
updateMetrics
|
|
138
|
+
};
|
|
133
139
|
//# sourceMappingURL=dashboard.mjs.map
|
package/dist/dashboard.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../packages/infrastructure/dashboard/src/state.ts"],"names":[],"mappings":"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","file":"dashboard.mjs","sourcesContent":["import { EventEmitter } from \"node:events\"\n\nimport { z } from \"zod\"\n\nconst MAX_HISTORY = 100\n\nconst MemoryMetricsSchema = z\n .object({\n rss: z.number().nonnegative().optional(),\n heapUsed: z.number().nonnegative().optional(),\n heapTotal: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nconst DashboardMetricsSchema = z\n .object({\n generatedAt: z.string().min(1).default(() => new Date().toISOString()),\n buildMs: z.number().nonnegative().nullable().default(null),\n scanMs: z.number().nonnegative().nullable().default(null),\n analyzeMs: z.number().nonnegative().nullable().default(null),\n compileMs: z.number().nonnegative().nullable().default(null),\n memoryMb: MemoryMetricsSchema.nullable().default(null),\n classCount: z.number().int().nonnegative().nullable().default(null),\n fileCount: z.number().int().nonnegative().nullable().default(null),\n cssBytes: z.number().int().nonnegative().nullable().default(null),\n packageCount: z.number().int().nonnegative().nullable().default(null),\n mode: z.enum([\"idle\", \"jit\", \"build\", \"watch\", \"error\"]).nullable().default(\"idle\"),\n error: z.string().optional(),\n lastEventType: z.string().optional(),\n eventsReceived: z.number().int().nonnegative().optional(),\n eventsProcessed: z.number().int().nonnegative().optional(),\n batchesProcessed: z.number().int().nonnegative().optional(),\n incrementalUpdates: z.number().int().nonnegative().optional(),\n fullRescans: z.number().int().nonnegative().optional(),\n skippedLargeFiles: z.number().int().nonnegative().optional(),\n queueMaxSize: z.number().int().nonnegative().optional(),\n lastBuildMs: z.number().nonnegative().optional(),\n avgBuildMs: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nfunction createDefaultMetrics() {\n return DashboardMetricsSchema.parse({})\n}\n\nfunction formatIssues(error: import('zod').ZodError) {\n return error.issues.map((issue: import('zod').ZodIssue) => `${issue.path.join(\".\") || \"<root>\"}: ${issue.message}`).join(\"; \")\n}\n\nexport const currentMetrics = createDefaultMetrics()\nexport const history: ReturnType<typeof createDefaultMetrics>[] = []\nexport const events = new EventEmitter()\n\nexport function normalizeMetrics(data: Record<string, unknown>) {\n const parsed = DashboardMetricsSchema.safeParse({\n ...currentMetrics,\n ...data,\n })\n\n if (parsed.success) {\n return parsed.data\n }\n\n return {\n ...createDefaultMetrics(),\n generatedAt: new Date().toISOString(),\n mode: \"error\",\n error: formatIssues(parsed.error),\n }\n}\n\nexport function updateMetrics(data: Record<string, unknown>) {\n const next = normalizeMetrics(data)\n Object.assign(currentMetrics, next as object, { generatedAt: new Date().toISOString() })\n history.push({ ...currentMetrics } as typeof currentMetrics)\n if (history.length > MAX_HISTORY) history.shift()\n events.emit(\"update\", currentMetrics)\n return currentMetrics\n}\n\nexport function resetHistory() {\n history.length = 0\n events.emit(\"reset\")\n}\n\nexport function getMetricsSummary() {\n const issues = []\n\n if (currentMetrics.error) {\n issues.push({\n severity: \"error\",\n message: currentMetrics.error,\n })\n }\n\n if ((currentMetrics.buildMs ?? 0) > 2000) {\n issues.push({\n severity: \"warning\",\n message: `Build duration is elevated at ${currentMetrics.buildMs}ms.`,\n })\n }\n\n if ((currentMetrics.scanMs ?? 0) > 1000) {\n issues.push({\n severity: \"warning\",\n message: `Scan duration is elevated at ${currentMetrics.scanMs}ms.`,\n })\n }\n\n if ((currentMetrics.memoryMb?.heapUsed ?? 0) > 500) {\n issues.push({\n severity: \"warning\",\n message: `Heap usage is elevated at ${currentMetrics.memoryMb?.heapUsed}MB.`,\n })\n }\n\n const status =\n currentMetrics.mode === \"error\" || issues.some((issue) => issue.severity === \"error\")\n ? \"unhealthy\"\n : issues.some((issue) => issue.severity === \"warning\")\n ? \"degraded\"\n : \"healthy\"\n\n return {\n workspace: {\n totalPackages: currentMetrics.packageCount ?? 0,\n totalFiles: currentMetrics.fileCount ?? 0,\n totalClasses: currentMetrics.classCount ?? 0,\n lastScanDurationMs: currentMetrics.scanMs ?? 0,\n lastBuildDurationMs: currentMetrics.buildMs ?? 0,\n },\n cache: {\n hitRate:\n (currentMetrics.eventsReceived ?? 0) > 0\n ? Math.max(\n 0,\n Math.min(\n 1,\n (currentMetrics.eventsProcessed ?? 0) / Math.max(currentMetrics.eventsReceived ?? 1, 1)\n )\n )\n : 0,\n totalEntries: history.length,\n memoryUsageMb: currentMetrics.memoryMb?.heapUsed ?? 0,\n },\n pipeline: {\n scanDurationMs: currentMetrics.scanMs ?? 0,\n analyzeDurationMs: currentMetrics.analyzeMs ?? 0,\n compileDurationMs: currentMetrics.compileMs ?? 0,\n totalDurationMs:\n (currentMetrics.scanMs ?? 0) +\n (currentMetrics.analyzeMs ?? 0) +\n (currentMetrics.compileMs ?? 0),\n },\n health: {\n status,\n issues,\n },\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../packages/infrastructure/dashboard/src/state.ts"],"sourcesContent":["import { EventEmitter } from \"node:events\"\n\nimport { z } from \"zod\"\n\nconst MAX_HISTORY = 100\n\nconst MemoryMetricsSchema = z\n .object({\n rss: z.number().nonnegative().optional(),\n heapUsed: z.number().nonnegative().optional(),\n heapTotal: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nconst DashboardMetricsSchema = z\n .object({\n generatedAt: z.string().min(1).default(() => new Date().toISOString()),\n buildMs: z.number().nonnegative().nullable().default(null),\n scanMs: z.number().nonnegative().nullable().default(null),\n analyzeMs: z.number().nonnegative().nullable().default(null),\n compileMs: z.number().nonnegative().nullable().default(null),\n memoryMb: MemoryMetricsSchema.nullable().default(null),\n classCount: z.number().int().nonnegative().nullable().default(null),\n fileCount: z.number().int().nonnegative().nullable().default(null),\n cssBytes: z.number().int().nonnegative().nullable().default(null),\n packageCount: z.number().int().nonnegative().nullable().default(null),\n mode: z.enum([\"idle\", \"jit\", \"build\", \"watch\", \"error\"]).nullable().default(\"idle\"),\n error: z.string().optional(),\n lastEventType: z.string().optional(),\n eventsReceived: z.number().int().nonnegative().optional(),\n eventsProcessed: z.number().int().nonnegative().optional(),\n batchesProcessed: z.number().int().nonnegative().optional(),\n incrementalUpdates: z.number().int().nonnegative().optional(),\n fullRescans: z.number().int().nonnegative().optional(),\n skippedLargeFiles: z.number().int().nonnegative().optional(),\n queueMaxSize: z.number().int().nonnegative().optional(),\n lastBuildMs: z.number().nonnegative().optional(),\n avgBuildMs: z.number().nonnegative().optional(),\n })\n .passthrough()\n\nfunction createDefaultMetrics() {\n return DashboardMetricsSchema.parse({})\n}\n\nfunction formatIssues(error: import('zod').ZodError) {\n return error.issues.map((issue: import('zod').ZodIssue) => `${issue.path.join(\".\") || \"<root>\"}: ${issue.message}`).join(\"; \")\n}\n\nexport const currentMetrics = createDefaultMetrics()\nexport const history: ReturnType<typeof createDefaultMetrics>[] = []\nexport const events = new EventEmitter()\n\nexport function normalizeMetrics(data: Record<string, unknown>) {\n const parsed = DashboardMetricsSchema.safeParse({\n ...currentMetrics,\n ...data,\n })\n\n if (parsed.success) {\n return parsed.data\n }\n\n return {\n ...createDefaultMetrics(),\n generatedAt: new Date().toISOString(),\n mode: \"error\",\n error: formatIssues(parsed.error),\n }\n}\n\nexport function updateMetrics(data: Record<string, unknown>) {\n const next = normalizeMetrics(data)\n Object.assign(currentMetrics, next as object, { generatedAt: new Date().toISOString() })\n history.push({ ...currentMetrics } as typeof currentMetrics)\n if (history.length > MAX_HISTORY) history.shift()\n events.emit(\"update\", currentMetrics)\n return currentMetrics\n}\n\nexport function resetHistory() {\n history.length = 0\n events.emit(\"reset\")\n}\n\nexport function getMetricsSummary() {\n const issues = []\n\n if (currentMetrics.error) {\n issues.push({\n severity: \"error\",\n message: currentMetrics.error,\n })\n }\n\n if ((currentMetrics.buildMs ?? 0) > 2000) {\n issues.push({\n severity: \"warning\",\n message: `Build duration is elevated at ${currentMetrics.buildMs}ms.`,\n })\n }\n\n if ((currentMetrics.scanMs ?? 0) > 1000) {\n issues.push({\n severity: \"warning\",\n message: `Scan duration is elevated at ${currentMetrics.scanMs}ms.`,\n })\n }\n\n if ((currentMetrics.memoryMb?.heapUsed ?? 0) > 500) {\n issues.push({\n severity: \"warning\",\n message: `Heap usage is elevated at ${currentMetrics.memoryMb?.heapUsed}MB.`,\n })\n }\n\n const status =\n currentMetrics.mode === \"error\" || issues.some((issue) => issue.severity === \"error\")\n ? \"unhealthy\"\n : issues.some((issue) => issue.severity === \"warning\")\n ? \"degraded\"\n : \"healthy\"\n\n return {\n workspace: {\n totalPackages: currentMetrics.packageCount ?? 0,\n totalFiles: currentMetrics.fileCount ?? 0,\n totalClasses: currentMetrics.classCount ?? 0,\n lastScanDurationMs: currentMetrics.scanMs ?? 0,\n lastBuildDurationMs: currentMetrics.buildMs ?? 0,\n },\n cache: {\n hitRate:\n (currentMetrics.eventsReceived ?? 0) > 0\n ? Math.max(\n 0,\n Math.min(\n 1,\n (currentMetrics.eventsProcessed ?? 0) / Math.max(currentMetrics.eventsReceived ?? 1, 1)\n )\n )\n : 0,\n totalEntries: history.length,\n memoryUsageMb: currentMetrics.memoryMb?.heapUsed ?? 0,\n },\n pipeline: {\n scanDurationMs: currentMetrics.scanMs ?? 0,\n analyzeDurationMs: currentMetrics.analyzeMs ?? 0,\n compileDurationMs: currentMetrics.compileMs ?? 0,\n totalDurationMs:\n (currentMetrics.scanMs ?? 0) +\n (currentMetrics.analyzeMs ?? 0) +\n (currentMetrics.compileMs ?? 0),\n },\n health: {\n status,\n issues,\n },\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/devtools.d.mts
CHANGED
|
@@ -1,5 +1,91 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shared trace utilities for CLI, devtools, and dashboard
|
|
5
|
+
*
|
|
6
|
+
* Provides reusable trace snapshot handling, formatting, and analysis
|
|
7
|
+
* across the tailwind-styled-v4 ecosystem without introducing coupling.
|
|
8
|
+
*/
|
|
9
|
+
interface TraceSnapshot {
|
|
10
|
+
generatedAt: string;
|
|
11
|
+
buildMs: number | null;
|
|
12
|
+
scanMs: number | null;
|
|
13
|
+
analyzeMs: number | null;
|
|
14
|
+
compileMs: number | null;
|
|
15
|
+
memoryMb: {
|
|
16
|
+
rss: number;
|
|
17
|
+
heapUsed: number;
|
|
18
|
+
heapTotal: number;
|
|
19
|
+
} | null;
|
|
20
|
+
classCount: number | null;
|
|
21
|
+
fileCount: number | null;
|
|
22
|
+
cssBytes: number | null;
|
|
23
|
+
mode: string | null;
|
|
24
|
+
eventsReceived?: number;
|
|
25
|
+
eventsProcessed?: number;
|
|
26
|
+
batchesProcessed?: number;
|
|
27
|
+
incrementalUpdates?: number;
|
|
28
|
+
fullRescans?: number;
|
|
29
|
+
}
|
|
30
|
+
interface TraceSummary {
|
|
31
|
+
workspace: {
|
|
32
|
+
totalPackages: number;
|
|
33
|
+
totalFiles: number;
|
|
34
|
+
totalClasses: number;
|
|
35
|
+
lastScanDurationMs: number;
|
|
36
|
+
lastBuildDurationMs: number;
|
|
37
|
+
};
|
|
38
|
+
cache: {
|
|
39
|
+
hitRate: number;
|
|
40
|
+
totalEntries: number;
|
|
41
|
+
memoryUsageMb: number;
|
|
42
|
+
};
|
|
43
|
+
pipeline: {
|
|
44
|
+
scanDurationMs: number;
|
|
45
|
+
analyzeDurationMs: number;
|
|
46
|
+
compileDurationMs: number;
|
|
47
|
+
totalDurationMs: number;
|
|
48
|
+
};
|
|
49
|
+
health: {
|
|
50
|
+
status: "healthy" | "degraded" | "unhealthy";
|
|
51
|
+
issues: Array<{
|
|
52
|
+
severity: string;
|
|
53
|
+
message: string;
|
|
54
|
+
}>;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get health status color for UI rendering
|
|
59
|
+
*/
|
|
60
|
+
declare function getHealthColor(status?: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Get mode color for UI rendering
|
|
63
|
+
*/
|
|
64
|
+
declare function getModeColor(mode?: string | null): string;
|
|
65
|
+
/**
|
|
66
|
+
* Format memory in human-readable format
|
|
67
|
+
*/
|
|
68
|
+
declare function formatMemory(bytes: number): string;
|
|
69
|
+
/**
|
|
70
|
+
* Format duration in human-readable format
|
|
71
|
+
*/
|
|
72
|
+
declare function formatDuration(ms: number | null): string;
|
|
73
|
+
/**
|
|
74
|
+
* Get color for build time indicator
|
|
75
|
+
*/
|
|
76
|
+
declare function getBuildTimeColor(ms: number | null): string;
|
|
77
|
+
/**
|
|
78
|
+
* Get color for memory usage indicator
|
|
79
|
+
*/
|
|
80
|
+
declare function getMemoryColor(mb: number): string;
|
|
81
|
+
/**
|
|
82
|
+
* Calculate pipeline time distribution
|
|
83
|
+
*/
|
|
84
|
+
declare function getPipelinePercentages(metrics: TraceSnapshot): {
|
|
85
|
+
scanPct: number;
|
|
86
|
+
analyzePct: number;
|
|
87
|
+
compilePct: number;
|
|
88
|
+
};
|
|
3
89
|
|
|
4
90
|
/**
|
|
5
91
|
* Class Inspector — reusable surface inspection untuk DevTools.
|
|
@@ -67,4 +153,4 @@ declare function formatClassInspectionJson(result: ClassInspectResult): string;
|
|
|
67
153
|
declare function TwDevTools(): React.ReactElement | null;
|
|
68
154
|
declare function DevToolsProvider(): React.ReactElement | null;
|
|
69
155
|
|
|
70
|
-
export { type ClassInspectResult, DevToolsProvider, type InspectorFetchOptions, TwDevTools, fetchClassInspection, formatClassInspectionCli, formatClassInspectionJson };
|
|
156
|
+
export { type ClassInspectResult, DevToolsProvider, type InspectorFetchOptions, type TraceSnapshot, type TraceSummary, TwDevTools, fetchClassInspection, formatClassInspectionCli, formatClassInspectionJson, formatDuration, formatMemory, getBuildTimeColor, getHealthColor, getMemoryColor, getModeColor, getPipelinePercentages };
|
package/dist/devtools.d.ts
CHANGED
|
@@ -1,5 +1,91 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shared trace utilities for CLI, devtools, and dashboard
|
|
5
|
+
*
|
|
6
|
+
* Provides reusable trace snapshot handling, formatting, and analysis
|
|
7
|
+
* across the tailwind-styled-v4 ecosystem without introducing coupling.
|
|
8
|
+
*/
|
|
9
|
+
interface TraceSnapshot {
|
|
10
|
+
generatedAt: string;
|
|
11
|
+
buildMs: number | null;
|
|
12
|
+
scanMs: number | null;
|
|
13
|
+
analyzeMs: number | null;
|
|
14
|
+
compileMs: number | null;
|
|
15
|
+
memoryMb: {
|
|
16
|
+
rss: number;
|
|
17
|
+
heapUsed: number;
|
|
18
|
+
heapTotal: number;
|
|
19
|
+
} | null;
|
|
20
|
+
classCount: number | null;
|
|
21
|
+
fileCount: number | null;
|
|
22
|
+
cssBytes: number | null;
|
|
23
|
+
mode: string | null;
|
|
24
|
+
eventsReceived?: number;
|
|
25
|
+
eventsProcessed?: number;
|
|
26
|
+
batchesProcessed?: number;
|
|
27
|
+
incrementalUpdates?: number;
|
|
28
|
+
fullRescans?: number;
|
|
29
|
+
}
|
|
30
|
+
interface TraceSummary {
|
|
31
|
+
workspace: {
|
|
32
|
+
totalPackages: number;
|
|
33
|
+
totalFiles: number;
|
|
34
|
+
totalClasses: number;
|
|
35
|
+
lastScanDurationMs: number;
|
|
36
|
+
lastBuildDurationMs: number;
|
|
37
|
+
};
|
|
38
|
+
cache: {
|
|
39
|
+
hitRate: number;
|
|
40
|
+
totalEntries: number;
|
|
41
|
+
memoryUsageMb: number;
|
|
42
|
+
};
|
|
43
|
+
pipeline: {
|
|
44
|
+
scanDurationMs: number;
|
|
45
|
+
analyzeDurationMs: number;
|
|
46
|
+
compileDurationMs: number;
|
|
47
|
+
totalDurationMs: number;
|
|
48
|
+
};
|
|
49
|
+
health: {
|
|
50
|
+
status: "healthy" | "degraded" | "unhealthy";
|
|
51
|
+
issues: Array<{
|
|
52
|
+
severity: string;
|
|
53
|
+
message: string;
|
|
54
|
+
}>;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get health status color for UI rendering
|
|
59
|
+
*/
|
|
60
|
+
declare function getHealthColor(status?: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Get mode color for UI rendering
|
|
63
|
+
*/
|
|
64
|
+
declare function getModeColor(mode?: string | null): string;
|
|
65
|
+
/**
|
|
66
|
+
* Format memory in human-readable format
|
|
67
|
+
*/
|
|
68
|
+
declare function formatMemory(bytes: number): string;
|
|
69
|
+
/**
|
|
70
|
+
* Format duration in human-readable format
|
|
71
|
+
*/
|
|
72
|
+
declare function formatDuration(ms: number | null): string;
|
|
73
|
+
/**
|
|
74
|
+
* Get color for build time indicator
|
|
75
|
+
*/
|
|
76
|
+
declare function getBuildTimeColor(ms: number | null): string;
|
|
77
|
+
/**
|
|
78
|
+
* Get color for memory usage indicator
|
|
79
|
+
*/
|
|
80
|
+
declare function getMemoryColor(mb: number): string;
|
|
81
|
+
/**
|
|
82
|
+
* Calculate pipeline time distribution
|
|
83
|
+
*/
|
|
84
|
+
declare function getPipelinePercentages(metrics: TraceSnapshot): {
|
|
85
|
+
scanPct: number;
|
|
86
|
+
analyzePct: number;
|
|
87
|
+
compilePct: number;
|
|
88
|
+
};
|
|
3
89
|
|
|
4
90
|
/**
|
|
5
91
|
* Class Inspector — reusable surface inspection untuk DevTools.
|
|
@@ -67,4 +153,4 @@ declare function formatClassInspectionJson(result: ClassInspectResult): string;
|
|
|
67
153
|
declare function TwDevTools(): React.ReactElement | null;
|
|
68
154
|
declare function DevToolsProvider(): React.ReactElement | null;
|
|
69
155
|
|
|
70
|
-
export { type ClassInspectResult, DevToolsProvider, type InspectorFetchOptions, TwDevTools, fetchClassInspection, formatClassInspectionCli, formatClassInspectionJson };
|
|
156
|
+
export { type ClassInspectResult, DevToolsProvider, type InspectorFetchOptions, type TraceSnapshot, type TraceSummary, TwDevTools, fetchClassInspection, formatClassInspectionCli, formatClassInspectionJson, formatDuration, formatMemory, getBuildTimeColor, getHealthColor, getMemoryColor, getModeColor, getPipelinePercentages };
|