|
| 1 | +import path from 'node:path'; |
| 2 | +import fs from 'node:fs/promises'; |
| 3 | +import { getLoader } from '@eggjs/utils'; |
| 4 | + |
| 5 | +// node save_egg_info.mjs baseDir frameworkPath saveEggInfoPath |
| 6 | + |
| 7 | +const [ baseDir, frameworkPath, saveEggInfoPath ] = process.argv.slice(2); |
| 8 | + |
| 9 | +async function main() { |
| 10 | + console.warn('[egg-ts-helper] Save egg info, baseDir: %s, frameworkPath: %s', baseDir, frameworkPath); |
| 11 | + const startTime = Date.now(); |
| 12 | + const loader = await getLoader({ |
| 13 | + framework: frameworkPath, |
| 14 | + baseDir, |
| 15 | + }); |
| 16 | + // console.log(loader); |
| 17 | + |
| 18 | + try { |
| 19 | + await loader.loadPlugin(); |
| 20 | + } catch (e) { |
| 21 | + console.warn('[egg-ts-helper] WARN loader.loadPlugin() error: %s, baseDir: %s, frameworkPath: %s', |
| 22 | + e, baseDir, frameworkPath); |
| 23 | + // do nothing |
| 24 | + } |
| 25 | + |
| 26 | + try { |
| 27 | + await loader.loadConfig(); |
| 28 | + } catch (e) { |
| 29 | + console.warn('[egg-ts-helper] WARN loader.loadConfig() error: %s, baseDir: %s, frameworkPath: %s', |
| 30 | + e, baseDir, frameworkPath); |
| 31 | + // do nothing |
| 32 | + } |
| 33 | + |
| 34 | + const eggInfo = {}; |
| 35 | + eggInfo.plugins = loader.allPlugins; |
| 36 | + eggInfo.config = loader.config; |
| 37 | + eggInfo.eggPaths = loader.eggPaths; |
| 38 | + eggInfo.timing = Date.now() - startTime; |
| 39 | + console.warn('[egg-ts-helper] plugins: %j', Object.keys(eggInfo.plugins)); |
| 40 | + await fs.mkdir(path.dirname(saveEggInfoPath), { recursive: true }); |
| 41 | + await fs.writeFile(saveEggInfoPath, JSON.stringify(eggInfo, null, 2)); |
| 42 | +} |
| 43 | + |
| 44 | +main(); |
0 commit comments