UNPKG

@gluestack-v2/glue-plugin-sdk

Version:

Gluestack V2 Service SDK Plugin

106 lines (105 loc) 4.82 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "../package.json", "./PluginInstance", "@gluestack-v2/framework-cli/build/plugin/BaseGluestackPlugin", "@gluestack-v2/framework-cli/build/constants/gluestack.v2", "./helpers/create-config-package", "path"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GlueStackPlugin = void 0; // @ts-ignore const package_json_1 = __importDefault(require("../package.json")); const PluginInstance_1 = require("./PluginInstance"); const BaseGluestackPlugin_1 = __importDefault(require("@gluestack-v2/framework-cli/build/plugin/BaseGluestackPlugin")); const gluestack_v2_1 = require("@gluestack-v2/framework-cli/build/constants/gluestack.v2"); const create_config_package_1 = require("./helpers/create-config-package"); const path_1 = require("path"); // Do not edit the name of this class class GlueStackPlugin extends BaseGluestackPlugin_1.default { getGeneratedSDKPaths() { return this.generatedSDKPaths; } setGeneratedSDKPaths(paths) { this.generatedSDKPaths.push(paths); } resetGeneratedSDKPaths() { if (Array.isArray(this.generatedSDKPaths)) { this.generatedSDKPaths.splice(0, this.generatedSDKPaths.length); } } constructor(app, gluePluginStore) { super(app, gluePluginStore); this.type = 'devonly'; this.runningPlatforms = []; this.generatedSDKPaths = []; } init() { this.app.addEventListener('booting.web', (..._args) => { this.gluePluginStore.set('message', 'Hello from function plugin'); }); } destroy() { // } getName() { return package_json_1.default.name; } getVersion() { return package_json_1.default.version; } getType() { return this.type; } // getInstallationPath(target: string): string { // return `./.glue/__generated__/packages/${target}/src/${target}`; // } getInternalFolderPath() { return `${process.cwd()}/node_modules/${this.getName()}/internal`; } runPostInstall(instanceName, _target) { return __awaiter(this, void 0, void 0, function* () { const instance = yield this.app.createPluginInstance(this, instanceName, this.getTemplateFolderPath() // target ); if (!instance) { return; } }); } createInstance(key, gluePluginStore, installationPath) { const instance = new PluginInstance_1.PluginInstance(this.app, this, key, gluePluginStore, installationPath !== null && installationPath !== void 0 ? installationPath : ''); this.instances.push(instance); return instance; } getInstances() { return this.instances; } getConfigPath() { return (0, path_1.join)(process.cwd(), 'config'); } getGeneratedConfigPath(packageName) { return (0, path_1.join)(process.cwd(), gluestack_v2_1.GLUE_GENERATED_PACKAGES_PATH, `${packageName}-config`); } createConfigPackage(packageName) { return __awaiter(this, void 0, void 0, function* () { yield (0, create_config_package_1.createConfigPackageHelper)(packageName, this.getConfigPath(), this.getGeneratedConfigPath(packageName), this); }); } } exports.GlueStackPlugin = GlueStackPlugin; });