import * as vscode from 'vscode'; import * as fs from 'fs'; import * as Terser from 'terser'; import * as DocHelper from './util/docHelper'; import * as SimulatorHelper from './util/simulatorHelper'; import * as WorkspaceHelper from './util/workspaceHelper'; import { SidebarMenuProvider } from './util/sidebarMenu'; //import { SimulatorView } from './simulator/simulatorView'; import { ServerInstance } from './simulator/serverInstance'; import jsBridge from '../src/utils/iframe/jsBridge'; export async function activate(context: vscode.ExtensionContext) { let server = new ServerInstance(); let sidebarMenu = new SidebarMenuProvider(); //let simulatorView: SimulatorView | undefined; //await puppeteer.launch({}); const extPath = vscode.extensions.getExtension('PayPay.paypay-devtool') ?.extensionPath; if (extPath?.length) { const minifiedPP = (await Terser.minify(jsBridge())).code; minifiedPP && fs.writeFileSync(extPath + '/build/pp.js', minifiedPP); } context.subscriptions.push( vscode.window.registerTreeDataProvider( 'paypay.devtool.explorer', sidebarMenu ) ); context.subscriptions.push(server); context.subscriptions.push( vscode.commands.registerCommand( 'paypay.devtool.url.documentation', DocHelper.openDocumentation ) ); context.subscriptions.push( vscode.commands.registerCommand( 'paypay.devtool.simulator.start', async () => await SimulatorHelper.start(server) ) ); context.subscriptions.push( vscode.commands.registerCommand('paypay.devtool.simulator.stop', () => SimulatorHelper.stop(server) ) ); context.subscriptions.push( vscode.commands.registerCommand( 'paypay.devtool.workspace.generatesampleproject', WorkspaceHelper.generateSample ) ); context.subscriptions.push( vscode.commands.registerCommand('paypay.devtool.simulator', () => SimulatorHelper.prepare(server) ) ); context.subscriptions.push( vscode.commands.registerCommand('paypay.devtool.simulator.geturl', () => { return server.getUrl(); }) ); context.subscriptions.push( vscode.commands.registerCommand( 'paypay.devtool.simulator.openbrowser', SimulatorHelper.openBrowser ) ); /*context.subscriptions.push( vscode.commands.registerCommand( 'paypay.devtool.simulator.preview', async () => (simulatorView = await SimulatorHelper.openPreview( context, server, simulatorView )) ) );*/ } export function deactivate() {}