@datarails-ai/dr-appspace-cli 0.12.5 → 0.12.7
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/cli.js +21 -7
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -13,7 +13,7 @@ import { fileURLToPath as fileURLToPath6 } from "url";
|
|
|
13
13
|
// package.json
|
|
14
14
|
var package_default = {
|
|
15
15
|
name: "@datarails-ai/dr-appspace-cli",
|
|
16
|
-
version: "0.12.
|
|
16
|
+
version: "0.12.7",
|
|
17
17
|
description: "Datarails App Space CLI \u2014 build, try, push and publish App Space apps",
|
|
18
18
|
type: "module",
|
|
19
19
|
engines: {
|
|
@@ -57,7 +57,7 @@ var package_default = {
|
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
// src/buildInfo.ts
|
|
60
|
-
var BUILD_TIME = "2026-10-
|
|
60
|
+
var BUILD_TIME = "2026-10-13T11:28:57.721Z";
|
|
61
61
|
function formatBuildTime(iso) {
|
|
62
62
|
if (iso === "") return "";
|
|
63
63
|
const d = new Date(iso);
|
|
@@ -17277,7 +17277,7 @@ var contract_schema_default = {
|
|
|
17277
17277
|
module: { type: "string", description: "dr-widgets, dr-insights, dr-fmt, echarts, ui-kit" },
|
|
17278
17278
|
version: { type: "string", description: "1.1.1 for a vendor module, v3 for the ui-kit" },
|
|
17279
17279
|
file: { type: "string" },
|
|
17280
|
-
path: { type: "string", description: "the platform-root path, e.g. vendor/dr-widgets@1.
|
|
17280
|
+
path: { type: "string", description: "the platform-root path, e.g. vendor/dr-widgets@1.2.1/widgets.js" },
|
|
17281
17281
|
rel: { enum: ["script", "stylesheet"] },
|
|
17282
17282
|
pages: { type: "array", items: { type: "string" } },
|
|
17283
17283
|
order: { type: "integer", minimum: 0, description: "load order: where this module is first reached across the bundle" }
|
|
@@ -18885,7 +18885,7 @@ function checkDrillTargets(doc, problems) {
|
|
|
18885
18885
|
const row = raw;
|
|
18886
18886
|
if (row["data"] !== void 0 && row["data"] !== null) continue;
|
|
18887
18887
|
const drill = list2(row["drill"]).filter((name) => typeof name === "string");
|
|
18888
|
-
if (drill.length === 0) continue;
|
|
18888
|
+
if (drill.length === 0 || !menuless(row)) continue;
|
|
18889
18889
|
const offered = new Set(drill.map((name) => name.toLowerCase()));
|
|
18890
18890
|
const listed = JSON.stringify(drill);
|
|
18891
18891
|
if (row["kind"] === "breakdown") {
|
|
@@ -18895,7 +18895,7 @@ function checkDrillTargets(doc, problems) {
|
|
|
18895
18895
|
problems.push({
|
|
18896
18896
|
code: "drill-needs-dimension",
|
|
18897
18897
|
pointer: pointer("data", "widgets", id, "drill"),
|
|
18898
|
-
message: `this breakdown is cut by ${JSON.stringify(dimension)} and its drill list ${listed} does not name it, so no legend row answers a click \u2014 the card looks drillable and is not.`,
|
|
18898
|
+
message: `this breakdown gets no point menu, so a click on it is the drill itself; it is cut by ${JSON.stringify(dimension)} and its drill list ${listed} does not name it, so no legend row answers a click \u2014 the card looks drillable and is not.`,
|
|
18899
18899
|
fix: `Put ${JSON.stringify(dimension)} first in drill \u2014 ${JSON.stringify([dimension, ...drill])}: the clicked slice is a value of the card's own dimension, and the levels after it are where the grid goes next.`
|
|
18900
18900
|
});
|
|
18901
18901
|
continue;
|
|
@@ -18907,11 +18907,25 @@ function checkDrillTargets(doc, problems) {
|
|
|
18907
18907
|
problems.push({
|
|
18908
18908
|
code: "drill-needs-dimension",
|
|
18909
18909
|
pointer: pointer("data", "widgets", id, "drill"),
|
|
18910
|
-
message: `this table
|
|
18910
|
+
message: `this table gets no point menu, so a click on it is the drill itself; its drill list ${listed} names none of its columns (${keys2.map((key) => JSON.stringify(key)).join(", ")}), and a cell drills only when its column key is in drill \u2014 so no cell answers a click.`,
|
|
18911
18911
|
fix: `Add the column a reader clicks to drill \u2014 e.g. ${JSON.stringify([keys2[0], ...drill])} \u2014 naming the grid's own dimension column first.`
|
|
18912
18912
|
});
|
|
18913
18913
|
}
|
|
18914
18914
|
}
|
|
18915
|
+
function menuless(row) {
|
|
18916
|
+
if (row["compute"] || row["transform"] !== void 0 && row["transform"] !== null) return true;
|
|
18917
|
+
const source = row["source"];
|
|
18918
|
+
if (!isObject4(source) || "app_table" in source || "call" in source) return true;
|
|
18919
|
+
if ("metric_id" in source) return Boolean(source["drill_rows"]) && typeof row["value_field"] !== "string";
|
|
18920
|
+
if (!addressesTable(source)) return true;
|
|
18921
|
+
const measures = list2(source["measures"]).length > 0 ? list2(source["measures"]) : source["measure"] ? [source["measure"]] : [];
|
|
18922
|
+
const fields = measures.map((one) => obj(one)["field"]);
|
|
18923
|
+
const named12 = typeof row["value_field"] === "string" && fields.includes(row["value_field"]);
|
|
18924
|
+
return !(named12 || fields.length === 1);
|
|
18925
|
+
}
|
|
18926
|
+
function addressesTable(source) {
|
|
18927
|
+
return source["address"] === "id" || source["address"] === "alias" || Boolean(source["table_alias"]) || source["table_id"] !== void 0 && source["table_id"] !== null;
|
|
18928
|
+
}
|
|
18915
18929
|
function checkAggOrAccountType(doc, warnings) {
|
|
18916
18930
|
const widgets = obj(obj(doc["data"])["widgets"]);
|
|
18917
18931
|
const declared = (value) => typeof value === "string" && value.trim() !== "";
|
|
@@ -27122,7 +27136,7 @@ var kit_default = {
|
|
|
27122
27136
|
fmt: "dr-fmt@1.0.0",
|
|
27123
27137
|
markdown: "dr-md@1.0.0",
|
|
27124
27138
|
uiKit: "ui-kit/v3",
|
|
27125
|
-
widgets: "dr-widgets@1.1
|
|
27139
|
+
widgets: "dr-widgets@1.2.1"
|
|
27126
27140
|
};
|
|
27127
27141
|
|
|
27128
27142
|
// ../flows/appspace-builder/kit/kit.json
|