MCPcopy
hub / github.com/alibaba/pont / createManager

Method createManager

packages/vscode-pont/src/commands/index.ts:363–416  ·  view source on GitHub ↗
(configFilePath?: string)

Source from the content-addressed store, hash-verified

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' }) {

Callers 1

activateFunction · 0.95

Calls 15

setManageMethod · 0.95
initMethod · 0.95
changeOriginMethod · 0.95
showProgressFunction · 0.90
setContextFunction · 0.90
getPontOriginsProviderFunction · 0.90
disposeMethod · 0.80
createFromConfigPathMethod · 0.80
setLogMethod · 0.80
setErrorMethod · 0.80

Tested by

no test coverage detected