UNPKG

pcf-scripts

Version:

This package contains a module for building PowerApps Component Framework (PCF) controls. See project homepage how to install.

44 lines (42 loc) 1.96 kB
"use strict"; // Copyright (C) Microsoft Corporation. All rights reserved. Object.defineProperty(exports, "__esModule", { value: true }); exports.GenerateDesignTypesTask = void 0; const fs = require("fs-extra"); const path = require("node:path"); const constants = require("../constants"); const designTypesGenerator_1 = require("../designTypesGenerator"); const diagnosticMessages_generated_1 = require("../diagnosticMessages.generated"); const featureManager_1 = require("../featureManager"); const locale_1 = require("../generated/locale"); class GenerateDesignTypesTask { constructor() { this._designTypesGenerator = new designTypesGenerator_1.DesignTypesGenerator(); this._options = {}; this._featureManager = new featureManager_1.FeatureManager(); } getDescription() { return (0, locale_1.translate)(diagnosticMessages_generated_1.strings.task_generate_design_types.key); } setOptions(options) { this._options = { ...this._options, ...options }; } run(context) { if (this._featureManager.isFeatureEnabled("pcfTheming")) { return context.mapDesignFile((designMaps) => { return Promise.resolve(this.generateDesignTypes(designMaps)); }); } return Promise.resolve(); } // Generates DesignTypes.d.ts file from map.Fluent.xml design maps generateDesignTypes(context) { const comment = `/*\n*This is auto generated from the map.Fluent.xml file\n*/\n\n`; const code = comment + this._designTypesGenerator.generateDesignTypes(context.getParsedDesignMap()); const generatedDir = path.join(context.getPathForDesignTypeFile(), constants.TYPING_FOLDER_NAME); fs.ensureDirSync(generatedDir); fs.writeFileSync(path.join(generatedDir, constants.DESIGN_TYPE_FILE_NAME), code); } } exports.GenerateDesignTypesTask = GenerateDesignTypesTask; //# sourceMappingURL=designTypesTask.js.map