mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-13 21:01:21 +08:00
<!-- Make sure you've read the CONTRIBUTING.md guidelines: https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added Stripe, OAuth, and Freestyle mock services to the local emulator * Introduced `emulator run` CLI command to execute applications with emulator credentials automatically injected * Enhanced credential management for local development * **Improvements** * Improved ARM64 QEMU emulation with cross-architecture support * Better error detection and logging during emulator provisioning * Added example middleware configuration with authentication support <!-- end of auto-generated comment: release notes by coderabbit.ai -->
28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
import { execFileSync } from "child_process";
|
|
import { chmodSync, cpSync, mkdirSync } from "fs";
|
|
import { dirname, join, resolve } from "path";
|
|
import { fileURLToPath } from "url";
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const packageRoot = resolve(__dirname, "..");
|
|
const qemuSrc = resolve(packageRoot, "../../docker/local-emulator/qemu");
|
|
const envGenScript = resolve(packageRoot, "../../docker/local-emulator/generate-env-development.mjs");
|
|
const envSrc = resolve(packageRoot, "../../docker/local-emulator/.env.development");
|
|
const distDir = join(packageRoot, "dist");
|
|
const emulatorDist = join(distDir, "emulator");
|
|
|
|
execFileSync(process.execPath, [envGenScript], { stdio: "inherit" });
|
|
|
|
mkdirSync(emulatorDist, { recursive: true });
|
|
|
|
for (const name of ["run-emulator.sh", "common.sh", "cloud-init"]) {
|
|
cpSync(join(qemuSrc, name), join(emulatorDist, name), { recursive: true });
|
|
}
|
|
|
|
chmodSync(join(emulatorDist, "run-emulator.sh"), 0o755);
|
|
|
|
cpSync(envSrc, join(distDir, ".env.development"));
|
|
|
|
console.log(`Copied emulator assets into ${emulatorDist} (+ .env.development into ${distDir}).`);
|