@heroiclands/package-build 0.6.0 → 3.0.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/CHANGELOG-content-build.md +965 -0
- package/CHANGELOG.md +95 -0
- package/CONTENT.md +824 -0
- package/MIGRATING.md +127 -0
- package/README.md +29 -17
- package/bin/content-build.mjs +1082 -0
- package/bin/package-build.mjs +2 -2
- package/bin/report.mjs +2 -2
- package/config.mjs +21 -18
- package/content-config.mjs +1424 -0
- package/coverage.mjs +1 -1
- package/e2e.mjs +1 -1
- package/engine/abbreviations.mjs +0 -0
- package/engine/base-compiler.mjs +608 -0
- package/engine/code-fences.mjs +311 -0
- package/engine/compendiums.mjs +353 -0
- package/engine/content-address.mjs +141 -0
- package/engine/content-links.mjs +438 -0
- package/engine/content-lint.mjs +204 -0
- package/engine/content-package.mjs +67 -0
- package/engine/content-slug.mjs +169 -0
- package/engine/content-tables.mjs +1216 -0
- package/engine/content-tree.mjs +56 -0
- package/engine/diagnostics.mjs +270 -0
- package/engine/field-reference.mjs +242 -0
- package/engine/field-spec.mjs +218 -0
- package/engine/foreign-catalog.mjs +450 -0
- package/engine/foreign-manifests.mjs +129 -0
- package/engine/frontmatter-lint.mjs +343 -0
- package/engine/frontmatter.mjs +258 -0
- package/engine/generate.mjs +305 -0
- package/engine/helpers.mjs +809 -0
- package/engine/ids.mjs +192 -0
- package/engine/index.mjs +142 -0
- package/engine/item-docs.mjs +153 -0
- package/engine/item-registry.mjs +129 -0
- package/engine/journals.mjs +374 -0
- package/engine/kb-manifest.mjs +473 -0
- package/engine/macros.mjs +333 -0
- package/engine/manifest-emit.mjs +339 -0
- package/engine/map-notes.mjs +1302 -0
- package/engine/pack-config.mjs +479 -0
- package/engine/pack-router.mjs +254 -0
- package/engine/prose-config.mjs +238 -0
- package/engine/prose-lint.mjs +294 -0
- package/engine/region-events.mjs +79 -0
- package/engine/scene-levels.mjs +420 -0
- package/engine/scenes.mjs +528 -0
- package/engine/site-build.mjs +778 -0
- package/engine/site-index.mjs +332 -0
- package/engine/web-wikilinks.mjs +330 -0
- package/engine/wikilink-syntax.mjs +105 -0
- package/engine/wikilinks.mjs +645 -0
- package/index.mjs +42 -25
- package/lang.mjs +1 -1
- package/manifest.mjs +79 -5
- package/markdownlint-config.mjs +45 -0
- package/package.json +78 -34
- package/prettier-config.mjs +34 -0
- package/sohl/actors.mjs +581 -0
- package/sohl/affiliation-standings.mjs +44 -0
- package/sohl/being-info.mjs +173 -0
- package/sohl/default-item-art.mjs +82 -0
- package/sohl/index.mjs +55 -0
- package/sohl/item-builders.mjs +114 -0
- package/sohl/item-fields.mjs +867 -0
- package/sohl/items.mjs +197 -0
- package/sohl/kb-passes.mjs +207 -0
- package/sohl/note-schemas.mjs +322 -0
- package/templates.mjs +1 -1
- package/types/config.d.mts +1 -1
- package/types/content-config.d.mts +571 -0
- package/types/engine/abbreviations.d.mts +44 -0
- package/types/engine/base-compiler.d.mts +320 -0
- package/types/engine/code-fences.d.mts +102 -0
- package/types/engine/compendiums.d.mts +77 -0
- package/types/engine/content-address.d.mts +61 -0
- package/types/engine/content-links.d.mts +87 -0
- package/types/engine/content-lint.d.mts +47 -0
- package/types/engine/content-package.d.mts +36 -0
- package/types/engine/content-slug.d.mts +59 -0
- package/types/engine/content-tables.d.mts +131 -0
- package/types/engine/content-tree.d.mts +12 -0
- package/types/engine/diagnostics.d.mts +152 -0
- package/types/engine/field-reference.d.mts +20 -0
- package/types/engine/field-spec.d.mts +181 -0
- package/types/engine/foreign-catalog.d.mts +103 -0
- package/types/engine/foreign-manifests.d.mts +43 -0
- package/types/engine/frontmatter-lint.d.mts +74 -0
- package/types/engine/frontmatter.d.mts +99 -0
- package/types/engine/generate.d.mts +56 -0
- package/types/engine/helpers.d.mts +348 -0
- package/types/engine/ids.d.mts +126 -0
- package/types/engine/index.d.mts +33 -0
- package/types/engine/item-docs.d.mts +73 -0
- package/types/engine/item-registry.d.mts +57 -0
- package/types/engine/journals.d.mts +121 -0
- package/types/engine/kb-manifest.d.mts +214 -0
- package/types/engine/macros.d.mts +201 -0
- package/types/engine/manifest-emit.d.mts +137 -0
- package/types/engine/map-notes.d.mts +283 -0
- package/types/engine/pack-config.d.mts +77 -0
- package/types/engine/pack-router.d.mts +53 -0
- package/types/engine/prose-config.d.mts +121 -0
- package/types/engine/prose-lint.d.mts +59 -0
- package/types/engine/region-events.d.mts +43 -0
- package/types/engine/scene-levels.d.mts +36 -0
- package/types/engine/scenes.d.mts +48 -0
- package/types/engine/site-build.d.mts +214 -0
- package/types/engine/site-index.d.mts +141 -0
- package/types/engine/web-wikilinks.d.mts +67 -0
- package/types/engine/wikilink-syntax.d.mts +101 -0
- package/types/engine/wikilinks.d.mts +172 -0
- package/types/index.d.mts +3 -0
- package/types/manifest.d.mts +52 -4
- package/types/markdownlint-config.d.mts +8 -0
- package/types/prettier-config.d.mts +1 -0
- package/types/sohl/actors.d.mts +65 -0
- package/types/sohl/affiliation-standings.d.mts +22 -0
- package/types/sohl/being-info.d.mts +78 -0
- package/types/sohl/default-item-art.d.mts +28 -0
- package/types/sohl/index.d.mts +7 -0
- package/types/sohl/item-builders.d.mts +11 -0
- package/types/sohl/item-fields.d.mts +20 -0
- package/types/sohl/items.d.mts +19 -0
- package/types/sohl/kb-passes.d.mts +71 -0
- package/types/sohl/note-schemas.d.mts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,100 @@
|
|
|
1
1
|
# @heroiclands/package-build
|
|
2
2
|
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 3e6a6d7: Absorb `@heroiclands/content-build`. The two packages are one.
|
|
8
|
+
|
|
9
|
+
They split by input — content-build read `assets/content/**`, this package read
|
|
10
|
+
`lang/`, `styles/`, `src/` and the manifest template — on the theory that a
|
|
11
|
+
module would use one or the other. No consumer ever did: all three installed
|
|
12
|
+
both, and this package depended on the other besides. What the boundary cost was
|
|
13
|
+
a configuration file with two owners, two CLIs with a colliding `manifest`
|
|
14
|
+
command, and a two-repository dance for changes that touched a single idea.
|
|
15
|
+
|
|
16
|
+
Nothing about how a build works changed. Same modules, same CLI commands, same
|
|
17
|
+
configuration keys, one name.
|
|
18
|
+
|
|
19
|
+
**Breaking:**
|
|
20
|
+
|
|
21
|
+
- `@heroiclands/content-build/*` specifiers become `@heroiclands/package-build/*`.
|
|
22
|
+
- The content configuration contract moves from `./config` to `./content-config`,
|
|
23
|
+
because both packages exported a `./config` meaning different things. This
|
|
24
|
+
package's own `./config` is unchanged.
|
|
25
|
+
- **The configuration file is renamed**: `content-build.config.{yaml,yml,mjs}`
|
|
26
|
+
becomes `package-build.config.{yaml,yml,mjs}`, matching the one package that
|
|
27
|
+
now reads it. The old stem is not accepted — a deprecation window would let a
|
|
28
|
+
repository sit on a filename naming a package that no longer exists. Every key
|
|
29
|
+
inside the file is unchanged.
|
|
30
|
+
- `CONTENT_BUILD_CONFIG` becomes `PACKAGE_BUILD_CONFIG`. The old name is not read.
|
|
31
|
+
- `@heroiclands/content-build` is deprecated and gets no further releases.
|
|
32
|
+
|
|
33
|
+
**Unchanged:** every configuration key, every CLI command and flag — `content-build`
|
|
34
|
+
and `package-build` are both bin entries of the merged package — every engine and
|
|
35
|
+
`sohl` module export, and every compiled document id.
|
|
36
|
+
|
|
37
|
+
See `MIGRATING.md`.
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- 968fed8: Stop publishing a relationship's build-only keys into the manifest.
|
|
42
|
+
|
|
43
|
+
`relationships` was copied verbatim out of `content-build.config.yaml`, and that
|
|
44
|
+
block now has a second reader: content-build 1.8.0 added `itemCatalog: true` as
|
|
45
|
+
an opt-in on a declared dependency, selecting that package's Item packs as a
|
|
46
|
+
resolution source for the actors pass. It is a directive to the build, not a
|
|
47
|
+
fact about the shipped package — so `sohl-kethira-basic` shipped a `module.json`
|
|
48
|
+
whose `relationships.systems[0]` carried `"itemCatalog": true` beside `id`,
|
|
49
|
+
`manifest` and `compatibility`, with nothing to tell a consumer which was which.
|
|
50
|
+
Foundry's relationship schema does not define the key; nothing broke, because
|
|
51
|
+
Foundry ignores what it does not know.
|
|
52
|
+
|
|
53
|
+
The fix is the distinction rather than the one name: `BUILD_ONLY_RELATIONSHIP_KEYS`
|
|
54
|
+
lists the keys that answer _how is this built?_, and `publishedRelationships`
|
|
55
|
+
drops them on the way into the manifest. Everything else is copied — including a
|
|
56
|
+
key this package has never heard of, on the same reasoning that lets a declared
|
|
57
|
+
manifest key through unread. A list is enough here, and needs no prefix agreed
|
|
58
|
+
between the two packages, because content-build already normalises a
|
|
59
|
+
relationship to a closed set of keys and rejects the rest at configuration time.
|
|
60
|
+
|
|
61
|
+
## 0.6.1
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- e5cfbbb: Move the release workflow to `changesets/action@v2`.
|
|
66
|
+
|
|
67
|
+
v2 renamed four of the inputs this workflow passes — `version` →
|
|
68
|
+
`version-script`, `publish` → `publish-script`, `commit` → `commit-message`,
|
|
69
|
+
`title` → `pr-title` — and **rejects the old names outright** rather than
|
|
70
|
+
warning and carrying on. So the bump and the rename have to land in the same
|
|
71
|
+
commit.
|
|
72
|
+
|
|
73
|
+
Taken deliberately rather than waiting for Dependabot, because Dependabot bumps
|
|
74
|
+
the pin without touching the inputs, and that combination has already broken the
|
|
75
|
+
release pipeline in three sibling repositories:
|
|
76
|
+
Song-of-Heroic-Lands-FoundryVTT#1729, sohl-thalorna#71 and
|
|
77
|
+
sohl-kethira-basic#42. In the first of those it went unnoticed for over two
|
|
78
|
+
weeks — a failing release job looks exactly like a repository nobody has
|
|
79
|
+
released lately.
|
|
80
|
+
|
|
81
|
+
Nothing else had to move: `version-script` already calls an npm script (#25), and
|
|
82
|
+
one command is what v2's tokenized, never-shelled input requires.
|
|
83
|
+
- d4a5a6e: Take `@heroiclands/content-build` 1.8.2.
|
|
84
|
+
|
|
85
|
+
The declared range was `^1.0.0`, which permitted this all along — the lockfile
|
|
86
|
+
was the thing four minors behind, pinned at **1.4.0**. So the two packages were
|
|
87
|
+
built and tested against a version no consumer would actually resolve. Pinning
|
|
88
|
+
the range at `^1.8.2` and refreshing the lockfile makes what CI tests and what a
|
|
89
|
+
consumer installs the same thing.
|
|
90
|
+
|
|
91
|
+
The jump matters more than a patch bump suggests: package-build imports
|
|
92
|
+
`loadPackConfig` from `content-build/engine/pack-config`, and 1.4.0 predates
|
|
93
|
+
both the move to YAML configuration and the switch to lazy config accessors.
|
|
94
|
+
Verified against the new version rather than assumed — 293 tests pass,
|
|
95
|
+
`build:types` and `format:check` are clean, and the CLI resolves its
|
|
96
|
+
configuration and lists its commands.
|
|
97
|
+
|
|
3
98
|
## 0.6.0
|
|
4
99
|
|
|
5
100
|
### Minor Changes
|