初始化

This commit is contained in:
2026-03-26 20:18:20 +08:00
commit 120a5b4dfd
368 changed files with 35926 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import fs from 'node:fs/promises';
import path from 'node:path';
import process from 'node:process';
import { fileURLToPath } from 'node:url';
import { setupElegantRouter } from '../build/plugins/router.ts';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const rootDir = path.resolve(__dirname, '..');
const generatedFiles = [
path.resolve(rootDir, 'src/router/elegant/imports.ts'),
path.resolve(rootDir, 'src/router/elegant/routes.ts'),
path.resolve(rootDir, 'src/router/elegant/transform.ts'),
path.resolve(rootDir, 'src/typings/elegant-router.d.ts')
];
async function getMtimeMs(filePath) {
try {
const stat = await fs.stat(filePath);
return stat.mtimeMs;
} catch {
return 0;
}
}
async function getGeneratedFileMtimes() {
return Promise.all(generatedFiles.map(getMtimeMs));
}
function isGenerated(before, after) {
return after.some((mtimeMs, index) => mtimeMs !== before[index]);
}
async function waitForGeneration(beforeMtimes, timeoutMs = 10000) {
const startTime = Date.now();
while (Date.now() - startTime < timeoutMs) {
const afterMtimes = await getGeneratedFileMtimes();
if (isGenerated(beforeMtimes, afterMtimes)) {
return;
}
await new Promise(resolve => setTimeout(resolve, 100));
}
throw new Error('Timed out while waiting for elegant-router generated files.');
}
process.chdir(rootDir);
const beforeMtimes = await getGeneratedFileMtimes();
setupElegantRouter();
await waitForGeneration(beforeMtimes);
console.log('Generated elegant-router files.');