Files
memind/scripts/setup-local-test.mjs
T
john 54de1dd8e3 Add local test domain setup (test.*.tkmind.cn).
DNS/TLS/proxy scripts and docs/local-dev.md replace localhost URLs for H5, memind_adm, Plaza, and Ops during local dev.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 09:55:04 +08:00

50 lines
1.5 KiB
JavaScript

#!/usr/bin/env node
/**
* One-shot local test setup:
* 1. /etc/hosts + /etc/resolver for test.*.tkmind.cn
* 2. TLS cert with SAN for all test domains
*
* Usage: sudo pnpm setup:local-test
*/
import { spawnSync } from 'node:child_process';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import {
ADMIN_HOST,
H5_HOST,
OPS_HOST,
PLAZA_HOST,
publicUrl,
} from './local-test-config.mjs';
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '..');
if (process.getuid?.() !== 0) {
console.log('需要 root 权限,请执行:');
console.log(' sudo pnpm setup:local-test');
process.exit(1);
}
const dns = spawnSync('node', [path.join(root, 'scripts/setup-local-test-dns.mjs')], {
stdio: 'inherit',
env: process.env,
});
if (dns.status !== 0) process.exit(dns.status ?? 1);
const tls = spawnSync('node', [path.join(root, 'scripts/local-test-tls.mjs')], {
stdio: 'inherit',
env: process.env,
});
if (tls.status !== 0) process.exit(tls.status ?? 1);
console.log('');
console.log('本地测试域名已配置。启动:');
console.log(' pnpm dev # 全栈开发');
console.log(' sudo pnpm dev:local-proxy # HTTPS :443 统一入口(另开终端)');
console.log('');
console.log('访问:');
console.log(` MindSpace H5 ${publicUrl(H5_HOST)}/?preview=mindspace`);
console.log(` memind_adm ${publicUrl(ADMIN_HOST)}`);
console.log(` Plaza ${publicUrl(PLAZA_HOST)}/plaza`);
console.log(` Ops 审核后台 ${publicUrl(OPS_HOST)}/ops/`);