@heroiclands/package-build 23.5.0 → 23.6.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.md +33 -0
- package/bin/content-commands.mjs +23 -5
- package/bin/package-build.mjs +1 -74
- package/docs/api.md +9 -0
- package/docs/authoring/links-and-markup.md +77 -12
- package/docs/commands.md +4 -48
- package/docs/content-format.md +16 -0
- package/docs/diagnostics.md +1 -2
- package/docs/guides/module-project.md +1 -1
- package/docs/guides/reference-pages.md +89 -0
- package/docs/guides/release-and-deploy.md +3 -3
- package/docs/project-setup.md +16 -59
- package/docs/reference/format-details.md +533 -84
- package/docs/reference/note-types.md +191 -149
- package/engine/base-compiler.mjs +21 -0
- package/engine/cdn-publish.mjs +30 -5
- package/engine/content-format.yaml +9 -0
- package/engine/content-index.mjs +19 -5
- package/engine/culture-reach.mjs +330 -0
- package/engine/dictionary-layout.mjs +340 -0
- package/engine/dictionary-rows.mjs +608 -0
- package/engine/glossary-entries.mjs +182 -0
- package/engine/glossary-language.mjs +99 -0
- package/engine/index.mjs +1 -0
- package/engine/infobox.mjs +8 -0
- package/engine/language-words.mjs +360 -0
- package/engine/literature-notes.mjs +10 -8
- package/engine/note-addresses.mjs +25 -0
- package/engine/note-vocabulary.mjs +161 -1
- package/engine/path-charset.mjs +120 -0
- package/engine/project-init.mjs +4 -29
- package/engine/sql-tables.mjs +311 -21
- package/engine/word-classes.mjs +167 -0
- package/engine/word-rows.mjs +233 -0
- package/engine/word-terms.mjs +306 -0
- package/package.json +2 -4
- package/types/engine/cdn-publish.d.mts +26 -25
- package/types/engine/content-index.d.mts +15 -5
- package/types/engine/culture-reach.d.mts +66 -0
- package/types/engine/dictionary-layout.d.mts +69 -0
- package/types/engine/dictionary-rows.d.mts +39 -0
- package/types/engine/glossary-entries.d.mts +12 -0
- package/types/engine/glossary-language.d.mts +42 -0
- package/types/engine/index.d.mts +1 -0
- package/types/engine/language-words.d.mts +33 -0
- package/types/engine/literature-notes.d.mts +2 -2
- package/types/engine/note-addresses.d.mts +17 -0
- package/types/engine/path-charset.d.mts +38 -0
- package/types/engine/sql-tables.d.mts +7 -2
- package/types/engine/word-classes.d.mts +87 -0
- package/types/engine/word-rows.d.mts +64 -0
- package/types/engine/word-terms.d.mts +68 -0
- package/labels.mjs +0 -191
- package/types/labels.d.mts +0 -40
package/docs/project-setup.md
CHANGED
|
@@ -30,8 +30,7 @@ acme-bestiary/
|
|
|
30
30
|
│ ├── config.json
|
|
31
31
|
│ └── *.md # one per unreleased change
|
|
32
32
|
├── .github/
|
|
33
|
-
│ ├──
|
|
34
|
-
│ ├── ISSUE_REPORTING.md # §3 lists the same labels
|
|
33
|
+
│ │ ├── ISSUE_REPORTING.md # how issues are filed
|
|
35
34
|
│ └── workflows/
|
|
36
35
|
├── assets/
|
|
37
36
|
│ └── content/ # authored Markdown notes
|
|
@@ -161,19 +160,18 @@ anything to remove.
|
|
|
161
160
|
|
|
162
161
|
### `lint:*` — the checks, one per question
|
|
163
162
|
|
|
164
|
-
|
|
163
|
+
Six checks, each answering one question and blind to what the others see.
|
|
165
164
|
They are separate scripts rather than one because a failing chain stops at its
|
|
166
165
|
first failure, and knowing _which_ question failed is most of the diagnosis.
|
|
167
166
|
|
|
168
167
|
```json
|
|
169
|
-
"lint": "run-s lint:format lint:markdown lint:addresses lint:content-links lint:lang lint:
|
|
168
|
+
"lint": "run-s lint:format lint:markdown lint:addresses lint:content-links lint:lang lint:changelog",
|
|
170
169
|
"lint:format": "package-build format",
|
|
171
170
|
"lint:markdown": "package-build markdown",
|
|
172
171
|
"lint:markdown:fix": "package-build markdown --fix",
|
|
173
172
|
"lint:addresses": "package-build lint",
|
|
174
173
|
"lint:content-links": "package-build links",
|
|
175
174
|
"lint:lang": "package-build lang check",
|
|
176
|
-
"lint:labels": "package-build labels check",
|
|
177
175
|
"lint:changelog": "package-build changelog check"
|
|
178
176
|
```
|
|
179
177
|
|
|
@@ -194,9 +192,6 @@ first failure, and knowing _which_ question failed is most of the diagnosis.
|
|
|
194
192
|
`package-build lang coverage` and `package-build lang hardcoded`; a
|
|
195
193
|
content-only package has nothing for those two to read, and each dies naming
|
|
196
194
|
the glob that matched nothing rather than passing vacuously.
|
|
197
|
-
- **`lint:labels`** — do `.github/labels.yml` and §3 of
|
|
198
|
-
`.github/ISSUE_REPORTING.md` still list the same labels? Neither derives from
|
|
199
|
-
the other, so nothing else notices when they drift.
|
|
200
195
|
- **`lint:changelog`** — does every pending `.changeset/*.md` read like a
|
|
201
196
|
release note rather than a pasted pull-request description? Passes
|
|
202
197
|
trivially when nothing is pending: no pull request is required to carry a
|
|
@@ -499,46 +494,9 @@ tool:
|
|
|
499
494
|
|
|
500
495
|
## `.github/`
|
|
501
496
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
source of truth, synced to GitHub by the org-wide `labels` action. A label on
|
|
506
|
-
GitHub that is not listed there is deleted on the next sync, which is what makes
|
|
507
|
-
the set closed and why nothing invents one.
|
|
508
|
-
|
|
509
|
-
```yaml
|
|
510
|
-
- name: documentation
|
|
511
|
-
color: "0075ca"
|
|
512
|
-
description: Documentation about this repository — README, process, authoring guides.
|
|
513
|
-
|
|
514
|
-
- name: devops
|
|
515
|
-
color: "e07b31"
|
|
516
|
-
description: Build, tooling, CI, release, repo config.
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
**`.github/ISSUE_REPORTING.md`** §3 is the same list in prose, for a human
|
|
520
|
-
filing an issue. `package-build labels check` compares the two and fails when
|
|
521
|
-
they disagree:
|
|
522
|
-
|
|
523
|
-
```console
|
|
524
|
-
$ npx package-build labels check
|
|
525
|
-
package-build: registry and §3 agree (2 labels).
|
|
526
|
-
```
|
|
527
|
-
|
|
528
|
-
Neither file derives from the other, so this check is the only thing standing
|
|
529
|
-
between them and a silent divergence. Editing the registry means editing both.
|
|
530
|
-
|
|
531
|
-
Labels are **subject matter only**. Work shape — bug, feature, epic, task, spike
|
|
532
|
-
— is an issue _type_, shared across the organization, so there is no `bug` label
|
|
533
|
-
and filtering on one returns nothing.
|
|
534
|
-
|
|
535
|
-
Neither file exists in a fresh repository, and `labels check` says so rather
|
|
536
|
-
than passing vacuously:
|
|
537
|
-
|
|
538
|
-
```console
|
|
539
|
-
$ npx package-build labels check
|
|
540
|
-
package-build: labels check: .github/labels.yml does not exist.
|
|
541
|
-
```
|
|
497
|
+
**`.github/ISSUE_REPORTING.md`** says how issues are filed. Labels are
|
|
498
|
+
organisation-level and defined in `HeroicLands/.github`, so the repository
|
|
499
|
+
carries no label registry of its own.
|
|
542
500
|
|
|
543
501
|
`.github/workflows/` then carries the repository's own CI. The org-wide
|
|
544
502
|
`HeroicLands/.github` repository supplies the shared composite actions those
|
|
@@ -549,17 +507,16 @@ site-deploy workflow, so a fix to any of them reaches every repository at once.
|
|
|
549
507
|
|
|
550
508
|
A summary, because "where does this come from" is the question that recurs.
|
|
551
509
|
|
|
552
|
-
| Read
|
|
553
|
-
|
|
|
554
|
-
| `package.json`
|
|
555
|
-
| `package-build.config.yaml`
|
|
556
|
-
| `assets/content/**/*.md`
|
|
557
|
-
| `.gitignore`
|
|
558
|
-
| `.prettierignore`
|
|
559
|
-
|
|
|
560
|
-
| `
|
|
561
|
-
| `.
|
|
562
|
-
| `.github/workflows/build.yml` | The `pre-push` hook, for its step list. |
|
|
510
|
+
| Read | By |
|
|
511
|
+
| ----------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
512
|
+
| `package.json` | The Foundry package id, the version, the release addresses; the site's `baseURL`, description and author. |
|
|
513
|
+
| `package-build.config.yaml` | Everything else about the build. |
|
|
514
|
+
| `assets/content/**/*.md` | Every content command. |
|
|
515
|
+
| `.gitignore` | `package-build format`, `package-build markdown`. |
|
|
516
|
+
| `.prettierignore` | `package-build format`. |
|
|
517
|
+
| `lang/*.json` | `package-build lang`. |
|
|
518
|
+
| `.env.local` | `package-build deploy`. |
|
|
519
|
+
| `.github/workflows/build.yml` | The `pre-push` hook, for its step list. |
|
|
563
520
|
|
|
564
521
|
Everything written goes under `build/`. Nothing the toolchain generates is
|
|
565
522
|
committed.
|