Repository navigation
Commit c3a4c74
fix(lint): the translation rule's remaining collection rungs read what the artifact's packages[] provide (#19625)
Fixes #19349
`translation-target-unknown` built the universe for six collection rungs
from the top-level collection alone, while the same file already read
`packages[].manifest.…` for three others. On `os build`'s per-package
leg a package translating what a SIBLING package of the same artifact
declares was reported as an orphan at `error` — a loud, wrong refusal
whose remedy deletes a translation the runtime honours.
Clause-②: no
## Line numbers, re-derived by SHAPE on my own tree — and the card's
divergence resolved
The card records two seats' numbers differing by about 90 lines and
deliberately does not guess the cause. Re-derived at merge base
`0b4022b41c`, by grepping for `recordsOf(stack.CONST)` and its
`recordsOf(stack.packages)` siblings rather than by coordinate:
```
reads packages[] ALREADY only the TOP-LEVEL collection
:733 navigationContributions :964 objects (closed by #19064 / PR #19347)
:828 objectExtensions :1034 views
:886 objects (#19064) :1040 pages
:1060 actions
:1091 apps
:1146 dashboards
:1177 flows
```
⭐ The divergence is arithmetic, not a mystery. Every one of the six
shifted by **exactly +96**:
```
views 938->1034 · pages 944->1040 · actions 964->1060
apps 995->1091 · dashboards 1050->1146 · flows 1081->1177 all delta = +96
```
PR #19347's net change to this one file is `+104 / -8` = **+96**, and it
inserted `artifactProvidedObjects` and its docblock ABOVE every
collection rung. So the triage seat measured on `2277d1fcd1` (before
#19347 landed) and the construction seat's numbers were taken with
#19347 applied. Neither set was wrong; they named different trees. My
tree is post-merge and matches the construction seat exactly.
## The reproduction — both layers probed first-hand, ⛔ nothing inherited
A throwaway probe (deleted in the same act; `git status --porcelain`
verified empty, 0 lines) ran every level on the per-package leg
`packageBodyAsStack(body, entries)` builds. **Layer A re-reproduced**
rather than relayed, **layer B probed** where the card explicitly had
not:
| layer | level | probe result |
|:--|:--|:--|
| A | `dashboards` | 1 `error` ·
`translations[0]["zh-CN"].dashboards.crm_overview` |
| A | `flows` | 1 `error` · `….flows.lead_conversion` |
| A | `globalActions` | 1 `error` · `….globalActions.export_all` |
| ⭐ B | `views` | 1 `error` · `….objects.crm_order._views.board` |
| ⭐ B | `pages` | 1 `error` · `….objects.crm_order._tabs.mine` |
| ⭐ B | `apps` | 1 `error` · `….apps.crm_app` |
⭐ **`apps` is partly covered, and the card was right to demand that be
judged first — but BOTH halves were broken.** #18442 closed the
*contributed-app* level, which reads `manifest.navigationContributions`:
contributions, never declarations. A sibling's `apps[]` declaration was
invisible either way, so a second probe was run:
- **contributing nothing** into the sibling's app, the app NAME itself
is the orphan (the reading above);
- **contributing one item**, the name resolves through #18442, but the
owner's own navigation ids are orphans — 1 `error` at
`….apps.crm_app.navigation.leads`, diagnosed "this stack contributes no
such item", advising a move to a package sitting in the same artifact.
⇒ #18442 covers neither half of the DECLARATION question. Both are
closed here.
1 parent 49d5069 commit c3a4c74
3 files changed
Lines changed: 628 additions & 22 deletions
File tree
- .changeset
- packages/lint/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
0 commit comments