feat: consolidate local-first mnote web runtime
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
|
||||
const { spawnSync } = require("node:child_process");
|
||||
const path = require("node:path");
|
||||
|
||||
const DEFAULT_TASKS = [
|
||||
"scripts/task451-local-markdown-conflict-resolution-ui-smoke.js",
|
||||
"scripts/task503-local-pptx-upload-filetree-open-smoke.js",
|
||||
"scripts/task458-local-create-page-no-conflict-smoke.js",
|
||||
"scripts/task504-local-md-external-conflict-recovery-smoke.js",
|
||||
"scripts/task508-local-md-multitab-conflict-smoke.js",
|
||||
"scripts/task509-local-upload-save-409-orphan-smoke.js",
|
||||
];
|
||||
|
||||
function requestedTasks() {
|
||||
const raw = String(process.env.MNOTE_CONFLICT_REGRESSION_TASKS || "").trim();
|
||||
if (!raw) return DEFAULT_TASKS;
|
||||
return raw.split(",").map((item) => item.trim()).filter(Boolean);
|
||||
}
|
||||
|
||||
function runTask(scriptPath) {
|
||||
const absolute = path.resolve(process.cwd(), scriptPath);
|
||||
const result = spawnSync(process.execPath, [absolute], {
|
||||
cwd: process.cwd(),
|
||||
env: process.env,
|
||||
stdio: "inherit",
|
||||
});
|
||||
if (result.error) throw result.error;
|
||||
if (result.status !== 0) {
|
||||
throw new Error(`${scriptPath} failed with status ${result.status}`);
|
||||
}
|
||||
}
|
||||
|
||||
function main() {
|
||||
const tasks = requestedTasks();
|
||||
for (const task of tasks) {
|
||||
console.log(`[task510] running ${task}`);
|
||||
runTask(task);
|
||||
}
|
||||
console.log(JSON.stringify({ ok: true, tasks }, null, 2));
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user