@liquidmetal-ai/drizzle 0.0.4 → 0.1.1
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/.changeset/slow-guests-stare.md +7 -0
- package/.changeset/tasty-tigers-wash.md +6 -0
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +211 -0
- package/dist/appify/build.d.ts +1 -0
- package/dist/appify/build.d.ts.map +1 -1
- package/dist/appify/build.js +4 -3
- package/dist/appify/build.test.js +1 -3
- package/dist/appify/index.test.js +2 -2
- package/dist/appify/parse.test.js +0 -1
- package/dist/appify/validate.d.ts.map +1 -1
- package/dist/appify/validate.js +34 -7
- package/dist/appify/validate.test.js +119 -26
- package/dist/codestore.d.ts +40 -0
- package/dist/codestore.d.ts.map +1 -1
- package/dist/codestore.js +15 -0
- package/dist/liquidmetal/v1alpha1/catalog_connect.d.ts +12 -12
- package/dist/liquidmetal/v1alpha1/catalog_connect.d.ts.map +1 -1
- package/dist/liquidmetal/v1alpha1/catalog_connect.js +12 -12
- package/dist/liquidmetal/v1alpha1/catalog_pb.d.ts +119 -77
- package/dist/liquidmetal/v1alpha1/catalog_pb.d.ts.map +1 -1
- package/dist/liquidmetal/v1alpha1/catalog_pb.js +177 -107
- package/dist/raindrop/index.d.ts +2 -0
- package/dist/raindrop/index.d.ts.map +1 -0
- package/dist/raindrop/index.js +4 -0
- package/dist/raindrop/index.test.d.ts +2 -0
- package/dist/raindrop/index.test.d.ts.map +1 -0
- package/dist/raindrop/index.test.js +5 -0
- package/dist/unsafe/codestore.d.ts +5 -0
- package/dist/unsafe/codestore.d.ts.map +1 -1
- package/dist/unsafe/codestore.js +5 -1
- package/dist/unsafe/framework.d.ts +11 -0
- package/dist/unsafe/framework.d.ts.map +1 -0
- package/dist/unsafe/framework.js +96 -0
- package/dist/unsafe/framework.test.d.ts +2 -0
- package/dist/unsafe/framework.test.d.ts.map +1 -0
- package/dist/unsafe/framework.test.js +175 -0
- package/eslint.config.mjs +1 -2
- package/package.json +1 -1
- package/src/appify/build.test.ts +1 -3
- package/src/appify/build.ts +4 -3
- package/src/appify/index.test.ts +2 -2
- package/src/appify/parse.test.ts +0 -1
- package/src/appify/validate.test.ts +123 -26
- package/src/appify/validate.ts +39 -7
- package/src/codestore.ts +40 -1
- package/src/liquidmetal/v1alpha1/catalog_connect.ts +12 -12
- package/src/liquidmetal/v1alpha1/catalog_pb.ts +213 -127
- package/src/raindrop/index.test.ts +6 -0
- package/src/raindrop/index.ts +4 -0
- package/src/unsafe/codestore.ts +7 -3
- package/src/unsafe/framework.test.ts +205 -0
- package/src/unsafe/framework.ts +113 -0
- package/tsconfig.json +3 -9
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-lint.log
CHANGED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
> @liquidmetal-ai/drizzle@0.0.4 test
|
|
4
|
+
> vitest run
|
|
5
|
+
|
|
6
|
+
[1G[0K
|
|
7
|
+
[7m[1m[36m RUN [39m[22m[27m [36mv2.1.1[39m [90m/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle[39m
|
|
8
|
+
|
|
9
|
+
[?25l [90m·[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
10
|
+
[90m·[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
11
|
+
[?25l[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
12
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
13
|
+
[?25l[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
14
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
15
|
+
[?25l[?25l[?25l[?25l[?25l[?25l[?25l[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
16
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
17
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
18
|
+
[?25l[2K[1A[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
19
|
+
[90m·[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
20
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
21
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
22
|
+
[?25l[?25l[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
23
|
+
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
24
|
+
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
25
|
+
[33m⠙[39m should detect npm package version
|
|
26
|
+
[90m·[39m should detect yarn package version
|
|
27
|
+
[90m·[39m should detect pnpm package version
|
|
28
|
+
[90m·[39m should handle nested dependencies
|
|
29
|
+
[90m·[39m should return null when package is not found
|
|
30
|
+
[90m·[39m should search parent directories for package manager files
|
|
31
|
+
[90m·[39m should handle command execution errors
|
|
32
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
33
|
+
[90m·[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
34
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
35
|
+
[90m·[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
36
|
+
[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [90m·[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
37
|
+
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
38
|
+
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
39
|
+
[33m⠹[39m should detect npm package version
|
|
40
|
+
[90m·[39m should detect yarn package version
|
|
41
|
+
[90m·[39m should detect pnpm package version
|
|
42
|
+
[90m·[39m should handle nested dependencies
|
|
43
|
+
[90m·[39m should return null when package is not found
|
|
44
|
+
[90m·[39m should search parent directories for package manager files
|
|
45
|
+
[90m·[39m should handle command execution errors
|
|
46
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
47
|
+
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
48
|
+
[33m⠙[39m archive and unarchive
|
|
49
|
+
[90m·[39m list bundle with files
|
|
50
|
+
[90m·[39m read file from bundle
|
|
51
|
+
[90m·[39m read missing file from bundle
|
|
52
|
+
[90m·[39m delete file from bundle
|
|
53
|
+
[90m·[39m for await of bundle
|
|
54
|
+
[90m·[39m stat file from bundle
|
|
55
|
+
[90m·[39m stat missing file from bundle
|
|
56
|
+
[90m·[39m hash bundle
|
|
57
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
58
|
+
[33m❯[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
59
|
+
[33m⠙[39m FileSystemBundle maps to local files and their contents
|
|
60
|
+
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G[90mstderr[2m | src/unsafe/framework.test.ts[2m > [22m[2mgetPackageVersion[2m > [22m[2mshould return null when package is not found[22m[39m
|
|
61
|
+
Error reading package version: Error: Package version not found
|
|
62
|
+
at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:108:11)
|
|
63
|
+
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:151:21
|
|
64
|
+
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:529:5
|
|
65
|
+
at runTest (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:982:11)
|
|
66
|
+
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
67
|
+
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
68
|
+
at runFiles (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1188:5)
|
|
69
|
+
at startTests (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1197:3)
|
|
70
|
+
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:130:11
|
|
71
|
+
at withEnv (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:94:5)
|
|
72
|
+
|
|
73
|
+
[?25l [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
74
|
+
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
75
|
+
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
76
|
+
[33m⠸[39m should detect npm package version
|
|
77
|
+
[90m·[39m should detect yarn package version
|
|
78
|
+
[90m·[39m should detect pnpm package version
|
|
79
|
+
[90m·[39m should handle nested dependencies
|
|
80
|
+
[90m·[39m should return null when package is not found
|
|
81
|
+
[90m·[39m should search parent directories for package manager files
|
|
82
|
+
[90m·[39m should handle command execution errors
|
|
83
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
84
|
+
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
85
|
+
[33m⠹[39m archive and unarchive
|
|
86
|
+
[90m·[39m list bundle with files
|
|
87
|
+
[90m·[39m read file from bundle
|
|
88
|
+
[90m·[39m read missing file from bundle
|
|
89
|
+
[90m·[39m delete file from bundle
|
|
90
|
+
[90m·[39m for await of bundle
|
|
91
|
+
[90m·[39m stat file from bundle
|
|
92
|
+
[90m·[39m stat missing file from bundle
|
|
93
|
+
[90m·[39m hash bundle
|
|
94
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
95
|
+
[33m❯[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
96
|
+
[33m⠹[39m FileSystemBundle maps to local files and their contents
|
|
97
|
+
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G[90mstderr[2m | src/unsafe/framework.test.ts[2m > [22m[2mgetPackageVersion[2m > [22m[2mshould handle command execution errors[22m[39m
|
|
98
|
+
Error executing npm list command: Error: Command failed
|
|
99
|
+
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:192:9
|
|
100
|
+
at mockCall (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/node_modules/[4m@vitest[24m/spy/dist/index.js:61:17)
|
|
101
|
+
at spy (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mtinyspy[24m/dist/index.js:45:80)
|
|
102
|
+
[90m at node:internal/util:447:21[39m
|
|
103
|
+
at new Promise (<anonymous>)
|
|
104
|
+
[90m at spy (node:internal/util:433:12)[39m
|
|
105
|
+
at getVersionFromCommand (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:69:30)
|
|
106
|
+
at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:102:31)
|
|
107
|
+
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:202:21
|
|
108
|
+
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:529:5
|
|
109
|
+
|
|
110
|
+
[?25l [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
111
|
+
[33m❯[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
112
|
+
[33m❯[39m getPackageVersion[2m (7)[22m
|
|
113
|
+
[32m✓[39m should detect npm package version
|
|
114
|
+
[32m✓[39m should detect yarn package version
|
|
115
|
+
[32m✓[39m should detect pnpm package version
|
|
116
|
+
[32m✓[39m should handle nested dependencies
|
|
117
|
+
[32m✓[39m should return null when package is not found
|
|
118
|
+
[33m⠙[39m should search parent directories for package manager files
|
|
119
|
+
[90m·[39m should handle command execution errors
|
|
120
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
121
|
+
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
122
|
+
[33m⠸[39m archive and unarchive
|
|
123
|
+
[90m·[39m list bundle with files
|
|
124
|
+
[90m·[39m read file from bundle
|
|
125
|
+
[90m·[39m read missing file from bundle
|
|
126
|
+
[90m·[39m delete file from bundle
|
|
127
|
+
[90m·[39m for await of bundle
|
|
128
|
+
[90m·[39m stat file from bundle
|
|
129
|
+
[90m·[39m stat missing file from bundle
|
|
130
|
+
[90m·[39m hash bundle
|
|
131
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
132
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
133
|
+
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G[90mstderr[2m | src/unsafe/framework.test.ts[2m > [22m[2mgetPackageVersion[2m > [22m[2mshould handle command execution errors[22m[39m
|
|
134
|
+
Error reading package version: Error: Package version not found
|
|
135
|
+
at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:108:11)
|
|
136
|
+
at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:202:21
|
|
137
|
+
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:529:5
|
|
138
|
+
at runTest (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:982:11)
|
|
139
|
+
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
140
|
+
at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1131:15)
|
|
141
|
+
at runFiles (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1188:5)
|
|
142
|
+
at startTests (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4m@vitest[24m/runner/dist/index.js:1197:3)
|
|
143
|
+
at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:130:11
|
|
144
|
+
at withEnv (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/[4mvitest[24m/dist/chunks/runBaseTests.9YDrdSI4.js:94:5)
|
|
145
|
+
|
|
146
|
+
[?25l [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
147
|
+
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
148
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
149
|
+
[33m❯[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
150
|
+
[33m⠼[39m archive and unarchive
|
|
151
|
+
[90m·[39m list bundle with files
|
|
152
|
+
[90m·[39m read file from bundle
|
|
153
|
+
[90m·[39m read missing file from bundle
|
|
154
|
+
[90m·[39m delete file from bundle
|
|
155
|
+
[90m·[39m for await of bundle
|
|
156
|
+
[90m·[39m stat file from bundle
|
|
157
|
+
[90m·[39m stat missing file from bundle
|
|
158
|
+
[90m·[39m hash bundle
|
|
159
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
160
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
161
|
+
[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
162
|
+
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
163
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
164
|
+
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
165
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
166
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
167
|
+
[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
168
|
+
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
169
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
170
|
+
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
171
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
172
|
+
[90m·[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
173
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
174
|
+
[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
175
|
+
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
176
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
177
|
+
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
178
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
179
|
+
[32m✓[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
180
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
181
|
+
[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
182
|
+
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
183
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
184
|
+
[32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
185
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
186
|
+
[32m✓[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
187
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
188
|
+
[32m✓[39m [2msrc/raindrop/[22mindex[2m.test.ts[22m[2m (1)[22m
|
|
189
|
+
[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[1A[2K[G [32m✓[39m [2msrc/[22mcodestore[2m.test.ts[22m[2m (9)[22m
|
|
190
|
+
[32m✓[39m [2msrc/appify/[22mbuild[2m.test.ts[22m[2m (2)[22m
|
|
191
|
+
[32m✓[39m [2msrc/appify/[22mindex[2m.test.ts[22m[2m (3)[22m
|
|
192
|
+
[32m✓[39m [2msrc/appify/[22mparse[2m.test.ts[22m[2m (15)[22m
|
|
193
|
+
[32m✓[39m [2msrc/appify/[22mvalidate[2m.test.ts[22m[2m (14)[22m
|
|
194
|
+
[32m✓[39m [2msrc/raindrop/[22mindex[2m.test.ts[22m[2m (1)[22m
|
|
195
|
+
[32m✓[39m [2msrc/unsafe/[22mcodestore[2m.test.ts[22m[2m (1)[22m
|
|
196
|
+
[32m✓[39m [2msrc/unsafe/[22mframework[2m.test.ts[22m[2m (7)[22m
|
|
197
|
+
|
|
198
|
+
[2m Test Files [22m [1m[32m8 passed[39m[22m[90m (8)[39m
|
|
199
|
+
[2m Tests [22m [1m[32m52 passed[39m[22m[90m (52)[39m
|
|
200
|
+
[2m Start at [22m 18:26:33
|
|
201
|
+
[2m Duration [22m 5.88s[2m (transform 3.35s, setup 0ms, collect 7.85s, tests 702ms, environment 1ms, prepare 6.03s)[22m
|
|
202
|
+
|
|
203
|
+
[?25h[?25h[1G[0K⠙[1G[0K
|
|
204
|
+
> @liquidmetal-ai/drizzle@0.0.4 posttest
|
|
205
|
+
> npm run lint
|
|
206
|
+
|
|
207
|
+
[1G[0K⠙[1G[0K
|
|
208
|
+
> @liquidmetal-ai/drizzle@0.0.4 lint
|
|
209
|
+
> eslint . --max-warnings=0
|
|
210
|
+
|
|
211
|
+
[1G[0K[1G[0K⠙[1G[0K[1G[0K⠙[1G[0K
|
package/dist/appify/build.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/appify/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/appify/build.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,SAAS,EAGT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;AAgBtD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,WAAW;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;gBAEA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;CAO/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAqB7E;AAgED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,WAAW,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC,CAqD3F;AAyZD,qBAAa,WAAW;IACtB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,CAAM;IACxB,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAC1B,KAAK,EAAE,KAAK,EAAE,CAAM;IACpB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,KAAK,EAAE,KAAK,EAAE,CAAM;IACpB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,WAAW,EAAE,WAAW,EAAE,CAAM;IAChC,WAAW,EAAE,WAAW,EAAE,CAAM;gBAEpB,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;IAMhD,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE;CAG3C;AAED,qBAAa,OAAO;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;gBAEJ,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,KAAK;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;IAChB,UAAU,CAAC,EAAE,WAAW,CAAC;gBAEb,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,QAAQ;IACnB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,GAAG,EAAE,GAAG,EAAE,CAAM;gBAEJ,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,MAAM;IACjB,GAAG,EAAE,YAAY,CAAC;IAElB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAEd,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,UAAU,CAAC,EAAE,WAAW,CAAC;gBAEb,GAAG,EAAE,YAAY;CAG9B;AAED,qBAAa,IAAI;IACf,GAAG,EAAE,YAAY,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;gBAET,GAAG,EAAE,YAAY;CAG9B;AAED,qBAAa,KAAK;IAChB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;gBAEV,GAAG,EAAE,YAAY;CAG9B;AAED,qBAAa,MAAM;IACjB,GAAG,EAAE,YAAY,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;gBAEP,GAAG,EAAE,YAAY;CAG9B;AAED,qBAAa,OAAO;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,GAAG,EAAE,YAAY,CAAC;gBAEN,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,YAAY;CAI1D;AAED,qBAAa,GAAG;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,MAAM;IACjB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,qBAAa,WAAW;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,YAAY,CAAC;gBAEN,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY;CAIjD;AAED,eAAO,MAAM,YAAY,uFAAwF,CAAC;AAClH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/appify/build.js
CHANGED
|
@@ -305,9 +305,6 @@ function buildSqlDatabase(stanza) {
|
|
|
305
305
|
case 'visibility':
|
|
306
306
|
buildAssignment(sqlDatabase, 'visibility', 'string', child, errors);
|
|
307
307
|
break;
|
|
308
|
-
case 'schema':
|
|
309
|
-
buildAssignment(sqlDatabase, 'schema', 'string', child, errors);
|
|
310
|
-
break;
|
|
311
308
|
default:
|
|
312
309
|
errors.push({ message: 'unexpected assignment', ...child });
|
|
313
310
|
}
|
|
@@ -499,6 +496,9 @@ function buildDomain(stanza) {
|
|
|
499
496
|
for (const child of stanza.block?.children ?? []) {
|
|
500
497
|
if (child.type === 'assignment') {
|
|
501
498
|
switch (child.key.value) {
|
|
499
|
+
case 'cname':
|
|
500
|
+
buildAssignment(domain, 'cname', 'string', child, errors);
|
|
501
|
+
break;
|
|
502
502
|
case 'fqdn':
|
|
503
503
|
buildAssignment(domain, 'fqdn', 'string', child, errors);
|
|
504
504
|
break;
|
|
@@ -638,6 +638,7 @@ export class Route {
|
|
|
638
638
|
}
|
|
639
639
|
export class Domain {
|
|
640
640
|
obj;
|
|
641
|
+
cname;
|
|
641
642
|
fqdn;
|
|
642
643
|
constructor(obj) {
|
|
643
644
|
this.obj = obj;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/appify/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,MAAM,EACN,GAAG,EACH,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,EAEX,WAAW,EAEZ,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;CACjC,CAAC;AAcF,wBAAsB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAgBvG;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/appify/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,MAAM,EACN,GAAG,EACH,QAAQ,EACR,KAAK,EACL,OAAO,EACP,WAAW,EAEX,WAAW,EAEZ,MAAM,YAAY,CAAC;AAOpB,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;CACjC,CAAC;AAcF,wBAAsB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAgBvG;AA6YD,eAAO,MAAM,UAAU,EAAE,SAAS,EAUjC,CAAC"}
|
package/dist/appify/validate.js
CHANGED
|
@@ -128,22 +128,48 @@ const bindingValueValidator = {
|
|
|
128
128
|
return errors;
|
|
129
129
|
},
|
|
130
130
|
};
|
|
131
|
-
|
|
132
|
-
const
|
|
131
|
+
const VALIDATE_DOMAIN_PATTERN = /^[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,6}$/;
|
|
132
|
+
const FQDN_MAX_LENGTH = 63;
|
|
133
|
+
const CNAME_MAX_LENGTH = 63 - `.01abcdefghijklmnopqrstuvwx.lmapp.run`.length;
|
|
134
|
+
const domainValidator = {
|
|
133
135
|
onDomain: async (app, domain) => {
|
|
134
136
|
const errors = [];
|
|
135
|
-
if (domain.fqdn === undefined) {
|
|
137
|
+
if (domain.cname == undefined && domain.fqdn === undefined) {
|
|
136
138
|
errors.push({
|
|
137
|
-
message: 'domain must have
|
|
139
|
+
message: 'domain must have either a cname or fqdn attribute',
|
|
138
140
|
severity: 'error',
|
|
139
141
|
...domain.obj,
|
|
140
142
|
});
|
|
143
|
+
return errors;
|
|
141
144
|
}
|
|
142
|
-
|
|
145
|
+
if (domain.fqdn !== undefined &&
|
|
146
|
+
valueOf(domain.fqdn).indexOf('${') === -1 &&
|
|
147
|
+
!VALIDATE_DOMAIN_PATTERN.test(valueOf(domain.fqdn))) {
|
|
143
148
|
errors.push({
|
|
144
149
|
message: `domain ${domain.fqdn.value} is an invalid domain name`,
|
|
145
|
-
severity: '
|
|
146
|
-
...domain.
|
|
150
|
+
severity: 'error',
|
|
151
|
+
...domain.obj,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
if (domain.cname !== undefined && !VALIDATE_DOMAIN_PATTERN.test(`${valueOf(domain.cname)}.example.com`)) {
|
|
155
|
+
errors.push({
|
|
156
|
+
message: `domain ${domain.cname.value} is an invalid subdomain name`,
|
|
157
|
+
severity: 'error',
|
|
158
|
+
...domain.obj,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
if (domain.cname !== undefined && valueOf(domain.cname).length > CNAME_MAX_LENGTH) {
|
|
162
|
+
errors.push({
|
|
163
|
+
message: `domain.cname ${domain.fqdn} is too long, maximum ${CNAME_MAX_LENGTH} characters`,
|
|
164
|
+
severity: 'error',
|
|
165
|
+
...domain.obj,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (domain.fqdn !== undefined && valueOf(domain.fqdn).length > FQDN_MAX_LENGTH) {
|
|
169
|
+
errors.push({
|
|
170
|
+
message: `domain.fqdn ${domain.fqdn} is too long, maximum ${FQDN_MAX_LENGTH} characters`,
|
|
171
|
+
severity: 'error',
|
|
172
|
+
...domain.obj,
|
|
147
173
|
});
|
|
148
174
|
}
|
|
149
175
|
return errors;
|
|
@@ -348,6 +374,7 @@ const duplicateModuleValidator = {
|
|
|
348
374
|
export const VALIDATORS = [
|
|
349
375
|
bindingNameValidator,
|
|
350
376
|
bindingValueValidator,
|
|
377
|
+
domainValidator,
|
|
351
378
|
envValidator,
|
|
352
379
|
observerSourceValidator,
|
|
353
380
|
visibilityValidator,
|
|
@@ -52,32 +52,125 @@ application "my-app" {
|
|
|
52
52
|
},
|
|
53
53
|
]);
|
|
54
54
|
});
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
55
|
+
test('domainValidator ensures domain.fqdn is valid', async () => {
|
|
56
|
+
const manifest = `
|
|
57
|
+
application "my-app" {
|
|
58
|
+
service "my-service" {
|
|
59
|
+
domain {
|
|
60
|
+
fqdn = "not-valid.com_foo"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
`;
|
|
65
|
+
const tokenizer = new Tokenizer(manifest);
|
|
66
|
+
const parser = new Parser(tokenizer);
|
|
67
|
+
const parsedManifest = parser.parse();
|
|
68
|
+
const [builtApps] = buildManifest(parsedManifest);
|
|
69
|
+
const validateErrors = await validate(builtApps, VALIDATORS);
|
|
70
|
+
expect(validateErrors).toMatchObject([
|
|
71
|
+
{
|
|
72
|
+
message: 'domain "not-valid.com_foo" is an invalid domain name',
|
|
73
|
+
line: 4,
|
|
74
|
+
column: 5,
|
|
75
|
+
start: 53,
|
|
76
|
+
end: 100,
|
|
77
|
+
severity: 'error',
|
|
78
|
+
},
|
|
79
|
+
]);
|
|
80
|
+
});
|
|
81
|
+
test('domainValidator ensures domain.fqdn is valid but ignores variable interpolation', async () => {
|
|
82
|
+
const manifest = `
|
|
83
|
+
application "my-app" {
|
|
84
|
+
service "my-service" {
|
|
85
|
+
domain {
|
|
86
|
+
fqdn = "$\{MY_SERVICES_EXAMPLE_URL}"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
`;
|
|
91
|
+
const tokenizer = new Tokenizer(manifest);
|
|
92
|
+
const parser = new Parser(tokenizer);
|
|
93
|
+
const parsedManifest = parser.parse();
|
|
94
|
+
const [builtApps] = buildManifest(parsedManifest);
|
|
95
|
+
const validateErrors = await validate(builtApps, VALIDATORS);
|
|
96
|
+
expect(validateErrors).toEqual([]);
|
|
97
|
+
});
|
|
98
|
+
test('domainValidator ensures either a cname or fqdn present', async () => {
|
|
99
|
+
const manifest = `
|
|
100
|
+
application "my-app" {
|
|
101
|
+
service "my-service" {
|
|
102
|
+
domain {}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
106
|
+
const tokenizer = new Tokenizer(manifest);
|
|
107
|
+
const parser = new Parser(tokenizer);
|
|
108
|
+
const parsedManifest = parser.parse();
|
|
109
|
+
const [builtApps] = buildManifest(parsedManifest);
|
|
110
|
+
const validateErrors = await validate(builtApps, VALIDATORS);
|
|
111
|
+
expect(validateErrors).toMatchObject([
|
|
112
|
+
{
|
|
113
|
+
message: 'domain must have either a cname or fqdn attribute',
|
|
114
|
+
line: 4,
|
|
115
|
+
column: 5,
|
|
116
|
+
start: 53,
|
|
117
|
+
end: 62,
|
|
118
|
+
severity: 'error',
|
|
119
|
+
},
|
|
120
|
+
]);
|
|
121
|
+
});
|
|
122
|
+
test('domainValidator ensures ensures domain.cname is valid', async () => {
|
|
123
|
+
const manifest = `
|
|
124
|
+
application "my-app" {
|
|
125
|
+
service "my-service" {
|
|
126
|
+
domain {
|
|
127
|
+
cname = "my_cname"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
`;
|
|
132
|
+
const tokenizer = new Tokenizer(manifest);
|
|
133
|
+
const parser = new Parser(tokenizer);
|
|
134
|
+
const parsedManifest = parser.parse();
|
|
135
|
+
const [builtApps] = buildManifest(parsedManifest);
|
|
136
|
+
const validateErrors = await validate(builtApps, VALIDATORS);
|
|
137
|
+
expect(validateErrors).toMatchObject([
|
|
138
|
+
{
|
|
139
|
+
message: 'domain "my_cname" is an invalid subdomain name',
|
|
140
|
+
line: 4,
|
|
141
|
+
column: 5,
|
|
142
|
+
start: 53,
|
|
143
|
+
end: 92,
|
|
144
|
+
severity: 'error',
|
|
145
|
+
},
|
|
146
|
+
]);
|
|
147
|
+
});
|
|
148
|
+
test('domainValidator validates domain.cname does not exceed the maximum length', async () => {
|
|
149
|
+
const manifest = `
|
|
150
|
+
application "my-app" {
|
|
151
|
+
service "my-service" {
|
|
152
|
+
domain {
|
|
153
|
+
cname = "really-long-cname-that-is-invalid-because-it-is-too-long"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
`;
|
|
158
|
+
const tokenizer = new Tokenizer(manifest);
|
|
159
|
+
const parser = new Parser(tokenizer);
|
|
160
|
+
const parsedManifest = parser.parse();
|
|
161
|
+
const [builtApps] = buildManifest(parsedManifest);
|
|
162
|
+
const validateErrors = await validate(builtApps, VALIDATORS);
|
|
163
|
+
expect(validateErrors).toMatchObject([
|
|
164
|
+
{
|
|
165
|
+
message: 'domain.cname undefined is too long, maximum 26 characters',
|
|
166
|
+
line: 4,
|
|
167
|
+
column: 5,
|
|
168
|
+
start: 53,
|
|
169
|
+
end: 140,
|
|
170
|
+
severity: 'error',
|
|
171
|
+
},
|
|
172
|
+
]);
|
|
173
|
+
});
|
|
81
174
|
test('visibilityValidator', async () => {
|
|
82
175
|
const manifest = `
|
|
83
176
|
application "my-app" {
|
package/dist/codestore.d.ts
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeStore represents a collection of code bundles mapped by handler names
|
|
3
|
+
* Used to organize and manage multiple code bundles in a single namespace
|
|
4
|
+
*/
|
|
1
5
|
export interface CodeStore {
|
|
2
6
|
[key: string]: Bundle;
|
|
3
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Statistics about a file in a bundle
|
|
10
|
+
* Includes size and cryptographic hash information
|
|
11
|
+
*/
|
|
4
12
|
export interface Stat {
|
|
5
13
|
sizeBytes: number;
|
|
6
14
|
sha256Hex: string;
|
|
7
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Interface for read-only access to a bundle of files
|
|
18
|
+
* Provides methods to list, read, and get statistics about files
|
|
19
|
+
* Also supports async iteration over files
|
|
20
|
+
*/
|
|
8
21
|
export interface ReadableBundle {
|
|
9
22
|
list(): Promise<string[]>;
|
|
10
23
|
read(name: string): Promise<Buffer>;
|
|
@@ -12,16 +25,33 @@ export interface ReadableBundle {
|
|
|
12
25
|
[Symbol.asyncIterator](): AsyncGenerator<File>;
|
|
13
26
|
hash(): Promise<string>;
|
|
14
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Interface for write operations on a bundle of files
|
|
30
|
+
* Provides methods to write and delete files
|
|
31
|
+
*/
|
|
15
32
|
export interface WritableBundle {
|
|
16
33
|
write(name: string, content: Buffer): Promise<void>;
|
|
17
34
|
delete(name: string): Promise<void>;
|
|
18
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Complete interface for a bundle of files
|
|
38
|
+
* Combines both read and write operations
|
|
39
|
+
*/
|
|
19
40
|
export type Bundle = ReadableBundle & WritableBundle;
|
|
41
|
+
/**
|
|
42
|
+
* Represents a single file within a bundle
|
|
43
|
+
* Provides methods to read the file's contents and get its statistics
|
|
44
|
+
*/
|
|
20
45
|
export interface File {
|
|
21
46
|
name: string;
|
|
22
47
|
read(): Promise<Buffer>;
|
|
23
48
|
stat(): Promise<Stat>;
|
|
24
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Base implementation of ReadableBundle
|
|
52
|
+
* Provides default implementations for stat(), hash() and async iteration
|
|
53
|
+
* Concrete implementations must provide list() and read() methods
|
|
54
|
+
*/
|
|
25
55
|
export declare abstract class BundleBase implements ReadableBundle {
|
|
26
56
|
abstract list(): Promise<string[]>;
|
|
27
57
|
abstract read(name: string): Promise<Buffer>;
|
|
@@ -29,6 +59,16 @@ export declare abstract class BundleBase implements ReadableBundle {
|
|
|
29
59
|
[Symbol.asyncIterator](): AsyncGenerator<File>;
|
|
30
60
|
hash(): Promise<string>;
|
|
31
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates a ZIP archive containing all files from a bundle
|
|
64
|
+
* @param bundle The bundle to archive
|
|
65
|
+
* @returns Promise resolving to the ZIP file contents as an ArrayBuffer
|
|
66
|
+
*/
|
|
32
67
|
export declare function archive(bundle: ReadableBundle): Promise<ArrayBuffer>;
|
|
68
|
+
/**
|
|
69
|
+
* Extracts files from a ZIP archive into a writable bundle
|
|
70
|
+
* @param zipBuffer The ZIP file contents as an ArrayBuffer
|
|
71
|
+
* @param bundle The target bundle to write the extracted files to
|
|
72
|
+
*/
|
|
33
73
|
export declare function unarchive(zipBuffer: ArrayBuffer, bundle: WritableBundle): Promise<void>;
|
|
34
74
|
//# sourceMappingURL=codestore.d.ts.map
|
package/dist/codestore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codestore.d.ts","sourceRoot":"","sources":["../src/codestore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codestore.d.ts","sourceRoot":"","sources":["../src/codestore.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,cAAc,GAAG,cAAc,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,8BAAsB,UAAW,YAAW,cAAc;IACxD,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC;IAW/C,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAO9B;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAM1E;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7F"}
|