UNPKG

generator-theia

Version:

Theia Generator

83 lines 3.6 kB
"use strict"; /* * Copyright (C) 2017 TypeFox and others. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 */ var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); var paths = require("path"); var process = require("process"); var cp = require("child_process"); var BaseGenerator = require("yeoman-generator"); var generator_model_1 = require("./generator-model"); var app_package_generator_1 = require("./app-package-generator"); var AbstractAppGenerator = (function (_super) { __extends(AbstractAppGenerator, _super); function AbstractAppGenerator() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.model = new generator_model_1.Model(); _this.pck = new app_package_generator_1.AppPackageGenerator(_this.model); return _this; } AbstractAppGenerator.prototype.initializing = function () { this.model.pck = this.fs.readJSON('theia.package.json') || {}; this.config.defaults(this.model.config); Object.assign(this.model.config, this.config.getAll()); }; AbstractAppGenerator.prototype.configuring = function () { var _this = this; this.config.save(); this.model.readLocalExtensionPackages(function (extension, path) { var extensionPath = paths.join(process.cwd(), path, 'extension.package.json'); if (_this.fs.exists(extensionPath)) { return _this.fs.readJSON(extensionPath, undefined); } var extensionPackagePath = paths.join(process.cwd(), path, 'package.json'); return _this.fs.readJSON(extensionPackagePath, undefined); }); this.model.readExtensionPackages(function (extension, version) { var raw = ['yarn', 'info', extension + "@" + version, '--json']; var args = process.platform === 'win32' ? __spread(['cmd', '/c'], raw) : raw; return JSON.parse(cp.execSync(args.join(' '), { encoding: 'utf8' })); }); }; AbstractAppGenerator.prototype.writing = function () { this.pck.generate(this.fs); }; return AbstractAppGenerator; }(BaseGenerator)); exports.AbstractAppGenerator = AbstractAppGenerator; //# sourceMappingURL=abstract-app-generator.js.map