@delacour/warden-e2e 0.4.0 → 0.6.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/{chunk-3874jt2j.mjs → chunk-yb1hcjqm.mjs} +78 -10
- package/index.mjs +1 -1
- package/package.json +2 -2
- package/preload.mjs +3 -1
- package/types/core/src/affected/affected.schema.d.ts +185 -0
- package/types/core/src/batch/preset.schema.d.ts +59 -0
- package/types/core/src/builds/app-option.schema.d.ts +9 -1
- package/types/core/src/builds/builds.defaults.d.ts +62 -0
- package/types/core/src/builds/config.d.ts +122 -0
- package/types/core/src/builds/config.schema.d.ts +392 -0
- package/types/core/src/builds/define-config.d.ts +719 -0
- package/types/core/src/builds/kinds.d.ts +56 -0
- package/types/core/src/builds/native-ids.d.ts +14 -0
- package/types/core/src/builds/resolve.d.ts +26 -0
- package/types/core/src/duration.d.ts +5 -0
- package/types/core/src/ports.d.ts +76 -0
- package/types/core/src/sims/slim.profile.d.ts +54 -0
- package/types/e2e/src/devtools/facet.d.ts +2 -0
- package/types/e2e/src/devtools/logbox.d.ts +27 -0
- package/types/e2e/src/devtools/logbox.script.d.ts +17 -0
- package/types/e2e/src/screen/field.d.ts +5 -3
- package/types/e2e/src/screen/locator.d.ts +3 -2
- package/types/e2e/src/session.d.ts +4 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { type Result } from "../../../types/src/result";
|
|
2
|
+
import type { z } from "zod";
|
|
3
|
+
import type { Platform } from "../types";
|
|
4
|
+
import { type BuildConfiguration } from "./builds.defaults";
|
|
5
|
+
import type { projectConfigSchema, wardenConfigSchema } from "./config.schema";
|
|
6
|
+
import type { BuildKind, ProjectKinds } from "./kinds";
|
|
7
|
+
import { type AppFramework } from "./native-ids";
|
|
8
|
+
/** The preferred config file, named in hints. */
|
|
9
|
+
export declare const CONFIG_FILE = "warden.config.ts";
|
|
10
|
+
/** Still read, so JSON configs keep working. */
|
|
11
|
+
export declare const JSON_CONFIG_FILE = "warden.config.json";
|
|
12
|
+
/** Every file name `findWardenConfig` looks for, in preference order; at most one may exist per dir. */
|
|
13
|
+
export declare const CONFIG_FILES: string[];
|
|
14
|
+
/** Parsed (defaults applied). The documented input types live in `define-config.ts`. */
|
|
15
|
+
export type ParsedProjectConfig = z.infer<typeof projectConfigSchema>;
|
|
16
|
+
export type ParsedWardenConfig = z.infer<typeof wardenConfigSchema>;
|
|
17
|
+
export type EasSettings = {
|
|
18
|
+
profile: string;
|
|
19
|
+
workflow?: string;
|
|
20
|
+
trigger: boolean;
|
|
21
|
+
};
|
|
22
|
+
/** A project ready for the build cache: absolute root, defaults applied. */
|
|
23
|
+
export type Project = {
|
|
24
|
+
name: string;
|
|
25
|
+
root: string;
|
|
26
|
+
bundleId: {
|
|
27
|
+
ios?: string;
|
|
28
|
+
android?: string;
|
|
29
|
+
};
|
|
30
|
+
fingerprintCommand?: string;
|
|
31
|
+
/** set = JS-aware key (`fingerprint.include: "native+js"`): globs of the JS sources the key covers */
|
|
32
|
+
jsInputs?: string[];
|
|
33
|
+
/** undefined = EAS not used (no `eas` config and no `eas.json`) */
|
|
34
|
+
eas?: EasSettings;
|
|
35
|
+
build: Record<Platform, string>;
|
|
36
|
+
/** Debug unless `build.configuration` says Release */
|
|
37
|
+
buildConfiguration: BuildConfiguration;
|
|
38
|
+
/** false = `build.cache: false`: no shared compiler caches in local builds */
|
|
39
|
+
compilerCache?: false;
|
|
40
|
+
/** false = `build.prebuiltReactNative: false`: never opt iOS builds into the precompiled RN core */
|
|
41
|
+
prebuiltReactNative?: false;
|
|
42
|
+
/** the `variants.<name>` this project was resolved with; undefined = the project's own settings */
|
|
43
|
+
variant?: string;
|
|
44
|
+
/** `projects[].kinds`: per-kind overrides of the built-in dev / simulator / release builds (see `kinds.ts`) */
|
|
45
|
+
kinds?: ProjectKinds;
|
|
46
|
+
/** set by `projectForKind`: the kind this project is resolved as; undefined = the kind-less flow */
|
|
47
|
+
kind?: BuildKind;
|
|
48
|
+
/** set by `projectForKind`: env of the local build (`kinds.<kind>.env`) */
|
|
49
|
+
buildEnv?: Record<string, string>;
|
|
50
|
+
cacheDirs: string[];
|
|
51
|
+
/** `expo` (expo start + a dev client) or bare `react-native` (react-native start, the app itself) */
|
|
52
|
+
framework: AppFramework;
|
|
53
|
+
/** where the project came from; `react-native` = autodetected from a bare app's package.json + native projects */
|
|
54
|
+
origin: "config" | "app.json" | "app.config" | "react-native";
|
|
55
|
+
/** which lookup found it: the repo's own config, the `~/.warden` overlay config, or autodetected from the app config */
|
|
56
|
+
source: ConfigSource;
|
|
57
|
+
};
|
|
58
|
+
/** `repo` = a `warden.config.*` in the checkout; `overlay` = one in `<WARDEN_HOME>/projects/<key>/`; `auto` = none (app.json). */
|
|
59
|
+
export type ConfigSource = "repo" | "overlay" | "auto";
|
|
60
|
+
/** A parsed warden config and where it was found. */
|
|
61
|
+
export type FoundConfig = {
|
|
62
|
+
/** the config's own dir: what a config function sees as `configDir`, and what suite `specsDir`s resolve against */
|
|
63
|
+
dir: string;
|
|
64
|
+
config: ParsedWardenConfig;
|
|
65
|
+
source: Exclude<ConfigSource, "auto">;
|
|
66
|
+
/** what `projects[].root` resolves against: `dir` for a repo config, the checkout root for an overlay one */
|
|
67
|
+
rootDir: string;
|
|
68
|
+
};
|
|
69
|
+
/** Validate a config value; `file` names it in the error. */
|
|
70
|
+
export declare function parseWardenConfig(raw: unknown, file?: string): Result<ParsedWardenConfig>;
|
|
71
|
+
/** Pick the project containing `start` (deepest root wins); a single project is picked regardless. */
|
|
72
|
+
export declare function selectProject(projects: readonly Project[], start: string, name?: string): Result<Project>;
|
|
73
|
+
export type LoadProjectInput = {
|
|
74
|
+
/** `--project` dir or cwd */
|
|
75
|
+
start: string;
|
|
76
|
+
env: Record<string, string | undefined>;
|
|
77
|
+
/** stop walking up here (git toplevel); default filesystem root */
|
|
78
|
+
stopAt?: string;
|
|
79
|
+
name?: string;
|
|
80
|
+
/** `--bundle-id` for the requested platform */
|
|
81
|
+
bundleId?: Project["bundleId"];
|
|
82
|
+
/** `projects[].variants.<name>` to resolve the project with */
|
|
83
|
+
variant?: string;
|
|
84
|
+
/** a missing `variant` falls back to the project's own settings instead of erroring (`warden dev`) */
|
|
85
|
+
variantOptional?: boolean;
|
|
86
|
+
/** `<WARDEN_HOME>/projects/<key>/` (see `overlay.ts`): its config is used when the repo has none */
|
|
87
|
+
overlayDir?: string;
|
|
88
|
+
/** the app's slug when `app.json` has none (read from `expo config` for a dynamic `app.config.*`) */
|
|
89
|
+
appName?: string;
|
|
90
|
+
};
|
|
91
|
+
/** Is there a warden config file in `start` or a parent (to `stopAt`)? File names only: nothing is evaluated. */
|
|
92
|
+
export declare function hasRepoConfig(start: string, stopAt?: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* The nearest `warden.config.{ts,mts,js,mjs,json}` walking up from `start` (to `stopAt`), parsed;
|
|
95
|
+
* undefined = none. Else the one in `overlayDir`, if given (project roots then resolve against the
|
|
96
|
+
* checkout: `stopAt`, else `start`). A config function gets `{ configDir, env }`.
|
|
97
|
+
*/
|
|
98
|
+
export declare function findWardenConfig(start: string, stopAt?: string, env?: Record<string, string | undefined>, overlayDir?: string): Result<FoundConfig | undefined>;
|
|
99
|
+
/**
|
|
100
|
+
* Find the project for `start`: nearest warden config walking up (to `stopAt`), else the
|
|
101
|
+
* `overlayDir` config, else the nearest Expo app (`app.json` / `app.config.*`). `--bundle-id` overrides the configured id.
|
|
102
|
+
*/
|
|
103
|
+
export declare function loadProject(input: LoadProjectInput): Result<Project>;
|
|
104
|
+
/**
|
|
105
|
+
* The app dirs below `root` (a monorepo root): its `package.json` workspaces, else `apps/*` and
|
|
106
|
+
* `packages/*`, that hold a React Native app (`isAppDir`). Sorted, no duplicates.
|
|
107
|
+
*/
|
|
108
|
+
export declare function appDirsBelow(root: string): string[];
|
|
109
|
+
/**
|
|
110
|
+
* Where the project lookup really starts: `start`, unless nothing is found from there upwards and
|
|
111
|
+
* exactly one app sits below it (a monorepo root), then that app's dir.
|
|
112
|
+
*/
|
|
113
|
+
export declare function appStart(start: string, stopAt?: string, overlayDir?: string): string;
|
|
114
|
+
/** The apps below `start` to pick from, when nothing is found upwards and there are several; else empty. */
|
|
115
|
+
export declare function appChoices(start: string, stopAt?: string, overlayDir?: string): string[];
|
|
116
|
+
/**
|
|
117
|
+
* The app dir `loadProject` would autodetect from `start` whose bundle id only Expo can read: no warden
|
|
118
|
+
* config in reach, a dynamic `app.config.*`, and neither `app.json` nor `bundleOverride` names a bundle id.
|
|
119
|
+
* Undefined otherwise. File names and `app.json` only: nothing is evaluated.
|
|
120
|
+
*/
|
|
121
|
+
export declare function dynamicAppConfigDir(start: string, stopAt: string | undefined, bundleOverride?: Project["bundleId"], overlayDir?: string): string | undefined;
|
|
122
|
+
export declare function bundleIdFor(project: Project, platform: Platform): Result<string>;
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The zod schemas of `warden.config.*` and `app.json`. `config.ts` loads this module on its first parse, not at
|
|
3
|
+
* import: zod is ~95 modules, and `warden run` / `dev` / `app` start without a config to parse (15-2).
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
/** A named build of the project (`variants.<name>`): each key set here replaces the project's own. */
|
|
7
|
+
export declare const variantSchema: z.ZodObject<{
|
|
8
|
+
fingerprint: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
command: z.ZodOptional<z.ZodString>;
|
|
10
|
+
include: z.ZodDefault<z.ZodEnum<{
|
|
11
|
+
native: "native";
|
|
12
|
+
"native+js": "native+js";
|
|
13
|
+
}>>;
|
|
14
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15
|
+
}, z.core.$strict>>;
|
|
16
|
+
eas: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
17
|
+
profile: z.ZodDefault<z.ZodString>;
|
|
18
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
19
|
+
trigger: z.ZodDefault<z.ZodBoolean>;
|
|
20
|
+
}, z.core.$strict>, z.ZodLiteral<false>]>>;
|
|
21
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
23
|
+
android: z.ZodOptional<z.ZodString>;
|
|
24
|
+
configuration: z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
Debug: "Debug";
|
|
26
|
+
Release: "Release";
|
|
27
|
+
}>>;
|
|
28
|
+
cache: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
+
prebuiltReactNative: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
}, z.core.$strict>>;
|
|
31
|
+
}, z.core.$strict>;
|
|
32
|
+
export declare const projectConfigSchema: z.ZodObject<{
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
root: z.ZodDefault<z.ZodString>;
|
|
35
|
+
bundleId: z.ZodObject<{
|
|
36
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
37
|
+
android: z.ZodOptional<z.ZodString>;
|
|
38
|
+
}, z.core.$strict>;
|
|
39
|
+
framework: z.ZodOptional<z.ZodEnum<{
|
|
40
|
+
expo: "expo";
|
|
41
|
+
"react-native": "react-native";
|
|
42
|
+
}>>;
|
|
43
|
+
fingerprint: z.ZodOptional<z.ZodObject<{
|
|
44
|
+
command: z.ZodOptional<z.ZodString>;
|
|
45
|
+
include: z.ZodDefault<z.ZodEnum<{
|
|
46
|
+
native: "native";
|
|
47
|
+
"native+js": "native+js";
|
|
48
|
+
}>>;
|
|
49
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
50
|
+
}, z.core.$strict>>;
|
|
51
|
+
eas: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
52
|
+
profile: z.ZodDefault<z.ZodString>;
|
|
53
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
54
|
+
trigger: z.ZodDefault<z.ZodBoolean>;
|
|
55
|
+
}, z.core.$strict>, z.ZodLiteral<false>]>>;
|
|
56
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
57
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
58
|
+
android: z.ZodOptional<z.ZodString>;
|
|
59
|
+
configuration: z.ZodOptional<z.ZodEnum<{
|
|
60
|
+
Debug: "Debug";
|
|
61
|
+
Release: "Release";
|
|
62
|
+
}>>;
|
|
63
|
+
cache: z.ZodOptional<z.ZodBoolean>;
|
|
64
|
+
prebuiltReactNative: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
}, z.core.$strict>>;
|
|
66
|
+
variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
67
|
+
fingerprint: z.ZodOptional<z.ZodObject<{
|
|
68
|
+
command: z.ZodOptional<z.ZodString>;
|
|
69
|
+
include: z.ZodDefault<z.ZodEnum<{
|
|
70
|
+
native: "native";
|
|
71
|
+
"native+js": "native+js";
|
|
72
|
+
}>>;
|
|
73
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
|
+
}, z.core.$strict>>;
|
|
75
|
+
eas: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
76
|
+
profile: z.ZodDefault<z.ZodString>;
|
|
77
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
78
|
+
trigger: z.ZodDefault<z.ZodBoolean>;
|
|
79
|
+
}, z.core.$strict>, z.ZodLiteral<false>]>>;
|
|
80
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
82
|
+
android: z.ZodOptional<z.ZodString>;
|
|
83
|
+
configuration: z.ZodOptional<z.ZodEnum<{
|
|
84
|
+
Debug: "Debug";
|
|
85
|
+
Release: "Release";
|
|
86
|
+
}>>;
|
|
87
|
+
cache: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
prebuiltReactNative: z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
}, z.core.$strict>>;
|
|
90
|
+
}, z.core.$strict>>>;
|
|
91
|
+
kinds: z.ZodOptional<z.ZodObject<{
|
|
92
|
+
dev: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
94
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
95
|
+
android: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, z.core.$strict>>;
|
|
97
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
98
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
99
|
+
}, z.core.$strict>>;
|
|
100
|
+
simulator: z.ZodOptional<z.ZodObject<{
|
|
101
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
102
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
103
|
+
android: z.ZodOptional<z.ZodString>;
|
|
104
|
+
}, z.core.$strict>>;
|
|
105
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
106
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
107
|
+
}, z.core.$strict>>;
|
|
108
|
+
release: z.ZodOptional<z.ZodObject<{
|
|
109
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
111
|
+
android: z.ZodOptional<z.ZodString>;
|
|
112
|
+
}, z.core.$strict>>;
|
|
113
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
114
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
115
|
+
}, z.core.$strict>>;
|
|
116
|
+
}, z.core.$strict>>;
|
|
117
|
+
cacheDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
118
|
+
}, z.core.$strict>;
|
|
119
|
+
export declare const wardenConfigSchema: z.ZodObject<{
|
|
120
|
+
projects: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
121
|
+
name: z.ZodString;
|
|
122
|
+
root: z.ZodDefault<z.ZodString>;
|
|
123
|
+
bundleId: z.ZodObject<{
|
|
124
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
125
|
+
android: z.ZodOptional<z.ZodString>;
|
|
126
|
+
}, z.core.$strict>;
|
|
127
|
+
framework: z.ZodOptional<z.ZodEnum<{
|
|
128
|
+
expo: "expo";
|
|
129
|
+
"react-native": "react-native";
|
|
130
|
+
}>>;
|
|
131
|
+
fingerprint: z.ZodOptional<z.ZodObject<{
|
|
132
|
+
command: z.ZodOptional<z.ZodString>;
|
|
133
|
+
include: z.ZodDefault<z.ZodEnum<{
|
|
134
|
+
native: "native";
|
|
135
|
+
"native+js": "native+js";
|
|
136
|
+
}>>;
|
|
137
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
138
|
+
}, z.core.$strict>>;
|
|
139
|
+
eas: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
140
|
+
profile: z.ZodDefault<z.ZodString>;
|
|
141
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
142
|
+
trigger: z.ZodDefault<z.ZodBoolean>;
|
|
143
|
+
}, z.core.$strict>, z.ZodLiteral<false>]>>;
|
|
144
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
145
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
146
|
+
android: z.ZodOptional<z.ZodString>;
|
|
147
|
+
configuration: z.ZodOptional<z.ZodEnum<{
|
|
148
|
+
Debug: "Debug";
|
|
149
|
+
Release: "Release";
|
|
150
|
+
}>>;
|
|
151
|
+
cache: z.ZodOptional<z.ZodBoolean>;
|
|
152
|
+
prebuiltReactNative: z.ZodOptional<z.ZodBoolean>;
|
|
153
|
+
}, z.core.$strict>>;
|
|
154
|
+
variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
155
|
+
fingerprint: z.ZodOptional<z.ZodObject<{
|
|
156
|
+
command: z.ZodOptional<z.ZodString>;
|
|
157
|
+
include: z.ZodDefault<z.ZodEnum<{
|
|
158
|
+
native: "native";
|
|
159
|
+
"native+js": "native+js";
|
|
160
|
+
}>>;
|
|
161
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
162
|
+
}, z.core.$strict>>;
|
|
163
|
+
eas: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
164
|
+
profile: z.ZodDefault<z.ZodString>;
|
|
165
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
166
|
+
trigger: z.ZodDefault<z.ZodBoolean>;
|
|
167
|
+
}, z.core.$strict>, z.ZodLiteral<false>]>>;
|
|
168
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
169
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
170
|
+
android: z.ZodOptional<z.ZodString>;
|
|
171
|
+
configuration: z.ZodOptional<z.ZodEnum<{
|
|
172
|
+
Debug: "Debug";
|
|
173
|
+
Release: "Release";
|
|
174
|
+
}>>;
|
|
175
|
+
cache: z.ZodOptional<z.ZodBoolean>;
|
|
176
|
+
prebuiltReactNative: z.ZodOptional<z.ZodBoolean>;
|
|
177
|
+
}, z.core.$strict>>;
|
|
178
|
+
}, z.core.$strict>>>;
|
|
179
|
+
kinds: z.ZodOptional<z.ZodObject<{
|
|
180
|
+
dev: z.ZodOptional<z.ZodObject<{
|
|
181
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
182
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
183
|
+
android: z.ZodOptional<z.ZodString>;
|
|
184
|
+
}, z.core.$strict>>;
|
|
185
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
186
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
187
|
+
}, z.core.$strict>>;
|
|
188
|
+
simulator: z.ZodOptional<z.ZodObject<{
|
|
189
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
190
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
191
|
+
android: z.ZodOptional<z.ZodString>;
|
|
192
|
+
}, z.core.$strict>>;
|
|
193
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
194
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
195
|
+
}, z.core.$strict>>;
|
|
196
|
+
release: z.ZodOptional<z.ZodObject<{
|
|
197
|
+
build: z.ZodOptional<z.ZodObject<{
|
|
198
|
+
ios: z.ZodOptional<z.ZodString>;
|
|
199
|
+
android: z.ZodOptional<z.ZodString>;
|
|
200
|
+
}, z.core.$strict>>;
|
|
201
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
202
|
+
jsInputs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
203
|
+
}, z.core.$strict>>;
|
|
204
|
+
}, z.core.$strict>>;
|
|
205
|
+
cacheDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
206
|
+
}, z.core.$strict>>>;
|
|
207
|
+
batches: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
208
|
+
project: z.ZodOptional<z.ZodString>;
|
|
209
|
+
platform: z.ZodEnum<{
|
|
210
|
+
ios: "ios";
|
|
211
|
+
android: "android";
|
|
212
|
+
}>;
|
|
213
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
214
|
+
max: z.ZodOptional<z.ZodNumber>;
|
|
215
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
216
|
+
runtime: z.ZodOptional<z.ZodString>;
|
|
217
|
+
label: z.ZodOptional<z.ZodString>;
|
|
218
|
+
ttl: z.ZodOptional<z.ZodString>;
|
|
219
|
+
wait: z.ZodOptional<z.ZodString>;
|
|
220
|
+
ports: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
221
|
+
app: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
222
|
+
installMode: z.ZodOptional<z.ZodEnum<{
|
|
223
|
+
clean: "clean";
|
|
224
|
+
reinstall: "reinstall";
|
|
225
|
+
}>>;
|
|
226
|
+
resetKeychain: z.ZodOptional<z.ZodBoolean>;
|
|
227
|
+
clean: z.ZodOptional<z.ZodBoolean>;
|
|
228
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
229
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
230
|
+
release: "release";
|
|
231
|
+
dev: "dev";
|
|
232
|
+
simulator: "simulator";
|
|
233
|
+
}>>;
|
|
234
|
+
}, z.core.$strict>]>>;
|
|
235
|
+
headless: z.ZodOptional<z.ZodBoolean>;
|
|
236
|
+
slim: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
237
|
+
except: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
238
|
+
keep: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
239
|
+
}, z.core.$strict>]>>;
|
|
240
|
+
retry: z.ZodOptional<z.ZodNumber>;
|
|
241
|
+
passes: z.ZodOptional<z.ZodNumber>;
|
|
242
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
243
|
+
serve: z.ZodOptional<z.ZodString>;
|
|
244
|
+
serveReady: z.ZodOptional<z.ZodString>;
|
|
245
|
+
serveTimeout: z.ZodOptional<z.ZodString>;
|
|
246
|
+
jobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
247
|
+
jobsFrom: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
248
|
+
command: z.ZodString;
|
|
249
|
+
}, z.core.$strict>]>>;
|
|
250
|
+
record: z.ZodOptional<z.ZodString>;
|
|
251
|
+
logs: z.ZodOptional<z.ZodString>;
|
|
252
|
+
cmd: z.ZodArray<z.ZodString>;
|
|
253
|
+
}, z.core.$strict>>>;
|
|
254
|
+
e2e: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
255
|
+
project: z.ZodOptional<z.ZodString>;
|
|
256
|
+
specsDir: z.ZodString;
|
|
257
|
+
spec: z.ZodOptional<z.ZodObject<{
|
|
258
|
+
bundleId: z.ZodOptional<z.ZodString>;
|
|
259
|
+
launchArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
260
|
+
timeout: z.ZodOptional<z.ZodString>;
|
|
261
|
+
actionTimeout: z.ZodOptional<z.ZodString>;
|
|
262
|
+
assertionTimeout: z.ZodOptional<z.ZodString>;
|
|
263
|
+
}, z.core.$strict>>;
|
|
264
|
+
isolate: z.ZodOptional<z.ZodEnum<{
|
|
265
|
+
device: "device";
|
|
266
|
+
spec: "spec";
|
|
267
|
+
}>>;
|
|
268
|
+
shutdown: z.ZodOptional<z.ZodEnum<{
|
|
269
|
+
idle: "idle";
|
|
270
|
+
always: "always";
|
|
271
|
+
}>>;
|
|
272
|
+
jobTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
273
|
+
devices: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
274
|
+
profile: z.ZodString;
|
|
275
|
+
count: z.ZodDefault<z.ZodNumber>;
|
|
276
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
277
|
+
default: z.ZodDefault<z.ZodBoolean>;
|
|
278
|
+
}, z.core.$strict>>>;
|
|
279
|
+
metro: z.ZodOptional<z.ZodObject<{
|
|
280
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
281
|
+
port: z.ZodDefault<z.ZodString>;
|
|
282
|
+
launchArgs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
283
|
+
open: z.ZodDefault<z.ZodBoolean>;
|
|
284
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
285
|
+
prewarm: z.ZodDefault<z.ZodBoolean>;
|
|
286
|
+
readyTimeout: z.ZodDefault<z.ZodString>;
|
|
287
|
+
}, z.core.$strict>>;
|
|
288
|
+
tsconfig: z.ZodOptional<z.ZodString>;
|
|
289
|
+
routerRoot: z.ZodOptional<z.ZodString>;
|
|
290
|
+
platform: z.ZodOptional<z.ZodEnum<{
|
|
291
|
+
ios: "ios";
|
|
292
|
+
android: "android";
|
|
293
|
+
}>>;
|
|
294
|
+
base: z.ZodDefault<z.ZodString>;
|
|
295
|
+
maxDepth: z.ZodOptional<z.ZodNumber>;
|
|
296
|
+
runAll: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
297
|
+
ignore: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
298
|
+
always: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
299
|
+
include: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
300
|
+
exclude: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
301
|
+
scope: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
302
|
+
unmatched: z.ZodDefault<z.ZodEnum<{
|
|
303
|
+
skip: "skip";
|
|
304
|
+
"run-all": "run-all";
|
|
305
|
+
}>>;
|
|
306
|
+
unmapped: z.ZodDefault<z.ZodEnum<{
|
|
307
|
+
run: "run";
|
|
308
|
+
skip: "skip";
|
|
309
|
+
}>>;
|
|
310
|
+
passes: z.ZodDefault<z.ZodNumber>;
|
|
311
|
+
retry: z.ZodDefault<z.ZodNumber>;
|
|
312
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
313
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
314
|
+
app: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
315
|
+
installMode: z.ZodOptional<z.ZodEnum<{
|
|
316
|
+
clean: "clean";
|
|
317
|
+
reinstall: "reinstall";
|
|
318
|
+
}>>;
|
|
319
|
+
resetKeychain: z.ZodOptional<z.ZodBoolean>;
|
|
320
|
+
clean: z.ZodOptional<z.ZodBoolean>;
|
|
321
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
322
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
323
|
+
release: "release";
|
|
324
|
+
dev: "dev";
|
|
325
|
+
simulator: "simulator";
|
|
326
|
+
}>>;
|
|
327
|
+
}, z.core.$strict>]>>;
|
|
328
|
+
ports: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
329
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
330
|
+
serve: z.ZodOptional<z.ZodString>;
|
|
331
|
+
serveReady: z.ZodOptional<z.ZodString>;
|
|
332
|
+
serveTimeout: z.ZodOptional<z.ZodString>;
|
|
333
|
+
setup: z.ZodOptional<z.ZodString>;
|
|
334
|
+
slim: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
335
|
+
except: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
336
|
+
keep: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
337
|
+
}, z.core.$strict>]>>;
|
|
338
|
+
warmRunners: z.ZodOptional<z.ZodUndefined>;
|
|
339
|
+
warmDrivers: z.ZodOptional<z.ZodBoolean>;
|
|
340
|
+
headless: z.ZodOptional<z.ZodBoolean>;
|
|
341
|
+
perf: z.ZodOptional<z.ZodObject<{
|
|
342
|
+
budgets: z.ZodOptional<z.ZodObject<{
|
|
343
|
+
startupColdMs: z.ZodOptional<z.ZodNumber>;
|
|
344
|
+
jankPct: z.ZodOptional<z.ZodNumber>;
|
|
345
|
+
maxCommitMs: z.ZodOptional<z.ZodNumber>;
|
|
346
|
+
p95CpuPct: z.ZodOptional<z.ZodNumber>;
|
|
347
|
+
peakMemoryMb: z.ZodOptional<z.ZodNumber>;
|
|
348
|
+
}, z.core.$strict>>;
|
|
349
|
+
}, z.core.$strict>>;
|
|
350
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
351
|
+
specs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
352
|
+
entries: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
353
|
+
paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
354
|
+
platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
355
|
+
ios: "ios";
|
|
356
|
+
android: "android";
|
|
357
|
+
}>>>;
|
|
358
|
+
maxDepth: z.ZodOptional<z.ZodNumber>;
|
|
359
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
360
|
+
}, z.core.$strict>>>;
|
|
361
|
+
}, z.core.$strict>>>;
|
|
362
|
+
headless: z.ZodOptional<z.ZodBoolean>;
|
|
363
|
+
slim: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
364
|
+
except: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
365
|
+
keep: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
366
|
+
}, z.core.$strict>]>>;
|
|
367
|
+
perf: z.ZodOptional<z.ZodObject<{
|
|
368
|
+
budgets: z.ZodOptional<z.ZodObject<{
|
|
369
|
+
startupColdMs: z.ZodOptional<z.ZodNumber>;
|
|
370
|
+
jankPct: z.ZodOptional<z.ZodNumber>;
|
|
371
|
+
maxCommitMs: z.ZodOptional<z.ZodNumber>;
|
|
372
|
+
p95CpuPct: z.ZodOptional<z.ZodNumber>;
|
|
373
|
+
peakMemoryMb: z.ZodOptional<z.ZodNumber>;
|
|
374
|
+
}, z.core.$strict>>;
|
|
375
|
+
}, z.core.$strict>>;
|
|
376
|
+
android: z.ZodOptional<z.ZodObject<{
|
|
377
|
+
snapshot: z.ZodOptional<z.ZodBoolean>;
|
|
378
|
+
}, z.core.$strict>>;
|
|
379
|
+
}, z.core.$strict>;
|
|
380
|
+
/** The slice of an Expo `app.json` warden reads (name, bundle ids). */
|
|
381
|
+
export declare const appJsonSchema: z.ZodObject<{
|
|
382
|
+
expo: z.ZodOptional<z.ZodObject<{
|
|
383
|
+
name: z.ZodOptional<z.ZodString>;
|
|
384
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
385
|
+
ios: z.ZodOptional<z.ZodObject<{
|
|
386
|
+
bundleIdentifier: z.ZodOptional<z.ZodString>;
|
|
387
|
+
}, z.core.$strip>>;
|
|
388
|
+
android: z.ZodOptional<z.ZodObject<{
|
|
389
|
+
package: z.ZodOptional<z.ZodString>;
|
|
390
|
+
}, z.core.$strip>>;
|
|
391
|
+
}, z.core.$strip>>;
|
|
392
|
+
}, z.core.$strip>;
|