@heroiclands/package-build 0.6.1 → 3.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.
Files changed (127) hide show
  1. package/CHANGELOG-content-build.md +965 -0
  2. package/CHANGELOG.md +68 -0
  3. package/CONTENT.md +824 -0
  4. package/MIGRATING.md +127 -0
  5. package/README.md +29 -17
  6. package/bin/content-build.mjs +1082 -0
  7. package/bin/package-build.mjs +2 -2
  8. package/bin/report.mjs +2 -2
  9. package/config.mjs +21 -18
  10. package/content-config.mjs +1424 -0
  11. package/coverage.mjs +1 -1
  12. package/e2e.mjs +1 -1
  13. package/engine/abbreviations.mjs +0 -0
  14. package/engine/base-compiler.mjs +608 -0
  15. package/engine/code-fences.mjs +311 -0
  16. package/engine/compendiums.mjs +353 -0
  17. package/engine/content-address.mjs +141 -0
  18. package/engine/content-links.mjs +438 -0
  19. package/engine/content-lint.mjs +204 -0
  20. package/engine/content-package.mjs +67 -0
  21. package/engine/content-slug.mjs +169 -0
  22. package/engine/content-tables.mjs +1216 -0
  23. package/engine/content-tree.mjs +56 -0
  24. package/engine/diagnostics.mjs +270 -0
  25. package/engine/field-reference.mjs +242 -0
  26. package/engine/field-spec.mjs +218 -0
  27. package/engine/foreign-catalog.mjs +450 -0
  28. package/engine/foreign-manifests.mjs +129 -0
  29. package/engine/frontmatter-lint.mjs +343 -0
  30. package/engine/frontmatter.mjs +258 -0
  31. package/engine/generate.mjs +305 -0
  32. package/engine/helpers.mjs +809 -0
  33. package/engine/ids.mjs +192 -0
  34. package/engine/index.mjs +142 -0
  35. package/engine/item-docs.mjs +153 -0
  36. package/engine/item-registry.mjs +129 -0
  37. package/engine/journals.mjs +374 -0
  38. package/engine/kb-manifest.mjs +473 -0
  39. package/engine/macros.mjs +333 -0
  40. package/engine/manifest-emit.mjs +339 -0
  41. package/engine/map-notes.mjs +1302 -0
  42. package/engine/pack-config.mjs +479 -0
  43. package/engine/pack-router.mjs +254 -0
  44. package/engine/prose-config.mjs +238 -0
  45. package/engine/prose-lint.mjs +294 -0
  46. package/engine/region-events.mjs +79 -0
  47. package/engine/scene-levels.mjs +420 -0
  48. package/engine/scenes.mjs +528 -0
  49. package/engine/site-build.mjs +778 -0
  50. package/engine/site-index.mjs +332 -0
  51. package/engine/web-wikilinks.mjs +330 -0
  52. package/engine/wikilink-syntax.mjs +105 -0
  53. package/engine/wikilinks.mjs +645 -0
  54. package/index.mjs +42 -25
  55. package/lang.mjs +1 -1
  56. package/manifest.mjs +79 -5
  57. package/markdownlint-config.mjs +45 -0
  58. package/package.json +78 -35
  59. package/prettier-config.mjs +34 -0
  60. package/sohl/actors.mjs +581 -0
  61. package/sohl/affiliation-standings.mjs +44 -0
  62. package/sohl/being-info.mjs +173 -0
  63. package/sohl/default-item-art.mjs +82 -0
  64. package/sohl/index.mjs +55 -0
  65. package/sohl/item-builders.mjs +114 -0
  66. package/sohl/item-fields.mjs +867 -0
  67. package/sohl/items.mjs +197 -0
  68. package/sohl/kb-passes.mjs +207 -0
  69. package/sohl/note-schemas.mjs +322 -0
  70. package/templates.mjs +1 -1
  71. package/types/config.d.mts +1 -1
  72. package/types/content-config.d.mts +571 -0
  73. package/types/engine/abbreviations.d.mts +44 -0
  74. package/types/engine/base-compiler.d.mts +320 -0
  75. package/types/engine/code-fences.d.mts +102 -0
  76. package/types/engine/compendiums.d.mts +77 -0
  77. package/types/engine/content-address.d.mts +61 -0
  78. package/types/engine/content-links.d.mts +87 -0
  79. package/types/engine/content-lint.d.mts +47 -0
  80. package/types/engine/content-package.d.mts +36 -0
  81. package/types/engine/content-slug.d.mts +59 -0
  82. package/types/engine/content-tables.d.mts +131 -0
  83. package/types/engine/content-tree.d.mts +12 -0
  84. package/types/engine/diagnostics.d.mts +152 -0
  85. package/types/engine/field-reference.d.mts +20 -0
  86. package/types/engine/field-spec.d.mts +181 -0
  87. package/types/engine/foreign-catalog.d.mts +103 -0
  88. package/types/engine/foreign-manifests.d.mts +43 -0
  89. package/types/engine/frontmatter-lint.d.mts +74 -0
  90. package/types/engine/frontmatter.d.mts +99 -0
  91. package/types/engine/generate.d.mts +56 -0
  92. package/types/engine/helpers.d.mts +348 -0
  93. package/types/engine/ids.d.mts +126 -0
  94. package/types/engine/index.d.mts +33 -0
  95. package/types/engine/item-docs.d.mts +73 -0
  96. package/types/engine/item-registry.d.mts +57 -0
  97. package/types/engine/journals.d.mts +121 -0
  98. package/types/engine/kb-manifest.d.mts +214 -0
  99. package/types/engine/macros.d.mts +201 -0
  100. package/types/engine/manifest-emit.d.mts +137 -0
  101. package/types/engine/map-notes.d.mts +283 -0
  102. package/types/engine/pack-config.d.mts +77 -0
  103. package/types/engine/pack-router.d.mts +53 -0
  104. package/types/engine/prose-config.d.mts +121 -0
  105. package/types/engine/prose-lint.d.mts +59 -0
  106. package/types/engine/region-events.d.mts +43 -0
  107. package/types/engine/scene-levels.d.mts +36 -0
  108. package/types/engine/scenes.d.mts +48 -0
  109. package/types/engine/site-build.d.mts +214 -0
  110. package/types/engine/site-index.d.mts +141 -0
  111. package/types/engine/web-wikilinks.d.mts +67 -0
  112. package/types/engine/wikilink-syntax.d.mts +101 -0
  113. package/types/engine/wikilinks.d.mts +172 -0
  114. package/types/index.d.mts +3 -0
  115. package/types/manifest.d.mts +52 -4
  116. package/types/markdownlint-config.d.mts +8 -0
  117. package/types/prettier-config.d.mts +1 -0
  118. package/types/sohl/actors.d.mts +65 -0
  119. package/types/sohl/affiliation-standings.d.mts +22 -0
  120. package/types/sohl/being-info.d.mts +78 -0
  121. package/types/sohl/default-item-art.d.mts +28 -0
  122. package/types/sohl/index.d.mts +7 -0
  123. package/types/sohl/item-builders.d.mts +11 -0
  124. package/types/sohl/item-fields.d.mts +20 -0
  125. package/types/sohl/items.d.mts +19 -0
  126. package/types/sohl/kb-passes.d.mts +71 -0
  127. package/types/sohl/note-schemas.d.mts +7 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,73 @@
