- Not a partial toolkit. An end-to-end stack — domain, service, query edge, and live client — + Not a partial toolkit. An end-to-end cloud native stack — domain, service, query edge, live client, and even gitops — so engineers who care about quality code can stay on the model and still ship polished, fast, maintainable products.
diff --git a/tests/e2e-ui/ui/src/routes/login/+page.server.ts b/tests/e2e-ui/ui/src/routes/login/+page.server.ts index ad29d05b..63b34527 100644 --- a/tests/e2e-ui/ui/src/routes/login/+page.server.ts +++ b/tests/e2e-ui/ui/src/routes/login/+page.server.ts @@ -19,6 +19,8 @@ export const load: PageServerLoad = async (event) => { return { authRequest, + // Workspace-prefixed when identity.workspace is set (e.g. dogfood-alice). + // Local dogfood also seeds plain alice/bob/admin for the same password. demoHint: 'Demo: alice / bob / admin · Password1!' }; }; diff --git a/tests/e2e-ui/ui/vite.config.ts b/tests/e2e-ui/ui/vite.config.ts index c71fdbab..bbdcaa81 100644 --- a/tests/e2e-ui/ui/vite.config.ts +++ b/tests/e2e-ui/ui/vite.config.ts @@ -1,3 +1,6 @@ +import { existsSync } from 'node:fs'; +import { resolve } from 'node:path'; + import { sveltekit } from '@sveltejs/kit/vite'; import { distributedGraphqlProxy, @@ -9,13 +12,28 @@ import { distributedViteOptions } from './distributed.config.js'; const api = process.env.E2E_API_ORIGIN || process.env.E2E_BASE_URL || 'http://127.0.0.1:8791'; +// Cluster-dev node images often lack cargo/dctl. Prefer committed generated +// clients when present so vite can start without a Rust toolchain. +const generatedReady = distributedViteOptions.clients.every((client) => + existsSync(resolve(distributedViteOptions.cwd, client.out, 'sveltekit.ts')) +); +const skipClientCompile = + process.env.DISTRIBUTED_SKIP_CLIENT_COMPILE === '1' || + (process.env.DISTRIBUTED_SKIP_CLIENT_COMPILE !== '0' && generatedReady); + export default defineConfig({ - plugins: [distributedSvelteKit(distributedViteOptions), sveltekit()], + plugins: [ + ...(skipClientCompile ? [] : [distributedSvelteKit(distributedViteOptions)]), + sveltekit() + ], css: { devSourcemap: true }, // blob-domain pure package (wasm-pack --features wasm) assetsInclude: ['**/*.wasm'], server: { port: 5180, + // hops local cluster-DNS mode uses svc.ns.svc.cluster.local Host headers. + host: true, + allowedHosts: true, // GraphQL-only public API (commands are mutations, not POST /todo.*). proxy: distributedGraphqlProxy(api) },