{"version":3,"file":"init.mjs","sources":["../src/init.ts"],"sourcesContent":["import { execFile, spawn } from 'child_process';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { dirname } from 'path';\n\n// @ts-ignore 获取当前模块的 URL\nconst __filename = fileURLToPath(import.meta.url);\n\n// 获取当前模块所在的目录\nconst __dirname = dirname(__filename);\n\nexport function runInitScript() {\n    const isWindows = process.platform === 'win32';\n\n    // 获取除程序名和当前脚本外的所有命令行参数\n    const args = process.argv.slice(2);\n\n    if (isWindows) {\n        // Windows平台下运行Powershell脚本\n        const scriptPath = path.resolve(__dirname, './init.ps1');\n        const powershellArgs = [\n            '-ExecutionPolicy',\n            'Bypass',\n            '-File',\n            scriptPath,\n            ...args,\n        ];\n        return new Promise((resolve, reject) => {\n            execFile(\n                'powershell.exe',\n                powershellArgs,\n                (error, stdout, stderr) => {\n                    if (error) {\n                        console.error(\n                            `Error executing PowerShell script: ${error.message}`,\n                        );\n                        reject(error);\n                        return;\n                    }\n                    resolve(null);\n                    console.log(`PowerShell script output: ${stdout}`);\n                },\n            );\n        });\n    } else {\n        // 非Windows平台（如Linux或macOS）下运行shell脚本\n        const scriptPath = path.resolve(__dirname, './init.sh');\n        const child = spawn('bash', [scriptPath, ...args], {\n            stdio: 'inherit',\n        });\n        return new Promise((resolve, reject) => {\n            child\n                .on('close', (code) => {\n                    if (code !== 0) {\n                        reject();\n                        console.error(`Shell script exited with code ${code}`);\n                    } else {\n                        resolve(null);\n                        console.log('Shell script executed successfully.');\n                    }\n                })\n                .on('error', (err) => {\n                    reject(err);\n                    console.error('Failed to start shell script:', err);\n                });\n        });\n    }\n}\n"],"names":["__filename","fileURLToPath","__dirname","dirname","runInitScript","isWindows","args","powershellArgs","path","resolve","reject","execFile","error","stdout","stderr","scriptPath","child","spawn","code","err"],"mappings":";;;AAMA,MAAMA,IAAaC,EAAc,YAAY,GAAG,GAG1CC,IAAYC,EAAQH,CAAU;AAE7B,SAASI,IAAgB;AACtB,QAAAC,IAAY,QAAQ,aAAa,SAGjCC,IAAO,QAAQ,KAAK,MAAM,CAAC;AAEjC,MAAID,GAAW;AAGX,UAAME,IAAiB;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MAJeC,EAAK,QAAQN,GAAW,YAAY;AAAA,MAMnD,GAAGI;AAAA,IACP;AACA,WAAO,IAAI,QAAQ,CAACG,GAASC,MAAW;AACpC,MAAAC;AAAA,QACI;AAAA,QACAJ;AAAA,QACA,CAACK,GAAOC,GAAQC,MAAW;AACvB,cAAIF,GAAO;AACC,oBAAA;AAAA,cACJ,sCAAsCA,EAAM,OAAO;AAAA,YACvD,GACAF,EAAOE,CAAK;AACZ;AAAA,UAAA;AAEJ,UAAAH,EAAQ,IAAI,GACJ,QAAA,IAAI,6BAA6BI,CAAM,EAAE;AAAA,QAAA;AAAA,MAEzD;AAAA,IAAA,CACH;AAAA,EAAA,OACE;AAEH,UAAME,IAAaP,EAAK,QAAQN,GAAW,WAAW,GAChDc,IAAQC,EAAM,QAAQ,CAACF,GAAY,GAAGT,CAAI,GAAG;AAAA,MAC/C,OAAO;AAAA,IAAA,CACV;AACD,WAAO,IAAI,QAAQ,CAACG,GAASC,MAAW;AAE/B,MAAAM,EAAA,GAAG,SAAS,CAACE,MAAS;AACnB,QAAIA,MAAS,KACFR,EAAA,GACC,QAAA,MAAM,iCAAiCQ,CAAI,EAAE,MAErDT,EAAQ,IAAI,GACZ,QAAQ,IAAI,qCAAqC;AAAA,MAExD,CAAA,EACA,GAAG,SAAS,CAACU,MAAQ;AAClB,QAAAT,EAAOS,CAAG,GACF,QAAA,MAAM,iCAAiCA,CAAG;AAAA,MAAA,CACrD;AAAA,IAAA,CACR;AAAA,EAAA;AAET;"}