@supatype/cli 0.1.1 → 0.1.2
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 +114 -90
- package/.turbo/turbo-typecheck.log +2 -2
- package/dist/binary-cache.d.ts +2 -0
- package/dist/binary-cache.d.ts.map +1 -1
- package/dist/binary-cache.js +36 -0
- package/dist/binary-cache.js.map +1 -1
- package/dist/binary-download-lock.d.ts +12 -0
- package/dist/binary-download-lock.d.ts.map +1 -0
- package/dist/binary-download-lock.js +106 -0
- package/dist/binary-download-lock.js.map +1 -0
- package/dist/cli-package-version.d.ts +3 -0
- package/dist/cli-package-version.d.ts.map +1 -0
- package/dist/cli-package-version.js +15 -0
- package/dist/cli-package-version.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.js +25 -19
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/admin.d.ts.map +1 -1
- package/dist/commands/admin.js +22 -6
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/cache.d.ts +1 -1
- package/dist/commands/cache.d.ts.map +1 -1
- package/dist/commands/cache.js +98 -5
- package/dist/commands/cache.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +26 -22
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts +3 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +238 -168
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link-helpers.d.ts.map +1 -1
- package/dist/commands/link-helpers.js +26 -25
- package/dist/commands/link-helpers.js.map +1 -1
- package/dist/compose-local-server-image.d.ts +13 -0
- package/dist/compose-local-server-image.d.ts.map +1 -0
- package/dist/compose-local-server-image.js +57 -0
- package/dist/compose-local-server-image.js.map +1 -0
- package/dist/compose-rename.d.ts.map +1 -1
- package/dist/compose-rename.js +5 -8
- package/dist/compose-rename.js.map +1 -1
- package/dist/dev-compose.d.ts.map +1 -1
- package/dist/dev-compose.js +111 -54
- package/dist/dev-compose.js.map +1 -1
- package/dist/dev-log-bus.d.ts +5 -0
- package/dist/dev-log-bus.d.ts.map +1 -1
- package/dist/dev-log-bus.js +14 -0
- package/dist/dev-log-bus.js.map +1 -1
- package/dist/dev-log-filter.d.ts +4 -0
- package/dist/dev-log-filter.d.ts.map +1 -1
- package/dist/dev-log-filter.js +52 -0
- package/dist/dev-log-filter.js.map +1 -1
- package/dist/dev-ports.d.ts.map +1 -1
- package/dist/dev-ports.js +19 -12
- package/dist/dev-ports.js.map +1 -1
- package/dist/dev-ready-panel.d.ts +19 -0
- package/dist/dev-ready-panel.d.ts.map +1 -0
- package/dist/dev-ready-panel.js +49 -0
- package/dist/dev-ready-panel.js.map +1 -0
- package/dist/dev-session-lock.d.ts.map +1 -1
- package/dist/dev-session-lock.js +5 -8
- package/dist/dev-session-lock.js.map +1 -1
- package/dist/dev-session.d.ts +18 -5
- package/dist/dev-session.d.ts.map +1 -1
- package/dist/dev-session.js +91 -18
- package/dist/dev-session.js.map +1 -1
- package/dist/dev-shutdown.d.ts +2 -0
- package/dist/dev-shutdown.d.ts.map +1 -1
- package/dist/dev-shutdown.js +29 -15
- package/dist/dev-shutdown.js.map +1 -1
- package/dist/dev-task-colors.d.ts +3 -1
- package/dist/dev-task-colors.d.ts.map +1 -1
- package/dist/dev-task-colors.js +23 -3
- package/dist/dev-task-colors.js.map +1 -1
- package/dist/docker-runtime.js +1 -1
- package/dist/docker-runtime.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/ensure-binary.d.ts.map +1 -1
- package/dist/ensure-binary.js +14 -2
- package/dist/ensure-binary.js.map +1 -1
- package/dist/ensure-component-binaries.d.ts +17 -0
- package/dist/ensure-component-binaries.d.ts.map +1 -0
- package/dist/ensure-component-binaries.js +45 -0
- package/dist/ensure-component-binaries.js.map +1 -0
- package/dist/ensure-dev-api-config.d.ts +3 -0
- package/dist/ensure-dev-api-config.d.ts.map +1 -0
- package/dist/ensure-dev-api-config.js +17 -0
- package/dist/ensure-dev-api-config.js.map +1 -0
- package/dist/init-dependency-versions.d.ts +13 -0
- package/dist/init-dependency-versions.d.ts.map +1 -0
- package/dist/init-dependency-versions.js +53 -0
- package/dist/init-dependency-versions.js.map +1 -0
- package/dist/init-package-json.d.ts +21 -0
- package/dist/init-package-json.d.ts.map +1 -0
- package/dist/init-package-json.js +46 -0
- package/dist/init-package-json.js.map +1 -0
- package/dist/postgres-ctl.d.ts.map +1 -1
- package/dist/postgres-ctl.js +2 -1
- package/dist/postgres-ctl.js.map +1 -1
- package/dist/required-host-components.d.ts +11 -0
- package/dist/required-host-components.d.ts.map +1 -0
- package/dist/required-host-components.js +25 -0
- package/dist/required-host-components.js.map +1 -0
- package/dist/resolve-api-url.d.ts +6 -0
- package/dist/resolve-api-url.d.ts.map +1 -0
- package/dist/resolve-api-url.js +39 -0
- package/dist/resolve-api-url.js.map +1 -0
- package/dist/rest-cache-admin.d.ts +33 -0
- package/dist/rest-cache-admin.d.ts.map +1 -0
- package/dist/rest-cache-admin.js +96 -0
- package/dist/rest-cache-admin.js.map +1 -0
- package/dist/scripts/postinstall.d.ts +4 -6
- package/dist/scripts/postinstall.d.ts.map +1 -1
- package/dist/scripts/postinstall.js +8 -41
- package/dist/scripts/postinstall.js.map +1 -1
- package/dist/self-host-compose.d.ts.map +1 -1
- package/dist/self-host-compose.js +23 -13
- package/dist/self-host-compose.js.map +1 -1
- package/dist/studio-dev-server.d.ts +4 -2
- package/dist/studio-dev-server.d.ts.map +1 -1
- package/dist/studio-dev-server.js +3 -2
- package/dist/studio-dev-server.js.map +1 -1
- package/dist/ui/brand.d.ts +2 -5
- package/dist/ui/brand.d.ts.map +1 -1
- package/dist/ui/brand.js +2 -7
- package/dist/ui/brand.js.map +1 -1
- package/dist/ui/clack-api.d.ts +44 -0
- package/dist/ui/clack-api.d.ts.map +1 -0
- package/dist/ui/clack-api.js +76 -0
- package/dist/ui/clack-api.js.map +1 -0
- package/dist/ui/clack.d.ts +14 -0
- package/dist/ui/clack.d.ts.map +1 -0
- package/dist/ui/clack.js +147 -0
- package/dist/ui/clack.js.map +1 -0
- package/dist/ui/components/FlowSpinner.d.ts +5 -0
- package/dist/ui/components/FlowSpinner.d.ts.map +1 -0
- package/dist/ui/components/FlowSpinner.js +8 -0
- package/dist/ui/components/FlowSpinner.js.map +1 -0
- package/dist/ui/components/LogoWordmark.d.ts +9 -0
- package/dist/ui/components/LogoWordmark.d.ts.map +1 -0
- package/dist/ui/components/LogoWordmark.js +17 -0
- package/dist/ui/components/LogoWordmark.js.map +1 -0
- package/dist/ui/components/PromptPanel.d.ts +5 -0
- package/dist/ui/components/PromptPanel.d.ts.map +1 -0
- package/dist/ui/components/PromptPanel.js +7 -0
- package/dist/ui/components/PromptPanel.js.map +1 -0
- package/dist/ui/components/SelectField.d.ts +11 -0
- package/dist/ui/components/SelectField.d.ts.map +1 -0
- package/dist/ui/components/SelectField.js +19 -0
- package/dist/ui/components/SelectField.js.map +1 -0
- package/dist/ui/confirm.d.ts +2 -1
- package/dist/ui/confirm.d.ts.map +1 -1
- package/dist/ui/confirm.js +4 -4
- package/dist/ui/confirm.js.map +1 -1
- package/dist/ui/dev/DevDashboard.d.ts +8 -0
- package/dist/ui/dev/DevDashboard.d.ts.map +1 -0
- package/dist/ui/dev/DevDashboard.js +151 -0
- package/dist/ui/dev/DevDashboard.js.map +1 -0
- package/dist/ui/dev/DevReadyPanelView.d.ts +7 -0
- package/dist/ui/dev/DevReadyPanelView.d.ts.map +1 -0
- package/dist/ui/dev/DevReadyPanelView.js +29 -0
- package/dist/ui/dev/DevReadyPanelView.js.map +1 -0
- package/dist/ui/fatal.d.ts.map +1 -1
- package/dist/ui/fatal.js +5 -11
- package/dist/ui/fatal.js.map +1 -1
- package/dist/ui/flows/FlowApp.d.ts +8 -0
- package/dist/ui/flows/FlowApp.d.ts.map +1 -0
- package/dist/ui/flows/FlowApp.js +42 -0
- package/dist/ui/flows/FlowApp.js.map +1 -0
- package/dist/ui/flows/prompt-fields.d.ts +48 -0
- package/dist/ui/flows/prompt-fields.d.ts.map +1 -0
- package/dist/ui/flows/prompt-fields.js +88 -0
- package/dist/ui/flows/prompt-fields.js.map +1 -0
- package/dist/ui/flows/types.d.ts +41 -0
- package/dist/ui/flows/types.d.ts.map +1 -0
- package/dist/ui/flows/types.js +2 -0
- package/dist/ui/flows/types.js.map +1 -0
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1 -1
- package/dist/ui/messages.d.ts +1 -0
- package/dist/ui/messages.d.ts.map +1 -1
- package/dist/ui/messages.js +48 -8
- package/dist/ui/messages.js.map +1 -1
- package/dist/ui/progress.d.ts +5 -1
- package/dist/ui/progress.d.ts.map +1 -1
- package/dist/ui/progress.js +12 -3
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/prompts.d.ts +7 -5
- package/dist/ui/prompts.d.ts.map +1 -1
- package/dist/ui/prompts.js +15 -8
- package/dist/ui/prompts.js.map +1 -1
- package/dist/ui/runtime/cancel.d.ts +4 -0
- package/dist/ui/runtime/cancel.d.ts.map +1 -0
- package/dist/ui/runtime/cancel.js +6 -0
- package/dist/ui/runtime/cancel.js.map +1 -0
- package/dist/ui/runtime/command-chrome.d.ts +17 -0
- package/dist/ui/runtime/command-chrome.d.ts.map +1 -0
- package/dist/ui/runtime/command-chrome.js +123 -0
- package/dist/ui/runtime/command-chrome.js.map +1 -0
- package/dist/ui/runtime/dev-prompt-queue.d.ts +30 -0
- package/dist/ui/runtime/dev-prompt-queue.d.ts.map +1 -0
- package/dist/ui/runtime/dev-prompt-queue.js +57 -0
- package/dist/ui/runtime/dev-prompt-queue.js.map +1 -0
- package/dist/ui/runtime/flow-session.d.ts +4 -0
- package/dist/ui/runtime/flow-session.d.ts.map +1 -0
- package/dist/ui/runtime/flow-session.js +8 -0
- package/dist/ui/runtime/flow-session.js.map +1 -0
- package/dist/ui/runtime/run-clack-flow.d.ts +5 -0
- package/dist/ui/runtime/run-clack-flow.d.ts.map +1 -0
- package/dist/ui/runtime/run-clack-flow.js +34 -0
- package/dist/ui/runtime/run-clack-flow.js.map +1 -0
- package/dist/ui/theme.d.ts +24 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +34 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/valkey-sidecar.d.ts +17 -0
- package/dist/valkey-sidecar.d.ts.map +1 -0
- package/dist/valkey-sidecar.js +94 -0
- package/dist/valkey-sidecar.js.map +1 -0
- package/package.json +9 -3
- package/src/binary-cache.ts +61 -0
- package/src/binary-download-lock.ts +124 -0
- package/src/cli-package-version.ts +15 -0
- package/src/cli.ts +6 -2
- package/src/commands/add.ts +26 -19
- package/src/commands/admin.ts +24 -6
- package/src/commands/cache.ts +105 -5
- package/src/commands/dev.ts +26 -21
- package/src/commands/init.ts +124 -45
- package/src/commands/link-helpers.ts +30 -29
- package/src/compose-local-server-image.ts +68 -0
- package/src/compose-rename.ts +5 -8
- package/src/dev-compose.ts +136 -51
- package/src/dev-log-bus.ts +18 -0
- package/src/dev-log-filter.ts +42 -0
- package/src/dev-ports.ts +22 -11
- package/src/dev-ready-panel.ts +63 -0
- package/src/dev-session-lock.ts +5 -8
- package/src/dev-session.ts +98 -18
- package/src/dev-shutdown.ts +29 -17
- package/src/dev-task-colors.ts +22 -3
- package/src/docker-runtime.ts +1 -1
- package/src/engine-push-output.ts +5 -1
- package/src/ensure-binary.ts +21 -1
- package/src/ensure-component-binaries.ts +71 -0
- package/src/ensure-dev-api-config.ts +18 -0
- package/src/init-dependency-versions.ts +69 -0
- package/src/init-package-json.ts +63 -0
- package/src/postgres-ctl.ts +2 -1
- package/src/required-host-components.ts +37 -0
- package/src/resolve-api-url.ts +43 -0
- package/src/rest-cache-admin.ts +135 -0
- package/src/scripts/postinstall.ts +9 -46
- package/src/self-host-compose.ts +22 -12
- package/src/studio-dev-server.ts +5 -4
- package/src/ui/README.md +13 -9
- package/src/ui/brand.ts +2 -8
- package/src/ui/clack-api.ts +123 -0
- package/src/ui/clack.ts +153 -0
- package/src/ui/components/FlowSpinner.tsx +15 -0
- package/src/ui/components/LogoWordmark.tsx +36 -0
- package/src/ui/components/PromptPanel.tsx +17 -0
- package/src/ui/components/SelectField.tsx +58 -0
- package/src/ui/confirm.ts +5 -4
- package/src/ui/dev/DevDashboard.tsx +213 -0
- package/src/ui/dev/DevReadyPanelView.tsx +67 -0
- package/src/ui/fatal.ts +5 -10
- package/src/ui/flows/FlowApp.tsx +67 -0
- package/src/ui/flows/prompt-fields.tsx +192 -0
- package/src/ui/flows/types.ts +50 -0
- package/src/ui/index.ts +1 -1
- package/src/ui/messages.ts +50 -8
- package/src/ui/progress.ts +14 -3
- package/src/ui/prompts.ts +17 -9
- package/src/ui/runtime/cancel.ts +6 -0
- package/src/ui/runtime/command-chrome.ts +147 -0
- package/src/ui/runtime/dev-prompt-queue.ts +84 -0
- package/src/ui/runtime/flow-session.ts +11 -0
- package/src/ui/runtime/run-clack-flow.tsx +52 -0
- package/src/ui/theme.ts +41 -0
- package/src/valkey-sidecar.ts +126 -0
- package/tests/binary-cache-cloud-overrides.test.ts +2 -2
- package/tests/binary-download-lock.test.ts +41 -0
- package/tests/cli-help.test.ts +7 -4
- package/tests/cli-package-version.test.ts +15 -0
- package/tests/command-chrome-coverage.test.ts +149 -0
- package/tests/command-chrome-wrap.test.ts +51 -0
- package/tests/config.test.ts +8 -4
- package/tests/dev-ready-panel.test.ts +20 -0
- package/tests/dev-ui.test.ts +42 -2
- package/tests/docker-runtime.test.ts +9 -20
- package/tests/ensure-dev-api-config.test.ts +22 -0
- package/tests/init-dependency-versions.test.ts +62 -0
- package/tests/init-package-json.test.ts +18 -0
- package/tests/init.test.ts +30 -3
- package/tests/required-host-components.test.ts +51 -0
- package/tests/resolve-api-url.test.ts +23 -0
- package/tests/rest-cache-admin.test.ts +28 -0
- package/tests/runtime-contract.test.ts +12 -3
- package/tests/tsconfig.json +8 -2
- package/tests/ui-confirm.test.ts +13 -9
- package/tests/ui-messages.test.ts +4 -18
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/vitest.config.ts +3 -0
- package/dist/dev-tui.d.ts +0 -24
- package/dist/dev-tui.d.ts.map +0 -1
- package/dist/dev-tui.js +0 -188
- package/dist/dev-tui.js.map +0 -1
- package/src/dev-tui.ts +0 -232
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cliPackageVersion } from "./cli-package-version.js";
|
|
2
|
+
/** Fallback when the registry is unreachable (offline / tests). */
|
|
3
|
+
export function initDependencyVersionsFallback() {
|
|
4
|
+
const version = cliPackageVersion();
|
|
5
|
+
return { cli: version, types: version };
|
|
6
|
+
}
|
|
7
|
+
async function fetchNpmPackage(name) {
|
|
8
|
+
const url = `https://registry.npmjs.org/${encodeURIComponent(name)}`;
|
|
9
|
+
try {
|
|
10
|
+
const resp = await fetch(url, { signal: AbortSignal.timeout(10_000) });
|
|
11
|
+
if (!resp.ok)
|
|
12
|
+
return null;
|
|
13
|
+
return (await resp.json());
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function versionPublishedOnNpm(meta, version) {
|
|
20
|
+
return Boolean(meta?.versions?.[version]);
|
|
21
|
+
}
|
|
22
|
+
function latestPublishedOnNpm(meta) {
|
|
23
|
+
const latest = meta?.["dist-tags"]?.latest;
|
|
24
|
+
return typeof latest === "string" && latest.trim() !== "" ? latest.trim() : null;
|
|
25
|
+
}
|
|
26
|
+
function resolvePackageVersion(meta, preferred) {
|
|
27
|
+
if (versionPublishedOnNpm(meta, preferred))
|
|
28
|
+
return preferred;
|
|
29
|
+
const latest = latestPublishedOnNpm(meta);
|
|
30
|
+
if (latest)
|
|
31
|
+
return latest;
|
|
32
|
+
return preferred;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pick @supatype/cli and @supatype/types versions that exist on npm.
|
|
36
|
+
* The running CLI may be a local dev build ahead of the registry (e.g. 0.1.3
|
|
37
|
+
* while types is only published at 0.1.1).
|
|
38
|
+
*/
|
|
39
|
+
export async function resolveInitDependencyVersions() {
|
|
40
|
+
const runningCli = cliPackageVersion();
|
|
41
|
+
const [cliMeta, typesMeta] = await Promise.all([
|
|
42
|
+
fetchNpmPackage("@supatype/cli"),
|
|
43
|
+
fetchNpmPackage("@supatype/types"),
|
|
44
|
+
]);
|
|
45
|
+
if (!cliMeta && !typesMeta) {
|
|
46
|
+
return initDependencyVersionsFallback();
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
cli: resolvePackageVersion(cliMeta, runningCli),
|
|
50
|
+
types: resolvePackageVersion(typesMeta, runningCli),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=init-dependency-versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-dependency-versions.js","sourceRoot":"","sources":["../src/init-dependency-versions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAY5D,mEAAmE;AACnE,MAAM,UAAU,8BAA8B;IAC5C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,8BAA8B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAA;IACpE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACzB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAuB,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAA+B,EAAE,OAAe;IAC7E,OAAO,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAAC,IAA+B;IAC3D,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC1C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAClF,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAA+B,EAC/B,SAAiB;IAEjB,IAAI,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5D,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IACtC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,eAAe,CAAC,eAAe,CAAC;QAChC,eAAe,CAAC,iBAAiB,CAAC;KACnC,CAAC,CAAA;IAEF,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,8BAA8B,EAAE,CAAA;IACzC,CAAC;IAED,OAAO;QACL,GAAG,EAAE,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC;QAC/C,KAAK,EAAE,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC;KACpD,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { InitDependencyVersions } from "./init-dependency-versions.js";
|
|
2
|
+
export interface MergePackageJsonOptions {
|
|
3
|
+
projectName: string;
|
|
4
|
+
app: {
|
|
5
|
+
viteDevUrl?: string;
|
|
6
|
+
mode: string;
|
|
7
|
+
};
|
|
8
|
+
helloFunction: boolean;
|
|
9
|
+
}
|
|
10
|
+
type PackageJson = {
|
|
11
|
+
name?: string;
|
|
12
|
+
private?: boolean;
|
|
13
|
+
type?: string;
|
|
14
|
+
scripts?: Record<string, string>;
|
|
15
|
+
dependencies?: Record<string, string>;
|
|
16
|
+
devDependencies?: Record<string, string>;
|
|
17
|
+
};
|
|
18
|
+
/** Merge Supatype deps/scripts into an existing package.json object. */
|
|
19
|
+
export declare function mergeSupatypePackageJson(pkg: PackageJson, opts: MergePackageJsonOptions, deps: InitDependencyVersions): PackageJson;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=init-package-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-package-json.d.ts","sourceRoot":"","sources":["../src/init-package-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE3E,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,KAAK,WAAW,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC,CAAA;AAQD,wEAAwE;AACxE,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,uBAAuB,EAC7B,IAAI,EAAE,sBAAsB,GAC3B,WAAW,CAkCb"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const CORE_SCRIPTS = {
|
|
2
|
+
dev: "supatype dev",
|
|
3
|
+
push: "supatype push",
|
|
4
|
+
seed: "tsx seed.ts",
|
|
5
|
+
};
|
|
6
|
+
/** Merge Supatype deps/scripts into an existing package.json object. */
|
|
7
|
+
export function mergeSupatypePackageJson(pkg, opts, deps) {
|
|
8
|
+
const next = { ...pkg };
|
|
9
|
+
if (!next.name)
|
|
10
|
+
next.name = opts.projectName;
|
|
11
|
+
if (next.private === undefined)
|
|
12
|
+
next.private = true;
|
|
13
|
+
if (!next.type)
|
|
14
|
+
next.type = "module";
|
|
15
|
+
const scripts = { ...(next.scripts ?? {}) };
|
|
16
|
+
for (const [key, value] of Object.entries(CORE_SCRIPTS)) {
|
|
17
|
+
if (scripts[key] === undefined)
|
|
18
|
+
scripts[key] = value;
|
|
19
|
+
}
|
|
20
|
+
if (scripts.dev !== CORE_SCRIPTS.dev && scripts["supatype:dev"] === undefined) {
|
|
21
|
+
scripts["supatype:dev"] = CORE_SCRIPTS.dev;
|
|
22
|
+
}
|
|
23
|
+
if (opts.app.viteDevUrl && scripts.vite === undefined) {
|
|
24
|
+
scripts.vite = "vite";
|
|
25
|
+
}
|
|
26
|
+
if (opts.helloFunction && scripts.functions === undefined) {
|
|
27
|
+
scripts.functions = "supatype functions serve";
|
|
28
|
+
}
|
|
29
|
+
next.scripts = scripts;
|
|
30
|
+
const dependencies = { ...(next.dependencies ?? {}) };
|
|
31
|
+
if (dependencies["@supatype/cli"] === undefined)
|
|
32
|
+
dependencies["@supatype/cli"] = `^${deps.cli}`;
|
|
33
|
+
if (dependencies["@supatype/types"] === undefined)
|
|
34
|
+
dependencies["@supatype/types"] = `^${deps.types}`;
|
|
35
|
+
next.dependencies = dependencies;
|
|
36
|
+
const devDependencies = { ...(next.devDependencies ?? {}) };
|
|
37
|
+
if (devDependencies.tsx === undefined)
|
|
38
|
+
devDependencies.tsx = "^4.19.2";
|
|
39
|
+
if (devDependencies.typescript === undefined)
|
|
40
|
+
devDependencies.typescript = "^5";
|
|
41
|
+
if (opts.app.viteDevUrl && devDependencies.vite === undefined)
|
|
42
|
+
devDependencies.vite = "^6";
|
|
43
|
+
next.devDependencies = devDependencies;
|
|
44
|
+
return next;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=init-package-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-package-json.js","sourceRoot":"","sources":["../src/init-package-json.ts"],"names":[],"mappings":"AAiBA,MAAM,YAAY,GAAG;IACnB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,aAAa;CACX,CAAA;AAEV,wEAAwE;AACxE,MAAM,UAAU,wBAAwB,CACtC,GAAgB,EAChB,IAA6B,EAC7B,IAA4B;IAE5B,MAAM,IAAI,GAAgB,EAAE,GAAG,GAAG,EAAE,CAAA;IAEpC,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;IAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACnD,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;IAEpC,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAA;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,GAAG,CAAA;IAC5C,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAA;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,CAAC,SAAS,GAAG,0BAA0B,CAAA;IAChD,CAAC;IACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAEtB,MAAM,YAAY,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAA;IACrD,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS;QAAE,YAAY,CAAC,eAAe,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;IAC/F,IAAI,YAAY,CAAC,iBAAiB,CAAC,KAAK,SAAS;QAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;IACrG,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAEhC,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAA;IAC3D,IAAI,eAAe,CAAC,GAAG,KAAK,SAAS;QAAE,eAAe,CAAC,GAAG,GAAG,SAAS,CAAA;IACtE,IAAI,eAAe,CAAC,UAAU,KAAK,SAAS;QAAE,eAAe,CAAC,UAAU,GAAG,IAAI,CAAA;IAC/E,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,eAAe,CAAC,IAAI,KAAK,SAAS;QAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAA;IAC1F,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAEtC,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-ctl.d.ts","sourceRoot":"","sources":["../src/postgres-ctl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CAWnB;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAgB5C;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAoB3C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAS1C;AAMD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"postgres-ctl.d.ts","sourceRoot":"","sources":["../src/postgres-ctl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CAWnB;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAgB5C;AAMD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAoB3C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAS1C;AAMD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAahE"}
|
package/dist/postgres-ctl.js
CHANGED
|
@@ -116,7 +116,8 @@ export async function isPortInUse(port) {
|
|
|
116
116
|
return new Promise((resolve) => {
|
|
117
117
|
const server = createServer();
|
|
118
118
|
server.once("error", (err) => {
|
|
119
|
-
|
|
119
|
+
// EADDRINUSE — something is listening. EACCES — Windows excluded/reserved port range.
|
|
120
|
+
resolve(err.code === "EADDRINUSE" || err.code === "EACCES");
|
|
120
121
|
});
|
|
121
122
|
server.once("listening", () => {
|
|
122
123
|
server.close(() => resolve(false));
|
package/dist/postgres-ctl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-ctl.js","sourceRoot":"","sources":["../src/postgres-ctl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"postgres-ctl.js","sourceRoot":"","sources":["../src/postgres-ctl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which CDN-cached host binaries a project needs (native vs docker).
|
|
3
|
+
*
|
|
4
|
+
* Docker runs Postgres, API, and schema push in Compose, but the CLI still uses a
|
|
5
|
+
* host engine binary for type generation and admin-config refresh after push.
|
|
6
|
+
*/
|
|
7
|
+
import type { Component } from "./components.js";
|
|
8
|
+
import { type SupatypeProjectConfig } from "./project-config.js";
|
|
9
|
+
export declare function requiredHostComponents(config: SupatypeProjectConfig, cwd?: string): Component[];
|
|
10
|
+
export declare function describeRequiredHostComponents(components: readonly Component[]): string;
|
|
11
|
+
//# sourceMappingURL=required-host-components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"required-host-components.d.ts","sourceRoot":"","sources":["../src/required-host-components.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,MAAsB,GAC1B,SAAS,EAAE,CAab;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAGvF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which CDN-cached host binaries a project needs (native vs docker).
|
|
3
|
+
*
|
|
4
|
+
* Docker runs Postgres, API, and schema push in Compose, but the CLI still uses a
|
|
5
|
+
* host engine binary for type generation and admin-config refresh after push.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync } from "node:fs";
|
|
8
|
+
import { functionsPathCandidatesFromProject, resolveRuntimeProvider, } from "./project-config.js";
|
|
9
|
+
export function requiredHostComponents(config, cwd = process.cwd()) {
|
|
10
|
+
const provider = resolveRuntimeProvider(config);
|
|
11
|
+
if (provider === "docker") {
|
|
12
|
+
return ["engine"];
|
|
13
|
+
}
|
|
14
|
+
const components = ["engine", "server", "postgres"];
|
|
15
|
+
const hasFunctions = functionsPathCandidatesFromProject(config, cwd).some((dir) => existsSync(dir));
|
|
16
|
+
if (hasFunctions)
|
|
17
|
+
components.push("deno");
|
|
18
|
+
return components;
|
|
19
|
+
}
|
|
20
|
+
export function describeRequiredHostComponents(components) {
|
|
21
|
+
if (components.length === 0)
|
|
22
|
+
return "";
|
|
23
|
+
return components.join(", ");
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=required-host-components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"required-host-components.js","sourceRoot":"","sources":["../src/required-host-components.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,kCAAkC,EAClC,sBAAsB,GAEvB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,UAAU,sBAAsB,CACpC,MAA6B,EAC7B,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,UAAU,GAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,kCAAkC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAChF,UAAU,CAAC,GAAG,CAAC,CAChB,CAAA;IACD,IAAI,YAAY;QAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,UAAgC;IAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the project API base URL (Kong gateway or direct server) for CLI HTTP calls.
|
|
3
|
+
*/
|
|
4
|
+
/** Kong or server origin without a trailing slash. */
|
|
5
|
+
export declare function resolveProjectApiUrl(cwd: string): string;
|
|
6
|
+
//# sourceMappingURL=resolve-api-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-api-url.d.ts","sourceRoot":"","sources":["../src/resolve-api-url.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,sDAAsD;AACtD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwBxD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the project API base URL (Kong gateway or direct server) for CLI HTTP calls.
|
|
3
|
+
*/
|
|
4
|
+
import { loadConfig } from "./config.js";
|
|
5
|
+
import { readEnvValue } from "./env-file.js";
|
|
6
|
+
import { serverBaseUrl } from "./project-config.js";
|
|
7
|
+
const API_URL_ENV_KEYS = [
|
|
8
|
+
"SUPATYPE_URL",
|
|
9
|
+
"SUPATYPE_API_URL",
|
|
10
|
+
"PUBLIC_SUPATYPE_URL",
|
|
11
|
+
"NEXT_PUBLIC_SUPATYPE_URL",
|
|
12
|
+
"SITE_URL",
|
|
13
|
+
"API_EXTERNAL_URL",
|
|
14
|
+
];
|
|
15
|
+
/** Kong or server origin without a trailing slash. */
|
|
16
|
+
export function resolveProjectApiUrl(cwd) {
|
|
17
|
+
for (const key of API_URL_ENV_KEYS) {
|
|
18
|
+
const value = readEnvValue(cwd, key, "").trim();
|
|
19
|
+
if (value) {
|
|
20
|
+
return value.replace(/\/+$/, "");
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const kongPort = readEnvValue(cwd, "SUPATYPE_KONG_PORT", "").trim();
|
|
24
|
+
if (kongPort) {
|
|
25
|
+
return `http://localhost:${kongPort}`;
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const fromConfig = serverBaseUrl(loadConfig(cwd));
|
|
29
|
+
if (fromConfig) {
|
|
30
|
+
return fromConfig.replace(/\/+$/, "");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// No supatype.config — fall through to PORT default.
|
|
35
|
+
}
|
|
36
|
+
const port = readEnvValue(cwd, "PORT", "54321").trim() || "54321";
|
|
37
|
+
return `http://localhost:${port}`;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=resolve-api-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-api-url.js","sourceRoot":"","sources":["../src/resolve-api-url.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,gBAAgB,GAAG;IACvB,cAAc;IACd,kBAAkB;IAClB,qBAAqB;IACrB,0BAA0B;IAC1B,UAAU;IACV,kBAAkB;CACV,CAAA;AAEV,sDAAsD;AACtD,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,oBAAoB,QAAQ,EAAE,CAAA;IACvC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAA;IACjE,OAAO,oBAAoB,IAAI,EAAE,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin REST cache API client for CLI commands.
|
|
3
|
+
*/
|
|
4
|
+
export interface RestCacheEntrySummary {
|
|
5
|
+
key: string;
|
|
6
|
+
table?: string;
|
|
7
|
+
scope?: string;
|
|
8
|
+
method?: string;
|
|
9
|
+
path?: string;
|
|
10
|
+
raw_query?: string;
|
|
11
|
+
ttl_seconds: number;
|
|
12
|
+
size_bytes: number;
|
|
13
|
+
cached_at?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface RestCacheListResponse {
|
|
16
|
+
entries: RestCacheEntrySummary[];
|
|
17
|
+
cursor: string;
|
|
18
|
+
}
|
|
19
|
+
export interface RestCacheDetail extends RestCacheEntrySummary {
|
|
20
|
+
status_code: number;
|
|
21
|
+
content_type?: string;
|
|
22
|
+
body_preview?: string;
|
|
23
|
+
body_json?: unknown;
|
|
24
|
+
}
|
|
25
|
+
export declare function listRestCacheEntries(cwd: string, opts?: {
|
|
26
|
+
table?: string | undefined;
|
|
27
|
+
cursor?: string | undefined;
|
|
28
|
+
limit?: number | undefined;
|
|
29
|
+
}): Promise<RestCacheListResponse>;
|
|
30
|
+
export declare function getRestCacheEntry(cwd: string, key: string): Promise<RestCacheDetail>;
|
|
31
|
+
export declare function deleteRestCacheEntry(cwd: string, key: string): Promise<void>;
|
|
32
|
+
export declare function flushRestCache(cwd: string, table?: string): Promise<void>;
|
|
33
|
+
//# sourceMappingURL=rest-cache-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-cache-admin.d.ts","sourceRoot":"","sources":["../src/rest-cache-admin.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAmDD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC7F,OAAO,CAAC,qBAAqB,CAAC,CAehC;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAU1F;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASlF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin REST cache API client for CLI commands.
|
|
3
|
+
*/
|
|
4
|
+
import { readEnvValue } from "./env-file.js";
|
|
5
|
+
import { resolveProjectApiUrl } from "./resolve-api-url.js";
|
|
6
|
+
function serviceRoleKey(cwd) {
|
|
7
|
+
const key = readEnvValue(cwd, "SUPATYPE_SERVICE_ROLE_KEY", "").trim() ||
|
|
8
|
+
readEnvValue(cwd, "SERVICE_ROLE_KEY", "").trim();
|
|
9
|
+
if (!key) {
|
|
10
|
+
throw new Error("SERVICE_ROLE_KEY not found in .env — run supatype dev or supatype keys");
|
|
11
|
+
}
|
|
12
|
+
return key.trim();
|
|
13
|
+
}
|
|
14
|
+
function adminHeaders(cwd) {
|
|
15
|
+
const key = serviceRoleKey(cwd);
|
|
16
|
+
return {
|
|
17
|
+
Authorization: `Bearer ${key}`,
|
|
18
|
+
apikey: key,
|
|
19
|
+
"Content-Type": "application/json",
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function formatCacheApiError(operation, status, body, baseUrl) {
|
|
23
|
+
const trimmed = body.trim();
|
|
24
|
+
if (status === 404) {
|
|
25
|
+
return (`${operation} failed (404): ${trimmed || "not found"}\n` +
|
|
26
|
+
` API: ${baseUrl}/admin/v1/cache\n` +
|
|
27
|
+
" Start the stack with `supatype dev`, or check SUPATYPE_URL / PUBLIC_SUPATYPE_URL in .env.");
|
|
28
|
+
}
|
|
29
|
+
if (status === 403 && trimmed.includes("rest_cache_not_available")) {
|
|
30
|
+
return "REST server cache is not available on this plan or deployment.";
|
|
31
|
+
}
|
|
32
|
+
if (status === 503 && trimmed.includes("valkey")) {
|
|
33
|
+
return "Valkey is not configured — server-side REST cache requires Valkey (supatype dev with docker).";
|
|
34
|
+
}
|
|
35
|
+
return `${operation} failed (${status}): ${trimmed || "(empty body)"}`;
|
|
36
|
+
}
|
|
37
|
+
function normalizeListResponse(data) {
|
|
38
|
+
return {
|
|
39
|
+
entries: data.entries ?? [],
|
|
40
|
+
cursor: data.cursor ?? "0",
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export async function listRestCacheEntries(cwd, opts) {
|
|
44
|
+
const baseUrl = resolveProjectApiUrl(cwd);
|
|
45
|
+
const params = new URLSearchParams();
|
|
46
|
+
if (opts?.table)
|
|
47
|
+
params.set("table", opts.table);
|
|
48
|
+
if (opts?.cursor)
|
|
49
|
+
params.set("cursor", opts.cursor);
|
|
50
|
+
if (opts?.limit !== undefined)
|
|
51
|
+
params.set("limit", String(opts.limit));
|
|
52
|
+
const qs = params.toString();
|
|
53
|
+
const url = `${baseUrl}/admin/v1/cache${qs ? `?${qs}` : ""}`;
|
|
54
|
+
const res = await fetch(url, { headers: adminHeaders(cwd) });
|
|
55
|
+
if (!res.ok) {
|
|
56
|
+
const body = await res.text();
|
|
57
|
+
throw new Error(formatCacheApiError("list cache", res.status, body, baseUrl));
|
|
58
|
+
}
|
|
59
|
+
const data = (await res.json());
|
|
60
|
+
return normalizeListResponse(data);
|
|
61
|
+
}
|
|
62
|
+
export async function getRestCacheEntry(cwd, key) {
|
|
63
|
+
const baseUrl = resolveProjectApiUrl(cwd);
|
|
64
|
+
const enc = Buffer.from(key, "utf8").toString("base64url");
|
|
65
|
+
const url = `${baseUrl}/admin/v1/cache/entries/${encodeURIComponent(enc)}`;
|
|
66
|
+
const res = await fetch(url, { headers: adminHeaders(cwd) });
|
|
67
|
+
if (!res.ok) {
|
|
68
|
+
const body = await res.text();
|
|
69
|
+
throw new Error(formatCacheApiError("get cache entry", res.status, body, baseUrl));
|
|
70
|
+
}
|
|
71
|
+
return res.json();
|
|
72
|
+
}
|
|
73
|
+
export async function deleteRestCacheEntry(cwd, key) {
|
|
74
|
+
const baseUrl = resolveProjectApiUrl(cwd);
|
|
75
|
+
const enc = Buffer.from(key, "utf8").toString("base64url");
|
|
76
|
+
const url = `${baseUrl}/admin/v1/cache/entries/${encodeURIComponent(enc)}`;
|
|
77
|
+
const res = await fetch(url, { method: "DELETE", headers: adminHeaders(cwd) });
|
|
78
|
+
if (!res.ok) {
|
|
79
|
+
const body = await res.text();
|
|
80
|
+
throw new Error(formatCacheApiError("delete cache entry", res.status, body, baseUrl));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export async function flushRestCache(cwd, table) {
|
|
84
|
+
const baseUrl = resolveProjectApiUrl(cwd);
|
|
85
|
+
const params = new URLSearchParams();
|
|
86
|
+
if (table)
|
|
87
|
+
params.set("table", table);
|
|
88
|
+
const qs = params.toString();
|
|
89
|
+
const url = `${baseUrl}/admin/v1/cache${qs ? `?${qs}` : ""}`;
|
|
90
|
+
const res = await fetch(url, { method: "DELETE", headers: adminHeaders(cwd) });
|
|
91
|
+
if (!res.ok) {
|
|
92
|
+
const body = await res.text();
|
|
93
|
+
throw new Error(formatCacheApiError("flush cache", res.status, body, baseUrl));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=rest-cache-admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-cache-admin.js","sourceRoot":"","sources":["../src/rest-cache-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Postinstall script —
|
|
2
|
+
* Postinstall script — @supatype/cli global/project install.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Failures are non-fatal: an installation message is printed and the user
|
|
8
|
-
* can run `supatype update` manually to retry.
|
|
4
|
+
* Host binaries (engine, server, postgres, deno) are downloaded on demand:
|
|
5
|
+
* - native provider: first supatype dev / supatype update
|
|
6
|
+
* - docker provider: Compose images on first supatype dev
|
|
9
7
|
*/
|
|
10
8
|
export {};
|
|
11
9
|
//# sourceMappingURL=postinstall.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../src/scripts/postinstall.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../../src/scripts/postinstall.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1,51 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Postinstall script —
|
|
2
|
+
* Postinstall script — @supatype/cli global/project install.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Failures are non-fatal: an installation message is printed and the user
|
|
8
|
-
* can run `supatype update` manually to retry.
|
|
4
|
+
* Host binaries (engine, server, postgres, deno) are downloaded on demand:
|
|
5
|
+
* - native provider: first supatype dev / supatype update
|
|
6
|
+
* - docker provider: Compose images on first supatype dev
|
|
9
7
|
*/
|
|
10
|
-
import { download, currentPlatform, fetchAllLatestVersions } from "../binary-cache.js";
|
|
11
8
|
async function main() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
console.log("[supatype] Fetching latest component versions...");
|
|
16
|
-
versions = await fetchAllLatestVersions();
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
console.error(`[supatype] Failed to fetch latest versions: ${err.message}`);
|
|
20
|
-
console.error("[supatype] Run 'supatype update' to download component binaries.");
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
console.log(`[supatype] Downloading component binaries for ${platform.os}/${platform.arch}...`);
|
|
24
|
-
const components = Object.entries(versions);
|
|
25
|
-
let anyFailed = false;
|
|
26
|
-
for (const [component, version] of components) {
|
|
27
|
-
try {
|
|
28
|
-
await download(component, version, platform);
|
|
29
|
-
}
|
|
30
|
-
catch (err) {
|
|
31
|
-
console.error(`[supatype] Failed to download ${component} v${version}: ${err.message}`);
|
|
32
|
-
anyFailed = true;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (anyFailed) {
|
|
36
|
-
// npm hides postinstall output unless --foreground-scripts, so don't rely on
|
|
37
|
-
// this being seen: the CLI re-attempts the download (with retry) on first use.
|
|
38
|
-
console.error("[supatype] Some component binaries failed to download. " +
|
|
39
|
-
"They will be re-downloaded automatically on first use; " +
|
|
40
|
-
"run 'supatype update' to retry now.");
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
console.log("[supatype] All component binaries downloaded successfully.");
|
|
44
|
-
}
|
|
9
|
+
console.log("[supatype] CLI installed. " +
|
|
10
|
+
"Runtime components download automatically on first use " +
|
|
11
|
+
"(supatype dev or supatype update).");
|
|
45
12
|
}
|
|
46
13
|
main().catch((err) => {
|
|
47
|
-
// Non-fatal — postinstall failures should not break npm install.
|
|
48
14
|
console.error("[supatype] Postinstall failed:", err);
|
|
49
15
|
process.exit(0);
|
|
50
16
|
});
|
|
17
|
+
export {};
|
|
51
18
|
//# sourceMappingURL=postinstall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/scripts/postinstall.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/scripts/postinstall.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CACT,4BAA4B;QAC1B,yDAAyD;QACzD,oCAAoC,CACvC,CAAA;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-host-compose.d.ts","sourceRoot":"","sources":["../src/self-host-compose.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAElF,OAAO,EAAyD,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAIvH,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,wFAIhC,CAAA;AAEV,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,qOAOzB,CAAA;AAEV,KAAK,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AAE1D,gEAAgE;AAChE,wBAAgB,cAAc,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,qBAAqB,GAC7B,MAAM,CAeR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3F;AAED,8FAA8F;AAC9F,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAS1E;AAcD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7B;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAQtE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAIvF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAIrF;AAwBD,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,qCAAqC,CAAA;AAwCzE,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,MAAsB,EAC3B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,
|
|
1
|
+
{"version":3,"file":"self-host-compose.d.ts","sourceRoot":"","sources":["../src/self-host-compose.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAElF,OAAO,EAAyD,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAIvH,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,wFAIhC,CAAA;AAEV,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,qOAOzB,CAAA;AAEV,KAAK,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AAE1D,gEAAgE;AAChE,wBAAgB,cAAc,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,qBAAqB,GAC7B,MAAM,CAeR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3F;AAED,8FAA8F;AAC9F,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAS1E;AAcD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAM7B;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAQtE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAIvF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAIrF;AAwBD,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,qCAAqC,CAAA;AAwCzE,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,MAAsB,EAC3B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAoQR;AAoBD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,oBAAoB,CAyBtB;AAED,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAC3B;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,kBAAkB,GACzB,KAAK,CAMP;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,GAAE,MAAsB,EACnC,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAsCR;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAG9D"}
|
|
@@ -258,9 +258,7 @@ ${studioService}
|
|
|
258
258
|
? ` - "80:8000"
|
|
259
259
|
- "443:8443"`
|
|
260
260
|
: ` - "\${SUPATYPE_KONG_PORT:-18473}:8000"`;
|
|
261
|
-
const
|
|
262
|
-
const valkeyBlock = tlsEnabled
|
|
263
|
-
? `
|
|
261
|
+
const valkeyBlock = `
|
|
264
262
|
valkey:
|
|
265
263
|
image: \${SUPATYPE_VALKEY_IMAGE:-valkey/valkey:8-alpine}
|
|
266
264
|
command: ["valkey-server", "--appendonly", "yes"]
|
|
@@ -268,23 +266,18 @@ ${studioService}
|
|
|
268
266
|
- "6379"
|
|
269
267
|
volumes:
|
|
270
268
|
- valkey-data:/data
|
|
271
|
-
|
|
272
|
-
|
|
269
|
+
`;
|
|
270
|
+
const kongValkeyDepends = "\n - valkey";
|
|
273
271
|
const tlsHintComment = tlsEnabled
|
|
274
272
|
? ""
|
|
275
273
|
: ` # HTTPS is off. To enable automatic TLS (Let's Encrypt) for production, set in supatype.config.ts:
|
|
276
274
|
# server: { mode: "standalone", domain: "your.domain", tls: { email: "you@example.com" } }
|
|
277
275
|
# then re-run \`supatype self-host compose up -d\`. Kong publishes :80/:443 and provisions certs automatically.
|
|
278
276
|
`;
|
|
279
|
-
const volumesBlock =
|
|
280
|
-
? `volumes:
|
|
277
|
+
const volumesBlock = `volumes:
|
|
281
278
|
db-data:
|
|
282
279
|
minio-data:
|
|
283
280
|
valkey-data:
|
|
284
|
-
`
|
|
285
|
-
: `volumes:
|
|
286
|
-
db-data:
|
|
287
|
-
minio-data:
|
|
288
281
|
`;
|
|
289
282
|
return `# Generated by supatype self-host compose
|
|
290
283
|
# Kong → supatype-server (unified gateway) → internal PostgREST / storage / etc.
|
|
@@ -396,6 +389,7 @@ ${serverPorts} volumes:
|
|
|
396
389
|
SUPATYPE_DENO_FUNCTIONS_DIR: /project/functions
|
|
397
390
|
SUPATYPE_FUNCTIONS_WORKER_URL: http://functions-worker:8001
|
|
398
391
|
SUPATYPE_CONTROL_PLANE_URL: http://control-plane:8080
|
|
392
|
+
SUPATYPE_VALKEY_ADDR: valkey:6379
|
|
399
393
|
${appEnv}
|
|
400
394
|
GOTRUE_API_HOST: 0.0.0.0
|
|
401
395
|
GOTRUE_API_PORT: 9999
|
|
@@ -415,6 +409,8 @@ ${devLocal ? " STUDIO_OPEN_DEV: \"1\"\n" : ""}
|
|
|
415
409
|
depends_on:
|
|
416
410
|
db:
|
|
417
411
|
condition: service_healthy
|
|
412
|
+
valkey:
|
|
413
|
+
condition: service_started
|
|
418
414
|
postgrest:
|
|
419
415
|
condition: service_started
|
|
420
416
|
storage:
|
|
@@ -457,7 +453,7 @@ ${kongTlsEnv} volumes:
|
|
|
457
453
|
ports:
|
|
458
454
|
${kongPorts}
|
|
459
455
|
depends_on:
|
|
460
|
-
${kongDependsOn}${
|
|
456
|
+
${kongDependsOn}${kongValkeyDepends}
|
|
461
457
|
|
|
462
458
|
${volumesBlock}`;
|
|
463
459
|
}
|
|
@@ -527,7 +523,21 @@ export function runDockerCompose(composePath, args, projectRoot = process.cwd(),
|
|
|
527
523
|
? { ...process.env, COMPOSE_PROGRESS: "quiet" }
|
|
528
524
|
: process.env;
|
|
529
525
|
const stdio = options?.quiet ? "pipe" : "inherit";
|
|
530
|
-
const result = spawnSync("docker", composeArgs, {
|
|
526
|
+
const result = spawnSync("docker", composeArgs, {
|
|
527
|
+
stdio,
|
|
528
|
+
cwd: projectRoot,
|
|
529
|
+
env,
|
|
530
|
+
...(options?.quiet ? { encoding: "utf8" } : {}),
|
|
531
|
+
});
|
|
532
|
+
if (options?.quiet && result.status !== 0) {
|
|
533
|
+
const detail = [result.stderr, result.stdout]
|
|
534
|
+
.filter((s) => typeof s === "string" && s.trim() !== "")
|
|
535
|
+
.join("\n")
|
|
536
|
+
.trim();
|
|
537
|
+
if (detail) {
|
|
538
|
+
console.error(`[supatype] docker compose: ${detail}`);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
531
541
|
return result.status ?? 1;
|
|
532
542
|
}
|
|
533
543
|
/** Compose project name for a Supatype project — isolates docker state per project. */
|