@factorialco/shadowdog
Version:
<img src="https://raw.githubusercontent.com/factorialco/shadowdog/refs/heads/main/logo.png" alt="drawing" width="100"/>
45 lines (44 loc) • 2.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.filterEventListenerPlugins = exports.filterCommandPlugins = exports.filterMiddlewarePlugins = void 0;
const shadowdog_local_cache_1 = __importDefault(require("./shadowdog-local-cache"));
const shadowdog_rake_1 = __importDefault(require("./shadowdog-rake"));
const shadowdog_tag_1 = __importDefault(require("./shadowdog-tag"));
const shadowdog_remote_aws_s3_cache_1 = __importDefault(require("./shadowdog-remote-aws-s3-cache"));
const shadowdog_tree_1 = __importDefault(require("./shadowdog-tree"));
const shadowdog_socket_1 = __importDefault(require("./shadowdog-socket"));
const shadowdog_git_1 = __importDefault(require("./shadowdog-git"));
const shadowdog_lock_1 = __importDefault(require("./shadowdog-lock"));
const shadowdog_mcp_1 = __importDefault(require("./shadowdog-mcp"));
const PLUGINS_MAP = {
'shadowdog-rake': shadowdog_rake_1.default,
'shadowdog-local-cache': shadowdog_local_cache_1.default,
'shadowdog-remote-aws-s3-cache': shadowdog_remote_aws_s3_cache_1.default,
'shadowdog-tag': shadowdog_tag_1.default,
'shadowdog-tree': shadowdog_tree_1.default,
'shadowdog-socket': shadowdog_socket_1.default,
'shadowdog-git': shadowdog_git_1.default,
'shadowdog-lock': shadowdog_lock_1.default,
'shadowdog-mcp': shadowdog_mcp_1.default,
};
const filterUsedPlugins = (config) => config.map(({ name, options }) => ({
name,
fn: PLUGINS_MAP[name],
options,
}));
const filterMiddlewarePlugins = (config) => {
return filterUsedPlugins(config).filter((data) => 'middleware' in data.fn);
};
exports.filterMiddlewarePlugins = filterMiddlewarePlugins;
const filterCommandPlugins = (pluginsConfig) => {
return filterUsedPlugins(pluginsConfig).filter((data) => 'command' in data.fn);
};
exports.filterCommandPlugins = filterCommandPlugins;
const filterEventListenerPlugins = (pluginsConfig) => {
return filterUsedPlugins(pluginsConfig).filter((data) => 'listener' in data.fn);
};
exports.filterEventListenerPlugins = filterEventListenerPlugins;
exports.default = PLUGINS_MAP;