UNPKG

atlassian-webresource-webpack-plugin

Version:

Auto-generates web-resource definitions from your webpacked code, for usage in an Atlassian product or plugin.

34 lines 1.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const xml_1 = require("./xml"); const renderTransformer = (transformers) => { if (transformers && transformers.length) { return transformers.map((transformer) => (0, xml_1.renderElement)('transformer', { key: transformer })).join(''); } return ''; }; /** * Generates the appropriate function to be used when filtering a transform map down to only those required. */ const transformFilterFactory = (resources) => { if (resources && resources.length) { const resourceFiletypes = resources.map((resource) => path_1.default.extname(resource.location).substr(1)); return (ext) => resourceFiletypes.includes(ext); } return () => true; }; /** * Converts a map of filetype-to-transformer entries in to the set of XML transform elements * required for a given set of resources. Renders every transform if no resources are provided. */ const renderTransformations = (transformations, resources = []) => { return Array.from(transformations.keys()) .filter(transformFilterFactory(resources)) .map((extension) => (0, xml_1.renderElement)('transformation', { extension }, renderTransformer(transformations.get(extension)))); }; exports.default = renderTransformations; //# sourceMappingURL=renderTransformations.js.map