@jterrazz/test 16.1.1 → 17.0.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/README.md +45 -171
- package/dist/browser/index.js +2 -2980
- package/dist/browser/services.js +2 -0
- package/dist/browser/stubs.js +2 -0
- package/dist/checker.d.ts +6 -1
- package/dist/checker.js +4534 -2628
- package/dist/config.d.ts +40 -0
- package/dist/config.js +309 -0
- package/dist/in-place.global-setup.d.ts +11 -0
- package/dist/in-place.global-setup.js +21 -0
- package/dist/index.d.ts +1653 -3004
- package/dist/index.js +5226 -3845
- package/dist/mobile-session.global-setup.d.ts +14 -0
- package/dist/mobile-session.global-setup.js +31 -0
- package/dist/oxlint.cjs +6069 -5634
- package/dist/oxlint.d.cts +43 -7212
- package/dist/oxlint.d.ts +43 -7212
- package/dist/oxlint.js +6127 -5693
- package/dist/route-coverage.global-setup.d.ts +42 -0
- package/dist/route-coverage.global-setup.js +2 -0
- package/dist/services.d.ts +3 -0
- package/dist/services.global-setup.d.ts +43 -0
- package/dist/services.global-setup.js +2 -0
- package/dist/services.js +597 -0
- package/dist/shared-appium.adapter.js +428 -0
- package/dist/shared-artifacts.js +32 -0
- package/dist/shared-chapter.js +7 -0
- package/dist/shared-container.port.d.ts +31 -0
- package/dist/shared-derived-projects.js +58 -0
- package/dist/shared-device.port.d.ts +189 -0
- package/dist/shared-exchange.js +447 -0
- package/dist/shared-in-place.js +172 -0
- package/dist/shared-index.browser.js +3191 -0
- package/dist/shared-index.services.d.ts +346 -0
- package/dist/shared-index.stubs.d.ts +287 -0
- package/dist/shared-json-shape.js +17 -0
- package/dist/shared-landmarks.js +71 -0
- package/dist/shared-ledger.js +68 -0
- package/dist/shared-literate-plugin.js +183 -0
- package/dist/shared-manifest.js +1321 -0
- package/dist/shared-pause.js +11 -0
- package/dist/shared-peer.js +88 -0
- package/dist/shared-playwright.adapter.js +330 -0
- package/dist/shared-process.adapter.js +74 -0
- package/dist/shared-refusal.js +35 -0
- package/dist/shared-resolve.js +24 -0
- package/dist/shared-route-coverage.global-setup.js +187 -0
- package/dist/shared-scenario-failure.js +198 -0
- package/dist/shared-serve.js +365 -0
- package/dist/shared-service-images.js +10 -0
- package/dist/shared-services.global-setup.js +179 -0
- package/dist/shared-session-ledger.js +301 -0
- package/dist/shared-setup-entry.js +12 -0
- package/dist/shared-source-scan.js +133 -0
- package/dist/shared-spec-document.js +365 -0
- package/dist/shared-specifications.js +26 -0
- package/dist/shared-stream-body.js +130 -0
- package/dist/shared-stub-server.js +190 -0
- package/dist/shared-temp-root.global-setup.js +80 -0
- package/dist/shared-test-baseline.js +26 -0
- package/dist/shared-test-section.js +58 -0
- package/dist/shared-testcontainers.adapter.js +203 -0
- package/dist/shared-tokens.js +55 -0
- package/dist/shared-yaml-document.js +119 -0
- package/dist/stubs.d.ts +2 -0
- package/dist/stubs.js +657 -0
- package/dist/temp-root.global-setup.d.ts +7 -0
- package/dist/temp-root.global-setup.js +2 -0
- package/dist/vitest.d.ts +97 -163
- package/dist/vitest.js +373 -525
- package/docs/README.md +82 -36
- package/docs/concepts/architecture.md +118 -0
- package/docs/concepts/conventions.md +333 -0
- package/docs/guides/api-specs.md +374 -0
- package/docs/guides/cli-specs.md +564 -0
- package/docs/guides/component-specs.md +252 -0
- package/docs/guides/develop.md +94 -0
- package/docs/guides/integration-specs.md +181 -0
- package/docs/guides/job-specs.md +180 -0
- package/docs/guides/lint-specs.md +174 -0
- package/docs/guides/mobile-specs.md +319 -0
- package/docs/guides/module-tests.md +149 -0
- package/docs/guides/release.md +43 -0
- package/docs/guides/spec-documents.md +189 -0
- package/docs/guides/website-specs.md +413 -0
- package/docs/reference/assertions.md +345 -0
- package/docs/reference/glossary.md +20 -0
- package/docs/reference/linting.md +483 -0
- package/docs/reference/services.md +236 -0
- package/docs/reference/stubs.md +498 -0
- package/docs/reference/time-and-doubles.md +137 -0
- package/docs/reference/tokens.md +258 -0
- package/docs/reference/visitor.md +221 -0
- package/docs/start/getting-started.md +187 -0
- package/docs/start/set-up-a-project.md +214 -0
- package/package.json +50 -30
- package/schema/spec.schema.json +43 -17
- package/dist/appium.adapter.js +0 -489
- package/dist/artifacts.js +0 -32
- package/dist/fixtures.js +0 -110
- package/dist/literate.js +0 -1747
- package/dist/match.js +0 -804
- package/dist/playwright.adapter.js +0 -438
- package/dist/server.js +0 -160
- package/dist/stream.js +0 -321
- package/dist/substring-warning.js +0 -282
- package/docs/01-architecture.md +0 -95
- package/docs/02-developing.md +0 -351
- package/docs/03-testing.md +0 -495
- package/docs/04-operating.md +0 -101
- package/docs/05-module-tests.md +0 -152
- package/docs/06-integration.md +0 -180
- package/docs/07-component.md +0 -246
- package/docs/08-website.md +0 -404
- package/docs/09-mobile.md +0 -270
- package/docs/10-api.md +0 -264
- package/docs/11-jobs.md +0 -157
- package/docs/12-cli.md +0 -677
- package/docs/13-elements.md +0 -248
- package/docs/14-assertions.md +0 -314
- package/docs/15-tokens.md +0 -253
- package/docs/16-contracts.md +0 -438
- package/docs/17-services.md +0 -188
- package/docs/18-conventions.md +0 -332
- package/docs/19-linting.md +0 -512
- package/docs/decisions/001-v9-conventions-on-three-channels.md +0 -50
- package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +0 -49
- package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +0 -84
- package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +0 -81
- package/docs/decisions/005-the-doubles-ladder-is-closed.md +0 -86
- package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +0 -245
- package/docs/decisions/007-compose-mode-leaves-the-package.md +0 -53
- package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +0 -75
- package/docs/decisions/_template.md +0 -22
- package/docs/reference/classes/Matcher.md +0 -120
- package/docs/reference/classes/ProcessHandle.md +0 -368
- package/docs/reference/functions/defineContract.md +0 -39
- package/docs/reference/functions/defineContracts.md +0 -36
- package/docs/reference/functions/disabled.md +0 -28
- package/docs/reference/functions/enabled.md +0 -20
- package/docs/reference/functions/focused.md +0 -26
- package/docs/reference/functions/mockOf.md +0 -79
- package/docs/reference/functions/postgres.md +0 -31
- package/docs/reference/functions/process.md +0 -33
- package/docs/reference/functions/redis.md +0 -28
- package/docs/reference/functions/required.md +0 -41
- package/docs/reference/functions/selected.md +0 -26
- package/docs/reference/functions/sqlite.md +0 -33
- package/docs/reference/functions/testId.md +0 -20
- package/docs/reference/functions/text.md +0 -40
- package/docs/reference/functions/valued.md +0 -28
- package/docs/reference/functions/waitUntil.md +0 -46
- package/docs/reference/functions/within.md +0 -29
- package/docs/reference/index.md +0 -196
- package/docs/reference/interfaces/BaseResult.md +0 -87
- package/docs/reference/interfaces/CallResult.md +0 -160
- package/docs/reference/interfaces/CaptureScope.md +0 -82
- package/docs/reference/interfaces/CliResult.md +0 -253
- package/docs/reference/interfaces/ContainerAccessor.md +0 -166
- package/docs/reference/interfaces/DirectoryAccessor.md +0 -33
- package/docs/reference/interfaces/FetchResult.md +0 -180
- package/docs/reference/interfaces/FilesystemAccessor.md +0 -46
- package/docs/reference/interfaces/HttpResult.md +0 -126
- package/docs/reference/interfaces/JsonAccessor.md +0 -46
- package/docs/reference/interfaces/PageResult.md +0 -356
- package/docs/reference/interfaces/RenderResult.md +0 -72
- package/docs/reference/interfaces/RenderedText.md +0 -110
- package/docs/reference/interfaces/ResponseAccessor.md +0 -47
- package/docs/reference/interfaces/ScreenResult.md +0 -128
- package/docs/reference/interfaces/TableAccessor.md +0 -26
- package/docs/reference/interfaces/TextAccessor.md +0 -96
- package/docs/reference/type-aliases/ApiHandle.md +0 -68
- package/docs/reference/type-aliases/ApiSpecification.md +0 -213
- package/docs/reference/type-aliases/ApiSpecificationOptions.md +0 -68
- package/docs/reference/type-aliases/BrowserConsoleMessage.md +0 -30
- package/docs/reference/type-aliases/BrowserLinkElement.md +0 -50
- package/docs/reference/type-aliases/BrowserMetaElement.md +0 -40
- package/docs/reference/type-aliases/BrowserOpenOptions.md +0 -87
- package/docs/reference/type-aliases/BrowserPage.md +0 -132
- package/docs/reference/type-aliases/BrowserPort.md +0 -51
- package/docs/reference/type-aliases/CliEnv.md +0 -11
- package/docs/reference/type-aliases/CliHandle.md +0 -80
- package/docs/reference/type-aliases/CliInput.md +0 -36
- package/docs/reference/type-aliases/CliOutput.md +0 -46
- package/docs/reference/type-aliases/CliPort.md +0 -58
- package/docs/reference/type-aliases/CliSpecification.md +0 -144
- package/docs/reference/type-aliases/CliSpecificationOptions.md +0 -134
- package/docs/reference/type-aliases/ComponentChain.md +0 -156
- package/docs/reference/type-aliases/ComponentScenario.md +0 -20
- package/docs/reference/type-aliases/ComponentUi.md +0 -47
- package/docs/reference/type-aliases/ComponentVisitor.md +0 -10
- package/docs/reference/type-aliases/ContainerPort.md +0 -113
- package/docs/reference/type-aliases/Contract.md +0 -68
- package/docs/reference/type-aliases/ContractInput.md +0 -13
- package/docs/reference/type-aliases/ContractRequest.md +0 -95
- package/docs/reference/type-aliases/ContractResponder.md +0 -23
- package/docs/reference/type-aliases/ContractResponse.md +0 -78
- package/docs/reference/type-aliases/ContractResponseValue.md +0 -13
- package/docs/reference/type-aliases/Contracts.md +0 -48
- package/docs/reference/type-aliases/DatabaseKeys.md +0 -16
- package/docs/reference/type-aliases/DatabasePort.md +0 -72
- package/docs/reference/type-aliases/DeviceOpenOptions.md +0 -46
- package/docs/reference/type-aliases/DevicePort.md +0 -51
- package/docs/reference/type-aliases/DeviceScreen.md +0 -32
- package/docs/reference/type-aliases/DeviceTimeouts.md +0 -39
- package/docs/reference/type-aliases/DockerSpecConfig.md +0 -43
- package/docs/reference/type-aliases/DomMount.md +0 -21
- package/docs/reference/type-aliases/ElementKind.md +0 -27
- package/docs/reference/type-aliases/ElementMatch.md +0 -74
- package/docs/reference/type-aliases/ElementOptions.md +0 -29
- package/docs/reference/type-aliases/ElementRef.md +0 -128
- package/docs/reference/type-aliases/ExecOptions.md +0 -37
- package/docs/reference/type-aliases/FileAccessor.md +0 -54
- package/docs/reference/type-aliases/HonoApp.md +0 -31
- package/docs/reference/type-aliases/HttpContractFilter.md +0 -49
- package/docs/reference/type-aliases/HttpResponseInit.md +0 -46
- package/docs/reference/type-aliases/HttpStreamInit.md +0 -58
- package/docs/reference/type-aliases/IntegrationHandle.md +0 -46
- package/docs/reference/type-aliases/IntegrationSpecification.md +0 -111
- package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +0 -42
- package/docs/reference/type-aliases/Intercept.md +0 -19
- package/docs/reference/type-aliases/InterceptOptions.md +0 -28
- package/docs/reference/type-aliases/InterceptScope.md +0 -11
- package/docs/reference/type-aliases/IsolationStrategy.md +0 -75
- package/docs/reference/type-aliases/JobHandle.md +0 -34
- package/docs/reference/type-aliases/JobsHandle.md +0 -57
- package/docs/reference/type-aliases/JobsResult.md +0 -16
- package/docs/reference/type-aliases/JobsSpecification.md +0 -94
- package/docs/reference/type-aliases/JobsSpecificationOptions.md +0 -56
- package/docs/reference/type-aliases/LandmarkKind.md +0 -20
- package/docs/reference/type-aliases/LiterateRunFlags.md +0 -27
- package/docs/reference/type-aliases/LiterateServeRegistration.md +0 -70
- package/docs/reference/type-aliases/MatchFixtureOptions.md +0 -27
- package/docs/reference/type-aliases/MatchableRequest.md +0 -61
- package/docs/reference/type-aliases/MatcherKind.md +0 -34
- package/docs/reference/type-aliases/MobileBackendOptions.md +0 -28
- package/docs/reference/type-aliases/MobileElementKind.md +0 -14
- package/docs/reference/type-aliases/MobileElementMatch.md +0 -60
- package/docs/reference/type-aliases/MobileElementRef.md +0 -20
- package/docs/reference/type-aliases/MobileHandle.md +0 -65
- package/docs/reference/type-aliases/MobileScenario.md +0 -20
- package/docs/reference/type-aliases/MobileSpecification.md +0 -51
- package/docs/reference/type-aliases/MobileSpecificationOptions.md +0 -126
- package/docs/reference/type-aliases/MobileVisitor.md +0 -81
- package/docs/reference/type-aliases/MockOfOptions.md +0 -26
- package/docs/reference/type-aliases/MockPort.md +0 -10
- package/docs/reference/type-aliases/PinnedClock.md +0 -10
- package/docs/reference/type-aliases/PostgresOptions.md +0 -32
- package/docs/reference/type-aliases/ProcessOptions.md +0 -112
- package/docs/reference/type-aliases/RedisOptions.md +0 -20
- package/docs/reference/type-aliases/RenderSubject.md +0 -12
- package/docs/reference/type-aliases/ScreenNode.md +0 -67
- package/docs/reference/type-aliases/ServerPort.md +0 -36
- package/docs/reference/type-aliases/ServerResponse.md +0 -46
- package/docs/reference/type-aliases/ServerSpec.md +0 -21
- package/docs/reference/type-aliases/ServiceHandle.md +0 -216
- package/docs/reference/type-aliases/ServiceRecord.md +0 -12
- package/docs/reference/type-aliases/SpecDocument.md +0 -84
- package/docs/reference/type-aliases/SpecEnvToken.md +0 -21
- package/docs/reference/type-aliases/SpecFileAssertion.md +0 -27
- package/docs/reference/type-aliases/SpecFixture.md +0 -30
- package/docs/reference/type-aliases/SpecKind.md +0 -8
- package/docs/reference/type-aliases/SpecRun.md +0 -108
- package/docs/reference/type-aliases/SpecServeEntry.md +0 -40
- package/docs/reference/type-aliases/SpecStream.md +0 -32
- package/docs/reference/type-aliases/SpecificationConfig.md +0 -290
- package/docs/reference/type-aliases/SqliteOptions.md +0 -36
- package/docs/reference/type-aliases/SseEvent.md +0 -58
- package/docs/reference/type-aliases/StreamBody.md +0 -61
- package/docs/reference/type-aliases/TextFilter.md +0 -22
- package/docs/reference/type-aliases/VisitScenario.md +0 -20
- package/docs/reference/type-aliases/Visitor.md +0 -215
- package/docs/reference/type-aliases/WaitUntilOptions.md +0 -46
- package/docs/reference/type-aliases/WebsiteBackendOptions.md +0 -37
- package/docs/reference/type-aliases/WebsiteHandle.md +0 -51
- package/docs/reference/type-aliases/WebsiteSpecification.md +0 -118
- package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +0 -40
- package/docs/reference/variables/anthropic.md +0 -19
- package/docs/reference/variables/banner.md +0 -10
- package/docs/reference/variables/button.md +0 -10
- package/docs/reference/variables/clock.md +0 -16
- package/docs/reference/variables/complementary.md +0 -10
- package/docs/reference/variables/component.md +0 -10
- package/docs/reference/variables/content.md +0 -10
- package/docs/reference/variables/contentinfo.md +0 -10
- package/docs/reference/variables/dialog.md +0 -10
- package/docs/reference/variables/field.md +0 -10
- package/docs/reference/variables/form.md +0 -10
- package/docs/reference/variables/heading.md +0 -10
- package/docs/reference/variables/http.md +0 -40
- package/docs/reference/variables/intercept.md +0 -11
- package/docs/reference/variables/link.md +0 -10
- package/docs/reference/variables/listitem.md +0 -10
- package/docs/reference/variables/main.md +0 -10
- package/docs/reference/variables/match.md +0 -8
- package/docs/reference/variables/navigation.md +0 -10
- package/docs/reference/variables/openai.md +0 -21
- package/docs/reference/variables/option.md +0 -17
- package/docs/reference/variables/region.md +0 -10
- package/docs/reference/variables/row.md +0 -10
- package/docs/reference/variables/search.md +0 -10
- package/docs/reference/variables/specification.md +0 -8
- package/docs/reference/variables/status.md +0 -10
- package/docs/reference/variables/table.md +0 -10
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileBackendOptions
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileBackendOptions = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:23](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L23)
|
|
9
|
-
|
|
10
|
-
The declared stub backend behind the app under test. The framework owns
|
|
11
|
-
the simulator and appium but NOT the JS bundler (Metro belongs to the
|
|
12
|
-
caller's repo, like `next build` belongs to a website's) — so nothing is
|
|
13
|
-
injected: the handle exposes `backendUrl` and the CALLER wires it into its
|
|
14
|
-
own bundler env.
|
|
15
|
-
|
|
16
|
-
## Properties
|
|
17
|
-
|
|
18
|
-
### port?
|
|
19
|
-
|
|
20
|
-
```ts
|
|
21
|
-
optional port?: number;
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:29](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L29)
|
|
25
|
-
|
|
26
|
-
Fixed port — pins a stable stub URL across runs. Metro inlines
|
|
27
|
-
`EXPO_PUBLIC_*` values at bundle-serve time; a stable port lets a warm
|
|
28
|
-
Metro survive between runs. Default: a free OS-assigned port.
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileElementKind
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileElementKind = "button" | "field" | "testId" | "text";
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:10](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L10)
|
|
9
|
-
|
|
10
|
-
The element kinds a mobile screen can designate — the structural subset of
|
|
11
|
-
[ElementRef](ElementRef.md) kinds that map onto the XCUITest accessibility tree.
|
|
12
|
-
There is ONE element vocabulary across facets: `button('Bookmark')` works
|
|
13
|
-
in a visit scenario and a mobile scenario alike. Landmarks have no iOS
|
|
14
|
-
analog — passing one to a mobile verb refuses at runtime.
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileElementMatch
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileElementMatch = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:32](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L32)
|
|
9
|
-
|
|
10
|
-
One candidate captured when a descriptor matched more than one element —
|
|
11
|
-
the evidence the ambiguity error enumerates so the author can disambiguate
|
|
12
|
-
without opening the simulator.
|
|
13
|
-
|
|
14
|
-
## Properties
|
|
15
|
-
|
|
16
|
-
### identifier?
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
optional identifier?: string;
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Defined in: [src/model/ports/device.port.ts:34](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L34)
|
|
23
|
-
|
|
24
|
-
The accessibility identifier (`testId()` target), when one is set.
|
|
25
|
-
|
|
26
|
-
***
|
|
27
|
-
|
|
28
|
-
### label?
|
|
29
|
-
|
|
30
|
-
```ts
|
|
31
|
-
optional label?: string;
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Defined in: [src/model/ports/device.port.ts:36](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L36)
|
|
35
|
-
|
|
36
|
-
The accessible label, whitespace-collapsed and truncated.
|
|
37
|
-
|
|
38
|
-
***
|
|
39
|
-
|
|
40
|
-
### type
|
|
41
|
-
|
|
42
|
-
```ts
|
|
43
|
-
type: string;
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Defined in: [src/model/ports/device.port.ts:38](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L38)
|
|
47
|
-
|
|
48
|
-
Element type without the `XCUIElementType` prefix — `Button`, `StaticText`.
|
|
49
|
-
|
|
50
|
-
***
|
|
51
|
-
|
|
52
|
-
### value?
|
|
53
|
-
|
|
54
|
-
```ts
|
|
55
|
-
optional value?: string;
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Defined in: [src/model/ports/device.port.ts:40](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L40)
|
|
59
|
-
|
|
60
|
-
The element value (text-field content, adjustable value), when present.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileElementRef
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileElementRef = ElementRef;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:25](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L25)
|
|
9
|
-
|
|
10
|
-
A user-facing element descriptor for mobile scenarios — pure data, built by
|
|
11
|
-
the shared element vocabulary (`button()`, `field()`, `content()`,
|
|
12
|
-
`testId()`, `within()`) and translated into iOS predicate strings by the
|
|
13
|
-
device integration. Structurally the same ref type as the browser's, so the
|
|
14
|
-
vocabulary stays single; kinds outside [MobileElementKind](MobileElementKind.md) (the ARIA
|
|
15
|
-
landmarks) are refused at runtime with a message naming the boundary.
|
|
16
|
-
|
|
17
|
-
A descriptor must designate exactly ONE element when a verb ACTS on it
|
|
18
|
-
(`tap`, `fill`) — see [MobileElementMatch](MobileElementMatch.md) and CONVENTIONS W3.
|
|
19
|
-
`see()` acts on nothing, so any visible match satisfies it: XCUITest trees
|
|
20
|
-
legitimately duplicate a label across container and child.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileHandle
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileHandle = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:83](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L83)
|
|
9
|
-
|
|
10
|
-
The record returned by startMobile \| specification.mobile.
|
|
11
|
-
Destructure with the canonical names (CONVENTIONS A3):
|
|
12
|
-
|
|
13
|
-
const { mobile, cleanup, udid } = await specification.mobile(…);
|
|
14
|
-
|
|
15
|
-
## Properties
|
|
16
|
-
|
|
17
|
-
### backendUrl?
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
optional backendUrl?: string;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:89](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L89)
|
|
24
|
-
|
|
25
|
-
Base URL of the declared stub backend — present only with the
|
|
26
|
-
`backend` option. The caller injects it into its own bundler env
|
|
27
|
-
(e.g. `EXPO_PUBLIC_API_URL`); the framework never touches the bundler.
|
|
28
|
-
|
|
29
|
-
***
|
|
30
|
-
|
|
31
|
-
### cleanup
|
|
32
|
-
|
|
33
|
-
```ts
|
|
34
|
-
cleanup: () => Promise<void>;
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:91](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L91)
|
|
38
|
-
|
|
39
|
-
End the driver session, stop the appium server and the stub backend.
|
|
40
|
-
|
|
41
|
-
#### Returns
|
|
42
|
-
|
|
43
|
-
`Promise`\<`void`\>
|
|
44
|
-
|
|
45
|
-
***
|
|
46
|
-
|
|
47
|
-
### mobile
|
|
48
|
-
|
|
49
|
-
```ts
|
|
50
|
-
mobile: MobileSpecification;
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:92](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L92)
|
|
54
|
-
|
|
55
|
-
***
|
|
56
|
-
|
|
57
|
-
### udid
|
|
58
|
-
|
|
59
|
-
```ts
|
|
60
|
-
udid: string;
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:94](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L94)
|
|
64
|
-
|
|
65
|
-
The resolved simulator UDID the specs run against.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileScenario
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileScenario = (visitor) => Promise<void>;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:60](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L60)
|
|
9
|
-
|
|
10
|
-
The behavior of an open — the When of the spec; assertions stay in the Then.
|
|
11
|
-
|
|
12
|
-
## Parameters
|
|
13
|
-
|
|
14
|
-
| Parameter | Type |
|
|
15
|
-
| ------ | ------ |
|
|
16
|
-
| `visitor` | [`MobileVisitor`](MobileVisitor.md) |
|
|
17
|
-
|
|
18
|
-
## Returns
|
|
19
|
-
|
|
20
|
-
`Promise`\<`void`\>
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileSpecification
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileSpecification = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/chain/builder.ts:332](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L332)
|
|
9
|
-
|
|
10
|
-
The `mobile` facet — screen chain entry handed out by
|
|
11
|
-
`specification.mobile()`. `.open()` is the single, terminal action: it
|
|
12
|
-
terminates and relaunches the app (deterministic fresh state), applies the
|
|
13
|
-
deep link, runs the scenario, and captures the final screen.
|
|
14
|
-
|
|
15
|
-
## Properties
|
|
16
|
-
|
|
17
|
-
### intercept
|
|
18
|
-
|
|
19
|
-
```ts
|
|
20
|
-
intercept: InterceptMethod<MobileSpecification>;
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Defined in: [src/model/chain/builder.ts:337](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L337)
|
|
24
|
-
|
|
25
|
-
Declare the chain's backend contracts — served by the declared stub
|
|
26
|
-
backend (requires the runner's `backend` option). Multiple calls append.
|
|
27
|
-
|
|
28
|
-
***
|
|
29
|
-
|
|
30
|
-
### open
|
|
31
|
-
|
|
32
|
-
```ts
|
|
33
|
-
open: (deepLink?, scenario?) => Promise<ScreenResult>;
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Defined in: [src/model/chain/builder.ts:344](https://github.com/jterrazz/package-test/blob/main/src/model/chain/builder.ts#L344)
|
|
37
|
-
|
|
38
|
-
Relaunch the app and resolve with the captured screen. With a deep
|
|
39
|
-
link, the app opens on it; with a scenario, the visitor interacts
|
|
40
|
-
first (the When) and the capture reflects the FINAL screen state.
|
|
41
|
-
|
|
42
|
-
#### Parameters
|
|
43
|
-
|
|
44
|
-
| Parameter | Type |
|
|
45
|
-
| ------ | ------ |
|
|
46
|
-
| `deepLink?` | `string` |
|
|
47
|
-
| `scenario?` | [`MobileScenario`](MobileScenario.md) |
|
|
48
|
-
|
|
49
|
-
#### Returns
|
|
50
|
-
|
|
51
|
-
`Promise`\<[`ScreenResult`](../interfaces/ScreenResult.md)\>
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileSpecificationOptions\<Services\>
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileSpecificationOptions<Services> = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:33](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L33)
|
|
9
|
-
|
|
10
|
-
Options for startMobile \| specification.mobile.
|
|
11
|
-
|
|
12
|
-
## Type Parameters
|
|
13
|
-
|
|
14
|
-
| Type Parameter | Default type |
|
|
15
|
-
| ------ | ------ |
|
|
16
|
-
| `Services` *extends* [`ServiceRecord`](ServiceRecord.md) | [`ServiceRecord`](ServiceRecord.md) |
|
|
17
|
-
|
|
18
|
-
## Properties
|
|
19
|
-
|
|
20
|
-
### app
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
app: object;
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:35](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L35)
|
|
27
|
-
|
|
28
|
-
The app under test — terminated and relaunched by every `.open()`.
|
|
29
|
-
|
|
30
|
-
#### bundleId
|
|
31
|
-
|
|
32
|
-
```ts
|
|
33
|
-
bundleId: string;
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Bundle id of the installed app (`com.example.app`).
|
|
37
|
-
|
|
38
|
-
***
|
|
39
|
-
|
|
40
|
-
### backend?
|
|
41
|
-
|
|
42
|
-
```ts
|
|
43
|
-
optional backend?: MobileBackendOptions;
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:44](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L44)
|
|
47
|
-
|
|
48
|
-
Declared stub backend: started with the runner, serving the contracts
|
|
49
|
-
each chain declares via `.intercept(...)`. The handle gains
|
|
50
|
-
`backendUrl` — inject it into your bundler env yourself.
|
|
51
|
-
|
|
52
|
-
***
|
|
53
|
-
|
|
54
|
-
### device
|
|
55
|
-
|
|
56
|
-
```ts
|
|
57
|
-
device: object;
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:46](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L46)
|
|
61
|
-
|
|
62
|
-
The simulator to run on — resolved through `xcrun simctl`.
|
|
63
|
-
|
|
64
|
-
#### name
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
name: string;
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Simulator name, matched exactly (`iPhone 17`).
|
|
71
|
-
|
|
72
|
-
#### os?
|
|
73
|
-
|
|
74
|
-
```ts
|
|
75
|
-
optional os?: string;
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
OS narrowing when the name exists on several runtimes — `'26.5'` or `'iOS 26.5'`.
|
|
79
|
-
|
|
80
|
-
#### udid?
|
|
81
|
-
|
|
82
|
-
```ts
|
|
83
|
-
optional udid?: string;
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Explicit UDID — skips name/os resolution entirely.
|
|
87
|
-
|
|
88
|
-
***
|
|
89
|
-
|
|
90
|
-
### root?
|
|
91
|
-
|
|
92
|
-
```ts
|
|
93
|
-
optional root?: string;
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:59](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L59)
|
|
97
|
-
|
|
98
|
-
Project-root override (CONVENTIONS A9): where the appium binary is
|
|
99
|
-
resolved from (`node_modules/.bin`). Auto-discovered from the calling
|
|
100
|
-
file when absent.
|
|
101
|
-
|
|
102
|
-
***
|
|
103
|
-
|
|
104
|
-
### services?
|
|
105
|
-
|
|
106
|
-
```ts
|
|
107
|
-
optional services?: Services;
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:73](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L73)
|
|
111
|
-
|
|
112
|
-
Named services started with the runner and stopped with it — a
|
|
113
|
-
`process()` for the bundler the app loads from, a database a dev build
|
|
114
|
-
reads. Metro stops being a `beforeAll` the repository maintains: it is
|
|
115
|
-
`process({ command: 'expo start', ready: /Metro waiting on .*:(\\d+)/ })`
|
|
116
|
-
like every other external process the framework owns.
|
|
117
|
-
|
|
118
|
-
***
|
|
119
|
-
|
|
120
|
-
### timeouts?
|
|
121
|
-
|
|
122
|
-
```ts
|
|
123
|
-
optional timeouts?: DeviceTimeouts;
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Defined in: [src/facets/mobile/mobile.specification.ts:74](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.specification.ts#L74)
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MobileVisitor
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MobileVisitor = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/ports/device.port.ts:50](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L50)
|
|
9
|
-
|
|
10
|
-
The visitor — the interaction vocabulary handed to a mobile scenario.
|
|
11
|
-
Every verb auto-waits by polling until a visible match exists; acting
|
|
12
|
-
verbs then enforce exactly-one (W3), while `see()` — the single
|
|
13
|
-
synchronization primitive — is satisfied by any visible match. There is
|
|
14
|
-
no sleep and no conditional helper.
|
|
15
|
-
|
|
16
|
-
## Properties
|
|
17
|
-
|
|
18
|
-
### fill
|
|
19
|
-
|
|
20
|
-
```ts
|
|
21
|
-
fill: (element, value) => Promise<void>;
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Defined in: [src/model/ports/device.port.ts:52](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L52)
|
|
25
|
-
|
|
26
|
-
Fill a text field with a value.
|
|
27
|
-
|
|
28
|
-
#### Parameters
|
|
29
|
-
|
|
30
|
-
| Parameter | Type |
|
|
31
|
-
| ------ | ------ |
|
|
32
|
-
| `element` | [`MobileElementRef`](MobileElementRef.md) |
|
|
33
|
-
| `value` | `string` |
|
|
34
|
-
|
|
35
|
-
#### Returns
|
|
36
|
-
|
|
37
|
-
`Promise`\<`void`\>
|
|
38
|
-
|
|
39
|
-
***
|
|
40
|
-
|
|
41
|
-
### see
|
|
42
|
-
|
|
43
|
-
```ts
|
|
44
|
-
see: (element) => Promise<void>;
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Defined in: [src/model/ports/device.port.ts:54](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L54)
|
|
48
|
-
|
|
49
|
-
Wait until the element is visible — the only synchronization primitive.
|
|
50
|
-
|
|
51
|
-
#### Parameters
|
|
52
|
-
|
|
53
|
-
| Parameter | Type |
|
|
54
|
-
| ------ | ------ |
|
|
55
|
-
| `element` | [`MobileElementRef`](MobileElementRef.md) |
|
|
56
|
-
|
|
57
|
-
#### Returns
|
|
58
|
-
|
|
59
|
-
`Promise`\<`void`\>
|
|
60
|
-
|
|
61
|
-
***
|
|
62
|
-
|
|
63
|
-
### tap
|
|
64
|
-
|
|
65
|
-
```ts
|
|
66
|
-
tap: (element) => Promise<void>;
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Defined in: [src/model/ports/device.port.ts:56](https://github.com/jterrazz/package-test/blob/main/src/model/ports/device.port.ts#L56)
|
|
70
|
-
|
|
71
|
-
Tap the element.
|
|
72
|
-
|
|
73
|
-
#### Parameters
|
|
74
|
-
|
|
75
|
-
| Parameter | Type |
|
|
76
|
-
| ------ | ------ |
|
|
77
|
-
| `element` | [`MobileElementRef`](MobileElementRef.md) |
|
|
78
|
-
|
|
79
|
-
#### Returns
|
|
80
|
-
|
|
81
|
-
`Promise`\<`void`\>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MockOfOptions
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MockOfOptions = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/doubles/mock-of.ts:5](https://github.com/jterrazz/package-test/blob/main/src/model/doubles/mock-of.ts#L5)
|
|
9
|
-
|
|
10
|
-
How much of the port the double answers for.
|
|
11
|
-
|
|
12
|
-
## Properties
|
|
13
|
-
|
|
14
|
-
### deep?
|
|
15
|
-
|
|
16
|
-
```ts
|
|
17
|
-
optional deep?: boolean;
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Defined in: [src/model/doubles/mock-of.ts:13](https://github.com/jterrazz/package-test/blob/main/src/model/doubles/mock-of.ts#L13)
|
|
21
|
-
|
|
22
|
-
Deep (the default): reading a member that was never stubbed hands back
|
|
23
|
-
another double, however far down the port nests. `false` gives the flat
|
|
24
|
-
proxy — every member of `T` and nothing beneath them, which is what a
|
|
25
|
-
port with a nested namespace wants when the test only ever touches the
|
|
26
|
-
first level.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: MockPort
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type MockPort = typeof mockOf;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/doubles/mock-of.ts:35](https://github.com/jterrazz/package-test/blob/main/src/model/doubles/mock-of.ts#L35)
|
|
9
|
-
|
|
10
|
-
The factory's own shape — kept as a name so a consumer can annotate with it.
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: PinnedClock
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type PinnedClock = Disposable;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/model/clock/clock.ts:23](https://github.com/jterrazz/package-test/blob/main/src/model/clock/clock.ts#L23)
|
|
9
|
-
|
|
10
|
-
A pinned clock — released when the `using` scope that declared it ends.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: PostgresOptions
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type PostgresOptions = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/seams/postgres/postgres.ts:23](https://github.com/jterrazz/package-test/blob/main/src/seams/postgres/postgres.ts#L23)
|
|
9
|
-
|
|
10
|
-
## Properties
|
|
11
|
-
|
|
12
|
-
### env?
|
|
13
|
-
|
|
14
|
-
```ts
|
|
15
|
-
optional env?: Record<string, string>;
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Defined in: [src/seams/postgres/postgres.ts:27](https://github.com/jterrazz/package-test/blob/main/src/seams/postgres/postgres.ts#L27)
|
|
19
|
-
|
|
20
|
-
Override environment variables.
|
|
21
|
-
|
|
22
|
-
***
|
|
23
|
-
|
|
24
|
-
### image?
|
|
25
|
-
|
|
26
|
-
```ts
|
|
27
|
-
optional image?: string;
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Defined in: [src/seams/postgres/postgres.ts:25](https://github.com/jterrazz/package-test/blob/main/src/seams/postgres/postgres.ts#L25)
|
|
31
|
-
|
|
32
|
-
Override image.
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: ProcessOptions
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type ProcessOptions = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/seams/process/serve.adapter.ts:18](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L18)
|
|
9
|
-
|
|
10
|
-
The ONE shape an external process takes — the site under test, a backend a
|
|
11
|
-
page talks to, a bundler a simulator loads from. Built by `process()`
|
|
12
|
-
(chapter 17) and accepted wherever a facet starts something outside this
|
|
13
|
-
process: `website({ server })`, `services: { api: process(…) }`, and the
|
|
14
|
-
literate `serve:` registry.
|
|
15
|
-
|
|
16
|
-
## Properties
|
|
17
|
-
|
|
18
|
-
### before?
|
|
19
|
-
|
|
20
|
-
```ts
|
|
21
|
-
optional before?: string;
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Defined in: [src/seams/process/serve.adapter.ts:24](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L24)
|
|
25
|
-
|
|
26
|
-
A one-shot command run ONCE per specification, before the process is
|
|
27
|
-
spawned, which must exit 0 — a build, a migration, a fixture load. Its
|
|
28
|
-
failure is the specification's, and it says so.
|
|
29
|
-
|
|
30
|
-
***
|
|
31
|
-
|
|
32
|
-
### command
|
|
33
|
-
|
|
34
|
-
```ts
|
|
35
|
-
command: string;
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Defined in: [src/seams/process/serve.adapter.ts:26](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L26)
|
|
39
|
-
|
|
40
|
-
Shell command that starts the process. Receives the chosen port as `PORT`.
|
|
41
|
-
|
|
42
|
-
***
|
|
43
|
-
|
|
44
|
-
### cwd?
|
|
45
|
-
|
|
46
|
-
```ts
|
|
47
|
-
optional cwd?: string;
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Defined in: [src/seams/process/serve.adapter.ts:28](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L28)
|
|
51
|
-
|
|
52
|
-
Working directory, relative to the project root. Default: the root itself.
|
|
53
|
-
|
|
54
|
-
***
|
|
55
|
-
|
|
56
|
-
### env?
|
|
57
|
-
|
|
58
|
-
```ts
|
|
59
|
-
optional env?:
|
|
60
|
-
| ((services) => Record<string, string>)
|
|
61
|
-
| Record<string, string>;
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Defined in: [src/seams/process/serve.adapter.ts:34](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L34)
|
|
65
|
-
|
|
66
|
-
Environment for the child, on top of the runner's own. A function
|
|
67
|
-
receives the services already started beside this one, so a process can
|
|
68
|
-
be handed a sibling's connection string.
|
|
69
|
-
|
|
70
|
-
***
|
|
71
|
-
|
|
72
|
-
### port?
|
|
73
|
-
|
|
74
|
-
```ts
|
|
75
|
-
optional port?: number;
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Defined in: [src/seams/process/serve.adapter.ts:38](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L38)
|
|
79
|
-
|
|
80
|
-
Fixed port. Default: an OS-assigned free port, injected as `PORT`.
|
|
81
|
-
|
|
82
|
-
***
|
|
83
|
-
|
|
84
|
-
### ready?
|
|
85
|
-
|
|
86
|
-
```ts
|
|
87
|
-
optional ready?: RegExp | string;
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Defined in: [src/seams/process/serve.adapter.ts:50](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L50)
|
|
91
|
-
|
|
92
|
-
How readiness is observed. Two forms:
|
|
93
|
-
|
|
94
|
-
- a **path** (or nothing) — the framework picks the port, injects it as
|
|
95
|
-
`PORT`, and polls `<baseUrl><path>` until it answers any HTTP status
|
|
96
|
-
(default `/`). This is `specification.website()`'s form.
|
|
97
|
-
- a **regex over the child's output** with ONE capture group holding the
|
|
98
|
-
port the server chose itself. Nothing is injected as `PORT`: the server
|
|
99
|
-
announces its port and the framework reads it from the banner. This is
|
|
100
|
-
the form a literate `serve:` registration uses.
|
|
101
|
-
|
|
102
|
-
***
|
|
103
|
-
|
|
104
|
-
### timeout?
|
|
105
|
-
|
|
106
|
-
```ts
|
|
107
|
-
optional timeout?: number;
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Defined in: [src/seams/process/serve.adapter.ts:52](https://github.com/jterrazz/package-test/blob/main/src/seams/process/serve.adapter.ts#L52)
|
|
111
|
-
|
|
112
|
-
Readiness budget in milliseconds. Default 30 000.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!-- GENERATED by `typescript docs` — DO NOT EDIT -->
|
|
2
|
-
# Type Alias: RedisOptions
|
|
3
|
-
|
|
4
|
-
```ts
|
|
5
|
-
type RedisOptions = object;
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
Defined in: [src/seams/redis/redis.ts:6](https://github.com/jterrazz/package-test/blob/main/src/seams/redis/redis.ts#L6)
|
|
9
|
-
|
|
10
|
-
## Properties
|
|
11
|
-
|
|
12
|
-
### image?
|
|
13
|
-
|
|
14
|
-
```ts
|
|
15
|
-
optional image?: string;
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Defined in: [src/seams/redis/redis.ts:8](https://github.com/jterrazz/package-test/blob/main/src/seams/redis/redis.ts#L8)
|
|
19
|
-
|
|
20
|
-
Override image.
|