@supatype/cli 0.1.0-alpha.10 → 0.1.0-alpha.11
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +104 -71
- package/.turbo/turbo-typecheck.log +1 -1
- package/dist/app/framework.js +1 -3
- package/dist/app/framework.js.map +1 -1
- package/dist/app/proxy-dev-app.d.ts +14 -0
- package/dist/app/proxy-dev-app.d.ts.map +1 -1
- package/dist/app/proxy-dev-app.js +109 -6
- package/dist/app/proxy-dev-app.js.map +1 -1
- package/dist/binary-cache.d.ts +1 -1
- package/dist/binary-cache.d.ts.map +1 -1
- package/dist/binary-cache.js +6 -1
- package/dist/binary-cache.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts +3 -0
- package/dist/commands/adopt.d.ts.map +1 -0
- package/dist/commands/adopt.js +58 -0
- package/dist/commands/adopt.js.map +1 -0
- package/dist/commands/cloud.d.ts +4 -9
- package/dist/commands/cloud.d.ts.map +1 -1
- package/dist/commands/cloud.js +49 -91
- package/dist/commands/cloud.js.map +1 -1
- package/dist/commands/db.d.ts.map +1 -1
- package/dist/commands/db.js +25 -47
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +117 -74
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +21 -3
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +37 -37
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +77 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/functions.d.ts.map +1 -1
- package/dist/commands/functions.js +80 -33
- package/dist/commands/functions.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +26 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/introspect.d.ts +3 -0
- package/dist/commands/introspect.d.ts.map +1 -0
- package/dist/commands/introspect.js +34 -0
- package/dist/commands/introspect.js.map +1 -0
- package/dist/commands/link-helpers.d.ts +15 -0
- package/dist/commands/link-helpers.d.ts.map +1 -0
- package/dist/commands/link-helpers.js +187 -0
- package/dist/commands/link-helpers.js.map +1 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +116 -14
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +32 -5
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +102 -129
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +93 -29
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +6 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/config.d.ts +2 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/dev-compose.d.ts +23 -0
- package/dist/dev-compose.d.ts.map +1 -1
- package/dist/dev-compose.js +183 -6
- package/dist/dev-compose.js.map +1 -1
- package/dist/diff-output.d.ts +5 -1
- package/dist/diff-output.d.ts.map +1 -1
- package/dist/diff-output.js +69 -0
- package/dist/diff-output.js.map +1 -1
- package/dist/engine-client.d.ts +10 -1
- package/dist/engine-client.d.ts.map +1 -1
- package/dist/engine-client.js +64 -13
- package/dist/engine-client.js.map +1 -1
- package/dist/engine-push-output.d.ts +1 -0
- package/dist/engine-push-output.d.ts.map +1 -1
- package/dist/engine-push-output.js +4 -1
- package/dist/engine-push-output.js.map +1 -1
- package/dist/gitignore.d.ts +8 -0
- package/dist/gitignore.d.ts.map +1 -0
- package/dist/gitignore.js +41 -0
- package/dist/gitignore.js.map +1 -0
- package/dist/link.d.ts +66 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +159 -0
- package/dist/link.js.map +1 -0
- package/dist/process-manager.d.ts +2 -0
- package/dist/process-manager.d.ts.map +1 -1
- package/dist/process-manager.js +2 -0
- package/dist/process-manager.js.map +1 -1
- package/dist/project-config.d.ts +8 -0
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js.map +1 -1
- package/dist/pull-utils.d.ts +50 -14
- package/dist/pull-utils.d.ts.map +1 -1
- package/dist/pull-utils.js +152 -12
- package/dist/pull-utils.js.map +1 -1
- package/dist/resolve-target.d.ts +86 -0
- package/dist/resolve-target.d.ts.map +1 -0
- package/dist/resolve-target.js +291 -0
- package/dist/resolve-target.js.map +1 -0
- package/dist/runtime-routes.d.ts.map +1 -1
- package/dist/runtime-routes.js +7 -0
- package/dist/runtime-routes.js.map +1 -1
- package/dist/schema-ast-v2.d.ts +1 -1
- package/dist/schema-ast-v2.d.ts.map +1 -1
- package/dist/schema-ast-v2.js +2 -2
- package/dist/schema-ast-v2.js.map +1 -1
- package/dist/schema-sources.d.ts +40 -0
- package/dist/schema-sources.d.ts.map +1 -0
- package/dist/schema-sources.js +183 -0
- package/dist/schema-sources.js.map +1 -0
- package/dist/self-host-compose.d.ts +10 -0
- package/dist/self-host-compose.d.ts.map +1 -1
- package/dist/self-host-compose.js +85 -3
- package/dist/self-host-compose.js.map +1 -1
- package/dist/storage-provision.d.ts +4 -0
- package/dist/storage-provision.d.ts.map +1 -1
- package/dist/storage-provision.js +24 -2
- package/dist/storage-provision.js.map +1 -1
- package/dist/target-client.d.ts +10 -0
- package/dist/target-client.d.ts.map +1 -0
- package/dist/target-client.js +22 -0
- package/dist/target-client.js.map +1 -0
- package/dist/type-extractor.d.ts +11 -0
- package/dist/type-extractor.d.ts.map +1 -1
- package/dist/type-extractor.js +95 -8
- package/dist/type-extractor.js.map +1 -1
- package/package.json +1 -1
- package/src/app/framework.ts +1 -3
- package/src/app/proxy-dev-app.ts +113 -6
- package/src/binary-cache.ts +6 -1
- package/src/cli.ts +6 -0
- package/src/commands/adopt.ts +83 -0
- package/src/commands/cloud.ts +66 -108
- package/src/commands/db.ts +28 -52
- package/src/commands/deploy.ts +162 -104
- package/src/commands/dev.ts +24 -10
- package/src/commands/diff.ts +40 -41
- package/src/commands/doctor.ts +102 -0
- package/src/commands/functions.ts +95 -37
- package/src/commands/init.ts +25 -4
- package/src/commands/introspect.ts +47 -0
- package/src/commands/link-helpers.ts +228 -0
- package/src/commands/migrate.ts +163 -15
- package/src/commands/pull.ts +37 -9
- package/src/commands/push.ts +132 -166
- package/src/commands/status.ts +100 -33
- package/src/commands/update.ts +6 -2
- package/src/config.ts +2 -1
- package/src/dev-compose.ts +240 -6
- package/src/diff-output.ts +79 -1
- package/src/engine-client.ts +70 -13
- package/src/engine-push-output.ts +7 -3
- package/src/gitignore.ts +48 -0
- package/src/link.ts +242 -0
- package/src/process-manager.ts +4 -0
- package/src/project-config.ts +8 -0
- package/src/pull-utils.ts +217 -23
- package/src/resolve-target.ts +419 -0
- package/src/runtime-routes.ts +7 -0
- package/src/schema-ast-v2.ts +2 -1
- package/src/schema-sources.ts +248 -0
- package/src/self-host-compose.ts +87 -3
- package/src/storage-provision.ts +33 -1
- package/src/target-client.ts +40 -0
- package/src/type-extractor.ts +124 -11
- package/tests/cli-help.test.ts +27 -2
- package/tests/init.test.ts +1 -1
- package/tests/link.test.ts +148 -0
- package/tests/proxy-dev-app.test.ts +45 -1
- package/tests/pull-utils.test.ts +5 -4
- package/tests/runtime-contract.test.ts +44 -1
- package/tests/schema-sources.test.ts +119 -0
- package/tests/storage-provision.test.ts +100 -0
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @supatype/cli@0.1.0-alpha.
|
|
2
|
+
> @supatype/cli@0.1.0-alpha.11 build /home/runner/work/supatype/supatype/packages/cli
|
|
3
3
|
> tsc --project tsconfig.json && node --input-type=module -e "import{cpSync,mkdirSync}from'node:fs';const a='dist/assets';mkdirSync(a,{recursive:true});cpSync('assets/supatype-logo-wordmark.ascii.txt',a+'/supatype-logo-wordmark.ascii.txt')"
|
|
4
4
|
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,12 +1,37 @@
|
|
|
1
1
|
|
|
2
|
-
> @supatype/cli@0.1.0-alpha.
|
|
2
|
+
> @supatype/cli@0.1.0-alpha.11 test /home/runner/work/supatype/supatype/packages/cli
|
|
3
3
|
> vitest run
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
[1m[46m RUN [49m[22m [36mv4.0.18 [39m[90m/home/runner/work/supatype/supatype/packages/cli[39m
|
|
7
7
|
|
|
8
|
-
[32m✓[39m tests/
|
|
9
|
-
[32m✓[39m tests/
|
|
8
|
+
[32m✓[39m tests/runtime-contract.test.ts [2m([22m[2m32 tests[22m[2m)[22m[32m 196[2mms[22m[39m
|
|
9
|
+
[32m✓[39m tests/type-extractor.test.ts [2m([22m[2m34 tests[22m[2m)[22m[32m 221[2mms[22m[39m
|
|
10
|
+
[32m✓[39m tests/config.test.ts [2m([22m[2m16 tests[22m[2m)[22m[33m 4440[2mms[22m[39m
|
|
11
|
+
[33m[2m✓[22m[39m loads a valid supatype.config.ts (plain export default, no package imports) [33m 839[2mms[22m[39m
|
|
12
|
+
[33m[2m✓[22m[39m normalizes shorthand schema string to { path, pg_schema } [33m 558[2mms[22m[39m
|
|
13
|
+
[33m[2m✓[22m[39m loads a supatype.config.js (plain ESM) [33m 504[2mms[22m[39m
|
|
14
|
+
[33m[2m✓[22m[39m loads config without a versions section (latest by default) [33m 451[2mms[22m[39m
|
|
15
|
+
[33m[2m✓[22m[39m prefers supatype.config.ts over supatype.config.js when both exist [33m 527[2mms[22m[39m
|
|
16
|
+
[33m[2m✓[22m[39m supports optional output field in config [33m 549[2mms[22m[39m
|
|
17
|
+
[33m[2m✓[22m[39m merges supatype.local.config.ts over base [33m 999[2mms[22m[39m
|
|
18
|
+
[90mstdout[2m | tests/link.test.ts[2m > [22m[2mlink model[2m > [22m[2mmigrates cloud.json into link.json
|
|
19
|
+
[22m[39m created package.json
|
|
20
|
+
created supatype.config.ts
|
|
21
|
+
created schema/index.ts
|
|
22
|
+
created .env
|
|
23
|
+
created seed.ts
|
|
24
|
+
[90mstderr[2m | tests/link.test.ts[2m > [22m[2mlink model[2m > [22m[2mmigrates cloud.json into link.json
|
|
25
|
+
created seeds/.gitkeep
|
|
26
|
+
created public/.gitkeep
|
|
27
|
+
created .gitignore
|
|
28
|
+
|
|
29
|
+
[22m[39mMigrated .supatype/cloud.json → .supatype/link.json (legacy files kept; remove manually when ready).
|
|
30
|
+
|
|
31
|
+
[32m✓[39m tests/link.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 2807[2mms[22m[39m
|
|
32
|
+
[33m[2m✓[22m[39m resolveTarget returns cloud mode with /api/v1 prefix [33m 947[2mms[22m[39m
|
|
33
|
+
[33m[2m✓[22m[39m resolveTarget returns self-host mode with /platform/v1 prefix [33m 944[2mms[22m[39m
|
|
34
|
+
[33m[2m✓[22m[39m targetSchemaRollback posts to /platform/v1 when linked [33m 905[2mms[22m[39m
|
|
10
35
|
[90mstdout[2m | tests/init.test.ts[2m > [22m[2mscaffold()[2m > [22m[2mcreates all expected files
|
|
11
36
|
[22m[39m created package.json
|
|
12
37
|
created supatype.config.ts
|
|
@@ -125,35 +150,45 @@
|
|
|
125
150
|
created public/.gitkeep
|
|
126
151
|
created .gitignore
|
|
127
152
|
|
|
128
|
-
[32m✓[39m tests/init.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
[32m✓[39m tests/dev-ui.test.ts [2m([22m[2m15 tests[22m[2m)[22m[32m
|
|
134
|
-
|
|
135
|
-
[32m✓[39m tests/pull-utils.test.ts [2m([22m[2m49 tests[22m[2m)[22m[32m
|
|
136
|
-
[32m✓[39m tests/
|
|
137
|
-
[33m[2m✓[22m[39m
|
|
138
|
-
[33m[2m✓[22m[39m
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
[32m✓[39m tests/init.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 26[2mms[22m[39m
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
[32m✓[39m tests/dev-ui.test.ts [2m([22m[2m15 tests[22m[2m)[22m[32m 68[2mms[22m[39m
|
|
159
|
+
|
|
160
|
+
[32m✓[39m tests/pull-utils.test.ts [2m([22m[2m49 tests[22m[2m)[22m[32m 11[2mms[22m[39m
|
|
161
|
+
[32m✓[39m tests/schema-sources.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1111[2mms[22m[39m
|
|
162
|
+
[33m[2m✓[22m[39m buildSchemaSourcesPayload includes manifest metadata [33m 518[2mms[22m[39m
|
|
163
|
+
[33m[2m✓[22m[39m restore overwrites modified local files [33m 551[2mms[22m[39m
|
|
164
|
+
[90mstderr[2m | tests/binary-cache-cloud-overrides.test.ts[2m > [22m[2misLinkedToCloudProject[2m > [22m[2mis true when .supatype/cloud.json has projectSlug
|
|
165
|
+
[22m[39mMigrated .supatype/cloud.json → .supatype/link.json (legacy files kept; remove manually when ready).
|
|
166
|
+
|
|
167
|
+
[32m✓[39m tests/binary-cache-cloud-overrides.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 21[2mms[22m[39m
|
|
168
|
+
[90mstdout[2m | tests/storage-provision.test.ts[2m > [22m[2mprovisionBuckets[2m > [22m[2mPOSTs each bucket to the storage API
|
|
169
|
+
[22m[39m[supatype] Storage bucket "photos" ready.
|
|
170
|
+
|
|
171
|
+
[90mstdout[2m | tests/storage-provision.test.ts[2m > [22m[2mprovisionBuckets[2m > [22m[2mPOSTs each bucket to the storage API
|
|
172
|
+
[22m[39m[supatype] Storage bucket "avatars" ready.
|
|
173
|
+
|
|
174
|
+
[32m✓[39m tests/storage-provision.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
175
|
+
[32m✓[39m tests/cached-artifact-format.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 9[2mms[22m[39m
|
|
176
|
+
[32m✓[39m tests/proxy-dev-app.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
177
|
+
[32m✓[39m tests/keys.test.ts [2m([22m[2m11 tests[22m[2m)[22m[33m 11952[2mms[22m[39m
|
|
178
|
+
[33m[2m✓[22m[39m exits 0 with --secret [33m 1104[2mms[22m[39m
|
|
179
|
+
[33m[2m✓[22m[39m outputs ANON_KEY= line [33m 1026[2mms[22m[39m
|
|
180
|
+
[33m[2m✓[22m[39m outputs SERVICE_ROLE_KEY= line [33m 1039[2mms[22m[39m
|
|
181
|
+
[33m[2m✓[22m[39m ANON_KEY is a valid three-part JWT [33m 1000[2mms[22m[39m
|
|
182
|
+
[33m[2m✓[22m[39m SERVICE_ROLE_KEY payload has role: service_role [33m 882[2mms[22m[39m
|
|
183
|
+
[33m[2m✓[22m[39m JWT has exp in the future [33m 1009[2mms[22m[39m
|
|
184
|
+
[33m[2m✓[22m[39m --exp-years changes the expiry window [33m 2014[2mms[22m[39m
|
|
185
|
+
[33m[2m✓[22m[39m reads JWT_SECRET from environment variable [33m 1027[2mms[22m[39m
|
|
186
|
+
[33m[2m✓[22m[39m reads JWT_SECRET from .env file [33m 935[2mms[22m[39m
|
|
187
|
+
[33m[2m✓[22m[39m exits non-zero when no secret is available [33m 923[2mms[22m[39m
|
|
188
|
+
[33m[2m✓[22m[39m keys --help shows --secret and --exp-years options [33m 989[2mms[22m[39m
|
|
189
|
+
[32m✓[39m tests/augmentation-generator.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 17[2mms[22m[39m
|
|
155
190
|
[32m✓[39m tests/type-resolver.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
156
|
-
[32m✓[39m tests/engine-push-output.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m
|
|
191
|
+
[32m✓[39m tests/engine-push-output.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
157
192
|
[32m✓[39m tests/ensure-binary.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
158
193
|
[90mstdout[2m | tests/app-command.test.ts[2m > [22m[2msupatype app add --static[2m > [22m[2msets app.mode=static and static_dir in supatype.config.ts
|
|
159
194
|
[22m[39m created package.json
|
|
@@ -165,6 +200,15 @@
|
|
|
165
200
|
created public/.gitkeep
|
|
166
201
|
created .gitignore
|
|
167
202
|
|
|
203
|
+
[32m✓[39m tests/tsx-runner.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 2842[2mms[22m[39m
|
|
204
|
+
[33m[2m✓[22m[39m evaluates a simple expression and returns stdout [33m 426[2mms[22m[39m
|
|
205
|
+
[33m[2m✓[22m[39m evaluates TypeScript syntax (type annotations) [33m 360[2mms[22m[39m
|
|
206
|
+
[33m[2m✓[22m[39m can serialize a JSON object to stdout [33m 379[2mms[22m[39m
|
|
207
|
+
[33m[2m✓[22m[39m returns non-zero exit code on syntax error [33m 404[2mms[22m[39m
|
|
208
|
+
[33m[2m✓[22m[39m returns non-zero exit code on runtime error [33m 355[2mms[22m[39m
|
|
209
|
+
[33m[2m✓[22m[39m captures stderr separately from stdout [33m 356[2mms[22m[39m
|
|
210
|
+
[33m[2m✓[22m[39m runs a .ts file and returns its stdout [33m 558[2mms[22m[39m
|
|
211
|
+
[32m✓[39m tests/normalize-admin-config.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
168
212
|
[90mstdout[2m | tests/app-command.test.ts[2m > [22m[2msupatype app add --static[2m > [22m[2mcreates the static directory when missing
|
|
169
213
|
[22m[39m created package.json
|
|
170
214
|
created supatype.config.ts
|
|
@@ -175,47 +219,36 @@
|
|
|
175
219
|
created public/.gitkeep
|
|
176
220
|
created .gitignore
|
|
177
221
|
|
|
178
|
-
[32m✓[39m tests/app-command.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 2250[2mms[22m[39m
|
|
179
|
-
[33m[2m✓[22m[39m sets app.mode=static and static_dir in supatype.config.ts [33m 1094[2mms[22m[39m
|
|
180
|
-
[33m[2m✓[22m[39m creates the static directory when missing [33m 1154[2mms[22m[39m
|
|
181
|
-
[32m✓[39m tests/normalize-admin-config.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 9[2mms[22m[39m
|
|
182
222
|
[32m✓[39m tests/docker-postgres.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
183
|
-
[32m✓[39m tests/
|
|
184
|
-
[32m✓[39m tests/
|
|
185
|
-
|
|
186
|
-
[33m[2m✓[22m[39m
|
|
187
|
-
[33m[2m✓[22m[39m
|
|
188
|
-
|
|
189
|
-
[33m[2m✓[22m[39m SERVICE_ROLE_KEY payload has role: service_role [33m 1014[2mms[22m[39m
|
|
190
|
-
[33m[2m✓[22m[39m JWT has exp in the future [33m 993[2mms[22m[39m
|
|
191
|
-
[33m[2m✓[22m[39m --exp-years changes the expiry window [33m 2075[2mms[22m[39m
|
|
192
|
-
[33m[2m✓[22m[39m reads JWT_SECRET from environment variable [33m 959[2mms[22m[39m
|
|
193
|
-
[33m[2m✓[22m[39m reads JWT_SECRET from .env file [33m 925[2mms[22m[39m
|
|
194
|
-
[33m[2m✓[22m[39m exits non-zero when no secret is available [33m 1047[2mms[22m[39m
|
|
195
|
-
[33m[2m✓[22m[39m keys --help shows --secret and --exp-years options [33m 837[2mms[22m[39m
|
|
196
|
-
[32m✓[39m tests/studio-admin-roles.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
197
|
-
[32m✓[39m tests/release-pins.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
198
|
-
[32m✓[39m tests/seed-discover.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 20[2mms[22m[39m
|
|
223
|
+
[32m✓[39m tests/seed-discover.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 17[2mms[22m[39m
|
|
224
|
+
[32m✓[39m tests/studio-admin-roles.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
225
|
+
[32m✓[39m tests/app-command.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 2099[2mms[22m[39m
|
|
226
|
+
[33m[2m✓[22m[39m sets app.mode=static and static_dir in supatype.config.ts [33m 978[2mms[22m[39m
|
|
227
|
+
[33m[2m✓[22m[39m creates the static directory when missing [33m 1119[2mms[22m[39m
|
|
228
|
+
[32m✓[39m tests/release-pins.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
199
229
|
[32m✓[39m tests/pg-spawn-env.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
200
|
-
[32m✓[39m tests/
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
[33m[2m✓[22m[39m --help
|
|
204
|
-
[33m[2m✓[22m[39m --
|
|
205
|
-
[33m[2m✓[22m[39m
|
|
206
|
-
[33m[2m✓[22m[39m
|
|
207
|
-
[33m[2m✓[22m[39m
|
|
208
|
-
[33m[2m✓[22m[39m
|
|
209
|
-
[33m[2m✓[22m[39m
|
|
230
|
+
[32m✓[39m tests/cli-help.test.ts [2m([22m[2m16 tests[22m[2m)[22m[33m 15783[2mms[22m[39m
|
|
231
|
+
[33m[2m✓[22m[39m --help lists all top-level commands [33m 1027[2mms[22m[39m
|
|
232
|
+
[33m[2m✓[22m[39m --version prints a semver string [33m 977[2mms[22m[39m
|
|
233
|
+
[33m[2m✓[22m[39m self-update --help describes the command [33m 982[2mms[22m[39m
|
|
234
|
+
[33m[2m✓[22m[39m init --help describes the init command [33m 1018[2mms[22m[39m
|
|
235
|
+
[33m[2m✓[22m[39m push --help describes the push command and --yes flag [33m 936[2mms[22m[39m
|
|
236
|
+
[33m[2m✓[22m[39m diff --help describes the diff command [33m 949[2mms[22m[39m
|
|
237
|
+
[33m[2m✓[22m[39m pull --help describes scaffold pull command [33m 980[2mms[22m[39m
|
|
238
|
+
[33m[2m✓[22m[39m doctor --help describes drift report command [33m 1077[2mms[22m[39m
|
|
239
|
+
[33m[2m✓[22m[39m introspect --help describes database introspection command [33m 959[2mms[22m[39m
|
|
240
|
+
[33m[2m✓[22m[39m adopt --help describes adoption ceremony command [33m 974[2mms[22m[39m
|
|
210
241
|
[33m[2m✓[22m[39m reset --help shows --yes flag [33m 1000[2mms[22m[39m
|
|
211
|
-
[33m[2m✓[22m[39m app --help describes the app command with add/remove subcommands [33m
|
|
212
|
-
[33m[2m✓[22m[39m app add --help shows --static and --port options [33m
|
|
213
|
-
[33m[2m✓[22m[39m self-host --help shows compose only (legacy commands hidden) [33m
|
|
214
|
-
[33m[2m✓[22m[39m self-host compose --help shows compose subcommands [33m
|
|
215
|
-
[33m[2m✓[22m[39m unknown command exits non-zero [33m
|
|
216
|
-
|
|
217
|
-
[
|
|
218
|
-
|
|
219
|
-
[2m
|
|
220
|
-
[2m
|
|
242
|
+
[33m[2m✓[22m[39m app --help describes the app command with add/remove subcommands [33m 1028[2mms[22m[39m
|
|
243
|
+
[33m[2m✓[22m[39m app add --help shows --static and --port options [33m 987[2mms[22m[39m
|
|
244
|
+
[33m[2m✓[22m[39m self-host --help shows compose only (legacy commands hidden) [33m 989[2mms[22m[39m
|
|
245
|
+
[33m[2m✓[22m[39m self-host compose --help shows compose subcommands [33m 997[2mms[22m[39m
|
|
246
|
+
[33m[2m✓[22m[39m unknown command exits non-zero [33m 896[2mms[22m[39m
|
|
247
|
+
[32m✓[39m tests/postgres-archive-tag.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
248
|
+
[32m✓[39m tests/migrate-from-v1.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
249
|
+
|
|
250
|
+
[2m Test Files [22m [1m[32m28 passed[39m[22m[90m (28)[39m
|
|
251
|
+
[2m Tests [22m [1m[32m264 passed[39m[22m[90m (264)[39m
|
|
252
|
+
[2m Start at [22m 18:27:06
|
|
253
|
+
[2m Duration [22m 19.40s[2m (transform 2.69s, setup 0ms, import 9.89s, tests 41.71s, environment 4ms)[22m
|
|
221
254
|
|
package/dist/app/framework.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Inspects package.json to determine the framework, then resolves
|
|
4
4
|
* build command, output directory, and SPA mode defaults.
|
|
5
5
|
*/
|
|
6
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
6
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
7
7
|
import { join, resolve } from "node:path";
|
|
8
8
|
const FRAMEWORK_DEFAULTS = {
|
|
9
9
|
nextjs: { buildCommand: "next build", outputDirectory: "out", spa: false },
|
|
@@ -174,7 +174,6 @@ export function validateBuildOutput(outputDir, maxSizeMb) {
|
|
|
174
174
|
return null;
|
|
175
175
|
}
|
|
176
176
|
function findHtmlFile(dir) {
|
|
177
|
-
const { readdirSync, statSync } = require("node:fs");
|
|
178
177
|
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
179
178
|
if (entry.isFile() && entry.name.endsWith(".html"))
|
|
180
179
|
return true;
|
|
@@ -186,7 +185,6 @@ function findHtmlFile(dir) {
|
|
|
186
185
|
return false;
|
|
187
186
|
}
|
|
188
187
|
function getDirSizeMb(dir) {
|
|
189
|
-
const { readdirSync, statSync } = require("node:fs");
|
|
190
188
|
let size = 0;
|
|
191
189
|
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
192
190
|
const path = join(dir, entry.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/app/framework.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/app/framework.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,20 @@ import { ProcessManager } from "../process-manager.js";
|
|
|
5
5
|
import { type SupatypeProjectConfig } from "../project-config.js";
|
|
6
6
|
/** package.json script name to run (only when app.mode is proxy). */
|
|
7
7
|
export declare function resolveProxyDevScript(config: SupatypeProjectConfig): string | null;
|
|
8
|
+
/** Port from app.upstream (e.g. http://localhost:5285 → 5285). */
|
|
9
|
+
export declare function portFromUpstream(config: SupatypeProjectConfig): number | null;
|
|
10
|
+
/** Free the upstream port and any stale app PID before spawning Vite. */
|
|
11
|
+
export declare function freeProxyDevPort(pidDir: string, port: number): void;
|
|
12
|
+
/**
|
|
13
|
+
* When a package.json script only runs Vite, spawn node + vite.js directly.
|
|
14
|
+
* Avoids Windows shell shims (pnpm → bash → vite) that orphan the real server
|
|
15
|
+
* and break PID-based cleanup / auto-restart.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveViteDirectSpawn(appDir: string, script: string, scripts: Record<string, string> | undefined): {
|
|
18
|
+
bin: string;
|
|
19
|
+
args: string[];
|
|
20
|
+
shell: boolean;
|
|
21
|
+
} | null;
|
|
8
22
|
/**
|
|
9
23
|
* Start the configured package.json script for proxy dev.
|
|
10
24
|
* Returns null when not in proxy mode or when the script is missing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-dev-app.d.ts","sourceRoot":"","sources":["../../src/app/proxy-dev-app.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"proxy-dev-app.d.ts","sourceRoot":"","sources":["../../src/app/proxy-dev-app.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,cAAc,EAAW,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAIxF,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAIlF;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAW7E;AAmDD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAInE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC1C;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAexD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,IAAI,CAiDvB"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Spawn the frontend dev server during `supatype dev` when app.mode is proxy.
|
|
3
3
|
*/
|
|
4
|
+
import { execSync } from "node:child_process";
|
|
4
5
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
6
|
import { join } from "node:path";
|
|
6
7
|
import { detectPackageManager } from "./framework.js";
|
|
7
8
|
import { appendDevTaskLog } from "../dev-session.js";
|
|
8
|
-
import { ProcessManager } from "../process-manager.js";
|
|
9
|
+
import { ProcessManager, readPid } from "../process-manager.js";
|
|
9
10
|
import { projectRootFromConfig } from "../project-config.js";
|
|
10
11
|
const DEFAULT_PROXY_DEV_SCRIPT = "start";
|
|
11
12
|
/** package.json script name to run (only when app.mode is proxy). */
|
|
@@ -15,6 +16,102 @@ export function resolveProxyDevScript(config) {
|
|
|
15
16
|
const script = config.app.start?.trim();
|
|
16
17
|
return script && script.length > 0 ? script : DEFAULT_PROXY_DEV_SCRIPT;
|
|
17
18
|
}
|
|
19
|
+
/** Port from app.upstream (e.g. http://localhost:5285 → 5285). */
|
|
20
|
+
export function portFromUpstream(config) {
|
|
21
|
+
const raw = config.app?.upstream?.trim();
|
|
22
|
+
if (!raw)
|
|
23
|
+
return null;
|
|
24
|
+
try {
|
|
25
|
+
const port = new URL(raw).port;
|
|
26
|
+
if (!port)
|
|
27
|
+
return null;
|
|
28
|
+
const n = Number(port);
|
|
29
|
+
return Number.isFinite(n) && n > 0 ? n : null;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function killPidTree(pid) {
|
|
36
|
+
if (!Number.isFinite(pid) || pid <= 0)
|
|
37
|
+
return;
|
|
38
|
+
try {
|
|
39
|
+
if (process.platform === "win32") {
|
|
40
|
+
execSync(`taskkill /pid ${pid} /T /F`, { stdio: "ignore" });
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
execSync(`kill -9 ${pid}`, { stdio: "ignore" });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
/* already gone */
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function killPortListeners(port) {
|
|
51
|
+
if (process.platform === "win32") {
|
|
52
|
+
try {
|
|
53
|
+
const out = execSync(`netstat -ano | findstr :${port}`, { encoding: "utf8" });
|
|
54
|
+
const pids = new Set();
|
|
55
|
+
for (const line of out.split("\n")) {
|
|
56
|
+
const match = line.match(/LISTENING\s+(\d+)/);
|
|
57
|
+
if (match?.[1])
|
|
58
|
+
pids.add(match[1]);
|
|
59
|
+
}
|
|
60
|
+
for (const pid of pids) {
|
|
61
|
+
try {
|
|
62
|
+
execSync(`taskkill /pid ${pid} /T /F`, { stdio: "ignore" });
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
/* already gone */
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
/* nothing listening */
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const out = execSync(`lsof -ti :${port}`, { encoding: "utf8" });
|
|
76
|
+
for (const pid of out.trim().split(/\s+/)) {
|
|
77
|
+
try {
|
|
78
|
+
execSync(`kill -9 ${pid}`, { stdio: "ignore" });
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
/* already gone */
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
/* nothing listening */
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** Free the upstream port and any stale app PID before spawning Vite. */
|
|
90
|
+
export function freeProxyDevPort(pidDir, port) {
|
|
91
|
+
const stalePid = readPid(pidDir, "app");
|
|
92
|
+
if (stalePid)
|
|
93
|
+
killPidTree(stalePid);
|
|
94
|
+
killPortListeners(port);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* When a package.json script only runs Vite, spawn node + vite.js directly.
|
|
98
|
+
* Avoids Windows shell shims (pnpm → bash → vite) that orphan the real server
|
|
99
|
+
* and break PID-based cleanup / auto-restart.
|
|
100
|
+
*/
|
|
101
|
+
export function resolveViteDirectSpawn(appDir, script, scripts) {
|
|
102
|
+
const body = scripts?.[script]?.trim() ?? "";
|
|
103
|
+
if (!body)
|
|
104
|
+
return null;
|
|
105
|
+
const runsVite = body === "vite" ||
|
|
106
|
+
/^vite\s/.test(body) ||
|
|
107
|
+
body.includes("vite/bin/vite");
|
|
108
|
+
if (!runsVite)
|
|
109
|
+
return null;
|
|
110
|
+
const viteJs = join(appDir, "node_modules", "vite", "bin", "vite.js");
|
|
111
|
+
if (!existsSync(viteJs))
|
|
112
|
+
return null;
|
|
113
|
+
return { bin: process.execPath, args: [viteJs], shell: false };
|
|
114
|
+
}
|
|
18
115
|
/**
|
|
19
116
|
* Start the configured package.json script for proxy dev.
|
|
20
117
|
* Returns null when not in proxy mode or when the script is missing.
|
|
@@ -35,18 +132,24 @@ export function startProxyDevApp(cwd, config, pidDir) {
|
|
|
35
132
|
` Add "scripts.${script}" or set app.start in supatype.config.ts`);
|
|
36
133
|
return null;
|
|
37
134
|
}
|
|
135
|
+
const upstreamPort = portFromUpstream(config);
|
|
136
|
+
const directVite = resolveViteDirectSpawn(appDir, script, pkg.scripts);
|
|
38
137
|
const pm = detectPackageManager(appDir);
|
|
39
|
-
const bin = pm;
|
|
40
|
-
const args = pm === "yarn" ? [script] : ["run", script];
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
138
|
+
const bin = directVite?.bin ?? pm;
|
|
139
|
+
const args = directVite?.args ?? (pm === "yarn" ? [script] : ["run", script]);
|
|
140
|
+
const useShell = directVite ? false : process.platform === "win32";
|
|
141
|
+
appendDevTaskLog("app", "app", directVite
|
|
142
|
+
? `Proxy mode: running node vite.js (${appDir})`
|
|
143
|
+
: `Proxy mode: running ${bin} ${args.join(" ")} (${appDir})`);
|
|
144
|
+
if (upstreamPort)
|
|
145
|
+
freeProxyDevPort(pidDir, upstreamPort);
|
|
44
146
|
const manager = new ProcessManager(bin, args, {
|
|
45
147
|
label: "app",
|
|
46
148
|
pidDir,
|
|
47
149
|
cwd: appDir,
|
|
48
150
|
colour: "\x1b[33m",
|
|
49
151
|
shell: useShell,
|
|
152
|
+
...(upstreamPort ? { beforeRestart: () => freeProxyDevPort(pidDir, upstreamPort) } : {}),
|
|
50
153
|
});
|
|
51
154
|
manager.start();
|
|
52
155
|
return manager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-dev-app.js","sourceRoot":"","sources":["../../src/app/proxy-dev-app.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"proxy-dev-app.js","sourceRoot":"","sources":["../../src/app/proxy-dev-app.ts"],"names":[],"mappings":"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"}
|
package/dist/binary-cache.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare function hasMeaningfulOverrides(config: SupatypeProjectConfig): b
|
|
|
27
27
|
export declare function describeActiveOverrides(config: SupatypeProjectConfig): string[];
|
|
28
28
|
/**
|
|
29
29
|
* True when this working tree is associated with a remote Supatype Cloud project:
|
|
30
|
-
* `project.ref
|
|
30
|
+
* `project.ref` or `.supatype/link.json` (cloud kind).
|
|
31
31
|
*/
|
|
32
32
|
export declare function isLinkedToCloudProject(cwd: string, config: SupatypeProjectConfig): boolean;
|
|
33
33
|
export type { Component, ComponentVersions } from "./components.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-cache.d.ts","sourceRoot":"","sources":["../src/binary-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"binary-cache.d.ts","sourceRoot":"","sources":["../src/binary-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/binary-cache.js
CHANGED
|
@@ -17,6 +17,7 @@ import { closeSync, copyFileSync, createWriteStream, existsSync, mkdirSync, open
|
|
|
17
17
|
import { chmod } from "node:fs/promises";
|
|
18
18
|
import { homedir } from "node:os";
|
|
19
19
|
import { basename, join, resolve, isAbsolute } from "node:path";
|
|
20
|
+
import { loadProjectLink, migrateLegacyLinkFiles } from "./link.js";
|
|
20
21
|
import { releasePublicKey } from "./release-public-key.js";
|
|
21
22
|
/**
|
|
22
23
|
* Set `versions.{engine|server|postgres|deno}: VERSION_PIN_LOCAL` to mean “use `overrides.*` only”
|
|
@@ -64,12 +65,16 @@ export function describeActiveOverrides(config) {
|
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
67
|
* True when this working tree is associated with a remote Supatype Cloud project:
|
|
67
|
-
* `project.ref
|
|
68
|
+
* `project.ref` or `.supatype/link.json` (cloud kind).
|
|
68
69
|
*/
|
|
69
70
|
export function isLinkedToCloudProject(cwd, config) {
|
|
70
71
|
const ref = config.project.ref;
|
|
71
72
|
if (typeof ref === "string" && ref.trim() !== "")
|
|
72
73
|
return true;
|
|
74
|
+
migrateLegacyLinkFiles(cwd);
|
|
75
|
+
const link = loadProjectLink(cwd);
|
|
76
|
+
if (link?.kind === "cloud" && link.projectRef.trim() !== "")
|
|
77
|
+
return true;
|
|
73
78
|
const linkedPath = join(cwd, ".supatype", "linked.json");
|
|
74
79
|
if (existsSync(linkedPath)) {
|
|
75
80
|
try {
|