Say in the go and nodejs READMEs what holds at this step, and what holds once the users require them (review of issue 1573 step A)
mesh/merge-gate head ceb42b0e920e merged into trunk 5efd84e93e38 — pass: builds new: modules/go, modules/nodejs, sent nowhere; no bus step; every machine c…
mesh/repo-check head ceb42b0e920e merged into trunk 5efd84e93e38 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/delivery delivered
mesh/merge-gate head ceb42b0e920e merged into trunk 5efd84e93e38 — pass: builds new: modules/go, modules/nodejs, sent nowhere; no bus step; every machine c…
mesh/repo-check head ceb42b0e920e merged into trunk 5efd84e93e38 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/delivery delivered
This commit is contained in:
@@ -2,11 +2,13 @@
|
||||
|
||||
Node.js and npm as a module (novox/hq ADR 0477 §4, issue 1573).
|
||||
|
||||
- **Owns the packages `nodejs` and `npm`.** No other module declares them (`checks/toolchains` refuses one that
|
||||
does).
|
||||
- **Provides `node-toolchain` with the machine's reach**: dev-tools, lab and mesh-build-node require it, and the
|
||||
requirement is met only by this module on the same machine. It is never pulled in for whatever asked, so
|
||||
`nodejs` is assigned to a node on purpose, and a node without it refuses a module that needs it at resolution.
|
||||
- **Declares the packages `nodejs` and `npm`.** Today dev-tools, lab and mesh-build-node declare some of them too,
|
||||
which the resolver allows (ADR 0303); once they require `node-toolchain` instead (issue 1573's second step), this
|
||||
is the only module that declares them, and `checks/toolchains` refuses another.
|
||||
- **Provides `node-toolchain` with the machine's reach**: a module that requires it composes only on a machine where
|
||||
this module is assigned. It is never pulled in for whatever asked, so `nodejs` is assigned to a node on purpose.
|
||||
Nothing requires it yet; dev-tools, lab and mesh-build-node will, in the second step.
|
||||
- Holds no long-running resource, so it adds nothing to `health-undeclared`.
|
||||
|
||||
The node-engine never uninstalls a package, so moving the declaration here removes nothing from a node.
|
||||
The node-engine never uninstalls a package, so when the users stop declaring `nodejs` and `npm`, nothing leaves a
|
||||
node that has this module.
|
||||
|
||||
Reference in New Issue
Block a user