Files
mnote/scripts/task789-weknora-kb-page-ui-reference-static-smoke.js
T

59 lines
2.0 KiB
JavaScript

#!/usr/bin/env node
"use strict";
const assert = require("node:assert");
const fs = require("node:fs");
const path = require("node:path");
const ROOT = process.cwd();
const OUTPUT_DIR = path.join(ROOT, "tmp", "task789-weknora-kb-page-ui-reference-static-smoke");
const RESULT_PATH = path.join(OUTPUT_DIR, "result.json");
const REFERENCE_DOC = "design/07-ai/reference/7-68-weknora-kb-page-ui-reference-v1.md";
function read(relativePath) {
return fs.readFileSync(path.join(ROOT, relativePath), "utf8");
}
function assertContains(content, needle) {
assert(content.includes(needle), `reference doc 缺少: ${needle}`);
}
function main() {
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
assert(fs.existsSync(path.join(ROOT, REFERENCE_DOC)), `${REFERENCE_DOC} 不存在`);
const doc = read(REFERENCE_DOC);
for (const required of [
"/mnt/Data1T/Mnote_data/weknora/WeKnora/frontend/src/views/knowledge/KnowledgeBaseList.vue",
"/mnt/Data1T/Mnote_data/weknora/WeKnora/frontend/src/views/knowledge/KnowledgeBase.vue",
"/mnt/Data1T/Mnote_data/weknora/WeKnora/frontend/src/views/knowledge/components/DocumentListView.vue",
"/mnt/Data1T/Mnote_data/weknora/WeKnora/frontend/src/views/knowledge/components/KbUploadSourceDropdown.vue",
"/mnt/Data1T/Mnote_data/weknora/WeKnora/frontend/src/components/knowledge-processing-timeline.vue",
"providerKnowledgeId",
"不能直接接管的边界",
"MNote 最小呈现建议",
]) {
assertContains(doc, required);
}
const result = {
ok: true,
checkedFiles: [REFERENCE_DOC],
assertions: {
referenceDocExists: true,
weknoraKbListPathRecorded: true,
weknoraKbDetailPathRecorded: true,
documentListPathRecorded: true,
uploadDropdownPathRecorded: true,
processingTimelinePathRecorded: true,
mnoteMappingRecorded: true,
boundariesRecorded: true,
minimumStructureRecorded: true,
},
};
fs.writeFileSync(RESULT_PATH, `${JSON.stringify(result, null, 2)}\n`, "utf8");
console.log(JSON.stringify(result, null, 2));
}
main();