UNPKG

@storm-stack/core

Version:

A build toolkit and runtime used by Storm Software in TypeScript applications

53 lines (50 loc) 2.72 kB
'use strict'; var chunk3ONWID2V_cjs = require('./chunk-3ONWID2V.cjs'); var isFunction = require('@stryke/type-checks/is-function'); var isObject = require('@stryke/type-checks/is-object'); var isSetString = require('@stryke/type-checks/is-set-string'); function getPluginName(plugin) { return isSetString.isSetString(plugin) ? plugin : Array.isArray(plugin) && plugin.length > 0 ? getPluginName(plugin[0]) : plugin._name || plugin.name ? plugin._name || plugin.name : void 0; } chunk3ONWID2V_cjs.__name(getPluginName, "getPluginName"); function isDuplicatePlugin(plugins, plugin) { return !!(getPluginName(plugin) && plugins.some((existing) => getPluginName(existing[0]) === getPluginName(plugin))); } chunk3ONWID2V_cjs.__name(isDuplicatePlugin, "isDuplicatePlugin"); function filterPluginByRuntimeId(context, runtimeId) { return (sourceFile) => !context.vfs.isMatchingRuntimeId(runtimeId, sourceFile.id); } chunk3ONWID2V_cjs.__name(filterPluginByRuntimeId, "filterPluginByRuntimeId"); function addPluginFilter(context, pluginOrPlugins, filter, name) { if (!Array.isArray(pluginOrPlugins) || !pluginOrPlugins.some((plugin) => Array.isArray(plugin)) && pluginOrPlugins.length < 4 && pluginOrPlugins.length > 0 && (isSetString.isSetString(pluginOrPlugins[0]) || isFunction.isFunction(pluginOrPlugins[0]) || pluginOrPlugins.length > 1 && isObject.isObject(pluginOrPlugins[1]) || pluginOrPlugins.length > 2 && isObject.isObject(pluginOrPlugins[2]))) { return Array.isArray(pluginOrPlugins) ? [ pluginOrPlugins[0], pluginOrPlugins.length > 1 ? pluginOrPlugins[1] : {}, { filter: /* @__PURE__ */ chunk3ONWID2V_cjs.__name((sourceFile) => filter(sourceFile) && (pluginOrPlugins.length < 2 || !isFunction.isFunction(pluginOrPlugins[2]?.filter) || // eslint-disable-next-line ts/no-unsafe-call pluginOrPlugins[2]?.filter?.(sourceFile)), "filter") } ] : [ pluginOrPlugins, {}, { filter } ]; } if (!name) { throw new Error("No name was provided to `addPluginFilter`, could not find babel plugin without it."); } const foundIndex = pluginOrPlugins.findIndex((plugin) => getPluginName(plugin)?.toLowerCase() === name.toLowerCase()); if (foundIndex > -1) { pluginOrPlugins[foundIndex] = addPluginFilter(context, pluginOrPlugins[foundIndex], filter, name); } return pluginOrPlugins; } chunk3ONWID2V_cjs.__name(addPluginFilter, "addPluginFilter"); exports.addPluginFilter = addPluginFilter; exports.filterPluginByRuntimeId = filterPluginByRuntimeId; exports.getPluginName = getPluginName; exports.isDuplicatePlugin = isDuplicatePlugin; //# sourceMappingURL=chunk-23BVYW67.cjs.map //# sourceMappingURL=chunk-23BVYW67.cjs.map