1
1
  # @heroiclands/package-build
2
2
 
3
+ ## 3.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 73a7e60: Correct the release the merge is dated to: 3.0.0, not 2.0.0.
8
+
9
+ The merge commit set `version` by hand _and_ carried a major changeset, so
10
+ changesets bumped it a second time. `MIGRATING.md` was the live defect — it told
11
+ a consumer to install `^2.0.0`, which resolves nowhere.
12
+
13
+ ## 3.0.0
14
+
15
+ ### Major Changes
16
+
17
+ - 3e6a6d7: Absorb `@heroiclands/content-build`. The two packages are one.
18
+
19
+ They split by input — content-build read `assets/content/**`, this package read
20
+ `lang/`, `styles/`, `src/` and the manifest template — on the theory that a
21
+ module would use one or the other. No consumer ever did: all three installed
22
+ both, and this package depended on the other besides. What the boundary cost was
23
+ a configuration file with two owners, two CLIs with a colliding `manifest`
24
+ command, and a two-repository dance for changes that touched a single idea.
25
+
26
+ Nothing about how a build works changed. Same modules, same CLI commands, same
27
+ configuration keys, one name.
28
+
29
+ **Breaking:**
30
+
31
+ - `@heroiclands/content-build/*` specifiers become `@heroiclands/package-build/*`.
32
+ - The content configuration contract moves from `./config` to `./content-config`,
33
+ because both packages exported a `./config` meaning different things. This
34
+ package's own `./config` is unchanged.
35
+ - **The configuration file is renamed**: `content-build.config.{yaml,yml,mjs}`
36
+ becomes `package-build.config.{yaml,yml,mjs}`, matching the one package that
37
+ now reads it. The old stem is not accepted — a deprecation window would let a
38
+ repository sit on a filename naming a package that no longer exists. Every key
39
+ inside the file is unchanged.
40
+ - `CONTENT_BUILD_CONFIG` becomes `PACKAGE_BUILD_CONFIG`. The old name is not read.
41
+ - `@heroiclands/content-build` is deprecated and gets no further releases.
42
+
43
+ **Unchanged:** every configuration key, every CLI command and flag — `content-build`
44
+ and `package-build` are both bin entries of the merged package — every engine and
45
+ `sohl` module export, and every compiled document id.
46
+
47
+ See `MIGRATING.md`.
48
+
49
+ ### Patch Changes
50
+
51
+ - 968fed8: Stop publishing a relationship's build-only keys into the manifest.
52
+
53
+ `relationships` was copied verbatim out of `content-build.config.yaml`, and that
54
+ block now has a second reader: content-build 1.8.0 added `itemCatalog: true` as
55
+ an opt-in on a declared dependency, selecting that package's Item packs as a
56
+ resolution source for the actors pass. It is a directive to the build, not a
57
+ fact about the shipped package — so `sohl-kethira-basic` shipped a `module.json`
58
+ whose `relationships.systems[0]` carried `"itemCatalog": true` beside `id`,
59
+ `manifest` and `compatibility`, with nothing to tell a consumer which was which.
60
+ Foundry's relationship schema does not define the key; nothing broke, because
61
+ Foundry ignores what it does not know.
62
+
63
+ The fix is the distinction rather than the one name: `BUILD_ONLY_RELATIONSHIP_KEYS`
64
+ lists the keys that answer _how is this built?_, and `publishedRelationships`
65
+ drops them on the way into the manifest. Everything else is copied — including a
66
+ key this package has never heard of, on the same reasoning that lets a declared
67
+ manifest key through unread. A list is enough here, and needs no prefix agreed
68
+ between the two packages, because content-build already normalises a
69
+ relationship to a closed set of keys and rejects the rest at configuration time.
70
+
3
71
  ## 0.6.1
4
72
 
5
73
  ### Patch Changes