@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 +23 -0
- package/package.json +7 -7
- package/src/manifest.js +5 -3
- package/src/manifest.test.js +6 -4
- package/src/workload.test.js +4 -2
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.
|
|
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.
|
|
25
|
-
"@toa.io/core": "1.0.0-alpha.
|
|
26
|
-
"@toa.io/definitions": "1.0.0-alpha.
|
|
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.
|
|
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.
|
|
31
|
+
"dotenv": "18.0.9",
|
|
32
32
|
"openspan": "1.0.0-alpha.330"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
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,
|
|
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
|
-
|
|
82
|
-
|
|
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
|
|
package/src/manifest.test.js
CHANGED
|
@@ -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()
|
package/src/workload.test.js
CHANGED
|
@@ -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
|
|