@platforma-sdk/block-tools 2.12.5 → 2.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 +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +195 -195
- package/dist/cli.mjs.map +1 -1
- package/package.json +7 -7
- package/src/cmd/software/run-build.test.ts +20 -5
- package/src/cmd/software/run-build.ts +6 -2
package/dist/cli.mjs
CHANGED
|
@@ -721,117 +721,117 @@ function U(e) {
|
|
|
721
721
|
function W(e) {
|
|
722
722
|
for (let [t, n] of Object.entries(e)) H(t, n);
|
|
723
723
|
}
|
|
724
|
-
function
|
|
724
|
+
function jt(e) {
|
|
725
725
|
for (let [t, n] of Object.entries(e)) At(t, n);
|
|
726
726
|
}
|
|
727
|
-
function
|
|
727
|
+
function Mt(e, t, n) {
|
|
728
728
|
let r = xt(F(e), e);
|
|
729
729
|
for (let i of r.modules) i.scope === t && Ot(e, i.name, "workspace:*", n);
|
|
730
730
|
}
|
|
731
|
-
function Mt(e) {
|
|
732
|
-
jt("ensureWorkspaceScopeDeps", e, "dependencies");
|
|
733
|
-
}
|
|
734
731
|
function Nt(e) {
|
|
735
|
-
|
|
732
|
+
Mt("ensureWorkspaceScopeDeps", e, "dependencies");
|
|
736
733
|
}
|
|
737
734
|
function Pt(e) {
|
|
735
|
+
Mt("ensureWorkspaceScopeDevDeps", e, "devDependencies");
|
|
736
|
+
}
|
|
737
|
+
function Ft(e) {
|
|
738
738
|
let t = F("pruneKeysMatching").obj;
|
|
739
739
|
for (let n of Object.keys(t)) e(n, t[n]) && delete t[n];
|
|
740
740
|
}
|
|
741
|
-
function
|
|
741
|
+
function It(e, t) {
|
|
742
742
|
let n = ut(e, t);
|
|
743
743
|
for (let t of Object.keys(e)) delete e[t];
|
|
744
744
|
for (let t of Object.keys(n)) e[t] = n[t];
|
|
745
745
|
}
|
|
746
|
-
function
|
|
747
|
-
|
|
746
|
+
function G(e) {
|
|
747
|
+
It(F("enforceFieldOrder").obj, e);
|
|
748
748
|
}
|
|
749
|
-
function
|
|
749
|
+
function Lt(e, t) {
|
|
750
750
|
let n = Object.keys(e).sort(), r = {};
|
|
751
751
|
for (let t of n) r[t] = e[t];
|
|
752
752
|
for (let t of Object.keys(e)) delete e[t];
|
|
753
|
-
for (let i of n) e[i] = r[i], t && L(e[i]) &&
|
|
753
|
+
for (let i of n) e[i] = r[i], t && L(e[i]) && Lt(e[i], !0);
|
|
754
754
|
}
|
|
755
|
-
function
|
|
755
|
+
function K(e = "", t = {}) {
|
|
756
756
|
let n = t.recursive ?? !1;
|
|
757
757
|
if (e === "" && !n) return;
|
|
758
758
|
let r = F("enforceAlphabeticalOrder").obj;
|
|
759
759
|
if (e === "") {
|
|
760
|
-
|
|
760
|
+
Lt(r, !0);
|
|
761
761
|
return;
|
|
762
762
|
}
|
|
763
763
|
let i = ot(r, e);
|
|
764
|
-
L(i) &&
|
|
764
|
+
L(i) && Lt(i, n);
|
|
765
765
|
}
|
|
766
|
-
function
|
|
766
|
+
function Rt() {
|
|
767
767
|
let e = I("ensureWorkspaceModulePaths"), t = xt(e, "ensureWorkspaceModulePaths").modules.filter((e) => e.path !== "").map((e) => e.path).sort(), n = e.doc.toJSON()?.packages;
|
|
768
768
|
Array.isArray(n) && n.length === t.length && n.every((e, n) => e === t[n]) || e.doc.setIn(["packages"], t);
|
|
769
769
|
}
|
|
770
|
-
function
|
|
770
|
+
function zt(e, t) {
|
|
771
771
|
let n = e.doc.getIn(["catalog", t]);
|
|
772
772
|
return typeof n == "string" ? n : void 0;
|
|
773
773
|
}
|
|
774
|
-
function
|
|
774
|
+
function Bt(e, t) {
|
|
775
775
|
let n = I("ensureCatalogVersion");
|
|
776
|
-
|
|
776
|
+
zt(n, e) === void 0 && n.doc.setIn(["catalog", e], t);
|
|
777
777
|
}
|
|
778
|
-
function
|
|
778
|
+
function Vt(e) {
|
|
779
779
|
let t = I("ensureCatalogLatest");
|
|
780
780
|
if (!t.getLatestVersion) return;
|
|
781
781
|
let n = t.getLatestVersion(e);
|
|
782
|
-
n !== void 0 &&
|
|
782
|
+
n !== void 0 && zt(t, e) !== n && t.doc.setIn(["catalog", e], n);
|
|
783
783
|
}
|
|
784
|
-
function
|
|
784
|
+
function Ht(e, t) {
|
|
785
785
|
let n = I("pinCatalogToDependencyOf");
|
|
786
786
|
if (!n.getDerivedDependencyPin) return;
|
|
787
787
|
let r = n.getDerivedDependencyPin(e);
|
|
788
|
-
r !== void 0 &&
|
|
788
|
+
r !== void 0 && zt(n, e) !== r && n.doc.setIn(["catalog", e], r);
|
|
789
789
|
}
|
|
790
|
-
function
|
|
790
|
+
function Ut(e) {
|
|
791
791
|
let t = I("ensureCatalogAbsent");
|
|
792
792
|
t.doc.hasIn(["catalog", e]) && t.doc.deleteIn(["catalog", e]);
|
|
793
793
|
}
|
|
794
|
-
function
|
|
794
|
+
function Wt(e) {
|
|
795
795
|
let t = bt("ensureGitignoreEntries");
|
|
796
796
|
for (let n of e) ht(t.lines, n) || t.lines.push(n);
|
|
797
797
|
}
|
|
798
798
|
//#endregion
|
|
799
799
|
//#region src/structure/engine/parsers/yaml.ts
|
|
800
|
-
function
|
|
800
|
+
function Gt(e) {
|
|
801
801
|
return oe(e);
|
|
802
802
|
}
|
|
803
|
-
function
|
|
803
|
+
function Kt(e) {
|
|
804
804
|
return e.toString();
|
|
805
805
|
}
|
|
806
|
-
var
|
|
807
|
-
function
|
|
806
|
+
var qt = ".structure";
|
|
807
|
+
function Jt(e) {
|
|
808
808
|
if (!e.exists(".structure")) return { version: 0 };
|
|
809
809
|
try {
|
|
810
|
-
let t = JSON.parse(e.read(
|
|
810
|
+
let t = JSON.parse(e.read(qt));
|
|
811
811
|
return { version: typeof t?.version == "number" ? t.version : 0 };
|
|
812
812
|
} catch {
|
|
813
813
|
return { version: 0 };
|
|
814
814
|
}
|
|
815
815
|
}
|
|
816
|
-
function
|
|
817
|
-
if (e < t) throw new
|
|
816
|
+
function Yt(e, t = 0) {
|
|
817
|
+
if (e < t) throw new Xt(e, t);
|
|
818
818
|
}
|
|
819
|
-
var
|
|
819
|
+
var Xt = class extends Error {
|
|
820
820
|
constructor(e, t) {
|
|
821
821
|
super(`Block .structure version is ${e}, below floor ${t}. Bootstrap via the legacy-migration skill, then re-run.`), this.version = e, this.floor = t, this.name = "StructureVersionFloorError";
|
|
822
822
|
}
|
|
823
823
|
};
|
|
824
|
-
function
|
|
825
|
-
e.write(
|
|
824
|
+
function Zt(e, t) {
|
|
825
|
+
e.write(qt, JSON.stringify(t));
|
|
826
826
|
}
|
|
827
827
|
//#endregion
|
|
828
828
|
//#region src/structure/engine/runner.ts
|
|
829
|
-
var
|
|
829
|
+
var Qt = class extends Error {
|
|
830
830
|
constructor(e) {
|
|
831
831
|
super(`Post-run recheck: rule set not idempotent. Failing item: ${e.primitive} '${e.path}' (scope=${e.scope}, action=${e.action}). Engine bug.`), this.failing = e, this.name = "RecheckError";
|
|
832
832
|
}
|
|
833
833
|
};
|
|
834
|
-
function
|
|
834
|
+
function $t(e, t, n, r) {
|
|
835
835
|
switch (e.kind) {
|
|
836
836
|
case "text": return e.value;
|
|
837
837
|
case "file":
|
|
@@ -850,15 +850,15 @@ function Qt(e, t, n, r) {
|
|
|
850
850
|
case "binary": throw Error(`binary('${e.path}') cannot be resolved to a string; it is only valid inside seed()/scaffold(), which copy it verbatim via fs.writeBinary.`);
|
|
851
851
|
}
|
|
852
852
|
}
|
|
853
|
-
function
|
|
853
|
+
function en(e, t, n, r, i) {
|
|
854
854
|
if (n.kind === "binary") {
|
|
855
855
|
if (!r) throw Error(`binary('${n.path}'): no TemplateProvider configured. Pass opts.templates to engine.run(...).`);
|
|
856
856
|
e.writeBinary(t, r.staticReadBinary(n.path));
|
|
857
857
|
return;
|
|
858
858
|
}
|
|
859
|
-
e.write(t,
|
|
859
|
+
e.write(t, $t(n, t, r, i));
|
|
860
860
|
}
|
|
861
|
-
function
|
|
861
|
+
function tn(e, t, n, r, i, a) {
|
|
862
862
|
let o = e.split("/").pop() ?? e;
|
|
863
863
|
if (e.endsWith(".json")) {
|
|
864
864
|
let i = Qe(t);
|
|
@@ -866,12 +866,12 @@ function en(e, t, n, r, i, a) {
|
|
|
866
866
|
return St(i, n, { triggerContext: r }), it(i, { collapse: o !== "package.json" });
|
|
867
867
|
}
|
|
868
868
|
if (e.endsWith(".yaml") || e.endsWith(".yml")) {
|
|
869
|
-
let e =
|
|
869
|
+
let e = Gt(t);
|
|
870
870
|
return Ct(e, n, {
|
|
871
871
|
triggerContext: r,
|
|
872
872
|
getLatestVersion: i,
|
|
873
873
|
getDerivedDependencyPin: a
|
|
874
|
-
}),
|
|
874
|
+
}), Kt(e);
|
|
875
875
|
}
|
|
876
876
|
if (o === ".gitignore" || o.endsWith(".gitignore")) {
|
|
877
877
|
let e = dt(t);
|
|
@@ -879,7 +879,7 @@ function en(e, t, n, r, i, a) {
|
|
|
879
879
|
}
|
|
880
880
|
throw Error(`managed('${e}'): unsupported file kind. Only .json, .yaml, .yml, .gitignore are dispatched.`);
|
|
881
881
|
}
|
|
882
|
-
function
|
|
882
|
+
function nn(e) {
|
|
883
883
|
let t = e.list(""), n = /* @__PURE__ */ new Set();
|
|
884
884
|
for (let e of t) {
|
|
885
885
|
n.add(e);
|
|
@@ -888,16 +888,16 @@ function tn(e) {
|
|
|
888
888
|
}
|
|
889
889
|
return n;
|
|
890
890
|
}
|
|
891
|
-
function
|
|
891
|
+
function rn(e, t) {
|
|
892
892
|
let n = t === "" ? t : t.endsWith("/") ? t.slice(0, -1) : t;
|
|
893
893
|
return e.has(n);
|
|
894
894
|
}
|
|
895
|
-
function
|
|
895
|
+
function an(e, t, n) {
|
|
896
896
|
return {
|
|
897
897
|
ctx: t,
|
|
898
898
|
version: t.version,
|
|
899
|
-
pathExists: (t) =>
|
|
900
|
-
pathMissing: (t) => !
|
|
899
|
+
pathExists: (t) => rn(e, t),
|
|
900
|
+
pathMissing: (t) => !rn(e, t),
|
|
901
901
|
filesMatch: (t) => {
|
|
902
902
|
let r = n ? `${n}/${t}` : t;
|
|
903
903
|
for (let t of e) if (Le(r, t)) return !0;
|
|
@@ -905,20 +905,20 @@ function rn(e, t, n) {
|
|
|
905
905
|
}
|
|
906
906
|
};
|
|
907
907
|
}
|
|
908
|
-
function
|
|
908
|
+
function on(e, t) {
|
|
909
909
|
for (let n of e.triggers) if (!n(t)) return !1;
|
|
910
910
|
return !0;
|
|
911
911
|
}
|
|
912
|
-
function
|
|
912
|
+
function sn(e, t) {
|
|
913
913
|
return t ? "init" : e.updateDepsOnly ? "updateDeps" : "default";
|
|
914
914
|
}
|
|
915
|
-
function
|
|
915
|
+
function cn(e, t) {
|
|
916
916
|
return e.filter((e) => e.modes.includes(t));
|
|
917
917
|
}
|
|
918
|
-
function
|
|
918
|
+
function ln(e, t, n, r, i, a) {
|
|
919
919
|
let o = e.leaf;
|
|
920
920
|
if (o.kind === "fixed") {
|
|
921
|
-
let i =
|
|
921
|
+
let i = $t(o.content, e.resolvedPath, r, a);
|
|
922
922
|
return t.exists(e.resolvedPath) ? t.read(e.resolvedPath) === i ? void 0 : (n || t.write(e.resolvedPath, i), {
|
|
923
923
|
scope: e.scope,
|
|
924
924
|
path: e.resolvedPath,
|
|
@@ -931,13 +931,13 @@ function cn(e, t, n, r, i, a) {
|
|
|
931
931
|
action: "create"
|
|
932
932
|
});
|
|
933
933
|
}
|
|
934
|
-
if (o.kind === "scaffold") return t.exists(e.resolvedPath) ? void 0 : (n ||
|
|
934
|
+
if (o.kind === "scaffold") return t.exists(e.resolvedPath) ? void 0 : (n || en(t, e.resolvedPath, o.initial, r, a), {
|
|
935
935
|
scope: e.scope,
|
|
936
936
|
path: e.resolvedPath,
|
|
937
937
|
primitive: "scaffold",
|
|
938
938
|
action: "create"
|
|
939
939
|
});
|
|
940
|
-
if (o.kind === "seed") return !i || t.exists(e.resolvedPath) ? void 0 : (n ||
|
|
940
|
+
if (o.kind === "seed") return !i || t.exists(e.resolvedPath) ? void 0 : (n || en(t, e.resolvedPath, o.initial, r, a), {
|
|
941
941
|
scope: e.scope,
|
|
942
942
|
path: e.resolvedPath,
|
|
943
943
|
primitive: "seed",
|
|
@@ -960,11 +960,11 @@ function cn(e, t, n, r, i, a) {
|
|
|
960
960
|
});
|
|
961
961
|
}
|
|
962
962
|
}
|
|
963
|
-
function
|
|
963
|
+
function un(e, t, n, r, i, a, o, s) {
|
|
964
964
|
if (e.leaf.kind !== "managed") return;
|
|
965
965
|
let c = e.leaf, l = e.resolvedPath, u = t.exists(l), d, f = !1;
|
|
966
|
-
u ? d = t.read(l) : (d =
|
|
967
|
-
let p =
|
|
966
|
+
u ? d = t.read(l) : (d = $t(c.initial, l, i, s), f = !0);
|
|
967
|
+
let p = tn(l, d, c.body, r, a, o);
|
|
968
968
|
if (f) return n || t.write(l, p), {
|
|
969
969
|
scope: e.scope,
|
|
970
970
|
path: l,
|
|
@@ -978,40 +978,40 @@ function ln(e, t, n, r, i, a, o, s) {
|
|
|
978
978
|
action: "update"
|
|
979
979
|
};
|
|
980
980
|
}
|
|
981
|
-
function
|
|
982
|
-
let c =
|
|
981
|
+
function dn(e, t, n, r, i, a, o, s) {
|
|
982
|
+
let c = cn(e, sn(n, a)), l = [], u = nn(t);
|
|
983
983
|
for (let e of c) {
|
|
984
|
-
if (e.leaf.kind === "managed" || !
|
|
985
|
-
let o =
|
|
984
|
+
if (e.leaf.kind === "managed" || !on(e, an(u, n, e.modulePath))) continue;
|
|
985
|
+
let o = ln(e, t, r, i, a, n);
|
|
986
986
|
o && l.push(o);
|
|
987
987
|
}
|
|
988
|
-
let d =
|
|
988
|
+
let d = nn(t);
|
|
989
989
|
for (let e of c) {
|
|
990
990
|
if (e.leaf.kind !== "managed") continue;
|
|
991
|
-
let a =
|
|
992
|
-
if (!
|
|
993
|
-
let c =
|
|
991
|
+
let a = an(d, n, e.modulePath);
|
|
992
|
+
if (!on(e, a)) continue;
|
|
993
|
+
let c = un(e, t, r, a, i, o, s, n);
|
|
994
994
|
c && l.push(c);
|
|
995
995
|
}
|
|
996
996
|
return l;
|
|
997
997
|
}
|
|
998
|
-
function
|
|
998
|
+
function fn(e, t, n, r = {}) {
|
|
999
999
|
return Be(n, () => {
|
|
1000
|
-
let i = Me(e, n), a = !!r.initMode, o =
|
|
1000
|
+
let i = Me(e, n), a = !!r.initMode, o = dn(i, t, n, n.dryRun, r.templates, a, r.registryLookup, r.derivedPinLookup);
|
|
1001
1001
|
if (!n.dryRun && !n.updateDepsOnly && !a) {
|
|
1002
|
-
|
|
1002
|
+
Zt(t, { version: 2 });
|
|
1003
1003
|
let i = {
|
|
1004
1004
|
...r.rediscover ? r.rediscover(t) : n,
|
|
1005
1005
|
dryRun: !0
|
|
1006
|
-
}, a =
|
|
1007
|
-
if (a.length > 0) throw new
|
|
1006
|
+
}, a = dn(Me(e, i), t, i, !0, r.templates, !1, r.registryLookup, r.derivedPinLookup).filter((e) => e.path !== qt);
|
|
1007
|
+
if (a.length > 0) throw new Qt(a[0]);
|
|
1008
1008
|
}
|
|
1009
|
-
return a && !n.dryRun &&
|
|
1009
|
+
return a && !n.dryRun && Zt(t, { version: 2 }), { changes: o };
|
|
1010
1010
|
});
|
|
1011
1011
|
}
|
|
1012
1012
|
//#endregion
|
|
1013
1013
|
//#region src/structure/engine/discovery.ts
|
|
1014
|
-
var
|
|
1014
|
+
var pn = [
|
|
1015
1015
|
"root",
|
|
1016
1016
|
"block",
|
|
1017
1017
|
"model",
|
|
@@ -1019,12 +1019,12 @@ var fn = [
|
|
|
1019
1019
|
"workflow",
|
|
1020
1020
|
"test",
|
|
1021
1021
|
"software"
|
|
1022
|
-
],
|
|
1022
|
+
], mn = class extends Error {
|
|
1023
1023
|
constructor(e, t) {
|
|
1024
1024
|
super(e), this.path = t, this.name = "DiscoveryError";
|
|
1025
1025
|
}
|
|
1026
1026
|
};
|
|
1027
|
-
function
|
|
1027
|
+
function hn(e) {
|
|
1028
1028
|
let t = /* @__PURE__ */ new Set();
|
|
1029
1029
|
for (let n of [
|
|
1030
1030
|
e.dependencies,
|
|
@@ -1034,18 +1034,18 @@ function mn(e) {
|
|
|
1034
1034
|
]) if (n) for (let e of Object.keys(n)) t.add(e);
|
|
1035
1035
|
return t;
|
|
1036
1036
|
}
|
|
1037
|
-
function
|
|
1037
|
+
function gn(e) {
|
|
1038
1038
|
return e === "" || e === ".";
|
|
1039
1039
|
}
|
|
1040
|
-
function
|
|
1040
|
+
function _n(e) {
|
|
1041
1041
|
let t = e.pkg["block-scope"];
|
|
1042
1042
|
if (typeof t == "string") {
|
|
1043
|
-
if (!
|
|
1043
|
+
if (!pn.includes(t)) throw new mn(`package.json "block-scope" must be one of ${pn.join(", ")}, got '${t}'`, e.path);
|
|
1044
1044
|
return t;
|
|
1045
1045
|
}
|
|
1046
|
-
if (
|
|
1046
|
+
if (gn(e.path)) return "root";
|
|
1047
1047
|
if (e.pkg.block !== void 0) return "block";
|
|
1048
|
-
let n =
|
|
1048
|
+
let n = hn(e.pkg);
|
|
1049
1049
|
if (e.pkg["block-software"] !== void 0) return "software";
|
|
1050
1050
|
if (n.has("@platforma-sdk/package-builder")) {
|
|
1051
1051
|
for (let e of n) if (/^@platforma-open\/.*runenv/.test(e)) return "software";
|
|
@@ -1055,39 +1055,39 @@ function gn(e) {
|
|
|
1055
1055
|
if (n.has("@platforma-sdk/model") && e.pkg.main) return "model";
|
|
1056
1056
|
if (n.has("@platforma-sdk/test")) return "test";
|
|
1057
1057
|
}
|
|
1058
|
-
function
|
|
1058
|
+
function vn(e) {
|
|
1059
1059
|
let t = [];
|
|
1060
1060
|
for (let n of e) {
|
|
1061
|
-
let e =
|
|
1062
|
-
if (!e) throw new
|
|
1061
|
+
let e = _n(n);
|
|
1062
|
+
if (!e) throw new mn(`Unclassified workspace package at '${n.path}'. Add a top-level "block-scope" string to its package.json.`, n.path);
|
|
1063
1063
|
t.push({
|
|
1064
1064
|
scope: e,
|
|
1065
1065
|
name: n.pkg.name ?? n.path,
|
|
1066
|
-
path:
|
|
1066
|
+
path: gn(n.path) ? "" : n.path
|
|
1067
1067
|
});
|
|
1068
1068
|
}
|
|
1069
1069
|
return t;
|
|
1070
1070
|
}
|
|
1071
1071
|
//#endregion
|
|
1072
1072
|
//#region src/structure/engine/ctx.ts
|
|
1073
|
-
function
|
|
1073
|
+
function q(e, t) {
|
|
1074
1074
|
return e.modules.filter((e) => e.scope === t);
|
|
1075
1075
|
}
|
|
1076
|
-
function
|
|
1077
|
-
let n =
|
|
1076
|
+
function yn(e, t) {
|
|
1077
|
+
let n = q(e, t);
|
|
1078
1078
|
if (n.length === 0) throw Error(`findModule: expected one '${t}' module, found none`);
|
|
1079
1079
|
if (n.length > 1) throw Error(`findModule: expected exactly one '${t}' module, found ${n.length}`);
|
|
1080
1080
|
return n[0];
|
|
1081
1081
|
}
|
|
1082
|
-
function yn(e, t) {
|
|
1083
|
-
return { [vn(e, t).name]: "workspace:*" };
|
|
1084
|
-
}
|
|
1085
1082
|
function bn(e, t) {
|
|
1083
|
+
return { [yn(e, t).name]: "workspace:*" };
|
|
1084
|
+
}
|
|
1085
|
+
function xn(e, t) {
|
|
1086
1086
|
let n = {};
|
|
1087
|
-
for (let r of
|
|
1087
|
+
for (let r of q(e, t)) n[r.name] = "workspace:*";
|
|
1088
1088
|
return n;
|
|
1089
1089
|
}
|
|
1090
|
-
function
|
|
1090
|
+
function Sn(e) {
|
|
1091
1091
|
let t = e.facadeName, n = [
|
|
1092
1092
|
{
|
|
1093
1093
|
scope: "root",
|
|
@@ -1126,7 +1126,7 @@ function xn(e) {
|
|
|
1126
1126
|
path: "software"
|
|
1127
1127
|
}), n;
|
|
1128
1128
|
}
|
|
1129
|
-
function
|
|
1129
|
+
function Cn(e) {
|
|
1130
1130
|
return {
|
|
1131
1131
|
isSdkInternal: e.isSdkInternal ?? !1,
|
|
1132
1132
|
updateDepsOnly: e.updateDepsOnly ?? !1,
|
|
@@ -1138,41 +1138,41 @@ function Sn(e) {
|
|
|
1138
1138
|
}
|
|
1139
1139
|
//#endregion
|
|
1140
1140
|
//#region src/structure/engine/discovery-fs.ts
|
|
1141
|
-
var
|
|
1141
|
+
var J = class extends Error {
|
|
1142
1142
|
constructor(e) {
|
|
1143
1143
|
super(e), this.name = "StructureCliError";
|
|
1144
1144
|
}
|
|
1145
1145
|
};
|
|
1146
|
-
function
|
|
1146
|
+
function wn(e, t) {
|
|
1147
1147
|
return e === "" ? t : `${e}/${t}`;
|
|
1148
1148
|
}
|
|
1149
|
-
function
|
|
1149
|
+
function Tn(e, t) {
|
|
1150
1150
|
try {
|
|
1151
1151
|
return JSON.parse(e.read(t));
|
|
1152
1152
|
} catch {
|
|
1153
1153
|
return;
|
|
1154
1154
|
}
|
|
1155
1155
|
}
|
|
1156
|
-
function
|
|
1157
|
-
if (e.includes("*")) throw new
|
|
1156
|
+
function En(e) {
|
|
1157
|
+
if (e.includes("*")) throw new J(`pnpm-workspace.yaml 'packages:' entry '${e}' contains a glob. The structurer requires literal package paths — replace the glob with one entry per package directory.`);
|
|
1158
1158
|
let t = e.replace(/^\.\//, "").replace(/\/$/, "");
|
|
1159
1159
|
return t === "." ? "" : t;
|
|
1160
1160
|
}
|
|
1161
|
-
function
|
|
1161
|
+
function Dn(e) {
|
|
1162
1162
|
let t;
|
|
1163
1163
|
try {
|
|
1164
1164
|
t = e.read("pnpm-workspace.yaml");
|
|
1165
1165
|
} catch {
|
|
1166
|
-
throw new
|
|
1166
|
+
throw new J("No pnpm-workspace.yaml found. This directory is empty or unrecognisable as a block — run 'block-tools structure init' instead, or pass --sdk-internal for an in-monorepo block.");
|
|
1167
1167
|
}
|
|
1168
1168
|
let n = ae(t) ?? {}, r = Array.isArray(n.packages) ? n.packages : [], i = new Set([""]);
|
|
1169
1169
|
for (let t of r) {
|
|
1170
|
-
let n =
|
|
1170
|
+
let n = En(t);
|
|
1171
1171
|
(n === "" || e.exists(n)) && i.add(n);
|
|
1172
1172
|
}
|
|
1173
1173
|
let a = [];
|
|
1174
1174
|
for (let t of i) {
|
|
1175
|
-
let n =
|
|
1175
|
+
let n = Tn(e, wn(t, "package.json"));
|
|
1176
1176
|
n && a.push({
|
|
1177
1177
|
path: t,
|
|
1178
1178
|
pkg: n
|
|
@@ -1180,7 +1180,7 @@ function En(e) {
|
|
|
1180
1180
|
}
|
|
1181
1181
|
return a;
|
|
1182
1182
|
}
|
|
1183
|
-
function
|
|
1183
|
+
function On(e) {
|
|
1184
1184
|
let t = [], n = new Set([
|
|
1185
1185
|
"node_modules",
|
|
1186
1186
|
".turbo",
|
|
@@ -1192,7 +1192,7 @@ function Dn(e) {
|
|
|
1192
1192
|
let o = e.listDir(i);
|
|
1193
1193
|
for (let s of o) {
|
|
1194
1194
|
if (!s.isDirectory || n.has(s.name)) continue;
|
|
1195
|
-
let o =
|
|
1195
|
+
let o = wn(i, s.name), c = Tn(e, wn(o, "package.json"));
|
|
1196
1196
|
c && t.push({
|
|
1197
1197
|
path: o,
|
|
1198
1198
|
pkg: c
|
|
@@ -1201,11 +1201,11 @@ function Dn(e) {
|
|
|
1201
1201
|
}
|
|
1202
1202
|
return r("", 1), t;
|
|
1203
1203
|
}
|
|
1204
|
-
function
|
|
1204
|
+
function kn(e) {
|
|
1205
1205
|
let t = e.indexOf("/");
|
|
1206
|
-
if (!e.startsWith("@") || t < 0) throw new
|
|
1206
|
+
if (!e.startsWith("@") || t < 0) throw new J(`Cannot parse block name '${e}': expected '@npm-org/org-scope.short-name'.`);
|
|
1207
1207
|
let n = e.slice(0, t), r = e.slice(t + 1), i = r.indexOf(".");
|
|
1208
|
-
if (i < 0) throw new
|
|
1208
|
+
if (i < 0) throw new J(`Cannot parse block name '${e}': base name '${r}' has no '.' separating org-scope from short-name.`);
|
|
1209
1209
|
return {
|
|
1210
1210
|
facadeName: e,
|
|
1211
1211
|
baseName: r,
|
|
@@ -1214,15 +1214,15 @@ function On(e) {
|
|
|
1214
1214
|
shortName: r.slice(i + 1)
|
|
1215
1215
|
};
|
|
1216
1216
|
}
|
|
1217
|
-
function
|
|
1218
|
-
let { fs: t, isSdkInternal: n } = e, r = n ?
|
|
1219
|
-
if (r.length === 0) throw new
|
|
1220
|
-
let i =
|
|
1221
|
-
|
|
1217
|
+
function An(e) {
|
|
1218
|
+
let { fs: t, isSdkInternal: n } = e, r = n ? On(t) : Dn(t);
|
|
1219
|
+
if (r.length === 0) throw new J("No workspace packages found. Run 'block-tools structure init' to scaffold a block.");
|
|
1220
|
+
let i = vn(r), a = Jt(t);
|
|
1221
|
+
Yt(a.version, 0);
|
|
1222
1222
|
let o = i.find((e) => e.scope === "block") ?? i.find((e) => e.scope === "root");
|
|
1223
|
-
if (!o) throw new
|
|
1224
|
-
let s =
|
|
1225
|
-
return
|
|
1223
|
+
if (!o) throw new J("Could not find a 'block' (or root-as-block) package to derive BlockVars from.");
|
|
1224
|
+
let s = kn(o.name.replace(/\.block$/, ""));
|
|
1225
|
+
return Cn({
|
|
1226
1226
|
isSdkInternal: n,
|
|
1227
1227
|
updateDepsOnly: e.updateDepsOnly ?? !1,
|
|
1228
1228
|
modules: i,
|
|
@@ -1233,7 +1233,7 @@ function kn(e) {
|
|
|
1233
1233
|
}
|
|
1234
1234
|
//#endregion
|
|
1235
1235
|
//#region src/structure/rules/shared/key-order.ts
|
|
1236
|
-
var
|
|
1236
|
+
var Y = [
|
|
1237
1237
|
"name",
|
|
1238
1238
|
"version",
|
|
1239
1239
|
"private",
|
|
@@ -1254,25 +1254,25 @@ var X = [
|
|
|
1254
1254
|
"pnpm",
|
|
1255
1255
|
"block",
|
|
1256
1256
|
"block-software"
|
|
1257
|
-
],
|
|
1257
|
+
], jn = {
|
|
1258
1258
|
"build:dev-local": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=all PL_BUILD_LOCATION=local turbo run build",
|
|
1259
1259
|
"build:dev-remote": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=all PL_BUILD_LOCATION=remote turbo run build",
|
|
1260
1260
|
"build:dev-no-software": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=none turbo run build",
|
|
1261
1261
|
"build:dev-binary-existing": "env PL_BUILD_CHANNEL=dev PL_BUILD_USE_PUBLISHED=true turbo run build",
|
|
1262
1262
|
"build:release": "env PL_BUILD_CHANNEL=release PL_BUILD_VARIANT=all PL_BUILD_LOCATION=remote turbo run build"
|
|
1263
|
-
},
|
|
1263
|
+
}, Mn = {
|
|
1264
1264
|
test: "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=binary PL_BUILD_LOCATION=local turbo run test --concurrency 1",
|
|
1265
1265
|
"test:dry-run": "env PL_BUILD_CHANNEL=dev PL_BUILD_VARIANT=binary PL_BUILD_LOCATION=local turbo run test --dry-run=json"
|
|
1266
1266
|
};
|
|
1267
|
-
function
|
|
1267
|
+
function Nn() {
|
|
1268
1268
|
return {
|
|
1269
1269
|
version: "1.0.0",
|
|
1270
1270
|
private: !0,
|
|
1271
1271
|
scripts: {
|
|
1272
1272
|
fmt: "turbo run fmt",
|
|
1273
1273
|
check: "turbo run check",
|
|
1274
|
-
...An,
|
|
1275
1274
|
...jn,
|
|
1275
|
+
...Mn,
|
|
1276
1276
|
"mark-stable": "turbo run mark-stable",
|
|
1277
1277
|
"do-pack": "turbo run do-pack",
|
|
1278
1278
|
watch: "turbo watch build",
|
|
@@ -1295,28 +1295,28 @@ function Mn() {
|
|
|
1295
1295
|
packageManager: "pnpm@9.12.0"
|
|
1296
1296
|
};
|
|
1297
1297
|
}
|
|
1298
|
-
function
|
|
1298
|
+
function Pn() {
|
|
1299
1299
|
R("packageManager", "pnpm@9.12.0"), z("name"), B("fmt", "turbo run fmt"), B("check", "turbo run check");
|
|
1300
|
-
for (let [e, t] of Object.entries(An)) B(e, t);
|
|
1301
1300
|
for (let [e, t] of Object.entries(jn)) B(e, t);
|
|
1301
|
+
for (let [e, t] of Object.entries(Mn)) B(e, t);
|
|
1302
1302
|
V("build"), V("build:dev"), B("mark-stable", "turbo run mark-stable"), B("do-pack", "turbo run do-pack"), B("watch", "turbo watch build"), B("changeset", "changeset"), B("version-packages", "changeset version"), B("update-sdk", "block-tools structure refresh --update-deps-only"), V("update"), B("upgrade-sdk", "block-tools structure refresh --update-deps-only && pnpm i && block-tools structure refresh && pnpm i && pnpm fmt"), W({
|
|
1303
1303
|
"@changesets/cli": "catalog:",
|
|
1304
1304
|
"@milaboratories/ts-builder": "sdk:",
|
|
1305
1305
|
"@platforma-sdk/block-tools": "sdk:",
|
|
1306
1306
|
shx: "catalog:",
|
|
1307
1307
|
turbo: "catalog:"
|
|
1308
|
-
}),
|
|
1308
|
+
}), jt({
|
|
1309
1309
|
oxlint: "*",
|
|
1310
1310
|
oxfmt: "*"
|
|
1311
|
-
}),
|
|
1311
|
+
}), Ft((e, t) => {
|
|
1312
1312
|
if (!/^(\/\/|--)/.test(e) || typeof t != "object" || !t) return !1;
|
|
1313
1313
|
let n = t;
|
|
1314
1314
|
return n.pnpm !== void 0 || n.overrides !== void 0;
|
|
1315
|
-
}),
|
|
1315
|
+
}), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1316
1316
|
}
|
|
1317
1317
|
//#endregion
|
|
1318
1318
|
//#region src/structure/rules/root-turbo-json.ts
|
|
1319
|
-
var
|
|
1319
|
+
var Fn = "https://turbo.build/schema.json", In = ["tsconfig.json"], Ln = {
|
|
1320
1320
|
fmt: { cache: !1 },
|
|
1321
1321
|
check: {
|
|
1322
1322
|
dependsOn: ["^build"],
|
|
@@ -1365,15 +1365,15 @@ var Pn = "https://turbo.build/schema.json", Fn = ["tsconfig.json"], In = {
|
|
|
1365
1365
|
cache: !1
|
|
1366
1366
|
}
|
|
1367
1367
|
};
|
|
1368
|
-
function
|
|
1368
|
+
function Rn() {
|
|
1369
1369
|
return {
|
|
1370
|
-
$schema:
|
|
1371
|
-
globalDependencies:
|
|
1372
|
-
tasks: { ...
|
|
1370
|
+
$schema: Fn,
|
|
1371
|
+
globalDependencies: In,
|
|
1372
|
+
tasks: { ...Ln }
|
|
1373
1373
|
};
|
|
1374
1374
|
}
|
|
1375
|
-
function
|
|
1376
|
-
R("$schema",
|
|
1375
|
+
function zn() {
|
|
1376
|
+
R("$schema", Fn), R("globalDependencies", In), Et("tasks", Ln), z("tasks.build:dev"), G([
|
|
1377
1377
|
"$schema",
|
|
1378
1378
|
"globalDependencies",
|
|
1379
1379
|
"tasks"
|
|
@@ -1381,70 +1381,70 @@ function Rn() {
|
|
|
1381
1381
|
}
|
|
1382
1382
|
//#endregion
|
|
1383
1383
|
//#region src/structure/engine/registry-client.ts
|
|
1384
|
-
var
|
|
1385
|
-
function
|
|
1384
|
+
var Bn = 2, Vn = 500, Hn = 3e4;
|
|
1385
|
+
function Un(e) {
|
|
1386
1386
|
if (!e) return null;
|
|
1387
1387
|
let t = Number(e);
|
|
1388
1388
|
if (Number.isFinite(t) && t > 0) return t * 1e3;
|
|
1389
1389
|
let n = Date.parse(e);
|
|
1390
1390
|
return Number.isNaN(n) ? null : Math.max(0, n - Date.now());
|
|
1391
1391
|
}
|
|
1392
|
-
async function
|
|
1392
|
+
async function Wn(e) {
|
|
1393
1393
|
for (let t = 1;; t++) {
|
|
1394
1394
|
let n;
|
|
1395
1395
|
try {
|
|
1396
|
-
n = await fetch(e, { signal: AbortSignal.timeout(
|
|
1396
|
+
n = await fetch(e, { signal: AbortSignal.timeout(Hn) });
|
|
1397
1397
|
} catch (e) {
|
|
1398
|
-
if (t >
|
|
1399
|
-
await ce(
|
|
1398
|
+
if (t > Bn) throw e;
|
|
1399
|
+
await ce(Vn * 2 ** (t - 1) * (.8 + .4 * Math.random()));
|
|
1400
1400
|
continue;
|
|
1401
1401
|
}
|
|
1402
1402
|
if (n.ok) return n;
|
|
1403
|
-
if (!(n.status === 429 || n.status >= 500) || t >
|
|
1404
|
-
let r =
|
|
1403
|
+
if (!(n.status === 429 || n.status >= 500) || t > Bn) throw Error(`registry returned HTTP ${n.status}`);
|
|
1404
|
+
let r = Un(n.headers.get("retry-after"));
|
|
1405
1405
|
if (r != null) {
|
|
1406
1406
|
await ce(r);
|
|
1407
1407
|
continue;
|
|
1408
1408
|
}
|
|
1409
|
-
await ce(
|
|
1409
|
+
await ce(Vn * 2 ** (t - 1) * (.8 + .4 * Math.random()));
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
1412
|
-
function
|
|
1412
|
+
function Gn() {
|
|
1413
1413
|
return {
|
|
1414
1414
|
async getLatestVersion(e) {
|
|
1415
|
-
let t = (await (await
|
|
1415
|
+
let t = (await (await Wn(`https://registry.npmjs.org/-/package/${e}/dist-tags`)).json()).latest;
|
|
1416
1416
|
if (!t) throw Error("no 'latest' dist-tag in registry response");
|
|
1417
1417
|
return t;
|
|
1418
1418
|
},
|
|
1419
1419
|
async getDeclaredDependency(e, t, n) {
|
|
1420
|
-
let r = await (await
|
|
1420
|
+
let r = await (await Wn(`https://registry.npmjs.org/${e}/${t}`)).json();
|
|
1421
1421
|
return r.dependencies?.[n] ?? r.peerDependencies?.[n];
|
|
1422
1422
|
}
|
|
1423
1423
|
};
|
|
1424
1424
|
}
|
|
1425
|
-
async function
|
|
1425
|
+
async function Kn(e, t) {
|
|
1426
1426
|
let n = await Promise.all(t.map(async (t) => [t, await e.getLatestVersion(t)]));
|
|
1427
1427
|
return new Map(n);
|
|
1428
1428
|
}
|
|
1429
|
-
function
|
|
1429
|
+
function qn(e) {
|
|
1430
1430
|
return (t) => e.get(t);
|
|
1431
1431
|
}
|
|
1432
|
-
var
|
|
1433
|
-
function
|
|
1434
|
-
return
|
|
1432
|
+
var Jn = [/^@platforma-sdk\//, /^@milaboratories\//];
|
|
1433
|
+
function Yn(e) {
|
|
1434
|
+
return Jn.some((t) => t.test(e));
|
|
1435
1435
|
}
|
|
1436
|
-
async function
|
|
1437
|
-
return e.length === 0 ? () => void 0 :
|
|
1436
|
+
async function Xn(e, t = Gn()) {
|
|
1437
|
+
return e.length === 0 ? () => void 0 : qn(await Kn(t, e));
|
|
1438
1438
|
}
|
|
1439
|
-
function
|
|
1439
|
+
function Zn(e) {
|
|
1440
1440
|
return /^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(e);
|
|
1441
1441
|
}
|
|
1442
|
-
async function
|
|
1442
|
+
async function Qn(e, t = Gn()) {
|
|
1443
1443
|
if (e.length === 0) return () => void 0;
|
|
1444
1444
|
let n = await Promise.all(e.map(async (e) => {
|
|
1445
1445
|
let n = await t.getDeclaredDependency(e.of, e.ofVersion ?? "latest", e.entry);
|
|
1446
1446
|
if (n === void 0) throw Error(`derived catalog pin '${e.entry}': package '${e.of}'${e.ofVersion ? `@${e.ofVersion}` : " (latest)"} declares no dependency '${e.entry}'. A derived pin requires the source to declare the dep as an exact version.`);
|
|
1447
|
-
if (!
|
|
1447
|
+
if (!Zn(n)) throw Error(`derived catalog pin '${e.entry}': package '${e.of}'${e.ofVersion ? `@${e.ofVersion}` : " (latest)"} declares '${e.entry}: ${n}', which is not an exact version. A derived pin requires an exact ('x.y.z') source dependency so the catalog can pin to it precisely.`);
|
|
1448
1448
|
return [e.entry, n];
|
|
1449
1449
|
})), r = new Map(n);
|
|
1450
1450
|
return (e) => r.get(e);
|
|
@@ -1452,7 +1452,7 @@ async function Zn(e, t = Wn()) {
|
|
|
1452
1452
|
//#endregion
|
|
1453
1453
|
//#region src/structure/rules/shared/retired-deps.ts
|
|
1454
1454
|
// @vitejs/plugin-vue — bundled by ts-builder's internal vite config.
|
|
1455
|
-
var
|
|
1455
|
+
var $n = [
|
|
1456
1456
|
"vite",
|
|
1457
1457
|
"tsup",
|
|
1458
1458
|
"vue-tsc",
|
|
@@ -1460,8 +1460,8 @@ var Qn = [
|
|
|
1460
1460
|
"vite-plugin-dts",
|
|
1461
1461
|
"@platforma-sdk/eslint-config"
|
|
1462
1462
|
];
|
|
1463
|
-
function
|
|
1464
|
-
for (let e of
|
|
1463
|
+
function X() {
|
|
1464
|
+
for (let e of $n) U(e);
|
|
1465
1465
|
}
|
|
1466
1466
|
//#endregion
|
|
1467
1467
|
//#region src/structure/rules/root-pnpm-workspace.ts
|
|
@@ -1476,7 +1476,7 @@ var Z = [
|
|
|
1476
1476
|
"@milaboratories/ts-builder",
|
|
1477
1477
|
"@milaboratories/ts-configs"
|
|
1478
1478
|
], er = "0.0.0-init-must-fetch";
|
|
1479
|
-
for (let e of Z) if (!
|
|
1479
|
+
for (let e of Z) if (!Yn(e)) throw Error(`SDK_CATALOG_PACKAGES entry '${e}' matches no catalog bump pattern; its placeholder would never be resolved to npm latest on init. Add it to CATALOG_BUMP_PATTERNS or move it to the infra floor.`);
|
|
1480
1480
|
var tr = {
|
|
1481
1481
|
turbo: "~2.8.11",
|
|
1482
1482
|
shx: "~0.4.0",
|
|
@@ -1498,8 +1498,8 @@ function ar(e) {
|
|
|
1498
1498
|
};
|
|
1499
1499
|
}
|
|
1500
1500
|
function or() {
|
|
1501
|
-
|
|
1502
|
-
for (let e of
|
|
1501
|
+
Rt();
|
|
1502
|
+
for (let e of $n) Ut(e);
|
|
1503
1503
|
}
|
|
1504
1504
|
//#endregion
|
|
1505
1505
|
//#region src/structure/rules/root-gitignore.ts
|
|
@@ -1519,17 +1519,17 @@ var sr = [
|
|
|
1519
1519
|
"test-dry-run.json"
|
|
1520
1520
|
];
|
|
1521
1521
|
function cr() {
|
|
1522
|
-
|
|
1522
|
+
Wt(sr);
|
|
1523
1523
|
}
|
|
1524
1524
|
//#endregion
|
|
1525
1525
|
//#region src/structure/rules/root.ts
|
|
1526
1526
|
function lr() {
|
|
1527
1527
|
S("root", () => {
|
|
1528
1528
|
C(({ ctx: e }) => !e.isSdkInternal, () => {
|
|
1529
|
-
E("turbo.json", M(() =>
|
|
1530
|
-
|
|
1531
|
-
}), T(".vscode/settings.json", A("root/.vscode/settings.json")), E("package.json", M(() =>
|
|
1532
|
-
|
|
1529
|
+
E("turbo.json", M(() => Rn()), () => {
|
|
1530
|
+
zn();
|
|
1531
|
+
}), T(".vscode/settings.json", A("root/.vscode/settings.json")), E("package.json", M(() => Nn()), () => {
|
|
1532
|
+
Pn();
|
|
1533
1533
|
}), E("pnpm-workspace.yaml", M((e) => ar(e)), () => {
|
|
1534
1534
|
or();
|
|
1535
1535
|
}), E(".gitignore", A("root/.gitignore"), () => {
|
|
@@ -1580,9 +1580,9 @@ function hr(e, t) {
|
|
|
1580
1580
|
}
|
|
1581
1581
|
function gr(e) {
|
|
1582
1582
|
let t = {};
|
|
1583
|
-
for (let n of
|
|
1584
|
-
for (let n of
|
|
1585
|
-
for (let n of
|
|
1583
|
+
for (let n of q(e, "workflow")) t.workflow = `${n.name}/dist/tengo/tpl/main.plj.gz`;
|
|
1584
|
+
for (let n of q(e, "model")) t.model = `${n.name}/dist/model.json`;
|
|
1585
|
+
for (let n of q(e, "ui")) t.ui = `${n.name}/dist`;
|
|
1586
1586
|
return t;
|
|
1587
1587
|
}
|
|
1588
1588
|
function _r(e, t) {
|
|
@@ -1620,9 +1620,9 @@ function br(e) {
|
|
|
1620
1620
|
function xr(e) {
|
|
1621
1621
|
let t = e.blockVars, n = {
|
|
1622
1622
|
...vr,
|
|
1623
|
-
...
|
|
1624
|
-
...
|
|
1625
|
-
...
|
|
1623
|
+
...xn(e, "model"),
|
|
1624
|
+
...xn(e, "ui"),
|
|
1625
|
+
...xn(e, "workflow")
|
|
1626
1626
|
}, r = {
|
|
1627
1627
|
components: gr(e),
|
|
1628
1628
|
meta: {
|
|
@@ -1656,7 +1656,7 @@ function Sr(e) {
|
|
|
1656
1656
|
R("type", "module"), R("files", ["dist", "block-pack"]), R("main", "./dist/index.js"), R("module", "./dist/index.js"), R("types", "./dist/index.d.ts"), R("exports", yr);
|
|
1657
1657
|
let n = _r(t.npmOrg, e.isSdkInternal);
|
|
1658
1658
|
for (let [e, t] of Object.entries(n)) B(e, t);
|
|
1659
|
-
V("mark-stable"),
|
|
1659
|
+
V("mark-stable"), Pt("model"), Pt("ui"), Pt("workflow"), H("@milaboratories/ts-builder", "sdk:"), H("@milaboratories/ts-configs", "sdk:"), H("@platforma-sdk/block-tools", "sdk:"), H("@platforma-sdk/model", "sdk:"), H("shx", "catalog:"), H("typescript", "catalog:"), R("block.components", gr(e)), Tt("version", "facade package.json must carry a 'version' (the facade publishes)"), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1660
1660
|
}
|
|
1661
1661
|
//#endregion
|
|
1662
1662
|
//#region src/structure/rules/shared/pascal-case.ts
|
|
@@ -1727,12 +1727,12 @@ function Er() {
|
|
|
1727
1727
|
"@milaboratories/ts-builder": "sdk:",
|
|
1728
1728
|
"@milaboratories/ts-configs": "sdk:",
|
|
1729
1729
|
"@platforma-sdk/block-tools": "sdk:"
|
|
1730
|
-
}),
|
|
1730
|
+
}), jt({
|
|
1731
1731
|
"@types/node": "*",
|
|
1732
1732
|
typescript: "*"
|
|
1733
1733
|
}), C(({ ctx: e }) => !e.isSdkInternal, () => C(w(Q), () => {
|
|
1734
1734
|
B("test", "vitest run --passWithNoTests"), H("vitest", "catalog:"), H("@types/node", "*");
|
|
1735
|
-
}, () => U("vitest"))),
|
|
1735
|
+
}, () => U("vitest"))), X(), z("tsup"), V("lint"), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1736
1736
|
}
|
|
1737
1737
|
//#endregion
|
|
1738
1738
|
//#region src/structure/rules/model.ts
|
|
@@ -1760,7 +1760,7 @@ function Or(e) {
|
|
|
1760
1760
|
dependencies: {
|
|
1761
1761
|
"@platforma-sdk/ui-vue": "sdk:",
|
|
1762
1762
|
vue: "catalog:",
|
|
1763
|
-
...
|
|
1763
|
+
...bn(e, "model")
|
|
1764
1764
|
},
|
|
1765
1765
|
devDependencies: {
|
|
1766
1766
|
"@milaboratories/ts-builder": "sdk:",
|
|
@@ -1773,15 +1773,15 @@ function Or(e) {
|
|
|
1773
1773
|
};
|
|
1774
1774
|
}
|
|
1775
1775
|
function kr() {
|
|
1776
|
-
R("private", !0), R("type", "module"), B("fmt", "ts-builder format"), B("dev", "ts-builder serve --target block-ui"), B("watch", "ts-builder build --target block-ui --watch"), B("build", "ts-builder build --target block-ui"), B("check", "ts-builder check --target block-ui"), kt("@platforma-sdk/ui-vue", "sdk:"), kt("vue", "catalog:"),
|
|
1776
|
+
R("private", !0), R("type", "module"), B("fmt", "ts-builder format"), B("dev", "ts-builder serve --target block-ui"), B("watch", "ts-builder build --target block-ui --watch"), B("build", "ts-builder build --target block-ui"), B("check", "ts-builder check --target block-ui"), kt("@platforma-sdk/ui-vue", "sdk:"), kt("vue", "catalog:"), Nt("model"), W({
|
|
1777
1777
|
"@milaboratories/ts-builder": "sdk:",
|
|
1778
1778
|
"@milaboratories/ts-configs": "sdk:"
|
|
1779
|
-
}),
|
|
1779
|
+
}), X(), V("preview"), V("lint"), jt({
|
|
1780
1780
|
"@types/node": "*",
|
|
1781
1781
|
typescript: "*"
|
|
1782
1782
|
}), C(({ ctx: e }) => !e.isSdkInternal, () => C(w(Q), () => {
|
|
1783
1783
|
B("test", "vitest run --passWithNoTests"), H("vitest", "catalog:"), H("@types/node", "*");
|
|
1784
|
-
}, () => U("vitest"))),
|
|
1784
|
+
}, () => U("vitest"))), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1785
1785
|
}
|
|
1786
1786
|
//#endregion
|
|
1787
1787
|
//#region src/structure/rules/ui.ts
|
|
@@ -1806,7 +1806,7 @@ function jr(e) {
|
|
|
1806
1806
|
},
|
|
1807
1807
|
dependencies: {
|
|
1808
1808
|
"@platforma-sdk/workflow-tengo": "sdk:",
|
|
1809
|
-
...
|
|
1809
|
+
...xn(e, "software")
|
|
1810
1810
|
},
|
|
1811
1811
|
devDependencies: {
|
|
1812
1812
|
"@platforma-sdk/tengo-builder": "sdk:",
|
|
@@ -1818,11 +1818,11 @@ function jr(e) {
|
|
|
1818
1818
|
function Mr() {
|
|
1819
1819
|
R("private", !0), R("type", "module"), B("build", "shx rm -rf dist && pl-tengo build"), B("check", "pl-tengo check"), B("format", "/usr/bin/env emacs --script ./format.el || echo 'No emacs.'"), C(({ ctx: e }) => !e.isSdkInternal, () => C(w(Q), () => {
|
|
1820
1820
|
B("test", "vitest run --passWithNoTests"), W({ vitest: "catalog:" });
|
|
1821
|
-
}, () => U("vitest"))), kt("@platforma-sdk/workflow-tengo", "sdk:"),
|
|
1821
|
+
}, () => U("vitest"))), kt("@platforma-sdk/workflow-tengo", "sdk:"), Nt("software"), W({
|
|
1822
1822
|
"@platforma-sdk/tengo-builder": "sdk:",
|
|
1823
1823
|
"@platforma-sdk/test": "sdk:",
|
|
1824
1824
|
shx: "catalog:"
|
|
1825
|
-
}),
|
|
1825
|
+
}), X(), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1826
1826
|
}
|
|
1827
1827
|
//#endregion
|
|
1828
1828
|
//#region src/structure/rules/workflow.ts
|
|
@@ -1864,7 +1864,7 @@ function Fr() {
|
|
|
1864
1864
|
"@milaboratories/ts-builder": "sdk:",
|
|
1865
1865
|
"@milaboratories/ts-configs": "sdk:",
|
|
1866
1866
|
vitest: "catalog:"
|
|
1867
|
-
}),
|
|
1867
|
+
}), jt({ typescript: "*" }), U("@types/node"), X(), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1868
1868
|
}
|
|
1869
1869
|
//#endregion
|
|
1870
1870
|
//#region src/structure/rules/test.ts
|
|
@@ -1913,7 +1913,7 @@ function Br(e) {
|
|
|
1913
1913
|
};
|
|
1914
1914
|
}
|
|
1915
1915
|
function Vr() {
|
|
1916
|
-
z("private"), R("type", "module"), R("files", ["./dist/**/*"]), B("build", Lr), B("do-pack", Rr), V("prepublishOnly"), B("changeset", "changeset"), B("version-packages", "changeset version"), H("@platforma-open/milaboratories.runenv-python-3", "catalog:"), H("@platforma-sdk/block-tools", "sdk:"), U("@platforma-sdk/package-builder"),
|
|
1916
|
+
z("private"), R("type", "module"), R("files", ["./dist/**/*"]), B("build", Lr), B("do-pack", Rr), V("prepublishOnly"), B("changeset", "changeset"), B("version-packages", "changeset version"), H("@platforma-open/milaboratories.runenv-python-3", "catalog:"), H("@platforma-sdk/block-tools", "sdk:"), U("@platforma-sdk/package-builder"), K("dependencies"), K("devDependencies"), K("peerDependencies"), K("optionalDependencies"), G([...Y]);
|
|
1917
1917
|
}
|
|
1918
1918
|
//#endregion
|
|
1919
1919
|
//#region src/structure/rules/software.ts
|
|
@@ -1933,7 +1933,7 @@ function Gr() {
|
|
|
1933
1933
|
}), S("test", () => {
|
|
1934
1934
|
k("eslint.config.mjs");
|
|
1935
1935
|
}), S("root", () => {
|
|
1936
|
-
k(".prettierrc"), E("package.json", M(() =>
|
|
1936
|
+
k(".prettierrc"), E("package.json", M(() => Nn()), () => {
|
|
1937
1937
|
V("pretty"), U("@platforma-sdk/blocks-deps-updater");
|
|
1938
1938
|
});
|
|
1939
1939
|
});
|
|
@@ -1945,13 +1945,13 @@ function Kr() {
|
|
|
1945
1945
|
S("root", () => {
|
|
1946
1946
|
C(({ ctx: e }) => !e.isSdkInternal, () => {
|
|
1947
1947
|
E("pnpm-workspace.yaml", M((e) => ar(e)), (e) => {
|
|
1948
|
-
for (let e of Z)
|
|
1949
|
-
for (let e of nr)
|
|
1948
|
+
for (let e of Z) Vt(e);
|
|
1949
|
+
for (let e of nr) Ht(e.entry, {
|
|
1950
1950
|
of: e.of,
|
|
1951
1951
|
ofVersion: e.ofVersion
|
|
1952
1952
|
});
|
|
1953
|
-
for (let [e, t] of Object.entries(tr))
|
|
1954
|
-
e.modules.some((e) => e.scope === "software") &&
|
|
1953
|
+
for (let [e, t] of Object.entries(tr)) Bt(e, t);
|
|
1954
|
+
e.modules.some((e) => e.scope === "software") && Bt(rr, ir);
|
|
1955
1955
|
});
|
|
1956
1956
|
});
|
|
1957
1957
|
});
|
|
@@ -1965,10 +1965,10 @@ var qr = He(() => {
|
|
|
1965
1965
|
//#endregion
|
|
1966
1966
|
//#region src/structure/cli/run-structure.ts
|
|
1967
1967
|
async function Jr() {
|
|
1968
|
-
return
|
|
1968
|
+
return Xn(Z.filter(Yn));
|
|
1969
1969
|
}
|
|
1970
1970
|
async function Yr(e) {
|
|
1971
|
-
let t = h.resolve(e.blockPath), n = e.mode === "check", r = new Ee(t), i = new De(e.templatesRoot), a =
|
|
1971
|
+
let t = h.resolve(e.blockPath), n = e.mode === "check", r = new Ee(t), i = new De(e.templatesRoot), a = fn(qr, r, An({
|
|
1972
1972
|
fs: r,
|
|
1973
1973
|
isSdkInternal: e.isSdkInternal,
|
|
1974
1974
|
updateDepsOnly: e.updateDepsOnly,
|
|
@@ -1976,8 +1976,8 @@ async function Yr(e) {
|
|
|
1976
1976
|
}), {
|
|
1977
1977
|
templates: i,
|
|
1978
1978
|
registryLookup: e.updateDepsOnly ? await Jr() : void 0,
|
|
1979
|
-
derivedPinLookup: e.updateDepsOnly ? await
|
|
1980
|
-
rediscover: () =>
|
|
1979
|
+
derivedPinLookup: e.updateDepsOnly ? await Qn(nr) : void 0,
|
|
1980
|
+
rediscover: () => An({
|
|
1981
1981
|
fs: r,
|
|
1982
1982
|
isSdkInternal: e.isSdkInternal,
|
|
1983
1983
|
updateDepsOnly: !1,
|
|
@@ -2182,19 +2182,19 @@ async function li(e) {
|
|
|
2182
2182
|
};
|
|
2183
2183
|
}
|
|
2184
2184
|
async function ui(e) {
|
|
2185
|
-
let t = e.vars, n =
|
|
2185
|
+
let t = e.vars, n = Sn(t), r = new Ee(e.blockPath), i = new De(e.templatesRoot), a = Cn({
|
|
2186
2186
|
blockVars: t,
|
|
2187
2187
|
modules: n,
|
|
2188
2188
|
isSdkInternal: !1,
|
|
2189
2189
|
version: 2,
|
|
2190
2190
|
dryRun: !1
|
|
2191
|
-
}), o = Z.filter(
|
|
2191
|
+
}), o = Z.filter(Yn), s, c;
|
|
2192
2192
|
try {
|
|
2193
|
-
s = await
|
|
2193
|
+
s = await Xn(o), c = await Qn(nr);
|
|
2194
2194
|
} catch (e) {
|
|
2195
2195
|
throw Error(`init requires network access to resolve SDK catalog versions from npm, but the registry lookup failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
2196
2196
|
}
|
|
2197
|
-
return
|
|
2197
|
+
return fn(qr, r, a, {
|
|
2198
2198
|
templates: i,
|
|
2199
2199
|
initMode: !0,
|
|
2200
2200
|
registryLookup: s,
|
|
@@ -2361,7 +2361,7 @@ function Ei(e, t) {
|
|
|
2361
2361
|
let n = e === "dev", r = process.env[n ? v.PL_DEV_DOCKER_PUSH_URL : v.PL_RELEASE_DOCKER_PUSH_URL], i = process.env[n ? v.PL_DEV_DOCKER_PULL_URL : v.PL_RELEASE_DOCKER_PULL_URL], a = t.dockerPushTo ?? r ?? (n ? me.DEV_DOCKER_PUSH_TARGET : void 0), o = a ? Ti(a) : {
|
|
2362
2362
|
registry: void 0,
|
|
2363
2363
|
autoLogin: !1
|
|
2364
|
-
}, s = t.dockerRegistry ?? i ?? a;
|
|
2364
|
+
}, s = t.dockerRegistry ?? i ?? (n ? a : me.DOCKER_REGISTRY);
|
|
2365
2365
|
return {
|
|
2366
2366
|
pull: s ? wi(s) : void 0,
|
|
2367
2367
|
push: o.registry,
|