@toa.io/boot 1.0.0-alpha.332 → 1.0.0-alpha.335

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 CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-alpha.335](https://github.com/toa-io/toa/compare/v1.0.0-alpha.334...v1.0.0-alpha.335) (2026-10-26)
7
+
8
+ **Note:** Version bump only for package @toa.io/boot
9
+
10
+
11
+
12
+
13
+
14
+ # [1.0.0-alpha.334](https://github.com/toa-io/toa/compare/v1.0.0-alpha.333...v1.0.0-alpha.334) (2026-10-26)
15
+
16
+ ### Bug Fixes
17
+
18
+ * **boot:** a service reads every component an extension ships from the digest ([f43641b](https://github.com/toa-io/toa/commit/f43641b1d5e641c89ab49b489fdb944b106300b3))
19
+
20
+
21
+ # [1.0.0-alpha.333](https://github.com/toa-io/toa/compare/v1.0.0-alpha.332...v1.0.0-alpha.333) (2026-10-26)
22
+
23
+ **Note:** Version bump only for package @toa.io/boot
24
+
25
+
26
+
27
+
28
+
6
29
  # [1.0.0-alpha.332](https://github.com/toa-io/toa/compare/v1.0.0-alpha.331...v1.0.0-alpha.332) (2026-10-23)
7
30
 
8
31
  **Note:** Version bump only for package @toa.io/boot
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toa.io/boot",
3
- "version": "1.0.0-alpha.332",
3
+ "version": "1.0.0-alpha.335",
4
4
  "type": "module",
5
5
  "description": "Toa Boot",
6
6
  "author": "temich <tema.gurtovoy@gmail.com>",
@@ -21,15 +21,15 @@
21
21
  "test": "echo \"Error: run tests from root\" && exit 1"
22
22
  },
23
23
  "dependencies": {
24
- "@toa.io/atomicity": "1.0.0-alpha.332",
25
- "@toa.io/core": "1.0.0-alpha.332",
26
- "@toa.io/definitions": "1.0.0-alpha.332",
24
+ "@toa.io/atomicity": "1.0.0-alpha.333",
25
+ "@toa.io/core": "1.0.0-alpha.333",
26
+ "@toa.io/definitions": "1.0.0-alpha.335",
27
27
  "@toa.io/generic": "1.0.0-alpha.332",
28
- "@toa.io/norm": "1.0.0-alpha.332",
28
+ "@toa.io/norm": "1.0.0-alpha.335",
29
29
  "@toa.io/schemas": "1.0.0-alpha.332",
30
30
  "clone-deep": "4.0.1",
31
- "dotenv": "18.0.8",
31
+ "dotenv": "18.0.9",
32
32
  "openspan": "1.0.0-alpha.330"
33
33
  },
34
- "gitHead": "37dbdefd96c01df050ea0d46a647da7f2f9f93f2"
34
+ "gitHead": "07f9c76f161c9422d9126deaecf468ec50bb54a3"
35
35
  }
package/src/manifest.js CHANGED
@@ -3,7 +3,8 @@ import { existsSync, readFileSync } from 'node:fs'
3
3
  import { readFile } from 'node:fs/promises'
4
4
  import { basename, dirname, join } from 'node:path'
5
5
  import { merge } from '@toa.io/generic'
6
- import { component as load, definition, revive, NORMALIZED } from '@toa.io/norm'
6
+ import { component as load, revive, NORMALIZED } from '@toa.io/norm'
7
+ import { shipped } from '@toa.io/definitions/digest'
7
8
  import { Locator } from '@toa.io/core'
8
9
 
9
10
  import { span } from './span.js'
@@ -78,8 +79,9 @@ async function digested(path) {
78
79
  // the digest is of what Toa ships, and a package it does not define has none
79
80
  if (name === undefined || !name.startsWith(SCOPE)) return undefined
80
81
 
81
- const { module } = await definition(name)
82
- const { labels, manifests } = module.components?.() ?? {}
82
+ // every component the extension ships, not those a definition deploys by default: what an
83
+ // annotation adds, such as the encounters of Chronicles, runs in the service all the same
84
+ const { labels, manifests } = shipped(name.slice(SCOPE.length)) ?? {}
83
85
 
84
86
  if (manifests === undefined) return undefined
85
87
 
@@ -22,15 +22,17 @@ mock.module('@toa.io/norm', {
22
22
 
23
23
  return mockComponent()
24
24
  },
25
- definition: async (reference) => ({
26
- module:
27
- reference === '@toa.io/extensions.exposition' ? { components: () => digest } : {}
28
- }),
29
25
  revive: (declared, path) => ({ ...declared, path }),
30
26
  NORMALIZED
31
27
  }
32
28
  })
33
29
 
30
+ mock.module('@toa.io/definitions/digest', {
31
+ namedExports: {
32
+ shipped: (suffix) => (suffix === 'extensions.exposition' ? digest : undefined)
33
+ }
34
+ })
35
+
34
36
  const { manifest } = await import('./manifest.js')
35
37
 
36
38
  const path = generate()
@@ -110,10 +110,12 @@ describe('Workload', () => {
110
110
  // a hundredth of a second, so the window is over before the assertions are
111
111
  workload.stop(0.01)
112
112
 
113
- // `-gated` and not `-above`: what a gate holds is closed, and nothing else is
113
+ // `-gated` and not `-above`: what a gate holds is closed, and nothing else is. The window is
114
+ // over by the time a poll sees it, and may be over by the time it is seen: what follows is
115
+ // the rebuild, asserted below
114
116
  await until(() => sequence.includes('*gated'))
115
117
 
116
- assert.deepStrictEqual(sequence, ['-gated', '*gated'])
118
+ assert.deepStrictEqual(sequence.slice(0, 2), ['-gated', '*gated'])
117
119
 
118
120
  await until(() => built === 2)
119
121