Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/ootb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@ jobs:
shell: pwsh
run: npm run build --workspaces --if-present

- name: Populate configs from defaults
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path configs | Out-Null
Get-ChildItem -Path configs-default -Filter *.json | ForEach-Object {
$dest = Join-Path configs $_.Name
if (-not (Test-Path $dest)) { Copy-Item $_.FullName $dest }
}

- name: Run check-ootb
shell: pwsh
run: node tools/check-ootb.js
Expand Down
2 changes: 1 addition & 1 deletion configs-default/db_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"db_port": 3001,
"http_auth": "",
"dbDir": "./data/sfmc_data.db",
"modulesDir": "../modules"
"modulesDir": "modules"
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"module-core:typecheck": "npm run sdk:typecheck",
"module-core:test": "echo \"no sdk tests yet\"",
"module-core:verify": "npm run sdk:verify",
"check-catalog": "node /tools/check-catalog.js",
"check-catalog": "node tools/check-catalog.js",
"lint": "eslint . --ext .ts,.tsx",
"bundle": "node build-sea.mjs",
"sea": "node --build-sea sea-config.json"
Expand Down
11 changes: 6 additions & 5 deletions tools/check-catalog.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@
* - entry.init 仅在 sapi 类型可选
* - 不允许循环依赖(拓扑排序检测)
*/
import { accessSync, constants, readFileSync } from "node:fs";
import { resolve, join, dirname } from "node:path";
import { fileURLToPath } from 'node:url';
import path from "node:path";
const { accessSync, constants, readFileSync } = require("node:fs");
const { resolve, join } = require("node:path");

const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
// 本文件以 CommonJS 方式运行(仓库根 package.json 未设置 "type": "module"),
// 直接使用 __dirname,避免 import.meta.url 触发 "Cannot use import statement
// outside a module" 语法错误。
const ROOT = resolve(__dirname, "..");
const CATALOG = join(ROOT, "modules", "catalog.json");
const SERVICES_CATALOG = join(ROOT, "services", "catalog.json");
/* SAPI modules no longer register through a single static entry.ts —
Expand Down
4 changes: 3 additions & 1 deletion tools/check-ootb.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,9 @@ function fileContains(p, needle) {
{
let dbProc = null;
try {
dbProc = spawn(process.execPath, [path.join(ROOT, "db-server", "index.js")], {
const dbEntry = path.join(ROOT, "db-server", "dist", "index.js");
if (!exists(dbEntry)) throw new Error(`db-server 未构建: ${dbEntry} 不存在,请先运行 npm run build`);
dbProc = spawn(process.execPath, [dbEntry], {
cwd: ROOT,
env: { ...process.env },
stdio: ["ignore", "pipe", "pipe"],
Expand Down
6 changes: 5 additions & 1 deletion tools/sim-new-user.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,12 @@ function expect(cond, msg) {
let dbProc = null;

function startDb(simDir) {
const dbEntry = path.join(ROOT, "db-server", "dist", "index.js");
if (!fs.existsSync(dbEntry)) {
fail(`db-server 未构建: ${dbEntry} 不存在,请先运行 npm run build (或 npm run build --workspace db-server)`);
}
const env = { ...process.env, SFMC_ROOT: simDir, DB_PORT: String(DB_PORT) };
dbProc = spawn(process.execPath, [path.join(ROOT, "db-server", "index.js")], {
dbProc = spawn(process.execPath, [dbEntry], {
cwd: ROOT,
env,
stdio: ["ignore", "pipe", "pipe"],
Expand Down
Loading