(configFilePath?: string)
| 361 | |
| 362 | @command('pont.createManager') |
| 363 | async createManager(configFilePath?: string) { |
| 364 | await showProgress('初始化 pont', async (report) => { |
| 365 | try { |
| 366 | report('进行中...'); |
| 367 | const rootPath = workspace.rootPath; |
| 368 | const configPath = configFilePath || this.configPath || ''; |
| 369 | Disposable.from(...managerCleanUps).dispose(); |
| 370 | |
| 371 | const config = Config.createFromConfigPath(configPath); |
| 372 | const errMsg = config.validate(); |
| 373 | |
| 374 | if (errMsg) { |
| 375 | throw new Error(errMsg); |
| 376 | } |
| 377 | |
| 378 | const manager = new Manager(rootPath, config, path.dirname(configPath)); |
| 379 | Logger.setLog((...info) => this.outputChannel.appendLine(info.join(' '))); |
| 380 | Logger.setError((...info) => window.showErrorMessage(info.join(' '), { modal: false })); |
| 381 | this.setManage(manager); |
| 382 | |
| 383 | manager.init(rootPath, path.dirname(configPath)); |
| 384 | await manager.changeOrigin(); |
| 385 | |
| 386 | /** 初始化轮询 */ |
| 387 | pollingManage.setCallback(async () => { |
| 388 | await manager.getCurrentOriginManage().updateRemoteDataSource(); |
| 389 | }); |
| 390 | pollingManage.startPolling(config.pollingTime); |
| 391 | managerCleanUps.push({ dispose: pollingManage.stopPolling }); |
| 392 | |
| 393 | /** 初始化 mocks */ |
| 394 | if (config.mocks && config.mocks.enable) { |
| 395 | const mockeServer = MocksServer.getSingleInstance(manager); |
| 396 | |
| 397 | // 先执行刷新,更新mock代码 |
| 398 | await mockeServer.refreshMocksCode(); |
| 399 | const closeServer = await mockeServer.run(); |
| 400 | managerCleanUps.push({ dispose: closeServer }); |
| 401 | } |
| 402 | |
| 403 | setContext('multipleOrigins', manager.getStandardOirginConfigs().length > 1); |
| 404 | setContext('initManager', true); |
| 405 | setContext('initError', false); |
| 406 | getPontOriginsProvider().refresh(manager); |
| 407 | |
| 408 | report('完成'); |
| 409 | } catch (e) { |
| 410 | window.showErrorMessage('Pont初始化失败'); |
| 411 | setContext('initError', true); |
| 412 | setContext('initManager', false); |
| 413 | return Promise.reject(e); |
| 414 | } |
| 415 | }); |
| 416 | } |
| 417 | |
| 418 | @command('pont.installPontEngine') |
| 419 | async installPontEngine(params: { type: 'yarn' | 'npm' }) { |
no test coverage detected