chore: initialize qiming workspace repository

This commit is contained in:
Codex
2026-05-29 14:22:48 +08:00
commit bfd67a0f2c
10750 changed files with 1885711 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
#!/usr/bin/env node
/**
* 将 monaco-editor 的静态资源min/vs复制到 public/ 下,确保 Electron 打包后可离线加载。
*
* 目标产物:
* public/monaco/vs/**
*
* 运行时:
* 渲染进程通过 @monaco-editor/react 的 loader.config({ paths: { vs: "./monaco/vs" } })
* 指向该目录。
*/
/* eslint-disable no-console */
'use strict';
const path = require('path');
const fs = require('fs');
const { getProjectRoot } = require('../utils/project-paths');
const projectRoot = getProjectRoot();
const srcVsDir = path.join(projectRoot, 'node_modules', 'monaco-editor', 'min', 'vs');
const destVsDir = path.join(projectRoot, 'public', 'monaco', 'vs');
function copyDirRecursive(src, dest) {
if (!fs.existsSync(src)) return;
fs.mkdirSync(dest, { recursive: true });
for (const name of fs.readdirSync(src)) {
const s = path.join(src, name);
const d = path.join(dest, name);
const stat = fs.statSync(s);
if (stat.isDirectory()) {
copyDirRecursive(s, d);
} else {
fs.copyFileSync(s, d);
}
}
}
function main() {
if (!fs.existsSync(srcVsDir)) {
console.error('[prepare-monaco] 未找到 monaco-editor 资源目录:');
console.error(` ${srcVsDir}`);
console.error('[prepare-monaco] 请先执行 npm install');
process.exit(1);
}
// 清理旧产物,避免残留导致加载异常
if (fs.existsSync(destVsDir)) {
fs.rmSync(destVsDir, { recursive: true, force: true });
}
console.log('[prepare-monaco] 复制 monaco 静态资源...');
copyDirRecursive(srcVsDir, destVsDir);
// 基本校验loader 需要 loader.js
const loaderJs = path.join(destVsDir, 'loader.js');
if (!fs.existsSync(loaderJs)) {
console.warn('[prepare-monaco] ⚠️ 缺少 vs/loader.jsmonaco 可能无法加载');
}
console.log('[prepare-monaco] ✓ public/monaco/vs 已准备完成');
}
main();