@anvil-works/anvil-cli 0.7.0-canary.9 → 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 +21 -0
- package/dist/WatchSession.d.ts.map +1 -1
- package/dist/api.d.ts +4 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/cli.js +2569 -497
- package/dist/commands/appDetection.d.ts +2 -0
- package/dist/commands/appDetection.d.ts.map +1 -0
- 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 +4 -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/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 +2050 -427
- 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 +21 -0
- package/dist/watch/WebSocketClient.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2LpC,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,EAAE,CAezE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwFzD;AAiBD,wBAAgB,YAAY,IAAI,OAAO,CAkGtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAsC,MAAM,WAAW,CAAC;AAS9E,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAMjD,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,sBAAsB;AACtB,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,uBAAuB;AACvB,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/services/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAsC,MAAM,WAAW,CAAC;AAS9E,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAMjD,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,sBAAsB;AACtB,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,uBAAuB;AACvB,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;CACzB;AAaD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAMjG;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAYD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErD;AAQD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBpG;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,SAAuB,EAC/B,QAAQ,SAAuB,GAChC,OAAO,CAAC,SAAS,CAAC,CA2BpB;AAMD;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY3F;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,SAAuB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC3G;AA8HD;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/F,OAAO,CAAC,WAAW,CAAC,CAetB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA0CxF;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYtE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAW/D"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
declare const DEPS_MANIFEST_VERSION = 1;
|
|
2
|
+
export interface DependencyDocFile {
|
|
3
|
+
path: string;
|
|
4
|
+
content: string;
|
|
5
|
+
}
|
|
6
|
+
export interface DependencyAssetFile {
|
|
7
|
+
name: string;
|
|
8
|
+
content: string;
|
|
9
|
+
}
|
|
10
|
+
export interface FetchAllDependenciesOptions {
|
|
11
|
+
commit?: string;
|
|
12
|
+
includeDocs?: boolean;
|
|
13
|
+
knownDependencies?: ResolvedDependencyManifestEntry[];
|
|
14
|
+
}
|
|
15
|
+
export interface RefreshDependencyCacheOptions {
|
|
16
|
+
commit?: string;
|
|
17
|
+
includeDocs?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface RefreshDependencyCacheResult {
|
|
20
|
+
response: ResolvedDepsResponse;
|
|
21
|
+
addedGitignoreEntry: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface DependencyWatchSubscription {
|
|
24
|
+
appId: string;
|
|
25
|
+
branch: string;
|
|
26
|
+
packageName?: string;
|
|
27
|
+
}
|
|
28
|
+
/** Response from /resolved-dependencies endpoint */
|
|
29
|
+
export interface ResolvedDepsResponse {
|
|
30
|
+
dependencies: ResolvedDep[];
|
|
31
|
+
resolved_dependencies: ResolvedDependencyManifestEntry[];
|
|
32
|
+
}
|
|
33
|
+
export interface ResolvedDependencyManifestEntry {
|
|
34
|
+
app_id: string;
|
|
35
|
+
commit_id: string;
|
|
36
|
+
branch?: string;
|
|
37
|
+
}
|
|
38
|
+
/** A single resolved dependency */
|
|
39
|
+
export interface ResolvedDep {
|
|
40
|
+
app_id: string;
|
|
41
|
+
commit_id: string;
|
|
42
|
+
branch?: string;
|
|
43
|
+
package_name: string;
|
|
44
|
+
modules: Array<{
|
|
45
|
+
name: string;
|
|
46
|
+
code: string;
|
|
47
|
+
is_package?: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
forms: Array<{
|
|
50
|
+
class_name: string;
|
|
51
|
+
code: string;
|
|
52
|
+
is_package?: boolean;
|
|
53
|
+
[key: string]: unknown;
|
|
54
|
+
}>;
|
|
55
|
+
server_modules: Array<{
|
|
56
|
+
name: string;
|
|
57
|
+
code: string;
|
|
58
|
+
is_package?: boolean;
|
|
59
|
+
}>;
|
|
60
|
+
assets?: DependencyAssetFile[];
|
|
61
|
+
docs?: DependencyDocFile[];
|
|
62
|
+
docs_truncated?: boolean;
|
|
63
|
+
docs_bytes_included?: number;
|
|
64
|
+
}
|
|
65
|
+
interface CachedDependencyManifestEntry extends ResolvedDependencyManifestEntry {
|
|
66
|
+
package_name: string;
|
|
67
|
+
}
|
|
68
|
+
export interface DepsCacheManifest {
|
|
69
|
+
version: typeof DEPS_MANIFEST_VERSION;
|
|
70
|
+
includeDocs: boolean;
|
|
71
|
+
resolved_dependencies: ResolvedDependencyManifestEntry[];
|
|
72
|
+
cached_dependencies: CachedDependencyManifestEntry[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Fetch all resolved dependencies from the Anvil server in one call.
|
|
76
|
+
* Uses the /resolved-dependencies endpoint which handles transitive deps.
|
|
77
|
+
*/
|
|
78
|
+
export declare function fetchAllDependencies(appId: string, anvilUrl?: string, options?: FetchAllDependenciesOptions): Promise<ResolvedDepsResponse>;
|
|
79
|
+
/**
|
|
80
|
+
* Fetch dependencies and update the local .anvil/deps cache.
|
|
81
|
+
* Shared by `anvil deps fetch` and watch startup/refresh.
|
|
82
|
+
*/
|
|
83
|
+
export declare function refreshDependencyCache(projectRoot: string, appId: string, anvilUrl?: string, options?: RefreshDependencyCacheOptions): Promise<RefreshDependencyCacheResult>;
|
|
84
|
+
export declare function readDepsCacheManifest(projectRoot: string): Promise<DepsCacheManifest | undefined>;
|
|
85
|
+
export declare function getKnownDependenciesForCache(projectRoot: string, includeDocs: boolean): Promise<ResolvedDependencyManifestEntry[]>;
|
|
86
|
+
export declare function getDependencyWatchSubscriptionsFromManifest(manifest: DepsCacheManifest | undefined): DependencyWatchSubscription[];
|
|
87
|
+
export declare function normalizeAnvilYamlDependenciesFromContent(content: string): unknown;
|
|
88
|
+
export declare function normalizeAnvilYamlDependenciesValue(value: unknown): unknown;
|
|
89
|
+
export declare function readAnvilYamlDependencies(projectRoot: string): Promise<unknown>;
|
|
90
|
+
export declare function anvilYamlDependenciesEqual(left: unknown, right: unknown): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Write all fetched dependencies to cache.
|
|
93
|
+
*/
|
|
94
|
+
export declare function writeAllDepsToCache(projectRoot: string, response: ResolvedDepsResponse, options?: {
|
|
95
|
+
includeDocs?: boolean;
|
|
96
|
+
}): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Clear .anvil/deps/ directory.
|
|
99
|
+
*/
|
|
100
|
+
export declare function clearDepsCache(projectRoot: string): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Get list of cached package names.
|
|
103
|
+
*/
|
|
104
|
+
export declare function getCachedPackages(projectRoot: string): Promise<string[]>;
|
|
105
|
+
export {};
|
|
106
|
+
//# sourceMappingURL=deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/services/deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-auth.d.ts","sourceRoot":"","sources":["../../src/services/git-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAIrC,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GAAG,MAAM,CAcT;AAWD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhG;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI5E;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BpE;AAiCD,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"git-auth.d.ts","sourceRoot":"","sources":["../../src/services/git-auth.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAIrC,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GAAG,MAAM,CAcT;AAWD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhG;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI5E;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA2BpE;AAiCD,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;CACtC,GAAG,MAAM,CAYT;AA0BD,wBAAsB,+BAA+B,CACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,GACF,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBtC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK5E;AA+DD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAe5F;AAED,eAAO,MAAM,gBAAgB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAiBrF,CAAC"}
|
package/dist/services/git.d.ts
CHANGED
|
@@ -63,6 +63,20 @@ export declare class GitService {
|
|
|
63
63
|
* @throws {GitError} if git command fails
|
|
64
64
|
*/
|
|
65
65
|
getStatus(): Promise<GitStatus>;
|
|
66
|
+
/**
|
|
67
|
+
* Restore modified files whose working-tree content matches HEAD and only
|
|
68
|
+
* differ by Git's executable mode bit.
|
|
69
|
+
*/
|
|
70
|
+
discardModeOnlyChanges(paths: string[]): Promise<string[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Unstage and restore staged files whose index content matches HEAD and only
|
|
73
|
+
* differ by Git's executable mode bit.
|
|
74
|
+
*/
|
|
75
|
+
discardStagedModeOnlyChanges(paths: string[]): Promise<string[]>;
|
|
76
|
+
private getHeadFileMode;
|
|
77
|
+
private hasSameContentAsHead;
|
|
78
|
+
private hasSameIndexContentAsHead;
|
|
79
|
+
private restoreExecutableBit;
|
|
66
80
|
/**
|
|
67
81
|
* Check for uncommitted changes.
|
|
68
82
|
* @throws {GitError} if git command fails
|
|
@@ -132,6 +146,16 @@ export declare class GitService {
|
|
|
132
146
|
* @throws {GitError} if abort fails
|
|
133
147
|
*/
|
|
134
148
|
rebaseAbort(): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Check whether ancestorRef is an ancestor of descendantRef.
|
|
151
|
+
* Returns false when Git cannot prove the ancestor relationship.
|
|
152
|
+
*/
|
|
153
|
+
isAncestor(ancestorRef: string, descendantRef: string): Promise<boolean>;
|
|
154
|
+
/**
|
|
155
|
+
* Fast-forward the current branch to a ref.
|
|
156
|
+
* @throws {GitError} if the merge cannot be completed as a fast-forward
|
|
157
|
+
*/
|
|
158
|
+
mergeFastForward(ref: string): Promise<void>;
|
|
135
159
|
/**
|
|
136
160
|
* Delete a local ref.
|
|
137
161
|
* Does not throw if ref doesn't exist.
|
|
@@ -166,7 +190,7 @@ export interface StagedFileChange {
|
|
|
166
190
|
* Get detailed staged changes with type info.
|
|
167
191
|
* @throws {GitError} if git command fails
|
|
168
192
|
*/
|
|
169
|
-
export declare function getStagedFileChanges(git: SimpleGit): Promise<StagedFileChange[]>;
|
|
193
|
+
export declare function getStagedFileChanges(git: SimpleGit, gitService?: GitService): Promise<StagedFileChange[]>;
|
|
170
194
|
/**
|
|
171
195
|
* Create a GitService instance for a repository path.
|
|
172
196
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/services/gitignore.ts"],"names":[],"mappings":"AAKA,wBAAsB,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoBjG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface TableMapping {
|
|
2
|
+
table_id: number;
|
|
3
|
+
python_name: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TableMappingsResponse {
|
|
7
|
+
tables: TableMapping[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Fetch table mappings from the Anvil server.
|
|
11
|
+
* Extracts table_id -> python_name mappings from all databases.
|
|
12
|
+
*/
|
|
13
|
+
export declare function fetchTableMappings(appId: string, anvilUrl?: string): Promise<TableMappingsResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Write table mappings to .anvil/table-mappings.json
|
|
16
|
+
*/
|
|
17
|
+
export declare function writeTableMappings(projectRoot: string, mappings: TableMappingsResponse): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Read table mappings from .anvil/table-mappings.json
|
|
20
|
+
* Returns null if file does not exist.
|
|
21
|
+
*/
|
|
22
|
+
export declare function readTableMappings(projectRoot: string): Promise<TableMappingsResponse | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Clear table mappings file.
|
|
25
|
+
*/
|
|
26
|
+
export declare function clearTableMappings(projectRoot: string): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/services/tables.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,YAAY,EAAE,CAAC;CAC1B;AAkBD;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,MAAM,EACb,QAAQ,SAAoB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAwBhC;AAMD;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,qBAAqB,GAChC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACnC,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAQvC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ParsedHtmlTemplate } from "@anvil-works/form-template-parser";
|
|
2
|
+
import type { FormTemplateValidationResult, ValidationIssue } from "./validators";
|
|
3
|
+
export declare function splitHtmlFormTemplateFrontmatter(htmlContent: string): {
|
|
4
|
+
frontmatter: string | null;
|
|
5
|
+
body: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function validateHtmlFrontmatter(frontmatterYaml: string): ValidationIssue[];
|
|
8
|
+
export declare function validateParsedHtmlTemplate(parsed: ParsedHtmlTemplate): ValidationIssue[];
|
|
9
|
+
export declare function validateFormTemplateHtml(htmlContent: string): FormTemplateValidationResult;
|
|
10
|
+
//# sourceMappingURL=validateFormTemplateHtml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateFormTemplateHtml.d.ts","sourceRoot":"","sources":["../src/validateFormTemplateHtml.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,mCAAmC,CAAC;AAM3C,OAAO,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAmClF,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG;IACnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CAChB,CASA;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,EAAE,CAyClF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe,EAAE,CAExF;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,4BAA4B,CAyC1F"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ValidationIssue } from "./validators";
|
|
2
|
+
export type PythonValidationResult = {
|
|
3
|
+
ok: true;
|
|
4
|
+
} | {
|
|
5
|
+
ok: false;
|
|
6
|
+
message: string;
|
|
7
|
+
issues: ValidationIssue[];
|
|
8
|
+
};
|
|
9
|
+
export type PythonInterpreterCommand = {
|
|
10
|
+
command: string;
|
|
11
|
+
args: string[];
|
|
12
|
+
};
|
|
13
|
+
type PythonProbe = (command: string, args: string[], options: {
|
|
14
|
+
encoding: BufferEncoding;
|
|
15
|
+
}) => {
|
|
16
|
+
error?: Error;
|
|
17
|
+
status: number | null;
|
|
18
|
+
};
|
|
19
|
+
export declare function findPythonInterpreter(env?: NodeJS.ProcessEnv, probe?: PythonProbe): PythonInterpreterCommand | null;
|
|
20
|
+
export declare function validatePython(filePath: string, fileContent: string, appRoot: string | null): PythonValidationResult;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=validatePython.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatePython.d.ts","sourceRoot":"","sources":["../src/validatePython.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IACI,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAER,MAAM,MAAM,wBAAwB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,KAAK,WAAW,GAAG,CACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,QAAQ,EAAE,cAAc,CAAA;CAAE,KACpC;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAuE9C,wBAAgB,qBAAqB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,KAAK,GAAE,WAAuB,GAC/B,wBAAwB,GAAG,IAAI,CAkBjC;AAiCD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,sBAAsB,CAsEpH"}
|
package/dist/validators.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type AnvilYamlValidationResult = {
|
|
|
16
16
|
message: string;
|
|
17
17
|
issues: ValidationIssue[];
|
|
18
18
|
};
|
|
19
|
-
export type ValidationTarget = "anvil.yaml" | "form_template.yaml";
|
|
19
|
+
export type ValidationTarget = "anvil.yaml" | "form_template.yaml" | "form_template.html" | "python";
|
|
20
20
|
export type ValidatePathResult = {
|
|
21
21
|
ok: true;
|
|
22
22
|
target: ValidationTarget;
|
|
@@ -35,15 +35,15 @@ export declare function validateFormTemplate(yamlContent: string): FormTemplateV
|
|
|
35
35
|
* Validates anvil.yaml structure. Returns structured issues for tooling and CLI output.
|
|
36
36
|
*/
|
|
37
37
|
export declare function validateAnvilYaml(yamlContent: string): AnvilYamlValidationResult;
|
|
38
|
+
declare function inferValidationTarget(filePath: string): ValidationTarget | null;
|
|
39
|
+
export { inferValidationTarget };
|
|
40
|
+
export declare function findAnvilAppRoot(filePath: string): string | null;
|
|
38
41
|
/**
|
|
39
|
-
* Validate
|
|
42
|
+
* Validate file content by path convention:
|
|
40
43
|
* - `anvil.yaml`
|
|
41
44
|
* - any form YAML under `client_code/` with a `.yaml` suffix
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* `client_code/Foo/form_template.yaml` and module-form YAML such as
|
|
45
|
-
* `client_code/Foo.yaml`, which is the same distinction used elsewhere when
|
|
46
|
-
* inferring whether a client-code YAML file represents a form.
|
|
45
|
+
* - any form HTML under `client_code/` with a `.html` suffix
|
|
46
|
+
* - any Python file under `client_code/` or `server_code/`
|
|
47
47
|
*/
|
|
48
|
-
export declare function validatePath(filePath: string,
|
|
48
|
+
export declare function validatePath(filePath: string, fileContent: string): ValidatePathResult;
|
|
49
49
|
//# sourceMappingURL=validators.d.ts.map
|
package/dist/validators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAClC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IACI,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAER,MAAM,MAAM,yBAAyB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IACI,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAER,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,QAAQ,CAAC;AAErG,MAAM,MAAM,kBAAkB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACtC;IACI,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAoER,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,UAEhD;AAgBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,4BAA4B,CA0BtF;AAuZD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAkFhF;AAED,iBAAS,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA4BxE;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAOjC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBhE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAoItF"}
|
|
@@ -29,6 +29,10 @@ export declare function buildLocalChangesSet(status: {
|
|
|
29
29
|
notAdded: string[];
|
|
30
30
|
created: string[];
|
|
31
31
|
deleted: string[];
|
|
32
|
+
renamed?: Array<{
|
|
33
|
+
from: string;
|
|
34
|
+
to: string;
|
|
35
|
+
}>;
|
|
32
36
|
}): Set<string>;
|
|
33
37
|
/**
|
|
34
38
|
* Extract changes from git status.
|
|
@@ -50,5 +54,8 @@ export declare function logConflictResolution(result: ConflictResolutionResult):
|
|
|
50
54
|
/**
|
|
51
55
|
* Delete files that were removed on Anvil but exist locally as untracked.
|
|
52
56
|
*/
|
|
53
|
-
export declare function deleteFilesRemovedOnAnvil(gitService: GitService, unstagedFiles: string[], remotelyChangedFiles: Set<string
|
|
57
|
+
export declare function deleteFilesRemovedOnAnvil(gitService: GitService, unstagedFiles: string[], remotelyChangedFiles: Set<string>, options?: {
|
|
58
|
+
oldCommitId?: string;
|
|
59
|
+
localChangesToPreserve?: Set<string>;
|
|
60
|
+
}): Promise<string[]>;
|
|
54
61
|
//# sourceMappingURL=ConflictResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConflictResolver.d.ts","sourceRoot":"","sources":["../../src/watch/ConflictResolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAQtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,UAAU,EAAE,EACxB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,wBAAwB,CAyB1B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5G;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ConflictResolver.d.ts","sourceRoot":"","sources":["../../src/watch/ConflictResolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAQtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,UAAU,EAAE,EACxB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,EAChC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,wBAAwB,CAyB1B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5G;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,GAAG,GAAG,CAAC,MAAM,CAAC,CAQd;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD,GAAG,UAAU,EAAE,CAkBf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC3C,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,MAAM,EAAE,EACvB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,EACjC,OAAO,GAAE;IACL,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC,GACP,OAAO,CAAC,MAAM,EAAE,CAAC,CA6CnB"}
|
|
@@ -19,6 +19,12 @@ export interface SaveProcessorEvents {
|
|
|
19
19
|
newCommitId: string;
|
|
20
20
|
fileCount: number;
|
|
21
21
|
};
|
|
22
|
+
"saved": {
|
|
23
|
+
oldCommitId: string | null;
|
|
24
|
+
newCommitId: string;
|
|
25
|
+
branch: string;
|
|
26
|
+
};
|
|
27
|
+
"anvil-yaml-dependencies-changed": void;
|
|
22
28
|
"validation-failed": {
|
|
23
29
|
reason: string;
|
|
24
30
|
currentBranch: string;
|
|
@@ -56,10 +62,11 @@ type SyncCallback = (filePaths: Set<string>) => Promise<{
|
|
|
56
62
|
localOnlyChanges: FileChange[];
|
|
57
63
|
conflicts: FileChange[];
|
|
58
64
|
}>;
|
|
59
|
-
type PostSaveCallback =
|
|
65
|
+
type PostSaveCallback = SyncCallback;
|
|
60
66
|
export declare class SaveProcessor extends Emitter<SaveProcessorEvents> {
|
|
61
67
|
private hasPendingChanges;
|
|
62
68
|
private debounceTimer;
|
|
69
|
+
private saveLoopPromise;
|
|
63
70
|
private saveSequence;
|
|
64
71
|
private readonly SAVE_DEBOUNCE_MS;
|
|
65
72
|
private readonly MAX_RETRIES;
|
|
@@ -77,6 +84,8 @@ export declare class SaveProcessor extends Emitter<SaveProcessorEvents> {
|
|
|
77
84
|
forceSave(): Promise<void>;
|
|
78
85
|
cleanup(): void;
|
|
79
86
|
private processSaveBatchWithEvents;
|
|
87
|
+
private drainSaveQueue;
|
|
88
|
+
private processOneSaveBatchWithEvents;
|
|
80
89
|
private getSuccessMessage;
|
|
81
90
|
private processSaveBatch;
|
|
82
91
|
private getStagedChanges;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveProcessor.d.ts","sourceRoot":"","sources":["../../src/watch/SaveProcessor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SaveProcessor.d.ts","sourceRoot":"","sources":["../../src/watch/SaveProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export interface SyncManagerConfig {
|
|
|
25
25
|
export declare function stripNonSemanticYamlFields(yamlFile: string, parsed: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
26
26
|
export declare class SyncManager extends Emitter<SyncManagerEvents> {
|
|
27
27
|
private config;
|
|
28
|
-
private
|
|
28
|
+
private syncQueue;
|
|
29
29
|
constructor(config: SyncManagerConfig);
|
|
30
30
|
/**
|
|
31
31
|
* Syncs remote changes while preserving local modifications.
|
|
@@ -39,11 +39,16 @@ export declare class SyncManager extends Emitter<SyncManagerEvents> {
|
|
|
39
39
|
localOnlyChanges: FileChange[];
|
|
40
40
|
conflicts: FileChange[];
|
|
41
41
|
}>;
|
|
42
|
+
private performSyncRemoteChanges;
|
|
42
43
|
/**
|
|
43
44
|
* Fetch latest from Anvil and reset the working directory.
|
|
44
45
|
* @throws {AuthError | GitError} on failure
|
|
45
46
|
*/
|
|
46
|
-
fetchAndResetFromAnvil(): Promise<void>;
|
|
47
|
+
fetchAndResetFromAnvil(localChangesToPreserve?: Set<string>): Promise<void>;
|
|
48
|
+
private fetchAndMoveCleanTreeToAnvilHead;
|
|
49
|
+
private withFetchedAnvilRef;
|
|
50
|
+
private resetToFetchedAnvilRef;
|
|
51
|
+
private isCleanForFastForward;
|
|
47
52
|
private deleteFilesRemovedOnAnvilLocally;
|
|
48
53
|
private discardFormattingOnlyYamlChanges;
|
|
49
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncManager.d.ts","sourceRoot":"","sources":["../../src/watch/SyncManager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"SyncManager.d.ts","sourceRoot":"","sources":["../../src/watch/SyncManager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,OAAO,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAQH,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,iBAAiB;IAC9B,cAAc,EAAE,EAAE,CAAC;IACnB,gBAAgB,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC5C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgBzB;AAED,qBAAa,WAAY,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACvD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAuC;gBAE5C,MAAM,EAAE,iBAAiB;IAKrC;;;;;;;OAOG;IACG,iBAAiB,CACnB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAChC,OAAO,CAAC;QAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;QAAC,SAAS,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;YAOzD,wBAAwB;IA8CtC;;;OAGG;IACG,sBAAsB,CAAC,sBAAsB,GAAE,GAAG,CAAC,MAAM,CAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YAO9E,gCAAgC;YA2BhC,mBAAmB;YAgBnB,sBAAsB;IAapC,OAAO,CAAC,qBAAqB;YAYf,gCAAgC;YAiBhC,gCAAgC;CAkGjD"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Emitter } from "../Emitter";
|
|
2
2
|
import { AnvilEnvironmentBinding } from "../environment";
|
|
3
|
+
import type { DependencyWatchSubscription } from "../services/deps";
|
|
3
4
|
export interface WebSocketClientEvents {
|
|
4
5
|
"repo-update": {
|
|
6
|
+
appId: string;
|
|
5
7
|
ref: string;
|
|
6
8
|
commitHash: string;
|
|
7
9
|
saveSeq?: {
|
|
@@ -31,6 +33,8 @@ export interface WebSocketClientOptions {
|
|
|
31
33
|
editSession: string;
|
|
32
34
|
username?: string;
|
|
33
35
|
environment?: AnvilEnvironmentBinding;
|
|
36
|
+
dependencyWatch?: boolean;
|
|
37
|
+
dependencySubscriptions?: DependencyWatchSubscription[];
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* WebSocketClient for real-time Anvil communication.
|
|
@@ -44,6 +48,12 @@ export declare class WebSocketClient extends Emitter<WebSocketClientEvents> {
|
|
|
44
48
|
private editSession;
|
|
45
49
|
private username?;
|
|
46
50
|
private environment?;
|
|
51
|
+
private dependencyWatchEnabled;
|
|
52
|
+
private dependencySubscriptions;
|
|
53
|
+
private activeDependencySubscriptions;
|
|
54
|
+
private watchedPrimaryBranch;
|
|
55
|
+
private nextSubscriptionId;
|
|
56
|
+
private pendingDependencySubscriptionById;
|
|
47
57
|
private reconnectAttempts;
|
|
48
58
|
private connectAttempts;
|
|
49
59
|
private reconnectTimer;
|
|
@@ -75,6 +85,8 @@ export declare class WebSocketClient extends Emitter<WebSocketClientEvents> {
|
|
|
75
85
|
*/
|
|
76
86
|
updateBranch(branch: string): void;
|
|
77
87
|
updateEnvironment(environment: AnvilEnvironmentBinding | undefined): void;
|
|
88
|
+
updateDependencySubscriptions(subscriptions: DependencyWatchSubscription[]): void;
|
|
89
|
+
getDependencySubscriptions(): DependencyWatchSubscription[];
|
|
78
90
|
/**
|
|
79
91
|
* Get the edit session ID.
|
|
80
92
|
*/
|
|
@@ -83,12 +95,20 @@ export declare class WebSocketClient extends Emitter<WebSocketClientEvents> {
|
|
|
83
95
|
* Close the WebSocket connection.
|
|
84
96
|
*/
|
|
85
97
|
close(): void;
|
|
98
|
+
reconnect(): void;
|
|
86
99
|
/**
|
|
87
100
|
* Check if the WebSocket is connected.
|
|
88
101
|
*/
|
|
89
102
|
isConnected(): boolean;
|
|
90
103
|
private scheduleReconnect;
|
|
91
104
|
private buildSubscribeMessage;
|
|
105
|
+
private buildUnsubscribeMessage;
|
|
106
|
+
private subscribeToDependencies;
|
|
107
|
+
private handleDependencySubscriptionReply;
|
|
108
|
+
private formatDependencySubscriptionError;
|
|
109
|
+
private getMessageAppId;
|
|
110
|
+
private unsubscribeStaleDependencies;
|
|
111
|
+
private unwatchDependencySubscriptions;
|
|
92
112
|
private getConnectionContext;
|
|
93
113
|
private getConnectionTarget;
|
|
94
114
|
private formatCloseSummary;
|
|
@@ -99,6 +119,7 @@ export declare class WebSocketClient extends Emitter<WebSocketClientEvents> {
|
|
|
99
119
|
private markSocketResponsive;
|
|
100
120
|
private stopHeartbeat;
|
|
101
121
|
private teardownSocket;
|
|
122
|
+
private dependencySubscriptionKey;
|
|
102
123
|
}
|
|
103
124
|
/**
|
|
104
125
|
* Create a WebSocketClient instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../../src/watch/WebSocketClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"WebSocketClient.d.ts","sourceRoot":"","sources":["../../src/watch/WebSocketClient.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IAClC,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACjG,iBAAiB,EAAE,IAAI,CAAC;IACxB,WAAW,EAAE;QAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;KAAE,CAAC;IACjD,YAAY,EAAE,uBAAuB,CAAC;IACtC,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IACxB,aAAa,EAAE,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAC3D;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,OAAO,CAAC,qBAAqB,CAAC;IAC/D,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,sBAAsB,CAAU;IACxC,OAAO,CAAC,uBAAuB,CAAgC;IAC/D,OAAO,CAAC,6BAA6B,CAAkD;IACvF,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,iCAAiC,CAAkD;IAE3F,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,qBAAqB,CAAuB;IAEpD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,OAAO,EAAE,sBAAsB;IAe3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6H9B;;OAEG;IACH,OAAO,CAAC,aAAa;IA+BrB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUlC,iBAAiB,CAAC,WAAW,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI;IAIzE,6BAA6B,CAAC,aAAa,EAAE,2BAA2B,EAAE,GAAG,IAAI;IASjF,0BAA0B,IAAI,2BAA2B,EAAE;IAI3D;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb,SAAS,IAAI,IAAI;IAYjB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,iCAAiC;IAuBzC,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,8BAA8B;IAuBtC,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,oBAAoB;IA2B5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,yBAAyB;CAGpC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEtF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anvil-works/anvil-cli",
|
|
3
|
-
"version": "0.7.0
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "CLI tool for developing Anvil apps locally",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/api.d.ts",
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"typescript": "^5.9.3"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
+
"@anvil-works/form-template-parser": "0.0.2",
|
|
67
68
|
"@napi-rs/keyring": "^1.2.0",
|
|
68
69
|
"@types/inquirer": "^9.0.9",
|
|
69
70
|
"@types/js-yaml": "^4.0.9",
|