UNPKG

@nokecy/umi-plugin-erp-common

Version:

erp-common

88 lines (69 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; function _react() { const data = _interopRequireDefault(require("react")); _react = function _react() { return data; }; return data; } function _path() { const data = require("path"); _path = function _path() { return data; }; return data; } var _getContextContent = _interopRequireDefault(require("./utils/getContextContent")); var _getErpCommonProviderContent = _interopRequireDefault(require("./utils/getErpCommonProviderContent")); var _getErpCommonContent = _interopRequireDefault(require("./utils/getErpCommonContent")); var _getRootContainerContent = _interopRequireDefault(require("./utils/getRootContainerContent")); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const erpCommon_DIR = 'plugin-abp-erp-common'; // plugin-erpCommon 插件创建临时文件的专有文件夹 function _default(api) { const umiTmpDir = api.paths.absTmpPath; const srcDir = api.paths.absSrcPath; const erpCommonFilePath = api.utils.winPath((0, _path().join)(srcDir, 'erpCommon')); api.describe({ key: "abperpcommon", enableBy: api.EnableBy.register }); api.onGenerateFiles(() => { // 判断 erpCommon 工厂函数存在并且 default 暴露了一个函数 if ((0, _utils.checkIfHasDefaultExporting)(erpCommonFilePath)) { // 创建 erpCommon 的 context 以便跨组件传递 erpCommon 实例 api.writeTmpFile({ path: `${erpCommon_DIR}/context.ts`, content: (0, _getContextContent.default)() }); // 创建 erpCommonProvider,1. 生成 erpCommon 实例; 2. 传给 context 的 Provider api.writeTmpFile({ path: `${erpCommon_DIR}/erpCommonProvider.ts`, content: (0, _getErpCommonProviderContent.default)(api.utils) }); // 创建 erpCommon 的 hook api.writeTmpFile({ path: `${erpCommon_DIR}/erpCommon.tsx`, content: (0, _getErpCommonContent.default)() }); // 生成 rootContainer 运行时配置 api.writeTmpFile({ path: `${erpCommon_DIR}/rootContainer.ts`, content: (0, _getRootContainerContent.default)() }); } }); if ((0, _utils.checkIfHasDefaultExporting)(erpCommonFilePath)) { // 增加 rootContainer 运行时配置 api.addRuntimePlugin({ fn: () => api.utils.winPath((0, _path().join)(umiTmpDir, erpCommon_DIR, 'rootContainer.ts')), stage: -1 }); api.addUmiExports(() => [{ exportAll: true, source: `../${erpCommon_DIR}/erpCommon` }]); api.addTmpGenerateWatcherPaths(() => [`${erpCommonFilePath}.ts`, `${erpCommonFilePath}.js`]); } }