|  | 
|  | 1 | +"use strict"; | 
|  | 2 | +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | 
|  | 3 | +    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | 
|  | 4 | +    return new (P || (P = Promise))(function (resolve, reject) { | 
|  | 5 | +        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | 
|  | 6 | +        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | 
|  | 7 | +        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | 
|  | 8 | +        step((generator = generator.apply(thisArg, _arguments || [])).next()); | 
|  | 9 | +    }); | 
|  | 10 | +}; | 
|  | 11 | +var __generator = (this && this.__generator) || function (thisArg, body) { | 
|  | 12 | +    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); | 
|  | 13 | +    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | 
|  | 14 | +    function verb(n) { return function (v) { return step([n, v]); }; } | 
|  | 15 | +    function step(op) { | 
|  | 16 | +        if (f) throw new TypeError("Generator is already executing."); | 
|  | 17 | +        while (g && (g = 0, op[0] && (_ = 0)), _) try { | 
|  | 18 | +            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | 
|  | 19 | +            if (y = 0, t) op = [op[0] & 2, t.value]; | 
|  | 20 | +            switch (op[0]) { | 
|  | 21 | +                case 0: case 1: t = op; break; | 
|  | 22 | +                case 4: _.label++; return { value: op[1], done: false }; | 
|  | 23 | +                case 5: _.label++; y = op[1]; op = [0]; continue; | 
|  | 24 | +                case 7: op = _.ops.pop(); _.trys.pop(); continue; | 
|  | 25 | +                default: | 
|  | 26 | +                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | 
|  | 27 | +                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | 
|  | 28 | +                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | 
|  | 29 | +                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | 
|  | 30 | +                    if (t[2]) _.ops.pop(); | 
|  | 31 | +                    _.trys.pop(); continue; | 
|  | 32 | +            } | 
|  | 33 | +            op = body.call(thisArg, _); | 
|  | 34 | +        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | 
|  | 35 | +        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | 
|  | 36 | +    } | 
|  | 37 | +}; | 
|  | 38 | +Object.defineProperty(exports, "__esModule", { value: true }); | 
|  | 39 | +exports.activate = activate; | 
|  | 40 | +exports.deactivate = deactivate; | 
|  | 41 | +var vscode = require("vscode"); | 
|  | 42 | +var promises_1 = require("node:fs/promises"); | 
|  | 43 | +var node_path_1 = require("node:path"); | 
|  | 44 | +function activate(context) { | 
|  | 45 | +    return __awaiter(this, void 0, void 0, function () { | 
|  | 46 | +        var disposable; | 
|  | 47 | +        var _this = this; | 
|  | 48 | +        return __generator(this, function (_a) { | 
|  | 49 | +            disposable = vscode.commands.registerCommand('extension.newPackage', function (uri) { return __awaiter(_this, void 0, void 0, function () { | 
|  | 50 | +                var targetDir, folderName, config, fileNameSetting, fileContentTemplate, packagePath, fileContent, filePath, doc, error_1; | 
|  | 51 | +                return __generator(this, function (_a) { | 
|  | 52 | +                    switch (_a.label) { | 
|  | 53 | +                        case 0: | 
|  | 54 | +                            _a.trys.push([0, 6, , 7]); | 
|  | 55 | +                            targetDir = void 0; | 
|  | 56 | +                            if (uri && uri.fsPath) { | 
|  | 57 | +                                targetDir = uri.fsPath; | 
|  | 58 | +                            } | 
|  | 59 | +                            else if (vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) { | 
|  | 60 | +                                targetDir = vscode.workspace.workspaceFolders[0].uri.fsPath; | 
|  | 61 | +                            } | 
|  | 62 | +                            else { | 
|  | 63 | +                                vscode.window.showErrorMessage('No workspace folder open.'); | 
|  | 64 | +                                return [2 /*return*/]; | 
|  | 65 | +                            } | 
|  | 66 | +                            return [4 /*yield*/, vscode.window.showInputBox({ | 
|  | 67 | +                                    prompt: 'Enter the new package name', | 
|  | 68 | +                                    placeHolder: 'my_package' | 
|  | 69 | +                                })]; | 
|  | 70 | +                        case 1: | 
|  | 71 | +                            folderName = _a.sent(); | 
|  | 72 | +                            if (!folderName) { | 
|  | 73 | +                                return [2 /*return*/]; | 
|  | 74 | +                            } | 
|  | 75 | +                            config = vscode.workspace.getConfiguration('newPackage'); | 
|  | 76 | +                            fileNameSetting = config.get('fileName', 'index.ts'); | 
|  | 77 | +                            fileContentTemplate = config.get('fileContent', ''); | 
|  | 78 | +                            packagePath = (0, node_path_1.join)(targetDir, folderName); | 
|  | 79 | +                            // Ordner anlegen | 
|  | 80 | +                            return [4 /*yield*/, (0, promises_1.mkdir)(packagePath, { recursive: true })]; | 
|  | 81 | +                        case 2: | 
|  | 82 | +                            // Ordner anlegen | 
|  | 83 | +                            _a.sent(); | 
|  | 84 | +                            fileContent = fileContentTemplate | 
|  | 85 | +                                .replace(/\$\{fileName\}/g, fileNameSetting) | 
|  | 86 | +                                .replace(/\$\{packageName\}/g, folderName); | 
|  | 87 | +                            filePath = (0, node_path_1.join)(packagePath, fileNameSetting); | 
|  | 88 | +                            return [4 /*yield*/, (0, promises_1.writeFile)(filePath, fileContent, { encoding: 'utf8' })]; | 
|  | 89 | +                        case 3: | 
|  | 90 | +                            _a.sent(); | 
|  | 91 | +                            return [4 /*yield*/, vscode.workspace.openTextDocument(filePath)]; | 
|  | 92 | +                        case 4: | 
|  | 93 | +                            doc = _a.sent(); | 
|  | 94 | +                            return [4 /*yield*/, vscode.window.showTextDocument(doc)]; | 
|  | 95 | +                        case 5: | 
|  | 96 | +                            _a.sent(); | 
|  | 97 | +                            return [3 /*break*/, 7]; | 
|  | 98 | +                        case 6: | 
|  | 99 | +                            error_1 = _a.sent(); | 
|  | 100 | +                            vscode.window.showErrorMessage("Failed to create package: ".concat(String(error_1))); | 
|  | 101 | +                            return [3 /*break*/, 7]; | 
|  | 102 | +                        case 7: return [2 /*return*/]; | 
|  | 103 | +                    } | 
|  | 104 | +                }); | 
|  | 105 | +            }); }); | 
|  | 106 | +            context.subscriptions.push(disposable); | 
|  | 107 | +            return [2 /*return*/]; | 
|  | 108 | +        }); | 
|  | 109 | +    }); | 
|  | 110 | +} | 
|  | 111 | +function deactivate() { } | 
0 commit comments