UNPKG

antmove-vscode-plugin

Version:

小程序跨平台开发统一解决方案

73 lines (65 loc) 1.78 kB
import * as vscode from 'vscode'; import { Interface } from 'readline'; const fs = require("fs-extra"); const path = require("path"); const App = require('antmove')(); const WechatPlugin = require('@antmove/wx-alipay'); interface AntmoveOptions { input: string; output: string; } function transfrom (opts: AntmoveOptions) { App.use( WechatPlugin, { entry: opts.input, dist: opts.output, env: 'prod', remote: false }) .start(); } export function activate(context: vscode.ExtensionContext) { let disposable = vscode.commands.registerCommand('extension.antmove', () => { let i = 0; vscode.window.showWorkspaceFolderPick() .then (function (res: any) { if (!res) { vscode.window.showWarningMessage('请选择一个可转换的小程序项目目录。'); } else { /** * 转换当前工作区 */ let dirname = res.uri.fsPath; let projectName = res.name; vscode.window.showInformationMessage('请选择一个空的目录地址作为转换后的输出目录。'); vscode.window.showOpenDialog({ canSelectFiles: false, canSelectFolders: true, canSelectMany: false }) .then(function (res) { if (!res) { vscode.window.showErrorMessage('请选择转换后生成目录地址。'); return false; } let outputPath = res[0].path; try { transfrom({ input: dirname, output: path.join(outputPath, projectName) }); vscode.window.showInformationMessage('欢迎使用蚂蚁搬家工具,您的项目已成功完成转换。'); } catch (error) { vscode.window.showErrorMessage(error); } }); } }, function (err) { if (err) { console.error(err); } }); }); context.subscriptions.push(disposable); }