@blockml/fatblock-target 0.7.1 → 0.8.0
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/blocks/org/blockml/bml/target/fatblock/Library.bml +3 -3
- package/blocks/org/blockml/bml/target/fatblock/README.bml +1 -1
- package/blocks/org/blockml/bml/target/fatblock/api/FatBlockRenderOutput.bml +1 -1
- package/blocks/org/blockml/bml/target/fatblock/capability/FatOutputBasename.bml +5 -5
- package/blocks/org/blockml/bml/target/fatblock/capability/Render.bml +1 -1
- package/blocks/org/blockml/bml/target/fatblock/documentation/DesignDecisions.bml +1 -1
- package/blocks/org/blockml/bml/target/fatblock/documentation/Introduction.bml +3 -2
- package/blocks/org/blockml/bml/target/fatblock/documentation/LayerSeparation.bml +2 -1
- package/blocks/org/blockml/bml/target/fatblock/documentation/OutputLayout.bml +2 -2
- package/blocks/org/blockml/bml/target/fatblock/documentation/PackageOwnership.bml +3 -2
- package/blocks/org/blockml/bml/target/fatblock/documentation/V1Scope.bml +2 -1
- package/dist/fat-output-path.d.ts +2 -1
- package/dist/fat-output-path.d.ts.map +1 -1
- package/dist/fat-output-path.js +6 -6
- package/dist/fat-output-path.js.map +1 -1
- package/dist/fatblock-target.js +1 -1
- package/dist/fatblock-target.js.map +1 -1
- package/package.json +7 -7
|
@@ -29,19 +29,19 @@
|
|
|
29
29
|
|
|
30
30
|
<documentation>
|
|
31
31
|
Canonical FatBlock specification for BlockML — registry name fatblock, folder-pool
|
|
32
|
-
candidates, embed assembly, namespace merge,
|
|
32
|
+
candidates, embed assembly, namespace merge, {hostFqn}.fat.bml (FB1–FB20). TypeScript in
|
|
33
33
|
packages/fatblock-target/src/ implements this library. Membership is defined
|
|
34
34
|
exclusively by this blocks list.
|
|
35
35
|
</documentation>
|
|
36
36
|
|
|
37
|
-
<version>0.
|
|
37
|
+
<version>0.8.0</version>
|
|
38
38
|
|
|
39
39
|
<language>
|
|
40
40
|
<English />
|
|
41
41
|
</language>
|
|
42
42
|
|
|
43
43
|
<properties>
|
|
44
|
-
<description>
|
|
44
|
+
<description override="true">
|
|
45
45
|
<value>FatBlock render target library</value>
|
|
46
46
|
</description>
|
|
47
47
|
</properties>
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
Start reading at org.blockml.bml.target.fatblock.documentation.Introduction (ReadNext chain).
|
|
37
37
|
|
|
38
38
|
V1: folder-bundle document target — host .bml plus peer roots under --src into one
|
|
39
|
-
|
|
39
|
+
{hostFqn}.fat.bml with flat embeddedBlocks. Transitive closure is planned for v2.
|
|
40
40
|
|
|
41
41
|
Layer separation:
|
|
42
42
|
• org.blockml.bml.bom.* — embeddedBlocks meta-model
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<baseType>fatblock:FatblockType</baseType>
|
|
28
28
|
<is>Single-file fat .bml RenderOutput with diagnostics</is>
|
|
29
29
|
|
|
30
|
-
<documentation>files[] typically one
|
|
30
|
+
<documentation>files[] typically one {hostFqn}.fat.bml entry. diagnostics optional; info severity stripped on success path.</documentation>
|
|
31
31
|
<properties>
|
|
32
32
|
<files type="type:Text"><documentation>Array of { path, content }. (required)</documentation></files>
|
|
33
33
|
<diagnostics type="type:Text"><documentation>Diagnostic list from assemble and serialize. (optional)</documentation></diagnostics>
|
|
@@ -25,18 +25,18 @@
|
|
|
25
25
|
<name>FatOutputBasename</name>
|
|
26
26
|
<type>fbcap:FatOutputBasename</type>
|
|
27
27
|
<baseType>core:Capability</baseType>
|
|
28
|
-
<is>Derive output filename from host
|
|
28
|
+
<is>Derive output filename from host FQN</is>
|
|
29
29
|
|
|
30
|
-
<documentation>FB18:
|
|
30
|
+
<documentation>FB18: output basename is host FQN plus .fat.bml. Example org.blockml.bml.workspace.Library to org.blockml.bml.workspace.Library.fat.bml. Empty FQN yields unnamed.fat.bml.</documentation>
|
|
31
31
|
|
|
32
32
|
<references>
|
|
33
33
|
<see type="fbdocumentation:OutputLayout" relation="SeeAlso" />
|
|
34
34
|
</references>
|
|
35
35
|
|
|
36
36
|
<properties>
|
|
37
|
-
<
|
|
38
|
-
<documentation>Host
|
|
39
|
-
</
|
|
37
|
+
<hostFqn type="type:Text">
|
|
38
|
+
<documentation>Host block type FQN. (required)</documentation>
|
|
39
|
+
</hostFqn>
|
|
40
40
|
<result type="type:Text">
|
|
41
41
|
<documentation>Output basename. (required)</documentation>
|
|
42
42
|
</result>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<name>Render</name>
|
|
26
26
|
<type>fbcap:Render</type>
|
|
27
27
|
<baseType>core:Capability</baseType>
|
|
28
|
-
<is>Public RenderTarget entry: host document to
|
|
28
|
+
<is>Public RenderTarget entry: host document to {hostFqn}.fat.bml</is>
|
|
29
29
|
|
|
30
30
|
<documentation>FB2: name fatblock; accepts document only. FB4: assemble errors or serialize errors yield empty files. Strip info diagnostics from returned list. Orchestrates ResolveOptions, AssembleFatDocument, SerializeFatDocument, FatOutputBasename.</documentation>
|
|
31
31
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
FB11 default empty-prefix xmlns.
|
|
42
42
|
FB12–FB16 assemble host/embed empty-embeds and not-found rules.
|
|
43
43
|
FB17 preserve subBlocks; clear nested embeds on clone; serialize indent 2.
|
|
44
|
-
FB18
|
|
44
|
+
FB18 {hostFqn}.fat.bml basename.
|
|
45
45
|
FB19 V1 = folder pool not transitive closure.
|
|
46
46
|
FB20 embeddedBlocksStrategy reserved; assemble hardcodes empty-embeds check.</documentation>
|
|
47
47
|
<references>
|
|
@@ -36,10 +36,11 @@
|
|
|
36
36
|
packages/fatblock-target/src/ implements it. Tests in packages/fatblock-target/test/
|
|
37
37
|
encode behavioral contracts.
|
|
38
38
|
|
|
39
|
-
V1 is a folder-bundle target: document scope,
|
|
39
|
+
V1 is a folder-bundle target: document scope, srcDir (--src) peer pool
|
|
40
|
+
(CLI defaults host and srcDir from package.json blockml.library),
|
|
40
41
|
optional include FQN filters. Not transitive dependency closure (that is v2).
|
|
41
42
|
|
|
42
|
-
Pipeline: ResolveOptions → AssembleFatDocument → SerializeFatDocument →
|
|
43
|
+
Pipeline: ResolveOptions → AssembleFatDocument → SerializeFatDocument → {hostFqn}.fat.bml.
|
|
43
44
|
Host CLI wiring (flags, exit codes) lives in org.blockml.bml.cli.*</documentation>
|
|
44
45
|
<references>
|
|
45
46
|
<see type="fbdocumentation:LayerSeparation" relation="ReadNext"></see>
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
|
|
41
41
|
@blockml/compiler — RenderTarget contract, compileToOutput, document scope.
|
|
42
42
|
|
|
43
|
-
org.blockml.bml.cli.* — --src / --include / --out
|
|
43
|
+
org.blockml.bml.cli.* — --src / --include / --out / --per-package, default host
|
|
44
|
+
from package.json blockml.library, write {hostFqn}.fat.bml at the invocation directory.
|
|
44
45
|
|
|
45
46
|
Sibling targets (blockdoc, xsd) and domain SCAD are out of scope.</documentation>
|
|
46
47
|
<references>
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
<baseType>core:Documentation</baseType>
|
|
29
29
|
<is>Output file naming and host write path</is>
|
|
30
30
|
|
|
31
|
-
<documentation>FB18 FatOutputBasename:
|
|
32
|
-
Target returns relative path only; CLI writes
|
|
31
|
+
<documentation>FB18 FatOutputBasename: host FQN → {fqn}.fat.bml.
|
|
32
|
+
Target returns relative path only; CLI writes to the invocation directory or --out.
|
|
33
33
|
|
|
34
34
|
Single file per render. Content is canonical BML XML from SerializeFatDocument
|
|
35
35
|
(indent 2, no XML declaration by serializer defaults).</documentation>
|
|
@@ -31,8 +31,9 @@
|
|
|
31
31
|
<documentation>@blockml/fatblock-target owns: this BML library; TypeScript assemble/filter/merge/emit;
|
|
32
32
|
FatBlockOptions; BML_FATBLOCK_* diagnostics; output basename algorithm.
|
|
33
33
|
|
|
34
|
-
@blockml/cli owns: --src / --include / --out; host
|
|
35
|
-
|
|
34
|
+
@blockml/cli owns: --src / --include / --out; default host from package.json
|
|
35
|
+
blockml.library; TypeRegistry from the package library graph plus core; writing
|
|
36
|
+
{hostFqn}.fat.bml at the invocation directory; exit codes.
|
|
36
37
|
See org.blockml.bml.cli.documentation.CompileCommand.
|
|
37
38
|
|
|
38
39
|
@blockml/bom owns: embeddedBlocks shape and language invariants.
|
|
@@ -31,11 +31,12 @@
|
|
|
31
31
|
<documentation>V1 implemented:
|
|
32
32
|
• Registry name fatblock; accepts document only
|
|
33
33
|
• Required srcDir peer pool of root blocks under that directory
|
|
34
|
+
(CLI may default host and srcDir from package.json blockml.library)
|
|
34
35
|
• Optional include exact / prefix* filters
|
|
35
36
|
• Reject host or embed that already declares embeddedBlocks
|
|
36
37
|
• Flat root embeddedBlocks; preserve embed subBlocks[]
|
|
37
38
|
• Namespace binding union with collision errors
|
|
38
|
-
• Serialize via @blockml/serializer indent 2 →
|
|
39
|
+
• Serialize via @blockml/serializer indent 2 → {hostFqn}.fat.bml
|
|
39
40
|
|
|
40
41
|
Not V1 (see ScopeExclusions):
|
|
41
42
|
• Transitive registry-closure candidate set (v2)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fat-output-path.d.ts","sourceRoot":"","sources":["../src/fat-output-path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fat-output-path.d.ts","sourceRoot":"","sources":["../src/fat-output-path.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMzD"}
|
package/dist/fat-output-path.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
export function fatOutputBasename(
|
|
3
|
-
const
|
|
4
|
-
if (
|
|
5
|
-
return
|
|
1
|
+
/** Output basename: host FQN + ".fat.bml". */
|
|
2
|
+
export function fatOutputBasename(hostFqn) {
|
|
3
|
+
const fqn = hostFqn.trim();
|
|
4
|
+
if (!fqn) {
|
|
5
|
+
return "unnamed.fat.bml";
|
|
6
6
|
}
|
|
7
|
-
return `${
|
|
7
|
+
return `${fqn}.fat.bml`;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=fat-output-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fat-output-path.js","sourceRoot":"","sources":["../src/fat-output-path.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"fat-output-path.js","sourceRoot":"","sources":["../src/fat-output-path.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,GAAG,UAAU,CAAC;AAC1B,CAAC"}
|
package/dist/fatblock-target.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fatblock-target.js","sourceRoot":"","sources":["../src/fatblock-target.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAOtD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,UAAU,CAAC;IAClB,OAAO,GAAsB,CAAC,UAAU,CAAC,CAAC;IAEnD,eAAe,CAAC,OAAuB;QACrC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL;oBACE,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,qDAAqD;oBAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBACjD;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,OAAuB,EAAE,GAAkB;QAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;QAEhD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,CACnD,GAAG,CAAC,OAAO,CAAC,YAAY,EACxB,YAAY,EACZ,OAAO,EACP,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAClD,IACE,CAAC,UAAU,CAAC,IAAI;YAChB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAC1D,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;aACzD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"fatblock-target.js","sourceRoot":"","sources":["../src/fatblock-target.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAOtD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,UAAU,CAAC;IAClB,OAAO,GAAsB,CAAC,UAAU,CAAC,CAAC;IAEnD,eAAe,CAAC,OAAuB;QACrC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL;oBACE,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,qDAAqD;oBAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBACjD;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,OAAuB,EAAE,GAAkB;QAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;QAEhD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,CACnD,GAAG,CAAC,OAAO,CAAC,YAAY,EACxB,YAAY,EACZ,OAAO,EACP,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAClD,IACE,CAAC,UAAU,CAAC,IAAI;YAChB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAC1D,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;aACzD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC5C,OAAO,EAAE,UAAU,CAAC,IAAI;iBACzB;aACF;YACD,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAC7D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAC7B;SACF,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockml/fatblock-target",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "BlockML FatBlock render target — portable .bml folder bundles",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"test": "vitest run packages/fatblock-target/test"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@blockml/bom": "^0.
|
|
36
|
-
"@blockml/compiler": "^0.
|
|
37
|
-
"@blockml/core": "^1.0.
|
|
38
|
-
"@blockml/framework": "^0.
|
|
39
|
-
"@blockml/parser": "^0.
|
|
40
|
-
"@blockml/serializer": "^0.
|
|
35
|
+
"@blockml/bom": "^0.8.0",
|
|
36
|
+
"@blockml/compiler": "^0.8.0",
|
|
37
|
+
"@blockml/core": "^1.0.6",
|
|
38
|
+
"@blockml/framework": "^0.8.0",
|
|
39
|
+
"@blockml/parser": "^0.8.0",
|
|
40
|
+
"@blockml/serializer": "^0.8.0"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=20"
|