UNPKG

egg-ts-helper

Version:
100 lines 6.82 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = PluginGenerator; const node_path_1 = __importDefault(require("node:path")); const config_1 = require("../config"); const utils = __importStar(require("../utils")); function PluginGenerator(config, baseConfig) { const getContent = (eggInfo) => { const dist = node_path_1.default.resolve(config.dtsDir, 'plugin.d.ts'); if (!eggInfo.plugins) { return { dist }; } const appPluginNameList = []; const importContent = []; const framework = config.framework || baseConfig.framework; Object.keys(eggInfo.plugins).forEach(name => { const pluginInfo = eggInfo.plugins[name]; if (pluginInfo.package && pluginInfo.from) { appPluginNameList.push(name); if (pluginInfo.enable) { let pluginPath = pluginInfo.package; if (!pluginPath || config.usePath) { pluginPath = pluginInfo.path.replace(/\\/g, '/'); } importContent.push(`import '${pluginPath}';`); } } }); if (!appPluginNameList.length) { return { dist }; } const composeInterface = (list) => { return ` ${list .map(name => `${utils.isIdentifierName(name) ? name : `'${name}'`}?: EggPluginItem;`) .join('\n ')}`; }; return { dist, content: `${importContent.join('\n')}\n` + `import { EggPluginItem } from '${framework}';\n` + `declare module '${framework}' {\n` + ` interface ${config.interface} {\n` + `${composeInterface(Array.from(new Set(appPluginNameList)))}\n` + ' }\n' + '}', }; }; return utils.getEggInfo({ cwd: baseConfig.cwd, customLoader: baseConfig.customLoader, cacheIndex: baseConfig.id, async: !!config.file, callback: getContent, }); } PluginGenerator.isPrivate = true; // only load plugin.ts|plugin.local.ts|plugin.default.ts PluginGenerator.defaultConfig = { pattern: 'plugin*(.local|.default).+(ts|js)', interface: config_1.declMapping.plugin, /** use path insteadof package while import plugins */ usePath: false, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlbmVyYXRvcnMvcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0Esa0NBdURDO0FBNURELDBEQUE2QjtBQUM3QixzQ0FBd0M7QUFFeEMsZ0RBQWtDO0FBRWxDLFNBQXdCLGVBQWUsQ0FBQyxNQUFtQixFQUFFLFVBQTBCO0lBQ3JGLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBNEIsRUFBRSxFQUFFO1FBQ2xELE1BQU0sSUFBSSxHQUFHLG1CQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEIsQ0FBQztRQUVELE1BQU0saUJBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sYUFBYSxHQUFhLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsSUFBSSxVQUFVLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDMUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztvQkFDcEMsSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2xDLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ25ELENBQUM7b0JBRUQsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLFVBQVUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUU7WUFDMUMsT0FBTyxPQUFPLElBQUk7aUJBQ2YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsbUJBQW1CLENBQUM7aUJBQ3BGLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJO1lBRUosT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDdEMsa0NBQWtDLFNBQVMsTUFBTTtnQkFDakQsbUJBQW1CLFNBQVMsT0FBTztnQkFDbkMsZUFBZSxNQUFNLENBQUMsU0FBUyxNQUFNO2dCQUNyQyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQy9ELE9BQU87Z0JBQ1AsR0FBRztTQUNOLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDdEIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHO1FBQ25CLFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWTtRQUNyQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUU7UUFDekIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUNwQixRQUFRLEVBQUUsVUFBVTtLQUNyQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsZUFBZSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFFakMsd0RBQXdEO0FBQ3hELGVBQWUsQ0FBQyxhQUFhLEdBQUc7SUFDOUIsT0FBTyxFQUFFLG1DQUFtQztJQUM1QyxTQUFTLEVBQUUsb0JBQVcsQ0FBQyxNQUFNO0lBRTdCLHNEQUFzRDtJQUN0RCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUMifQ==