iter(g01): ua docs 幂等化防时间戳弄脏工作区
This commit is contained in:
@@ -56,9 +56,9 @@ function collectManifests() {
|
||||
return out;
|
||||
}
|
||||
|
||||
/*** 内容无变化则跳过写入(幂等,行尾归一化防 CRLF 误判),避免时间戳刷新弄脏工作区 ***/
|
||||
function writeIfChanged(file, content) {
|
||||
if (fs.existsSync(file) && fs.readFileSync(file, 'utf8').replace(/\r\n/g, '\n') === content) return false;
|
||||
/*** 内容无变化则跳过写入(幂等,行尾归一化防 CRLF 误判;norm 可剔除时间戳后再比对),避免弄脏工作区 ***/
|
||||
function writeIfChanged(file, content, norm = (s) => s) {
|
||||
if (fs.existsSync(file) && norm(fs.readFileSync(file, 'utf8').replace(/\r\n/g, '\n')) === norm(content)) return false;
|
||||
fs.writeFileSync(file, content);
|
||||
return true;
|
||||
}
|
||||
@@ -356,7 +356,9 @@ function cmdDocs() {
|
||||
fs.writeFileSync(path.join(outDir, 'index.html'), renderDocs(index, tokens));
|
||||
const demoSrc = path.join(ROOT, 'apps', 'demo', 'dist', 'demo.html'); // 演示页拷入文档站供 iframe
|
||||
if (fs.existsSync(demoSrc)) fs.copyFileSync(demoSrc, path.join(outDir, 'demo.html'));
|
||||
fs.writeFileSync(LLMS_FULL, renderAgentDocs(index, tokens));
|
||||
// llms-full 头部时间戳仅生成时刻之差视为无变化(与 index 幂等化同方案)
|
||||
const normTs = (s) => s.replace(/自动生成于 [^,]*/, '自动生成于 X');
|
||||
writeIfChanged(LLMS_FULL, renderAgentDocs(index, tokens), normTs);
|
||||
console.log(
|
||||
`docs generated -> apps/docs/index.html + demo.html, llms-full.txt (${index.packages.length} packages)`,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user