/** * * SCAN 模組列表輸出至 CSV scripts/dist/*.scan.csv * * * */ const fs = require('fs'); const readline = require('readline'); const path = require('path'); const { findImageKeywords } = require('./list_dependencies') const baseDir = path.join(process.cwd(), 'scripts/dist'); const exclusions = Array.from(new Set([])).join('|') // 您提供的關鍵字 (以 | 分隔) const keywordsStr = Array.from(new Set([ 'OnAcquire', 'SelectScanner', 'scanner.SelectScanner', 'initkscan', 'CheckScannerConfig', 'PageEnd', 'PageDone', 'ScannerControl.twainWrapper', 'StatrTwainScan', 'Scanner.OpenSource', 'Scanner.AcquireWithSourceOpen', 'Scanner.CloseSource', 'Scanner' ])).join('|') // 執行腳本 (請確認您的目標檔案名稱,預設為 CB_IMGPSScanImp.pas) const targetFiles = [ 'CB_IMGPSScanImp.pas.bk', 'DocCopy.pas', 'DocList.pas', 'DocPrt.pas', 'ErrList.pas', 'InputMask.pas', 'OldCaseImg.pas', 'OldCaseInfo.pas', 'PatchFom.pas', 'ScanMemo.pas' ] async function listDependencies() { console.log(`${'方法名'.padEnd(30)} | ${'所在檔名'.padEnd(20)} | ${'行號'.padEnd(5)} | ${'引用了什麼相依 (關鍵字)'}`); console.log(`--- | --- | --- | --- |`); return await Promise.all(targetFiles.map((_) => findImageKeywords(_, keywordsStr, exclusions, path.join(baseDir, `${_}.scan.csv`)))) } module.exports = { listDependencies }