@anvil-works/anvil-cli 0.7.0-canary.8 → 0.7.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 +39 -3
- package/dist/SavePathRouter.d.ts +2 -5
- package/dist/SavePathRouter.d.ts.map +1 -1
- package/dist/WatchSession.d.ts +61 -1
- package/dist/WatchSession.d.ts.map +1 -1
- package/dist/api.d.ts +9 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/cli.js +4172 -1830
- package/dist/commands/appDetection.d.ts +2 -0
- package/dist/commands/appDetection.d.ts.map +1 -0
- package/dist/commands/checkout.d.ts +3 -0
- package/dist/commands/checkout.d.ts.map +1 -1
- package/dist/commands/convertTemplate.d.ts +25 -0
- package/dist/commands/convertTemplate.d.ts.map +1 -0
- package/dist/commands/deps.d.ts +7 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/gitAuth.d.ts +89 -0
- package/dist/commands/gitAuth.d.ts.map +1 -0
- package/dist/commands/gitCredential.d.ts.map +1 -1
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/tables.d.ts +7 -0
- package/dist/commands/tables.d.ts.map +1 -0
- package/dist/commands/watch.d.ts +5 -0
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/componentBuiltinTypes.d.ts.map +1 -1
- package/dist/componentName.d.ts +5 -0
- package/dist/componentName.d.ts.map +1 -0
- package/dist/componentTypeSpec.d.ts +8 -0
- package/dist/componentTypeSpec.d.ts.map +1 -0
- package/dist/environment.d.ts +21 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/formSpecContext.d.ts +4 -0
- package/dist/formSpecContext.d.ts.map +1 -0
- package/dist/formTemplateValidation.d.ts +13 -0
- package/dist/formTemplateValidation.d.ts.map +1 -0
- package/dist/index.js +3401 -1516
- package/dist/program.d.ts.map +1 -1
- package/dist/services/auth.d.ts.map +1 -1
- package/dist/services/deps.d.ts +106 -0
- package/dist/services/deps.d.ts.map +1 -0
- package/dist/services/git-auth.d.ts.map +1 -1
- package/dist/services/git.d.ts +25 -1
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/gitignore.d.ts +2 -0
- package/dist/services/gitignore.d.ts.map +1 -0
- package/dist/services/tables.d.ts +27 -0
- package/dist/services/tables.d.ts.map +1 -0
- package/dist/validateFormTemplateHtml.d.ts +10 -0
- package/dist/validateFormTemplateHtml.d.ts.map +1 -0
- package/dist/validatePython.d.ts +22 -0
- package/dist/validatePython.d.ts.map +1 -0
- package/dist/validators.d.ts +8 -8
- package/dist/validators.d.ts.map +1 -1
- package/dist/watch/ConflictResolver.d.ts +8 -1
- package/dist/watch/ConflictResolver.d.ts.map +1 -1
- package/dist/watch/SaveProcessor.d.ts +10 -1
- package/dist/watch/SaveProcessor.d.ts.map +1 -1
- package/dist/watch/SyncManager.d.ts +7 -2
- package/dist/watch/SyncManager.d.ts.map +1 -1
- package/dist/watch/WebSocketClient.d.ts +30 -0
- package/dist/watch/WebSocketClient.d.ts.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -170,16 +170,18 @@ Useful options:
|
|
|
170
170
|
|
|
171
171
|
### `anvil validate`
|
|
172
172
|
|
|
173
|
-
Check an Anvil
|
|
173
|
+
Check an Anvil app file or directory before syncing, or when the CLI reports a validation error.
|
|
174
174
|
|
|
175
175
|
```bash
|
|
176
|
-
anvil validate <
|
|
176
|
+
anvil validate <path>
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
When given a file, the command chooses the validator from the file path. When given a directory, it recursively validates supported files under that directory. It supports:
|
|
180
180
|
|
|
181
181
|
- `anvil.yaml`
|
|
182
182
|
- `.yaml` files under `client_code/`, including `client_code/**/form_template.yaml`
|
|
183
|
+
- `.html` files under `client_code/`, including `client_code/**/form_template.html` and module-form `client_code/<Form>.html`
|
|
184
|
+
- `.py` files under `client_code/` and `server_code/`
|
|
183
185
|
|
|
184
186
|
Common examples:
|
|
185
187
|
|
|
@@ -187,12 +189,45 @@ Common examples:
|
|
|
187
189
|
anvil validate anvil.yaml
|
|
188
190
|
anvil validate client_code/Form1/form_template.yaml
|
|
189
191
|
anvil validate client_code/Form1.yaml
|
|
192
|
+
anvil validate client_code/Form1/form_template.html
|
|
193
|
+
anvil validate client_code/Form1.html
|
|
194
|
+
anvil validate client_code/Helpers.py
|
|
195
|
+
anvil validate server_code/ServerModule.py
|
|
196
|
+
anvil validate .
|
|
190
197
|
```
|
|
191
198
|
|
|
199
|
+
HTML validation parses the template with `@anvil-works/form-template-parser`, checks optional YAML frontmatter, and reports semantic issues such as duplicate explicit component names or invalid component types.
|
|
200
|
+
|
|
201
|
+
Python validation checks syntax using a local Python interpreter (`ANVIL_PYTHON`, `uv`, `python3`, or `python`). Form Python under `client_code/` also checks for the matching designer-template import and form class inheritance when a sibling form template exists.
|
|
202
|
+
|
|
192
203
|
When the file is valid, the command prints a success message and exits with status `0`. When the file is invalid, it prints path-specific validation issues and exits with a non-zero status.
|
|
193
204
|
|
|
194
205
|
Use `--json` with `anvil validate` to emit structured NDJSON output for scripts or LLM tooling.
|
|
195
206
|
|
|
207
|
+
### `anvil convert-template`
|
|
208
|
+
|
|
209
|
+
Convert an Anvil form template YAML file to the HTML template format.
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
anvil convert-template client_code/Form1/form_template.yaml
|
|
213
|
+
anvil convert-template client_code/Form1.yaml
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
By default, the command writes the sibling `.html` file and removes the source `.yaml` file after the write succeeds:
|
|
217
|
+
|
|
218
|
+
- `client_code/Form1/form_template.yaml` becomes `client_code/Form1/form_template.html`
|
|
219
|
+
- `client_code/Form1.yaml` becomes `client_code/Form1.html`
|
|
220
|
+
|
|
221
|
+
Useful options:
|
|
222
|
+
|
|
223
|
+
- `-o, --output <path>` write to a specific output path
|
|
224
|
+
- `-f, --force` overwrite an existing output file
|
|
225
|
+
- `--keep-source` keep the source YAML file
|
|
226
|
+
|
|
227
|
+
Use `--json` with `anvil convert-template` to emit the source path, output path, and whether the source YAML was removed.
|
|
228
|
+
|
|
229
|
+
Conversion uses `@anvil-works/form-template-parser`. When package-qualified form specs such as `form:MyForm` or dependency `item_template` values are present, the command reads `anvil.yaml` (and `.anvil/deps/manifest.json` when needed) to canonicalize them before serializing HTML.
|
|
230
|
+
|
|
196
231
|
### Other useful commands
|
|
197
232
|
|
|
198
233
|
```bash
|
|
@@ -204,6 +239,7 @@ anvil config get <key>
|
|
|
204
239
|
anvil config set <key> <value>
|
|
205
240
|
anvil config reset
|
|
206
241
|
anvil validate <file>
|
|
242
|
+
anvil convert-template <file>
|
|
207
243
|
anvil version
|
|
208
244
|
anvil update
|
|
209
245
|
anvil --help
|
package/dist/SavePathRouter.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type FormTemplateSavePayload } from "@anvil-works/form-template-parser";
|
|
1
2
|
import { EditorYamlManager } from "./EditorYaml";
|
|
2
3
|
type SavePath = Array<any>;
|
|
3
4
|
export interface ModuleData {
|
|
@@ -9,11 +10,7 @@ export interface ScriptData {
|
|
|
9
10
|
name: string;
|
|
10
11
|
code: string;
|
|
11
12
|
}
|
|
12
|
-
export
|
|
13
|
-
class_name: string;
|
|
14
|
-
code: string;
|
|
15
|
-
is_package: boolean;
|
|
16
|
-
}
|
|
13
|
+
export type FormData = FormTemplateSavePayload;
|
|
17
14
|
export interface AssetData {
|
|
18
15
|
name: string;
|
|
19
16
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SavePathRouter.d.ts","sourceRoot":"","sources":["../src/SavePathRouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAMlE,KAAK,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAG3B,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,
|
|
1
|
+
{"version":3,"file":"SavePathRouter.d.ts","sourceRoot":"","sources":["../src/SavePathRouter.ts"],"names":[],"mappings":"AAMA,OAAO,EAGH,KAAK,uBAAuB,EAE/B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,cAAc,CAAC;AAMlE,KAAK,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAG3B,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAE/C,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AASD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhE,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AA2VD;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9F,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgEtF;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAqBpC;AA6yBD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAC1C,OAAO,CAAC,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC,CAiE7C"}
|
package/dist/WatchSession.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Emitter } from "./Emitter";
|
|
2
|
+
import { AnvilEnvironmentBinding, EnvBranchChangeMode } from "./environment";
|
|
2
3
|
import { type FileChange } from "./watch";
|
|
3
4
|
import { type WatchDiagnostic } from "./watch/diagnostics";
|
|
4
5
|
export interface WatchSessionEvents {
|
|
@@ -6,6 +7,32 @@ export interface WatchSessionEvents {
|
|
|
6
7
|
oldBranch: string;
|
|
7
8
|
newBranch: string;
|
|
8
9
|
};
|
|
10
|
+
"external-branch-changed": {
|
|
11
|
+
oldBranch: string;
|
|
12
|
+
newBranch: string;
|
|
13
|
+
};
|
|
14
|
+
"env-branch-switch-started": {
|
|
15
|
+
envPid: string;
|
|
16
|
+
oldBranch: string;
|
|
17
|
+
newBranch: string;
|
|
18
|
+
mode: Exclude<EnvBranchChangeMode, "manual">;
|
|
19
|
+
discardedChanges: boolean;
|
|
20
|
+
};
|
|
21
|
+
"env-branch-switched": {
|
|
22
|
+
envPid: string;
|
|
23
|
+
oldBranch: string;
|
|
24
|
+
newBranch: string;
|
|
25
|
+
oldCommitId: string;
|
|
26
|
+
newCommitId: string;
|
|
27
|
+
mode: Exclude<EnvBranchChangeMode, "manual">;
|
|
28
|
+
discardedChanges: boolean;
|
|
29
|
+
};
|
|
30
|
+
"env-branch-switch-failed": {
|
|
31
|
+
envPid: string;
|
|
32
|
+
oldBranch: string;
|
|
33
|
+
newBranch: string;
|
|
34
|
+
error: string;
|
|
35
|
+
} & WatchDiagnostic;
|
|
9
36
|
"sync-conflict": {
|
|
10
37
|
retryAttempt: number;
|
|
11
38
|
maxRetries: number;
|
|
@@ -24,6 +51,12 @@ export interface WatchSessionEvents {
|
|
|
24
51
|
reason: string;
|
|
25
52
|
currentBranch: string;
|
|
26
53
|
} & WatchDiagnostic;
|
|
54
|
+
"env-branch-change-required": {
|
|
55
|
+
envPid: string;
|
|
56
|
+
currentBranch: string;
|
|
57
|
+
targetBranch: string;
|
|
58
|
+
reason: string;
|
|
59
|
+
} & WatchDiagnostic;
|
|
27
60
|
"save-complete": {
|
|
28
61
|
newCommitId: string;
|
|
29
62
|
fileCount: number;
|
|
@@ -39,12 +72,17 @@ export interface WatchSessionEvents {
|
|
|
39
72
|
error: string;
|
|
40
73
|
fileCount: number;
|
|
41
74
|
} & WatchDiagnostic;
|
|
75
|
+
"saved": {
|
|
76
|
+
oldCommitId: string | null;
|
|
77
|
+
newCommitId: string;
|
|
78
|
+
branch: string;
|
|
79
|
+
};
|
|
42
80
|
"max-retries-exceeded": {
|
|
43
81
|
retries: number;
|
|
44
82
|
reason: string;
|
|
45
83
|
} & WatchDiagnostic;
|
|
46
84
|
}
|
|
47
|
-
export type WatchDiagnosticEventName = "save-failed" | "validation-failed" | "max-retries-exceeded" | "remote-sync-failed" | "sync-conflict";
|
|
85
|
+
export type WatchDiagnosticEventName = "save-failed" | "validation-failed" | "max-retries-exceeded" | "remote-sync-failed" | "sync-conflict" | "env-branch-change-required" | "env-branch-switch-failed";
|
|
48
86
|
export type WatchDiagnosticEventPayload = WatchSessionEvents[WatchDiagnosticEventName];
|
|
49
87
|
export declare class WatchSession extends Emitter<WatchSessionEvents> {
|
|
50
88
|
private sessionId;
|
|
@@ -76,6 +114,14 @@ export declare class WatchSession extends Emitter<WatchSessionEvents> {
|
|
|
76
114
|
private localChangePollTimer;
|
|
77
115
|
private isPollingLocalChanges;
|
|
78
116
|
private lastLocalStatusFingerprint;
|
|
117
|
+
private environment?;
|
|
118
|
+
private envBranchChangeMode;
|
|
119
|
+
private isSwitchingForEnvironment;
|
|
120
|
+
private environmentSwitchTargetBranch;
|
|
121
|
+
private dependencyWatchEnabled;
|
|
122
|
+
private isRefreshingDependencies;
|
|
123
|
+
private hasPendingDependencyRefresh;
|
|
124
|
+
private pendingEnvironmentBranchSwitch;
|
|
79
125
|
private readonly BRANCH_CHANGE_SETTLE_MS;
|
|
80
126
|
private readonly LOCAL_CHANGE_POLL_MS;
|
|
81
127
|
private stagedOnly;
|
|
@@ -86,13 +132,26 @@ export declare class WatchSession extends Emitter<WatchSessionEvents> {
|
|
|
86
132
|
commitId: string;
|
|
87
133
|
stagedOnly?: boolean;
|
|
88
134
|
username?: string;
|
|
135
|
+
environment?: AnvilEnvironmentBinding;
|
|
136
|
+
envBranchChangeMode?: EnvBranchChangeMode;
|
|
137
|
+
dependencyWatch?: boolean;
|
|
89
138
|
});
|
|
90
139
|
getBranchName(): string;
|
|
91
140
|
pauseForUserInput(): void;
|
|
92
141
|
resumeAfterUserInput(): void;
|
|
93
142
|
initialize(): Promise<void>;
|
|
94
143
|
private initializeProcessors;
|
|
144
|
+
private syncAfterSave;
|
|
95
145
|
private connectWebSocket;
|
|
146
|
+
private handleDependencyRepoUpdate;
|
|
147
|
+
private queueDependencyRefresh;
|
|
148
|
+
private refreshDependencies;
|
|
149
|
+
private getDependencyWatchSubscriptions;
|
|
150
|
+
private reconcileDependencySubscriptions;
|
|
151
|
+
private handleEnvironmentBinding;
|
|
152
|
+
private switchToEnvironmentBranch;
|
|
153
|
+
private emitEnvBranchSwitchFailed;
|
|
154
|
+
private emitEnvBranchChangeRequired;
|
|
96
155
|
private emitRemoteSyncFailed;
|
|
97
156
|
/**
|
|
98
157
|
* Sync remote changes from Anvil.
|
|
@@ -104,6 +163,7 @@ export declare class WatchSession extends Emitter<WatchSessionEvents> {
|
|
|
104
163
|
}>;
|
|
105
164
|
cleanup(): void;
|
|
106
165
|
startWatching(): Promise<void>;
|
|
166
|
+
private handleFileWatcherBranchChange;
|
|
107
167
|
startWatchingInBackground(onError?: (error: unknown) => void): void;
|
|
108
168
|
private initializeLocalChangeFingerprint;
|
|
109
169
|
private startLocalChangeFallbackPolling;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchSession.d.ts","sourceRoot":"","sources":["../src/WatchSession.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"WatchSession.d.ts","sourceRoot":"","sources":["../src/WatchSession.ts"],"names":[],"mappings":"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"}
|
package/dist/api.d.ts
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { WatchSession } from "./WatchSession";
|
|
2
2
|
import { AuthError, GitError } from "./errors";
|
|
3
3
|
import { ValidationServiceError } from "./services/validation";
|
|
4
|
+
import { AnvilEnvironmentBinding, EnvBranchChangeMode } from "./environment";
|
|
4
5
|
export { WatchSession };
|
|
5
6
|
export type { WatchDiagnosticEventName, WatchDiagnosticEventPayload, WatchSessionEvents } from "./WatchSession";
|
|
7
|
+
export { branchFromEnvironmentVersion, readEnvironmentPid, requireEnvironmentBranch, writeEnvironmentPid, } from "./environment";
|
|
8
|
+
export type { AnvilEnvironmentBinding, AnvilEnvironmentVersion, EnvBranchChangeMode } from "./environment";
|
|
6
9
|
export { AppIdCandidate, AppIdWithContext, CheckoutAppListItem, detectAppIdsByCommitLookup, detectAppIdsFromAllRemotes, filterCandidates, formatCandidateLabel, getGitFetchUrl, getGitPushUrl, getLatestVersion, getWebSocketUrl, listAppsForCheckout, lookupRemoteInfoForAppId, lookupByCommit, saveUpdates, ValidateAppIdResponse, validateAppId, } from "./services/anvil-api";
|
|
7
10
|
export { ANVIL_SYNC_CLIENT_ID, getAccountsForUrl, getAvailableAnvilUrls, getValidAuthToken, hasTokensForUrl, verifyAndStoreTokens, LoginResult, LogoutResult, logout, TokenData, clearInMemoryTokens, setInMemoryTokens, verifyAuth, } from "./services/auth";
|
|
8
11
|
export { DeviceAuthorizationResponse, OAuthTokenResponse, pollDeviceAuthorization, requestDeviceAuthorization, } from "./services/oauth-login";
|
|
9
12
|
export { CheckoutCloneOptions, CheckoutExecutionDeps, CheckoutOptions, CheckoutResult, executeCheckout, getDefaultDestinationDirectory, isDirectoryNonEmpty, isPathInsideGitRepo, parseCheckoutInput, ParsedCheckoutInput, sanitizeDirectoryName, validateCheckoutDestination, } from "./commands/checkout";
|
|
13
|
+
export { buildGitAuthDoctorReport, formatGitAuthDoctorReport, inspectCredentialHelperCommand, parseCredentialHelperCommand, } from "./commands/gitAuth";
|
|
14
|
+
export type { CredentialFillResult, GitAuthDoctorAppReport, GitAuthDoctorFinding, GitAuthDoctorRemote, GitAuthDoctorReport, GitAuthDoctorStatus, GitCredentialHelperDetails, GitCredentialSimulation, } from "./commands/gitAuth";
|
|
10
15
|
export { executeGitCredentialOperation } from "./commands/gitCredential";
|
|
11
16
|
export { deleteConfig, getAllConfig, getConfig, getInstalledPreferredEditors, getPreferredEditorCommand, getSettableConfigKeys, isCommandAvailable, normalizeAnvilUrl, parseConfigSetValue, preferredEditors, PreferredEditor, resetConfig, resolveAnvilUrl, setAuthTokensForAccount, setConfig, SettableConfigKey, } from "./config";
|
|
12
17
|
export { BranchSyncStatus, ValidateBranchSyncStatusOptions, validateAnvilApp, validateBranchSyncStatus, } from "./services/validation";
|
|
13
18
|
export { AnvilYamlValidationResult, FormTemplateValidationResult, ValidatePathResult, ValidationTarget, ValidationIssue, formatValidationPath, validatePath, validateAnvilYaml, validateFormTemplate, } from "./validators";
|
|
19
|
+
export { validateFormTemplateHtml } from "./validateFormTemplateHtml";
|
|
14
20
|
export { createWatchDiagnostic, createWatchDiagnosticFromMessage, type WatchDiagnostic, type WatchDiagnosticContext, type WatchRecoverability, } from "./watch/diagnostics";
|
|
15
21
|
export interface UncommittedChanges {
|
|
16
22
|
hasChanges: boolean;
|
|
@@ -31,6 +37,9 @@ export interface WatchOptions {
|
|
|
31
37
|
anvilUrl?: string;
|
|
32
38
|
stagedOnly?: boolean;
|
|
33
39
|
username?: string;
|
|
40
|
+
environment?: AnvilEnvironmentBinding;
|
|
41
|
+
envBranchChangeMode?: EnvBranchChangeMode;
|
|
42
|
+
dependencyWatch?: boolean;
|
|
34
43
|
}
|
|
35
44
|
/**
|
|
36
45
|
* Check for uncommitted changes in a repository.
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAkB,QAAQ,EAAgB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|