@objectstack/cli 8.0.1 → 9.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Build-time dashboard widget binding diagnostics (issues #1719, #1721).
3
+ *
4
+ * Runs at `objectstack validate`/`compile`/`build` AFTER the stack has been
5
+ * schema-parsed, so every widget's `dataset` reference can be linked to its
6
+ * `defineDataset` and each entry in `dimensions`/`values` resolved to a
7
+ * declared dimension/measure. This is the semantic/cross-reference phase —
8
+ * the rules here cannot run during plain Zod parsing of the raw widget
9
+ * literal (the dataset may even live in another package of the stack).
10
+ *
11
+ * Reference-integrity rules (#1721) — severity `error`, the page is broken:
12
+ *
13
+ * - `widget-dataset-unknown` — `dataset` does not resolve to a declared
14
+ * `Dataset`.
15
+ * - `widget-dimension-unknown` — a `dimensions[]` entry is not a dimension
16
+ * name on the bound dataset.
17
+ * - `widget-measure-unknown` — a `values[]` entry is not a measure name on
18
+ * the bound dataset.
19
+ * - `chart-field-unknown` — a `chartConfig` binding names a field the query
20
+ * result will not contain: `xAxis.field` must be one of the widget's
21
+ * dimensions (or a dataset dimension), and each `yAxis[].field` /
22
+ * `series[].name` must be one of the widget's selected measures
23
+ * (`values`). Post-cutover (ADR-0021) the result rows are keyed by
24
+ * measure NAME (e.g. `sum_amount`), not the base column (`amount`) — a
25
+ * stale base-column reference renders the axis but an empty series.
26
+ *
27
+ * Advisory rules — severity `warning`, build stays green:
28
+ *
29
+ * - `chart-config-missing` — a chart-type widget (bar/line/pie/…) has no
30
+ * `chartConfig`, so the renderer cannot tell which measure to plot.
31
+ * - `table-count-only` (#1719) — a `table`/`pivot` widget whose selected
32
+ * measures are ALL `aggregate: 'count'` and which declares no
33
+ * `dimensions` asks the analytics service for a single summary row. That
34
+ * is the shape a `metric` widget wants — for a table it almost always
35
+ * means the author wanted a per-record listing, which is not an
36
+ * analytics dataset at all (model it as an object-bound ListView,
37
+ * ADR-0017). Evaluated on the WIDGET's binding, not the dataset.
38
+ *
39
+ * Warnings can be deliberately suppressed per widget via
40
+ * `suppressWarnings: ['<rule-id>']`; errors cannot — they describe a
41
+ * binding the analytics service cannot satisfy.
42
+ */
43
+ export declare const WIDGET_DATASET_UNKNOWN = "widget-dataset-unknown";
44
+ export declare const WIDGET_DIMENSION_UNKNOWN = "widget-dimension-unknown";
45
+ export declare const WIDGET_MEASURE_UNKNOWN = "widget-measure-unknown";
46
+ export declare const CHART_FIELD_UNKNOWN = "chart-field-unknown";
47
+ export declare const CHART_CONFIG_MISSING = "chart-config-missing";
48
+ export declare const TABLE_COUNT_ONLY = "table-count-only";
49
+ export type WidgetBindingSeverity = 'error' | 'warning';
50
+ export interface WidgetBindingFinding {
51
+ /** `error` = unresolvable binding (broken page); `warning` = advisory. */
52
+ severity: WidgetBindingSeverity;
53
+ /** Diagnostic rule id (registry entry), e.g. `widget-measure-unknown`. */
54
+ rule: string;
55
+ /** Human-readable location, e.g. `dashboard "x" › widget "y"`. */
56
+ where: string;
57
+ /** Config path, e.g. `dashboards[0].widgets[3]`. */
58
+ path: string;
59
+ /** What is wrong. */
60
+ message: string;
61
+ /** How to fix (or deliberately suppress) it. */
62
+ hint: string;
63
+ }
64
+ type AnyRec = Record<string, unknown>;
65
+ /**
66
+ * Validate every dashboard widget's dataset binding. Returns the list of
67
+ * findings (empty = clean). Caller decides how to surface them: `error`
68
+ * findings describe bindings the analytics service cannot satisfy and
69
+ * should fail validate/build; `warning` findings are advisory and must
70
+ * never fail the build on their own.
71
+ */
72
+ export declare function validateWidgetBindings(stack: AnyRec): WidgetBindingFinding[];
73
+ export {};
74
+ //# sourceMappingURL=validate-widget-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-widget-bindings.d.ts","sourceRoot":"","sources":["../../src/utils/validate-widget-bindings.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,QAAQ,EAAE,qBAAqB,CAAC;IAChC,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6EtC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA2L5E"}
@@ -0,0 +1,304 @@
1
+ // Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license.
2
+ /**
3
+ * Build-time dashboard widget binding diagnostics (issues #1719, #1721).
4
+ *
5
+ * Runs at `objectstack validate`/`compile`/`build` AFTER the stack has been
6
+ * schema-parsed, so every widget's `dataset` reference can be linked to its
7
+ * `defineDataset` and each entry in `dimensions`/`values` resolved to a
8
+ * declared dimension/measure. This is the semantic/cross-reference phase —
9
+ * the rules here cannot run during plain Zod parsing of the raw widget
10
+ * literal (the dataset may even live in another package of the stack).
11
+ *
12
+ * Reference-integrity rules (#1721) — severity `error`, the page is broken:
13
+ *
14
+ * - `widget-dataset-unknown` — `dataset` does not resolve to a declared
15
+ * `Dataset`.
16
+ * - `widget-dimension-unknown` — a `dimensions[]` entry is not a dimension
17
+ * name on the bound dataset.
18
+ * - `widget-measure-unknown` — a `values[]` entry is not a measure name on
19
+ * the bound dataset.
20
+ * - `chart-field-unknown` — a `chartConfig` binding names a field the query
21
+ * result will not contain: `xAxis.field` must be one of the widget's
22
+ * dimensions (or a dataset dimension), and each `yAxis[].field` /
23
+ * `series[].name` must be one of the widget's selected measures
24
+ * (`values`). Post-cutover (ADR-0021) the result rows are keyed by
25
+ * measure NAME (e.g. `sum_amount`), not the base column (`amount`) — a
26
+ * stale base-column reference renders the axis but an empty series.
27
+ *
28
+ * Advisory rules — severity `warning`, build stays green:
29
+ *
30
+ * - `chart-config-missing` — a chart-type widget (bar/line/pie/…) has no
31
+ * `chartConfig`, so the renderer cannot tell which measure to plot.
32
+ * - `table-count-only` (#1719) — a `table`/`pivot` widget whose selected
33
+ * measures are ALL `aggregate: 'count'` and which declares no
34
+ * `dimensions` asks the analytics service for a single summary row. That
35
+ * is the shape a `metric` widget wants — for a table it almost always
36
+ * means the author wanted a per-record listing, which is not an
37
+ * analytics dataset at all (model it as an object-bound ListView,
38
+ * ADR-0017). Evaluated on the WIDGET's binding, not the dataset.
39
+ *
40
+ * Warnings can be deliberately suppressed per widget via
41
+ * `suppressWarnings: ['<rule-id>']`; errors cannot — they describe a
42
+ * binding the analytics service cannot satisfy.
43
+ */
44
+ export const WIDGET_DATASET_UNKNOWN = 'widget-dataset-unknown';
45
+ export const WIDGET_DIMENSION_UNKNOWN = 'widget-dimension-unknown';
46
+ export const WIDGET_MEASURE_UNKNOWN = 'widget-measure-unknown';
47
+ export const CHART_FIELD_UNKNOWN = 'chart-field-unknown';
48
+ export const CHART_CONFIG_MISSING = 'chart-config-missing';
49
+ export const TABLE_COUNT_ONLY = 'table-count-only';
50
+ /** Coerce a collection (array or name-keyed map) to an array. */
51
+ function asArray(v) {
52
+ if (Array.isArray(v))
53
+ return v;
54
+ if (v && typeof v === 'object') {
55
+ return Object.entries(v).map(([name, def]) => ({ name, ...def }));
56
+ }
57
+ return [];
58
+ }
59
+ function asStrings(v) {
60
+ return Array.isArray(v) ? v.filter((s) => typeof s === 'string') : [];
61
+ }
62
+ /**
63
+ * Chart families whose renderer needs a `chartConfig` measure mapping.
64
+ * Single-value types (metric/kpi/gauge/…) plot their lone value and tabular
65
+ * types (table/pivot) render every column, so they are exempt.
66
+ */
67
+ const CHART_TYPES = new Set([
68
+ 'bar', 'horizontal-bar', 'column',
69
+ 'line', 'area',
70
+ 'pie', 'donut', 'funnel',
71
+ 'scatter', 'treemap', 'sankey', 'radar',
72
+ ]);
73
+ function levenshtein(a, b) {
74
+ const m = a.length, n = b.length;
75
+ let prev = Array.from({ length: n + 1 }, (_, j) => j);
76
+ for (let i = 1; i <= m; i++) {
77
+ const cur = [i];
78
+ for (let j = 1; j <= n; j++) {
79
+ cur[j] = Math.min(prev[j] + 1, cur[j - 1] + 1, prev[j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1));
80
+ }
81
+ prev = cur;
82
+ }
83
+ return prev[n];
84
+ }
85
+ /**
86
+ * Nearest declared name for a typo'd/stale reference, or undefined when
87
+ * nothing is close. Containment is checked first because the cutover's
88
+ * canonical drift is base column → prefixed measure name (`amount` →
89
+ * `sum_amount`), which is far in edit distance but obvious to a human.
90
+ */
91
+ function didYouMean(input, candidates) {
92
+ let best;
93
+ let bestScore = Infinity;
94
+ for (const c of candidates) {
95
+ let score;
96
+ if (input.length >= 3 && (c.includes(input) || input.includes(c))) {
97
+ score = Math.abs(c.length - input.length);
98
+ }
99
+ else {
100
+ const d = levenshtein(input, c);
101
+ if (d > Math.max(2, Math.floor(input.length / 3)))
102
+ continue;
103
+ score = 100 + d;
104
+ }
105
+ if (score < bestScore) {
106
+ bestScore = score;
107
+ best = c;
108
+ }
109
+ }
110
+ return best;
111
+ }
112
+ function suggest(input, candidates) {
113
+ const s = didYouMean(input, candidates);
114
+ return s ? ` Did you mean "${s}"?` : '';
115
+ }
116
+ function list(names) {
117
+ const arr = [...names];
118
+ return arr.length > 0 ? arr.join(', ') : '(none)';
119
+ }
120
+ /**
121
+ * Validate every dashboard widget's dataset binding. Returns the list of
122
+ * findings (empty = clean). Caller decides how to surface them: `error`
123
+ * findings describe bindings the analytics service cannot satisfy and
124
+ * should fail validate/build; `warning` findings are advisory and must
125
+ * never fail the build on their own.
126
+ */
127
+ export function validateWidgetBindings(stack) {
128
+ const findings = [];
129
+ const datasets = new Map();
130
+ for (const ds of asArray(stack.datasets)) {
131
+ if (typeof ds.name === 'string')
132
+ datasets.set(ds.name, ds);
133
+ }
134
+ const dashboards = asArray(stack.dashboards);
135
+ for (let i = 0; i < dashboards.length; i++) {
136
+ const dash = dashboards[i];
137
+ const dashName = typeof dash.name === 'string' ? dash.name : `(dashboard ${i})`;
138
+ const widgets = Array.isArray(dash.widgets) ? dash.widgets : [];
139
+ for (let j = 0; j < widgets.length; j++) {
140
+ const w = widgets[j];
141
+ const widgetId = typeof w.id === 'string' ? w.id : `(widget ${j})`;
142
+ const where = `dashboard "${dashName}" › widget "${widgetId}"`;
143
+ const path = `dashboards[${i}].widgets[${j}]`;
144
+ const suppressed = (rule) => Array.isArray(w.suppressWarnings) && w.suppressWarnings.includes(rule);
145
+ const push = (f) => {
146
+ if (f.severity === 'warning' && suppressed(f.rule))
147
+ return;
148
+ findings.push({ ...f, where, path });
149
+ };
150
+ // ── (a) dataset reference resolves ──
151
+ const dsName = typeof w.dataset === 'string' ? w.dataset : undefined;
152
+ const dataset = dsName ? datasets.get(dsName) : undefined;
153
+ if (dsName && !dataset) {
154
+ push({
155
+ severity: 'error',
156
+ rule: WIDGET_DATASET_UNKNOWN,
157
+ message: `dataset "${dsName}" does not resolve to a declared dataset.`,
158
+ hint: `Declared datasets: ${list(datasets.keys())}.${suggest(dsName, datasets.keys())} ` +
159
+ `Define the dataset with defineDataset() or fix the reference (ADR-0021).`,
160
+ });
161
+ }
162
+ // Without a resolved dataset there is nothing to check names against.
163
+ if (!dataset)
164
+ continue;
165
+ const dimensionNames = new Set();
166
+ for (const d of asArray(dataset.dimensions)) {
167
+ if (typeof d.name === 'string')
168
+ dimensionNames.add(d.name);
169
+ }
170
+ const measures = new Map();
171
+ for (const m of asArray(dataset.measures)) {
172
+ if (typeof m.name === 'string')
173
+ measures.set(m.name, m);
174
+ }
175
+ // ── (b) every dimensions[] entry is a dataset dimension ──
176
+ const dims = asStrings(w.dimensions);
177
+ for (let k = 0; k < dims.length; k++) {
178
+ if (dimensionNames.has(dims[k]))
179
+ continue;
180
+ push({
181
+ severity: 'error',
182
+ rule: WIDGET_DIMENSION_UNKNOWN,
183
+ message: `dimensions[${k}] "${dims[k]}" is not a dimension of dataset ` +
184
+ `"${dsName}" (declared dimensions: ${list(dimensionNames)}).`,
185
+ hint: `Widgets select dataset dimensions BY NAME.${suggest(dims[k], dimensionNames)} ` +
186
+ `Add the dimension to the dataset or fix the reference.`,
187
+ });
188
+ }
189
+ // ── (c) every values[] entry is a dataset measure ──
190
+ const values = asStrings(w.values);
191
+ for (let k = 0; k < values.length; k++) {
192
+ if (measures.has(values[k]))
193
+ continue;
194
+ push({
195
+ severity: 'error',
196
+ rule: WIDGET_MEASURE_UNKNOWN,
197
+ message: `values[${k}] "${values[k]}" is not a measure of dataset ` +
198
+ `"${dsName}" (declared measures: ${list(measures.keys())}).`,
199
+ hint: `Widgets select dataset measures BY NAME, not by base column.` +
200
+ `${suggest(values[k], measures.keys())} ` +
201
+ `Add the measure to the dataset or fix the reference.`,
202
+ });
203
+ }
204
+ // ── (d) chartConfig bindings resolve against the widget's selection ──
205
+ const chartConfig = (w.chartConfig && typeof w.chartConfig === 'object')
206
+ ? w.chartConfig
207
+ : undefined;
208
+ const isChartType = typeof w.type === 'string' && CHART_TYPES.has(w.type);
209
+ if (chartConfig) {
210
+ // The query result carries the widget's selected dimensions and
211
+ // measures; resolve every chartConfig field against that shape.
212
+ const selectedValues = new Set(values.filter((v) => measures.has(v)));
213
+ const xAxis = (chartConfig.xAxis && typeof chartConfig.xAxis === 'object')
214
+ ? chartConfig.xAxis
215
+ : undefined;
216
+ // A field naming an entry of the widget's own (already-validated)
217
+ // selection is not re-reported here — rules (b)/(c) own that error.
218
+ if (xAxis && typeof xAxis.field === 'string'
219
+ && !dimensionNames.has(xAxis.field) && !dims.includes(xAxis.field)) {
220
+ push({
221
+ severity: 'error',
222
+ rule: CHART_FIELD_UNKNOWN,
223
+ message: `chartConfig.xAxis.field "${xAxis.field}" does not resolve to a ` +
224
+ `dimension of dataset "${dsName}" (declared dimensions: ${list(dimensionNames)}).`,
225
+ hint: `Point xAxis.field at a dataset dimension name.${suggest(xAxis.field, dimensionNames)}`,
226
+ });
227
+ }
228
+ const measureField = (label, field) => {
229
+ if (values.includes(field))
230
+ return; // resolvable, or already errored via rule (c)
231
+ const declaredButUnselected = measures.has(field);
232
+ push({
233
+ severity: 'error',
234
+ rule: CHART_FIELD_UNKNOWN,
235
+ message: declaredButUnselected
236
+ ? `chartConfig.${label} "${field}" is a measure of dataset "${dsName}" ` +
237
+ `but is not selected in the widget's values (${list(values)}), so the ` +
238
+ `query result will not contain it.`
239
+ : `chartConfig.${label} "${field}" does not resolve to a measure of ` +
240
+ `dataset "${dsName}" (declared measures: ${list(measures.keys())}).`,
241
+ hint: declaredButUnselected
242
+ ? `Add "${field}" to the widget's values, or bind the chart to a selected measure.`
243
+ : `Post-cutover data is keyed by the dataset's measure NAME, not the ` +
244
+ `base column.${suggest(field, selectedValues.size > 0 ? selectedValues : measures.keys())}`,
245
+ });
246
+ };
247
+ const yAxes = Array.isArray(chartConfig.yAxis) ? chartConfig.yAxis : [];
248
+ for (let k = 0; k < yAxes.length; k++) {
249
+ const field = yAxes[k]?.field;
250
+ if (typeof field === 'string')
251
+ measureField(`yAxis[${k}].field`, field);
252
+ }
253
+ const series = Array.isArray(chartConfig.series) ? chartConfig.series : [];
254
+ for (let k = 0; k < series.length; k++) {
255
+ const name = series[k]?.name;
256
+ if (typeof name === 'string')
257
+ measureField(`series[${k}].name`, name);
258
+ }
259
+ }
260
+ else if (isChartType) {
261
+ push({
262
+ severity: 'warning',
263
+ rule: CHART_CONFIG_MISSING,
264
+ message: `chart-type widget ('${w.type}') has no chartConfig — the renderer ` +
265
+ `cannot determine which measure to plot, so the series renders empty.`,
266
+ hint: `Add chartConfig with xAxis.field set to a dimension (${list(dims)}) and ` +
267
+ `yAxis[].field set to a measure name (${list(values)}). If the default ` +
268
+ `rendering is intentional, suppress with: suppressWarnings: ['${CHART_CONFIG_MISSING}']`,
269
+ });
270
+ }
271
+ // ── (e) table/pivot bound to a count-only, dimensionless selection ──
272
+ if (w.type !== 'table' && w.type !== 'pivot')
273
+ continue;
274
+ // Grouped by at least one dimension → genuinely aggregated rows.
275
+ if (dims.length > 0)
276
+ continue;
277
+ if (values.length === 0)
278
+ continue;
279
+ const resolved = values.map((v) => measures.get(v));
280
+ // An unresolvable measure name already errored above — don't guess here.
281
+ if (resolved.some((m) => !m))
282
+ continue;
283
+ // Derived measures combine other measures; treat them as non-count even
284
+ // when their (ignored) `aggregate` says otherwise.
285
+ const countOnly = resolved.every((m) => m.aggregate === 'count' && !m.derived);
286
+ if (!countOnly)
287
+ continue;
288
+ push({
289
+ severity: 'warning',
290
+ rule: TABLE_COUNT_ONLY,
291
+ message: `a '${w.type}' widget bound to dataset "${dsName}" selects only count ` +
292
+ `measure(s) (${values.join(', ')}) and no dimensions, so it renders a ` +
293
+ `single summary row — not a per-record list.`,
294
+ hint: `A flat record listing is not an analytics dataset. Model it as an ` +
295
+ `object-bound ListView (ADR-0017) surfaced through app navigation, and ` +
296
+ `use a 'metric' widget here if you only need the count. If a single-row ` +
297
+ `table is intentional, add an explicit dimension or suppress with: ` +
298
+ `suppressWarnings: ['${TABLE_COUNT_ONLY}']`,
299
+ });
300
+ }
301
+ }
302
+ return findings;
303
+ }
304
+ //# sourceMappingURL=validate-widget-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-widget-bindings.js","sourceRoot":"","sources":["../../src/utils/validate-widget-bindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validate-widget-bindings.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-widget-bindings.test.d.ts","sourceRoot":"","sources":["../../src/utils/validate-widget-bindings.test.ts"],"names":[],"mappings":""}