@moneko/core 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/common.js +1 -1
- package/build/envFlags.d.ts +0 -1
- package/build/envFlags.js +1 -1
- package/lib/components/app-router/index.d.ts +30 -9
- package/lib/components/app-router/index.js +1 -1
- package/lib/components/app-router/index.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/packages/back-stage/app.js +1 -1
- package/lib/packages/back-stage/app.js.map +1 -1
- package/lib/packages/back-stage/layout/index.js +1 -1
- package/lib/packages/back-stage/layout/index.js.map +1 -1
- package/lib/packages/library/app.js +1 -1
- package/lib/packages/library/app.js.map +1 -1
- package/lib/packages/mobile/app.js +1 -1
- package/lib/packages/mobile/app.js.map +1 -1
- package/lib/packages/single-spa/app.d.ts +4 -5
- package/lib/packages/single-spa/app.js +1 -1
- package/lib/packages/single-spa/app.js.map +1 -1
- package/lib/packages/site/app.js +1 -1
- package/lib/packages/site/app.js.map +1 -1
- package/lib/router/index.d.ts +2 -2
- package/lib/router/index.js +1 -1
- package/lib/router/index.js.map +1 -1
- package/package.json +9 -11
- package/typings/global.d.ts +10 -9
package/build/common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{ENTRYPATH:function(){return ENTRYPATH},log:function(){return log},CONFIG:function(){return CONFIG},PUBLICPATH:function(){return PUBLICPATH}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _readline=_interopRequireDefault(require("readline"));var _chalk=_interopRequireDefault(require("chalk"));var _webpackMerge=require("webpack-merge");var _processEnv=require("./process-env");var _utils=require("./utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _customConf_minifier;var ENTRYPATH={mobile:"mobile",site:"site","back-stage":"back-stage","single-spa":"single-spa",library:"library","single-component":"single-component"};var includeModule=[_processEnv.pkgName,"neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design"];var defaultSplitChunk={chunks:"all",minSize:1024,minChunks:1};if(_processEnv.APPTYPE==="single-component"){defaultSplitChunk=false}var defaultConfig={mode:"csr",compiler:"swc",bundleAnalyzer:{analyzerMode:"static",reportFilename:"report.html",openAnalyzer:false},entry:{},minifier:{options:{},css:"cssnano"},sourceMap:{filename:"[file].map",publicPath:""},env:{},miniIdc:{programName:"".concat(_processEnv.PACKAGENAME,"-").concat(_processEnv.PACKAGEVERSION,"-program-state"),encrypt:false},routeBaseName:"/",publicPath:"auto",designSize:_processEnv.APPTYPE==="mobile"?375:1680,fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{},layoutSider:{},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:[],cacheDirectory:_processEnv.PROGRAMPATH+"/node_modules/.temp_cache",devServer:{allowedHosts:[".baidu.com"],host:"localhost",port:3e3,https:false,compress:false},htmlPluginOption:{template:"./node_modules/".concat(_processEnv.pkgName,"/template/index.html"),favicon:"./node_modules/".concat(_processEnv.pkgName,"/template/favicon.ico")},assetHtml:[],routerMode:"browser",plugins:[],splitChunk:defaultSplitChunk,runtimeChunk:_processEnv.APPTYPE==="single-component"?false:"single",
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{ENTRYPATH:function(){return ENTRYPATH},log:function(){return log},CONFIG:function(){return CONFIG},PUBLICPATH:function(){return PUBLICPATH}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _readline=_interopRequireDefault(require("readline"));var _chalk=_interopRequireDefault(require("chalk"));var _webpackMerge=require("webpack-merge");var _processEnv=require("./process-env");var _utils=require("./utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _customConf_minifier;var ENTRYPATH={mobile:"mobile",site:"site","back-stage":"back-stage","single-spa":"single-spa",library:"library","single-component":"single-component"};var includeModule=[_processEnv.pkgName,"neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design"];var defaultSplitChunk={chunks:"all",minSize:1024,minChunks:1};if(_processEnv.APPTYPE==="single-component"){defaultSplitChunk=false}var defaultConfig={mode:"csr",compiler:"swc",bundleAnalyzer:{analyzerMode:"static",reportFilename:"report.html",openAnalyzer:false},entry:{},minifier:{options:{},css:"cssnano"},sourceMap:{filename:"[file].map",publicPath:""},env:{},miniIdc:{programName:"".concat(_processEnv.PACKAGENAME,"-").concat(_processEnv.PACKAGEVERSION,"-program-state"),encrypt:false},routeBaseName:"/",publicPath:"auto",designSize:_processEnv.APPTYPE==="mobile"?375:1680,fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{},layoutSider:{},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:[],cacheDirectory:_processEnv.PROGRAMPATH+"/node_modules/.temp_cache",devServer:{allowedHosts:[".baidu.com"],host:"localhost",port:3e3,https:false,compress:false},htmlPluginOption:{template:"./node_modules/".concat(_processEnv.pkgName,"/template/index.html"),favicon:"./node_modules/".concat(_processEnv.pkgName,"/template/favicon.ico")},assetHtml:[],routerMode:"browser",plugins:[],splitChunk:defaultSplitChunk,runtimeChunk:_processEnv.APPTYPE==="single-component"?false:"single",moduleFederation:[],rulesInclude:{less:includeModule,css:includeModule,js:includeModule,media:includeModule,fonts:includeModule}};var log=function(msg){_readline.default.cursorTo(process.stdout,0);process.stdout.write(msg)};var customConf=defaultConfig;var configPath=null;var normalConf={};var envConf={};try{configPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/index.ts");_fs.default.accessSync(configPath,_fs.default.constants.R_OK)}catch(error){configPath=null}if(configPath){try{var conf=eval((0,_utils.tfc)(configPath)).default;normalConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}if(_processEnv.CUSTOMCONFIG){var customConfigPath=null;try{customConfigPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/".concat(_processEnv.CUSTOMCONFIG,".ts"));_fs.default.accessSync(customConfigPath,_fs.default.constants.R_OK)}catch(error){customConfigPath=null}if(customConfigPath!==null){try{var conf=eval((0,_utils.tfc)(customConfigPath)).default;envConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}}customConf=(0,_webpackMerge.merge)(customConf,normalConf,envConf);if(!(customConf===null||customConf===void 0?void 0:(_customConf_minifier=customConf.minifier)===null||_customConf_minifier===void 0?void 0:_customConf_minifier.type)){customConf.minifier.type=customConf.compiler==="swc"?"swc":"terser"}if(customConf.devtool===false)customConf.sourceMap=false;if(customConf.sourceMap===false)customConf.devtool=false;var CONFIG=customConf;var PUBLICPATH=CONFIG.publicPath||"auto";global.NEKOCLICONFIG={CONFIG:CONFIG,log:log};
|
package/build/envFlags.d.ts
CHANGED
package/build/envFlags.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _common=require("./common");var _coverage=require("./coverage");var _processEnv=require("./process-env");var _utils=require("./utils");function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}var reactVersion=_processEnv.hasReact?require("react/package.json").version:"18";var ReactDOMPath=parseFloat(reactVersion)>=18?"react-dom/client":"react-dom";var entryName=_processEnv.APPTYPE==="library"?"site":"src";var APPENTRY=false;try{var appEntryPath=_path.default.join(_processEnv.PROGRAMPATH,"./src/index.ts");_fs.default.accessSync(appEntryPath,_fs.default.constants.R_OK);APPENTRY=appEntryPath}catch(error){APPENTRY=false}var envFlags={projectName:JSON.stringify((0,_utils.toUpperCaseString)(_processEnv.PACKAGENAME)),projectCoverage:JSON.stringify(_coverage.coverage),providerConfig:JSON.stringify({prefixCls:_common.CONFIG.prefixCls,iconPrefixCls:_common.CONFIG.prefixCls+"-icon",input:{autoComplete:"off"}}),fallbackCompPath:JSON.stringify(_common.CONFIG.fallbackCompPath),ReactDOMPath:JSON.stringify(ReactDOMPath),miniIdc:JSON.stringify(_common.CONFIG.miniIdc),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _fs=_interopRequireDefault(require("fs"));var _path=_interopRequireDefault(require("path"));var _common=require("./common");var _coverage=require("./coverage");var _processEnv=require("./process-env");var _utils=require("./utils");function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}var reactVersion=_processEnv.hasReact?require("react/package.json").version:"18";var ReactDOMPath=parseFloat(reactVersion)>=18?"react-dom/client":"react-dom";var entryName=_processEnv.APPTYPE==="library"?"site":"src";var APPENTRY=false;try{var appEntryPath=_path.default.join(_processEnv.PROGRAMPATH,"./src/index.ts");_fs.default.accessSync(appEntryPath,_fs.default.constants.R_OK);APPENTRY=appEntryPath}catch(error){APPENTRY=false}var envFlags={projectName:JSON.stringify((0,_utils.toUpperCaseString)(_processEnv.PACKAGENAME)),projectCoverage:JSON.stringify(_coverage.coverage),providerConfig:JSON.stringify({prefixCls:_common.CONFIG.prefixCls,iconPrefixCls:_common.CONFIG.prefixCls+"-icon",input:{autoComplete:"off"}}),fallbackCompPath:JSON.stringify(_common.CONFIG.fallbackCompPath),ReactDOMPath:JSON.stringify(ReactDOMPath),miniIdc:JSON.stringify(_common.CONFIG.miniIdc),hasLocales:JSON.stringify(_fs.default.existsSync(_path.default.join(_processEnv.PROGRAMPATH,"./".concat(entryName,"/locales")))),hasModels:JSON.stringify(_fs.default.existsSync(_path.default.join(_processEnv.PROGRAMPATH,"./".concat(entryName,"/models")))),layoutSider:JSON.stringify(_common.CONFIG.layoutSider),hasAntd:JSON.stringify(_processEnv.hasAntd),APPTYPE:JSON.stringify(_processEnv.APPTYPE),APPENTRY:JSON.stringify(APPENTRY),programInfo:JSON.stringify(_objectSpreadProps(_objectSpread({},_processEnv.programInfo),{routeBaseName:_common.CONFIG.routeBaseName,designSize:_common.CONFIG.designSize,routerMode:_common.CONFIG.routerMode,renderMode:_common.CONFIG.mode})),"process.env":JSON.stringify(_objectSpread({NODE_ENV:_processEnv.NODE_ENV,APPTYPE:_processEnv.APPTYPE},_common.CONFIG.env))};var _default=envFlags;
|
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
declare const
|
|
9
|
-
|
|
1
|
+
import React, { Fragment as ReactFragment } from 'react';
|
|
2
|
+
import { AliveScope } from 'react-activation';
|
|
3
|
+
import { createHashRouter } from 'react-router-dom';
|
|
4
|
+
import { type RouterProps } from '../../router';
|
|
5
|
+
import type { KeepAliveProps } from 'react-activation';
|
|
6
|
+
export declare const createRouter: typeof createHashRouter;
|
|
7
|
+
export declare let RouterFragment: typeof ReactFragment | typeof AliveScope;
|
|
8
|
+
export declare const routerData: {
|
|
9
|
+
key: string;
|
|
10
|
+
alive?: boolean | KeepAliveProps | undefined;
|
|
11
|
+
icon?: React.ReactNode;
|
|
12
|
+
dynamicTitle?: string | undefined;
|
|
13
|
+
i18n?: string | null | undefined;
|
|
14
|
+
hideMenu?: boolean | undefined;
|
|
15
|
+
hideTabs?: boolean | undefined;
|
|
16
|
+
onlyLogin?: boolean | undefined;
|
|
17
|
+
root?: boolean | undefined;
|
|
18
|
+
path?: string | undefined;
|
|
19
|
+
element?: React.ReactNode;
|
|
20
|
+
fallback?: React.ReactNode;
|
|
21
|
+
closable?: boolean | undefined;
|
|
22
|
+
children?: RouterProps[] | undefined;
|
|
23
|
+
props?: {
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
path: string;
|
|
26
|
+
components?: {
|
|
27
|
+
[x: string]: React.FC<any>;
|
|
28
|
+
} | undefined;
|
|
29
|
+
} | undefined;
|
|
30
|
+
}[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{Fragment as ReactFragment,Suspense,cloneElement,createElement,
|
|
1
|
+
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{Fragment as ReactFragment,Suspense,cloneElement,createElement,useEffect}from"react";import{AliveScope,KeepAlive,useAliveController}from"react-activation";import{createBrowserRouter,createHashRouter}from"react-router-dom";import{router}from"../../router";import Fallback from"../fallback";var PrefixKeepAlive=function(_param){var children=_param.children,name=_param.name,args=_objectWithoutProperties(_param,["children","name"]);var _useAliveController=useAliveController(),drop=_useAliveController.drop,dropScope=_useAliveController.dropScope,clear=_useAliveController.clear,getCachingNodes=_useAliveController.getCachingNodes;var id=window.location.pathname+window.location.hash;useEffect(function(){if(window.__POWERED_BY_QIANKUN__&&window.primaryApp){if(!window.primaryApp.currentTarget){window.primaryApp.currentTarget={}}Object.assign(window.primaryApp.currentTarget,{aliveController:{drop:drop,dropScope:dropScope,clear:clear,getCachingNodes:getCachingNodes}})}},[clear,drop,dropScope,getCachingNodes]);var _children=children;return React.createElement(KeepAlive,_extends({id:id,name:id},args),cloneElement(_children,{path:name,selfUrl:id}))};var existKeepAlive=false;export var createRouter=programInfo.routerMode==="hash"?createHashRouter:createBrowserRouter;export var RouterFragment=ReactFragment;function prefixRouter(list,fallback){return list.map(function(r){var _=_objectSpread({},r);if(!!_.alive&&!existKeepAlive){existKeepAlive=true;RouterFragment=AliveScope}if(_.element&&!!_.alive){var aliveProps={name:_.key,cacheKey:_.key};if(Object.prototype.toString.call(_.alive)==="[object Object]"){Object.assign(aliveProps,_.alive)}_.element=React.createElement(PrefixKeepAlive,_extends({},aliveProps),createElement(_.element,_.props))}if(_.element){_.element=React.createElement(Suspense,{fallback:r.fallback||fallback},createElement(_.element,_.props))}if(Array.isArray(_.children)){_.children=prefixRouter(_.children,fallback)}return _})}export var routerData=prefixRouter(router,React.createElement(Fallback,null));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/app-router/index.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/components/app-router/index.tsx"],"sourcesContent":["import React, {\n Fragment as ReactFragment,\n Suspense,\n cloneElement,\n createElement,\n useEffect,\n type ReactElement,\n} from 'react';\nimport { AliveScope, KeepAlive, useAliveController } from 'react-activation';\nimport { createBrowserRouter, createHashRouter } from 'react-router-dom';\nimport { router, type RouterProps } from '../../router';\nimport Fallback from '../fallback';\nimport type { KeepAliveProps } from 'react-activation';\n\nconst PrefixKeepAlive: React.FC<Partial<KeepAliveProps>> = ({ children, name, ...args }) => {\n const { drop, dropScope, clear, getCachingNodes } = useAliveController();\n const id = window.location.pathname + window.location.hash;\n\n useEffect(() => {\n if (window.__POWERED_BY_QIANKUN__ && window.primaryApp) {\n if (!window.primaryApp.currentTarget) {\n window.primaryApp.currentTarget = {};\n }\n Object.assign(window.primaryApp.currentTarget, {\n aliveController: { drop, dropScope, clear, getCachingNodes },\n });\n }\n }, [clear, drop, dropScope, getCachingNodes]);\n\n const _children = children as ReactElement;\n\n return (\n <KeepAlive id={id} name={id} {...args}>\n {cloneElement(_children, {\n path: name,\n selfUrl: id,\n })}\n </KeepAlive>\n );\n};\n\nlet existKeepAlive = false;\n\nexport const createRouter =\n programInfo.routerMode === 'hash' ? createHashRouter : createBrowserRouter;\nexport let RouterFragment: typeof ReactFragment | typeof AliveScope = ReactFragment;\n\nfunction prefixRouter(list: RouterProps[], fallback: ReactElement) {\n return list.map((r) => {\n const _ = { ...r };\n\n if (!!_.alive && !existKeepAlive) {\n existKeepAlive = true;\n RouterFragment = AliveScope;\n }\n if (_.element && !!_.alive) {\n const aliveProps: Partial<KeepAliveProps> = {\n name: _.key,\n cacheKey: _.key,\n };\n\n if (Object.prototype.toString.call(_.alive) === '[object Object]') {\n Object.assign(aliveProps, _.alive);\n }\n _.element = (\n <PrefixKeepAlive {...aliveProps}>\n {createElement(_.element as string, _.props)}\n </PrefixKeepAlive>\n );\n }\n if (_.element) {\n _.element = (\n <Suspense fallback={r.fallback || fallback}>\n {createElement(_.element as string, _.props)}\n </Suspense>\n );\n }\n\n if (Array.isArray(_.children)) {\n _.children = prefixRouter(_.children, fallback);\n }\n\n return _;\n });\n}\n\nexport const routerData = prefixRouter(router, <Fallback />);\n"],"names":["React","Fragment","ReactFragment","Suspense","cloneElement","createElement","useEffect","AliveScope","KeepAlive","useAliveController","createBrowserRouter","createHashRouter","router","Fallback","PrefixKeepAlive","children","name","args","drop","dropScope","clear","getCachingNodes","id","window","location","pathname","hash","__POWERED_BY_QIANKUN__","primaryApp","currentTarget","Object","assign","aliveController","_children","path","selfUrl","existKeepAlive","createRouter","programInfo","routerMode","RouterFragment","prefixRouter","list","fallback","map","r","_","alive","element","aliveProps","key","cacheKey","prototype","toString","call","props","Array","isArray","routerData"],"mappings":"yjDAAA,OAAOA,OACLC,YAAYC,aAAa,CACzBC,QAAQ,CACRC,YAAY,CACZC,aAAa,CACbC,SAAS,KAEJ,OAAQ,AACf,QAASC,UAAU,CAAEC,SAAS,CAAEC,kBAAkB,KAAQ,kBAAmB,AAC7E,QAASC,mBAAmB,CAAEC,gBAAgB,KAAQ,kBAAmB,AACzE,QAASC,MAAM,KAA0B,cAAe,AACxD,QAAOC,aAAc,aAAc,CAGnC,IAAMC,gBAAqD,gBAAiC,KAA9BC,gBAAAA,SAAUC,YAAAA,KAASC,sCAAnBF,WAAUC,SACtE,IAAoDP,oBAAAA,qBAA5CS,KAA4CT,oBAA5CS,KAAMC,UAAsCV,oBAAtCU,UAAWC,MAA2BX,oBAA3BW,MAAOC,gBAAoBZ,oBAApBY,gBAChC,IAAMC,GAAKC,OAAOC,QAAQ,CAACC,QAAQ,CAAGF,OAAOC,QAAQ,CAACE,IAAI,CAE1DpB,UAAU,UAAM,CACd,GAAIiB,OAAOI,sBAAsB,EAAIJ,OAAOK,UAAU,CAAE,CACtD,GAAI,CAACL,OAAOK,UAAU,CAACC,aAAa,CAAE,CACpCN,OAAOK,UAAU,CAACC,aAAa,CAAG,CAAC,CACrC,CAAC,AACDC,OAAOC,MAAM,CAACR,OAAOK,UAAU,CAACC,aAAa,CAAE,CAC7CG,gBAAiB,CAAEd,KAAAA,KAAMC,UAAAA,UAAWC,MAAAA,MAAOC,gBAAAA,eAAgB,CAC7D,EACF,CAAC,AACH,EAAG,CAACD,MAAOF,KAAMC,UAAWE,gBAAgB,EAE5C,IAAMY,UAAYlB,SAElB,OACE,oBAACP,oBAAUc,GAAIA,GAAIN,KAAMM,IAAQL,MAC9Bb,aAAa6B,UAAW,CACvBC,KAAMlB,KACNmB,QAASb,EACX,GAGN,EAEA,IAAIc,eAAiB,KAAK,AAE1B,QAAO,IAAMC,aACXC,YAAYC,UAAU,GAAK,OAAS5B,iBAAmBD,mBAAmB,AAAC,AAC7E,QAAO,IAAI8B,eAA2DtC,aAAc,CAEpF,SAASuC,aAAaC,IAAmB,CAAEC,QAAsB,CAAE,CACjE,OAAOD,KAAKE,GAAG,CAAC,SAACC,EAAM,CACrB,IAAMC,EAAI,iBAAKD,GAEf,GAAI,CAAC,CAACC,EAAEC,KAAK,EAAI,CAACX,eAAgB,CAChCA,eAAiB,IAAI,CACrBI,eAAiBjC,UACnB,CAAC,AACD,GAAIuC,EAAEE,OAAO,EAAI,CAAC,CAACF,EAAEC,KAAK,CAAE,CAC1B,IAAME,WAAsC,CAC1CjC,KAAM8B,EAAEI,GAAG,CACXC,SAAUL,EAAEI,GAAG,AACjB,EAEA,GAAIpB,OAAOsB,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,EAAEC,KAAK,IAAM,kBAAmB,CACjEjB,OAAOC,MAAM,CAACkB,WAAYH,EAAEC,KAAK,CACnC,CAAC,AACDD,EAAEE,OAAO,CACP,oBAAClC,4BAAoBmC,YAClB5C,cAAcyC,EAAEE,OAAO,CAAYF,EAAES,KAAK,EAGjD,CAAC,AACD,GAAIT,EAAEE,OAAO,CAAE,CACbF,EAAEE,OAAO,CACP,oBAAC7C,UAASwC,SAAUE,EAAEF,QAAQ,EAAIA,UAC/BtC,cAAcyC,EAAEE,OAAO,CAAYF,EAAES,KAAK,EAGjD,CAAC,AAED,GAAIC,MAAMC,OAAO,CAACX,EAAE/B,QAAQ,EAAG,CAC7B+B,EAAE/B,QAAQ,CAAG0B,aAAaK,EAAE/B,QAAQ,CAAE4B,SACxC,CAAC,AAED,OAAOG,CACT,EACF,CAEA,OAAO,IAAMY,WAAajB,aAAa7B,OAAQ,oBAACC,eAAa"}
|
package/lib/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export * from './prefix/react-router-dom.js';
|
|
|
3
3
|
export * from './prefix/i18n-hooks.js';
|
|
4
4
|
export * from './prefix/mini-idc.js';
|
|
5
5
|
export * from './utils';
|
|
6
|
-
export { matchUtil, router, onlyLoginRouter, myPkgs, myDemoKv, type ExampleModule, type RouterProps, type MyPkg, } from './router';
|
|
6
|
+
export { matchUtil, router, onlyLoginRouter, myPkgs, myDemoKv, mdxComponents, type ExampleModule, type RouterProps, type MyPkg, } from './router';
|
|
7
7
|
export declare const LayoutMenu: any;
|
|
8
8
|
export type { ConfigType, AppType, CommomType, ProgramInfoType } from '../typings/global';
|
|
9
9
|
import type { ConfigType, CommomType, CoverageType, ProjectCoverageType } from '../typings/global';
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./prefix/react-router-dom.js";export*from"./prefix/i18n-hooks.js";export*from"./prefix/mini-idc.js";export*from"./utils";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv}from"./router";export var LayoutMenu=hasAntd?require("./components/layout-menu").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};
|
|
1
|
+
export*from"./prefix/react-router-dom.js";export*from"./prefix/i18n-hooks.js";export*from"./prefix/mini-idc.js";export*from"./utils";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv,mdxComponents}from"./router";export var LayoutMenu=hasAntd?require("./components/layout-menu").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './prefix/react-router-dom.js';\nexport * from './prefix/i18n-hooks.js';\nexport * from './prefix/mini-idc.js';\nexport * from './utils';\nexport {\n matchUtil,\n router,\n onlyLoginRouter,\n myPkgs,\n myDemoKv,\n type ExampleModule,\n type RouterProps,\n type MyPkg,\n} from './router';\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const LayoutMenu = hasAntd ? require('./components/layout-menu').default : null;\nexport type { ConfigType, AppType, CommomType, ProgramInfoType } from '../typings/global';\nimport type { ConfigType, CommomType, CoverageType, ProjectCoverageType } from '../typings/global';\nexport type PartialConfigType<T = 'swc'> = Partial<ConfigType<T>>;\nexport type PartialCommomType<T = 'swc'> = Partial<CommomType<T>>;\n\ndeclare const projectCoverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;\n\n/** 一些项目基本信息 */\nexport const projectBasicInfo = {\n projectName,\n providerConfig,\n programInfo,\n coverage: projectCoverage,\n};\n"],"names":["matchUtil","router","onlyLoginRouter","myPkgs","myDemoKv","LayoutMenu","hasAntd","require","default","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,wBAAyB,AACvC,YAAc,sBAAuB,AACrC,YAAc,SAAU,AACxB,QACEA,SAAS,CACTC,MAAM,CACNC,eAAe,CACfC,MAAM,CACNC,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from './prefix/react-router-dom.js';\nexport * from './prefix/i18n-hooks.js';\nexport * from './prefix/mini-idc.js';\nexport * from './utils';\nexport {\n matchUtil,\n router,\n onlyLoginRouter,\n myPkgs,\n myDemoKv,\n mdxComponents,\n type ExampleModule,\n type RouterProps,\n type MyPkg,\n} from './router';\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nexport const LayoutMenu = hasAntd ? require('./components/layout-menu').default : null;\nexport type { ConfigType, AppType, CommomType, ProgramInfoType } from '../typings/global';\nimport type { ConfigType, CommomType, CoverageType, ProjectCoverageType } from '../typings/global';\nexport type PartialConfigType<T = 'swc'> = Partial<ConfigType<T>>;\nexport type PartialCommomType<T = 'swc'> = Partial<CommomType<T>>;\n\ndeclare const projectCoverage: Record<string, CoverageType & Partial<ProjectCoverageType>>;\n\n/** 一些项目基本信息 */\nexport const projectBasicInfo = {\n projectName,\n providerConfig,\n programInfo,\n coverage: projectCoverage,\n};\n"],"names":["matchUtil","router","onlyLoginRouter","myPkgs","myDemoKv","mdxComponents","LayoutMenu","hasAntd","require","default","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,wBAAyB,AACvC,YAAc,sBAAuB,AACrC,YAAc,SAAU,AACxB,QACEA,SAAS,CACTC,MAAM,CACNC,eAAe,CACfC,MAAM,CACNC,QAAQ,CACRC,aAAa,KAIR,UAAW,AAElB,QAAO,IAAMC,WAAaC,QAAUC,QAAQ,4BAA4BC,OAAO,CAAG,IAAI,AAAC,AASvF,QAAO,IAAMC,iBAAmB,CAC9BC,YAAAA,YACAC,eAAAA,eACAC,YAAAA,YACAC,SAAUC,eACZ,CAAE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React,{useEffect}from"react";import{ConfigProvider}from"antd";import en_US from"antd/es/locale/en_US";import zh_CN from"antd/es/locale/zh_CN";import dayjs from"dayjs";import relativeTime from"dayjs/plugin/relativeTime";import{useLocale}from"i18n-hooks";import{useSelector,shallowEqual}from"mini-idc";import{
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React,{useEffect}from"react";import{ConfigProvider}from"antd";import en_US from"antd/es/locale/en_US";import zh_CN from"antd/es/locale/zh_CN";import dayjs from"dayjs";import relativeTime from"dayjs/plugin/relativeTime";import{useLocale}from"i18n-hooks";import{useSelector,shallowEqual}from"mini-idc";import{RouterProvider}from"react-router-dom";import SiderLayout from"./layout";import{createRouter}from"../../components/app-router";import Fallback from"../../components/fallback";import FallbackComp from"../../components/fallback-comp";import{onlyLoginRouter}from"../../router";import{watermark}from"../../utils";import"dayjs/locale/zh.js";import"dayjs/locale/en.js";var localeDictionary={zh_CN:zh_CN,en_US:en_US};dayjs.extend(relativeTime);ConfigProvider.config(providerConfig);var getAntdLocal=function(lang){return localeDictionary[lang]||zh_CN};var App=function(){var isLogin=useSelector(function(state){return!!state.account.info},shallowEqual);var _useLocale=useLocale(),lang=_useLocale.lang,getLanguage=_useLocale.getLanguage;useEffect(function(){document.body.style.backgroundImage="url(".concat(watermark({text:projectName}),")")},[]);return React.createElement(ConfigProvider,_extends({},providerConfig,{locale:getAntdLocal(lang),form:{validateMessages:{required:"".concat(getLanguage("ph:please-fill"),"${label}!"),types:{email:"${label}".concat(getLanguage("wrong-format"))},pattern:{mismatch:"".concat(getLanguage("ph:fill-correct"),"${label}!")}}}}),isLogin?React.createElement(SiderLayout,null):React.createElement(React.Fragment,null,React.createElement("div",{className:"flex f-a-c absolute r-0 login-toolbox"},React.createElement(FallbackComp,{compName:"switch-language"})),React.createElement(RouterProvider,{router:createRouter(onlyLoginRouter,{basename:programInfo.routeBaseName}),fallbackElement:React.createElement(Fallback,null)}),React.createElement(FallbackComp,{compName:"layout-footer"})))};export default App;
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/packages/back-stage/app.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { ConfigProvider } from 'antd';\nimport en_US from 'antd/es/locale/en_US';\nimport zh_CN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { useLocale } from 'i18n-hooks';\nimport { useSelector, shallowEqual } from 'mini-idc';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/back-stage/app.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { ConfigProvider } from 'antd';\nimport en_US from 'antd/es/locale/en_US';\nimport zh_CN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { useLocale } from 'i18n-hooks';\nimport { useSelector, shallowEqual } from 'mini-idc';\nimport { RouterProvider } from 'react-router-dom';\nimport SiderLayout from './layout';\nimport { createRouter } from '../../components/app-router';\nimport Fallback from '../../components/fallback';\nimport FallbackComp from '../../components/fallback-comp';\nimport { onlyLoginRouter } from '../../router';\nimport { watermark } from '../../utils';\nimport 'dayjs/locale/zh.js';\nimport 'dayjs/locale/en.js';\nimport type { Locale } from 'antd/es/locale-provider';\nimport type { LocaleNameType } from 'i18n-hooks';\n\nconst localeDictionary: Partial<Record<LocaleNameType, Locale>> = {\n zh_CN,\n en_US,\n};\n\ndayjs.extend(relativeTime);\n\nConfigProvider.config(providerConfig);\n\nconst getAntdLocal = (lang: LocaleNameType) => {\n return localeDictionary[lang] || zh_CN;\n};\n\nconst App: React.FC = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isLogin = useSelector((state: { account: any }) => !!state.account.info, shallowEqual);\n const { lang, getLanguage } = useLocale();\n\n useEffect(() => {\n document.body.style.backgroundImage = `url(${watermark({\n text: projectName,\n })})`;\n }, []);\n\n return (\n <ConfigProvider\n {...providerConfig}\n locale={getAntdLocal(lang)}\n form={{\n validateMessages: {\n required: `${getLanguage('ph:please-fill')}\\${label}!`,\n types: {\n email: `\\${label}${getLanguage('wrong-format')}`,\n },\n pattern: {\n mismatch: `${getLanguage('ph:fill-correct')}\\${label}!`,\n },\n },\n }}\n >\n {isLogin ? (\n <SiderLayout />\n ) : (\n <React.Fragment>\n <div className=\"flex f-a-c absolute r-0 login-toolbox\">\n <FallbackComp compName=\"switch-language\" />\n </div>\n <RouterProvider\n router={createRouter(onlyLoginRouter, {\n basename: programInfo.routeBaseName,\n })}\n fallbackElement={<Fallback />}\n />\n <FallbackComp compName=\"layout-footer\" />\n </React.Fragment>\n )}\n </ConfigProvider>\n );\n};\n\nexport default App;\n"],"names":["React","useEffect","ConfigProvider","en_US","zh_CN","dayjs","relativeTime","useLocale","useSelector","shallowEqual","RouterProvider","SiderLayout","createRouter","Fallback","FallbackComp","onlyLoginRouter","watermark","localeDictionary","extend","config","providerConfig","getAntdLocal","lang","App","isLogin","state","account","info","getLanguage","document","body","style","backgroundImage","text","projectName","locale","form","validateMessages","required","types","email","pattern","mismatch","Fragment","div","className","compName","router","basename","programInfo","routeBaseName","fallbackElement"],"mappings":"oRAAA,OAAOA,OAASC,SAAS,KAAQ,OAAQ,AACzC,QAASC,cAAc,KAAQ,MAAO,AACtC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,sBAAuB,AACzC,QAAOC,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,2BAA4B,AACrD,QAASC,SAAS,KAAQ,YAAa,AACvC,QAASC,WAAW,CAAEC,YAAY,KAAQ,UAAW,AACrD,QAASC,cAAc,KAAQ,kBAAmB,AAClD,QAAOC,gBAAiB,UAAW,AACnC,QAASC,YAAY,KAAQ,6BAA8B,AAC3D,QAAOC,aAAc,2BAA4B,AACjD,QAAOC,iBAAkB,gCAAiC,AAC1D,QAASC,eAAe,KAAQ,cAAe,AAC/C,QAASC,SAAS,KAAQ,aAAc,AACxC,OAAO,oBAAqB,AAC5B,OAAO,oBAAqB,CAI5B,IAAMC,iBAA4D,CAChEb,MAAAA,MACAD,MAAAA,KACF,EAEAE,MAAMa,MAAM,CAACZ,cAEbJ,eAAeiB,MAAM,CAACC,gBAEtB,IAAMC,aAAe,SAACC,KAAyB,CAC7C,OAAOL,gBAAgB,CAACK,KAAK,EAAIlB,KACnC,EAEA,IAAMmB,IAAgB,UAAM,CAE1B,IAAMC,QAAUhB,YAAY,SAACiB,aAA4B,CAAC,CAACA,MAAMC,OAAO,CAACC,IAAI,EAAElB,cAC/E,IAA8BF,WAAAA,YAAtBe,KAAsBf,WAAtBe,KAAMM,YAAgBrB,WAAhBqB,YAEd3B,UAAU,UAAM,CACd4B,SAASC,IAAI,CAACC,KAAK,CAACC,eAAe,CAAG,AAAC,OAEpC,OAF0ChB,UAAU,CACrDiB,KAAMC,WACR,GAAG,IACL,EAAG,EAAE,EAEL,OACE,oBAAChC,2BACKkB,gBACJe,OAAQd,aAAaC,MACrBc,KAAM,CACJC,iBAAkB,CAChBC,SAAU,AAAC,GAAgC,OAA9BV,YAAY,kBAAkB,aAC3CW,MAAO,CACLC,MAAO,AAAC,WAAuC,OAA5BZ,YAAY,gBACjC,EACAa,QAAS,CACPC,SAAU,AAAC,GAAiC,OAA/Bd,YAAY,mBAAmB,YAC9C,CACF,CACF,IAECJ,QACC,oBAACb,kBAED,oBAACX,MAAM2C,QAAQ,MACb,oBAACC,OAAIC,UAAU,yCACb,oBAAC/B,cAAagC,SAAS,qBAEzB,oBAACpC,gBACCqC,OAAQnC,aAAaG,gBAAiB,CACpCiC,SAAUC,YAAYC,aAAa,AACrC,GACAC,gBAAiB,oBAACtC,iBAEpB,oBAACC,cAAagC,SAAS,kBAE1B,CAGP,CAEA,gBAAevB,GAAI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import React,{useCallback,useEffect,useMemo,useState}from"react";import{ReloadOutlined,DeleteRowOutlined,CloseOutlined}from"@ant-design/icons";import{isEqual}from"@moneko/common";import{Tabs,Layout,Menu,Dropdown}from"antd";import{useLocale}from"i18n-hooks";import{shallowEqual,useSelector,useDispatch}from"react-redux";import{useSearchParams}from"react-router-dom";import styles from"./index.less";import
|
|
1
|
+
function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import React,{useCallback,useEffect,useMemo,useState}from"react";import{ReloadOutlined,DeleteRowOutlined,CloseOutlined}from"@ant-design/icons";import{isEqual}from"@moneko/common";import{Tabs,Layout,Menu,Dropdown}from"antd";import{useLocale}from"i18n-hooks";import{shallowEqual,useSelector,useDispatch}from"react-redux";import{RouterProvider,useSearchParams}from"react-router-dom";import styles from"./index.less";import{routerData,createRouter,RouterFragment}from"../../../components/app-router";import Fallback from"../../../components/fallback";import FallbackComp from"../../../components/fallback-comp";import LayoutMenu from"../../../components/layout-menu";import useNavigate from"../../../hooks/navgate";var closeTabs=[{label:"关闭左侧标签",icon:React.createElement(DeleteRowOutlined,{style:{transform:"scaleX(-1)"}}),key:"left"},{label:"关闭右侧标签",icon:React.createElement(DeleteRowOutlined,null),key:"right"},{label:"关闭其他标签",icon:React.createElement(CloseOutlined,null),key:"other"},{label:"刷新标签页",icon:React.createElement(ReloadOutlined,null),key:"refresh"}];var SiderLayout=function(){var dispatch=useDispatch();var activeKey=useSelector(function(store){return store.appProgram.activeKey},shallowEqual);var tabs=useSelector(function(store){return store.appProgram.tabs},shallowEqual);var menuKV=useSelector(function(store){return store.appProgram.menuKV||{}},shallowEqual);var navigate=useNavigate();var _useSearchParams=_slicedToArray(useSearchParams(),1),search=_useSearchParams[0];var getLanguage=useLocale().getLanguage;var _useState=_slicedToArray(useState(false),2),collapsed=_useState[0],setCollapsed=_useState[1];var handleCollapsed=useCallback(function(value){if(value){var _timer=window.setTimeout(function(){setCollapsed(value);window.clearTimeout(_timer);_timer=null},0)}else{setCollapsed(value);var _timer1=window.setTimeout(function(){window.clearTimeout(_timer1);_timer1=null},30)}},[]);var closedTab=useCallback(function(tabKey,type){if(type==="refresh"){navigate("/refresh");return}dispatch({type:"appProgram/closeTab",payload:{key:tabKey,type:type,callback:function callback(_,nextTab){if(nextTab){navigate("".concat(nextTab.path,"?menuId=").concat(nextTab.key))}}}})},[dispatch,navigate]);var _useMemo=useMemo(function(){return{menuId:search.get("menuId")||"",dynamicTitle:search.get("dynamicTitle")||""}},[search]),menuId=_useMemo.menuId,dynamicTitle=_useMemo.dynamicTitle;var current=menuKV[menuId];useEffect(function(){if(menuId){dispatch({type:"appProgram/openTab",payload:{key:menuId,dynamicTitle:dynamicTitle}})}},[dispatch,dynamicTitle,menuId,current]);var getItems=useCallback(function(key){return key===activeKey?closeTabs:closeTabs.filter(function(t){return(t===null||t===void 0?void 0:t.key)!=="refresh"})},[activeKey]);return React.createElement(Layout,{className:styles.layout},layoutSider?React.createElement(Layout.Sider,_extends({className:styles.sider,trigger:null,collapsible:true,collapsed:collapsed,onBreakpoint:function(broken){return handleCollapsed(broken)},onCollapse:function(_collapsed){return handleCollapsed(_collapsed)},theme:"light",breakpoint:"md"},layoutSider),React.createElement("div",{className:styles.logo,"data-title":projectName},React.createElement(FallbackComp,{compName:"logo",show:!collapsed})),React.createElement(LayoutMenu,{collapsed:collapsed,theme:layoutSider.theme})):null,React.createElement(Layout,{className:styles.section},React.createElement(FallbackComp,{compName:"layout-header",collapsed:collapsed,onCollapsed:function(){return handleCollapsed(!collapsed)}}),React.createElement(Tabs,{className:styles.tabs,hideAdd:true,onTabClick:function(key){navigate("".concat(menuKV[key].path,"?menuId=").concat(menuKV[key].key))},activeKey:activeKey,size:"middle",type:"editable-card",onEdit:function(targetKey,action){if(action==="remove"&&typeof targetKey==="string"){closedTab(targetKey)}}},tabs.map(function(item){return React.createElement(Tabs.TabPane,{tab:React.createElement(Dropdown,{overlay:React.createElement(Menu,{items:getItems(item.key),onClick:function(info){info.domEvent.stopPropagation();closedTab(item.key,info.key)}}),trigger:["contextMenu"],destroyPopupOnHide:true},React.createElement("div",null,item.icon,getLanguage(item.i18n||"route-".concat(item.key))+item.dynamicTitle||"")),key:item.key,closable:item.closable})})),React.createElement(Layout.Content,{className:styles.layoutContent},React.createElement("div",{className:styles.content},React.createElement(RouterFragment,null,React.createElement(RouterProvider,{router:createRouter(routerData,{basename:programInfo.routeBaseName}),fallbackElement:React.createElement(Fallback,null)}))),React.createElement(FallbackComp,{compName:"layout-footer"}))))};export default React.memo(SiderLayout,isEqual);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/packages/back-stage/layout/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ReloadOutlined, DeleteRowOutlined, CloseOutlined } from '@ant-design/icons';\nimport { isEqual } from '@moneko/common';\nimport { Tabs, Layout, Menu, Dropdown } from 'antd';\nimport { useLocale } from 'i18n-hooks';\nimport { shallowEqual, useSelector, useDispatch } from 'react-redux';\nimport { useSearchParams } from 'react-router-dom';\nimport styles from './index.less';\nimport AppRouter from '../../../components/app-router';\nimport FallbackComp from '../../../components/fallback-comp';\nimport LayoutMenu from '../../../components/layout-menu';\nimport useNavigate from '../../../hooks/navgate';\nimport { router } from '../../../router';\nimport type { RouterProps } from '../../../router';\nimport type { AppProgramModelType } from '../models/app-program';\nimport type { ItemType } from 'antd/es/menu/hooks/useItems';\n\ninterface TabProps extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n}\n\nconst closeTabs: ItemType[] = [\n {\n label: '关闭左侧标签',\n icon: <DeleteRowOutlined style={{ transform: 'scaleX(-1)' }} />,\n key: 'left',\n },\n {\n label: '关闭右侧标签',\n icon: <DeleteRowOutlined />,\n key: 'right',\n },\n {\n label: '关闭其他标签',\n icon: <CloseOutlined />,\n key: 'other',\n },\n {\n label: '刷新标签页',\n icon: <ReloadOutlined />,\n key: 'refresh',\n },\n];\n\nconst SiderLayout: React.FC = () => {\n const dispatch = useDispatch();\n const activeKey = useSelector((store: AppStore) => store.appProgram.activeKey, shallowEqual);\n const tabs = useSelector((store: AppStore) => store.appProgram.tabs, shallowEqual);\n const menuKV = useSelector(\n (store: { appProgram: AppProgramModelType }) => store.appProgram.menuKV || {},\n shallowEqual\n );\n const navigate = useNavigate();\n const [search] = useSearchParams();\n const { getLanguage } = useLocale();\n const [collapsed, setCollapsed] = useState<boolean>(false);\n const handleCollapsed = useCallback((value: boolean) => {\n if (value) {\n let _timer: number | null = window.setTimeout(() => {\n setCollapsed(value);\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 0);\n } else {\n setCollapsed(value);\n let _timer: number | null = window.setTimeout(() => {\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 30);\n }\n }, []);\n\n const closedTab = useCallback(\n (tabKey?: string, type?: string) => {\n if (type === 'refresh') {\n navigate('/refresh');\n return;\n }\n dispatch({\n type: 'appProgram/closeTab',\n payload: {\n key: tabKey,\n type: type,\n callback(_?: TabProps[], nextTab?: TabProps) {\n if (nextTab) {\n navigate(`${nextTab.path}?menuId=${nextTab.key}`);\n }\n },\n },\n });\n },\n [dispatch, navigate]\n );\n\n const { menuId, dynamicTitle } = useMemo(\n () => ({\n menuId: search.get('menuId') || '',\n dynamicTitle: search.get('dynamicTitle') || '',\n }),\n [search]\n );\n const current = menuKV[menuId];\n\n useEffect(() => {\n if (menuId) {\n dispatch({\n type: 'appProgram/openTab',\n payload: {\n key: menuId,\n dynamicTitle,\n },\n });\n }\n }, [dispatch, dynamicTitle, menuId, current]);\n\n const getItems = useCallback(\n (key: string) =>\n key === activeKey ? closeTabs : closeTabs.filter((t) => t?.key !== 'refresh'),\n [activeKey]\n );\n\n return (\n <Layout className={styles.layout}>\n {layoutSider ? (\n <Layout.Sider\n className={styles.sider}\n trigger={null}\n collapsible\n collapsed={collapsed}\n onBreakpoint={(broken: boolean) => handleCollapsed(broken)}\n onCollapse={(_collapsed: boolean) => handleCollapsed(_collapsed)}\n theme=\"light\"\n breakpoint=\"md\"\n {...layoutSider}\n >\n <div className={styles.logo} data-title={projectName}>\n <FallbackComp compName=\"logo\" show={!collapsed} />\n </div>\n <LayoutMenu collapsed={collapsed} theme={layoutSider.theme} />\n </Layout.Sider>\n ) : null}\n <Layout className={styles.section}>\n <FallbackComp\n compName=\"layout-header\"\n collapsed={collapsed}\n onCollapsed={() => handleCollapsed(!collapsed)}\n />\n <Tabs\n className={styles.tabs}\n hideAdd\n onTabClick={(key: string) => {\n navigate(`${menuKV[key].path}?menuId=${menuKV[key].key}`);\n }}\n activeKey={activeKey}\n size=\"middle\"\n type=\"editable-card\"\n onEdit={(targetKey, action) => {\n if (action === 'remove' && typeof targetKey === 'string') {\n closedTab(targetKey);\n }\n }}\n >\n {tabs.map((item: TabProps) => (\n <Tabs.TabPane\n tab={\n <Dropdown\n overlay={\n <Menu\n items={getItems(item.key)}\n onClick={(info) => {\n info.domEvent.stopPropagation();\n closedTab(item.key, info.key);\n }}\n />\n }\n trigger={['contextMenu']}\n destroyPopupOnHide\n >\n <div>\n {item.icon}\n {getLanguage(item.i18n || `route-${item.key}`) + item.dynamicTitle || ''}\n </div>\n </Dropdown>\n }\n key={item.key}\n closable={item.closable}\n />\n ))}\n </Tabs>\n <Layout.Content className={styles.layoutContent}>\n <div className={styles.content}>\n <AppRouter router={router} />\n </div>\n <FallbackComp compName=\"layout-footer\" />\n </Layout.Content>\n </Layout>\n </Layout>\n );\n};\n\nexport default React.memo(SiderLayout, isEqual);\n"],"names":["React","useCallback","useEffect","useMemo","useState","ReloadOutlined","DeleteRowOutlined","CloseOutlined","isEqual","Tabs","Layout","Menu","Dropdown","useLocale","shallowEqual","useSelector","useDispatch","useSearchParams","styles","AppRouter","FallbackComp","LayoutMenu","useNavigate","router","closeTabs","label","icon","style","transform","key","SiderLayout","dispatch","activeKey","store","appProgram","tabs","menuKV","navigate","search","getLanguage","collapsed","setCollapsed","handleCollapsed","value","_timer","window","setTimeout","clearTimeout","closedTab","tabKey","type","payload","callback","_","nextTab","path","menuId","get","dynamicTitle","current","getItems","filter","t","className","layout","layoutSider","Sider","sider","trigger","collapsible","onBreakpoint","broken","onCollapse","_collapsed","theme","breakpoint","div","logo","data-title","projectName","compName","show","section","onCollapsed","hideAdd","onTabClick","size","onEdit","targetKey","action","map","item","TabPane","tab","overlay","items","onClick","info","domEvent","stopPropagation","destroyPopupOnHide","i18n","closable","Content","layoutContent","content","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/packages/back-stage/layout/index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ReloadOutlined, DeleteRowOutlined, CloseOutlined } from '@ant-design/icons';\nimport { isEqual } from '@moneko/common';\nimport { Tabs, Layout, Menu, Dropdown } from 'antd';\nimport { useLocale } from 'i18n-hooks';\nimport { shallowEqual, useSelector, useDispatch } from 'react-redux';\nimport { RouterProvider, useSearchParams } from 'react-router-dom';\nimport styles from './index.less';\nimport { routerData, createRouter, RouterFragment } from '../../../components/app-router';\nimport Fallback from '../../../components/fallback';\nimport FallbackComp from '../../../components/fallback-comp';\nimport LayoutMenu from '../../../components/layout-menu';\nimport useNavigate from '../../../hooks/navgate';\nimport type { RouterProps } from '../../../router';\nimport type { AppProgramModelType } from '../models/app-program';\nimport type { ItemType } from 'antd/es/menu/hooks/useItems';\n\ninterface TabProps extends RouterProps {\n key: string;\n url?: string;\n path?: string;\n closable?: boolean;\n}\n\nconst closeTabs: ItemType[] = [\n {\n label: '关闭左侧标签',\n icon: <DeleteRowOutlined style={{ transform: 'scaleX(-1)' }} />,\n key: 'left',\n },\n {\n label: '关闭右侧标签',\n icon: <DeleteRowOutlined />,\n key: 'right',\n },\n {\n label: '关闭其他标签',\n icon: <CloseOutlined />,\n key: 'other',\n },\n {\n label: '刷新标签页',\n icon: <ReloadOutlined />,\n key: 'refresh',\n },\n];\n\nconst SiderLayout: React.FC = () => {\n const dispatch = useDispatch();\n const activeKey = useSelector((store: AppStore) => store.appProgram.activeKey, shallowEqual);\n const tabs = useSelector((store: AppStore) => store.appProgram.tabs, shallowEqual);\n const menuKV = useSelector(\n (store: { appProgram: AppProgramModelType }) => store.appProgram.menuKV || {},\n shallowEqual\n );\n const navigate = useNavigate();\n const [search] = useSearchParams();\n const { getLanguage } = useLocale();\n const [collapsed, setCollapsed] = useState<boolean>(false);\n const handleCollapsed = useCallback((value: boolean) => {\n if (value) {\n let _timer: number | null = window.setTimeout(() => {\n setCollapsed(value);\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 0);\n } else {\n setCollapsed(value);\n let _timer: number | null = window.setTimeout(() => {\n window.clearTimeout(_timer as number);\n _timer = null;\n }, 30);\n }\n }, []);\n\n const closedTab = useCallback(\n (tabKey?: string, type?: string) => {\n if (type === 'refresh') {\n navigate('/refresh');\n return;\n }\n dispatch({\n type: 'appProgram/closeTab',\n payload: {\n key: tabKey,\n type: type,\n callback(_?: TabProps[], nextTab?: TabProps) {\n if (nextTab) {\n navigate(`${nextTab.path}?menuId=${nextTab.key}`);\n }\n },\n },\n });\n },\n [dispatch, navigate]\n );\n\n const { menuId, dynamicTitle } = useMemo(\n () => ({\n menuId: search.get('menuId') || '',\n dynamicTitle: search.get('dynamicTitle') || '',\n }),\n [search]\n );\n const current = menuKV[menuId];\n\n useEffect(() => {\n if (menuId) {\n dispatch({\n type: 'appProgram/openTab',\n payload: {\n key: menuId,\n dynamicTitle,\n },\n });\n }\n }, [dispatch, dynamicTitle, menuId, current]);\n\n const getItems = useCallback(\n (key: string) =>\n key === activeKey ? closeTabs : closeTabs.filter((t) => t?.key !== 'refresh'),\n [activeKey]\n );\n\n return (\n <Layout className={styles.layout}>\n {layoutSider ? (\n <Layout.Sider\n className={styles.sider}\n trigger={null}\n collapsible\n collapsed={collapsed}\n onBreakpoint={(broken: boolean) => handleCollapsed(broken)}\n onCollapse={(_collapsed: boolean) => handleCollapsed(_collapsed)}\n theme=\"light\"\n breakpoint=\"md\"\n {...layoutSider}\n >\n <div className={styles.logo} data-title={projectName}>\n <FallbackComp compName=\"logo\" show={!collapsed} />\n </div>\n <LayoutMenu collapsed={collapsed} theme={layoutSider.theme} />\n </Layout.Sider>\n ) : null}\n <Layout className={styles.section}>\n <FallbackComp\n compName=\"layout-header\"\n collapsed={collapsed}\n onCollapsed={() => handleCollapsed(!collapsed)}\n />\n <Tabs\n className={styles.tabs}\n hideAdd\n onTabClick={(key: string) => {\n navigate(`${menuKV[key].path}?menuId=${menuKV[key].key}`);\n }}\n activeKey={activeKey}\n size=\"middle\"\n type=\"editable-card\"\n onEdit={(targetKey, action) => {\n if (action === 'remove' && typeof targetKey === 'string') {\n closedTab(targetKey);\n }\n }}\n >\n {tabs.map((item: TabProps) => (\n <Tabs.TabPane\n tab={\n <Dropdown\n overlay={\n <Menu\n items={getItems(item.key)}\n onClick={(info) => {\n info.domEvent.stopPropagation();\n closedTab(item.key, info.key);\n }}\n />\n }\n trigger={['contextMenu']}\n destroyPopupOnHide\n >\n <div>\n {item.icon}\n {getLanguage(item.i18n || `route-${item.key}`) + item.dynamicTitle || ''}\n </div>\n </Dropdown>\n }\n key={item.key}\n closable={item.closable}\n />\n ))}\n </Tabs>\n <Layout.Content className={styles.layoutContent}>\n <div className={styles.content}>\n <RouterFragment>\n <RouterProvider\n router={createRouter(routerData, {\n basename: programInfo.routeBaseName,\n })}\n fallbackElement={<Fallback />}\n />\n </RouterFragment>\n {/* <AppRouter router={router} /> */}\n </div>\n <FallbackComp compName=\"layout-footer\" />\n </Layout.Content>\n </Layout>\n </Layout>\n );\n};\n\nexport default React.memo(SiderLayout, isEqual);\n"],"names":["React","useCallback","useEffect","useMemo","useState","ReloadOutlined","DeleteRowOutlined","CloseOutlined","isEqual","Tabs","Layout","Menu","Dropdown","useLocale","shallowEqual","useSelector","useDispatch","RouterProvider","useSearchParams","styles","routerData","createRouter","RouterFragment","Fallback","FallbackComp","LayoutMenu","useNavigate","closeTabs","label","icon","style","transform","key","SiderLayout","dispatch","activeKey","store","appProgram","tabs","menuKV","navigate","search","getLanguage","collapsed","setCollapsed","handleCollapsed","value","_timer","window","setTimeout","clearTimeout","closedTab","tabKey","type","payload","callback","_","nextTab","path","menuId","get","dynamicTitle","current","getItems","filter","t","className","layout","layoutSider","Sider","sider","trigger","collapsible","onBreakpoint","broken","onCollapse","_collapsed","theme","breakpoint","div","logo","data-title","projectName","compName","show","section","onCollapsed","hideAdd","onTabClick","size","onEdit","targetKey","action","map","item","TabPane","tab","overlay","items","onClick","info","domEvent","stopPropagation","destroyPopupOnHide","i18n","closable","Content","layoutContent","content","router","basename","programInfo","routeBaseName","fallbackElement","memo"],"mappings":"+kDAAA,OAAOA,OAASC,WAAW,CAAEC,SAAS,CAAEC,OAAO,CAAEC,QAAQ,KAAQ,OAAQ,AACzE,QAASC,cAAc,CAAEC,iBAAiB,CAAEC,aAAa,KAAQ,mBAAoB,AACrF,QAASC,OAAO,KAAQ,gBAAiB,AACzC,QAASC,IAAI,CAAEC,MAAM,CAAEC,IAAI,CAAEC,QAAQ,KAAQ,MAAO,AACpD,QAASC,SAAS,KAAQ,YAAa,AACvC,QAASC,YAAY,CAAEC,WAAW,CAAEC,WAAW,KAAQ,aAAc,AACrE,QAASC,cAAc,CAAEC,eAAe,KAAQ,kBAAmB,AACnE,QAAOC,WAAY,cAAe,AAClC,QAASC,UAAU,CAAEC,YAAY,CAAEC,cAAc,KAAQ,gCAAiC,AAC1F,QAAOC,aAAc,8BAA+B,AACpD,QAAOC,iBAAkB,mCAAoC,AAC7D,QAAOC,eAAgB,iCAAkC,AACzD,QAAOC,gBAAiB,wBAAyB,CAYjD,IAAMC,UAAwB,CAC5B,CACEC,MAAO,SACPC,KAAM,oBAACvB,mBAAkBwB,MAAO,CAAEC,UAAW,YAAa,IAC1DC,IAAK,MACP,EACA,CACEJ,MAAO,SACPC,KAAM,oBAACvB,wBACP0B,IAAK,OACP,EACA,CACEJ,MAAO,SACPC,KAAM,oBAACtB,oBACPyB,IAAK,OACP,EACA,CACEJ,MAAO,QACPC,KAAM,oBAACxB,qBACP2B,IAAK,SACP,EACD,CAED,IAAMC,YAAwB,UAAM,CAClC,IAAMC,SAAWlB,cACjB,IAAMmB,UAAYpB,YAAY,SAACqB,cAAoBA,MAAMC,UAAU,CAACF,SAAS,EAAErB,cAC/E,IAAMwB,KAAOvB,YAAY,SAACqB,cAAoBA,MAAMC,UAAU,CAACC,IAAI,EAAExB,cACrE,IAAMyB,OAASxB,YACb,SAACqB,cAA+CA,MAAMC,UAAU,CAACE,MAAM,EAAI,CAAC,GAC5EzB,cAEF,IAAM0B,SAAWd,cACjB,IAAiBR,gCAAAA,qBAAVuB,OAAUvB,oBACjB,IAAM,AAAEwB,YAAgB7B,YAAhB6B,YACR,IAAkCtC,yBAAAA,SAAkB,KAAK,KAAlDuC,UAA2BvC,aAAhBwC,aAAgBxC,aAClC,IAAMyC,gBAAkB5C,YAAY,SAAC6C,MAAmB,CACtD,GAAIA,MAAO,CACT,IAAIC,OAAwBC,OAAOC,UAAU,CAAC,UAAM,CAClDL,aAAaE,OACbE,OAAOE,YAAY,CAACH,QACpBA,OAAS,IAAI,AACf,EAAG,EACL,KAAO,CACLH,aAAaE,OACb,IAAIC,QAAwBC,OAAOC,UAAU,CAAC,UAAM,CAClDD,OAAOE,YAAY,CAACH,SACpBA,QAAS,IAAI,AACf,EAAG,GACL,CAAC,AACH,EAAG,EAAE,EAEL,IAAMI,UAAYlD,YAChB,SAACmD,OAAiBC,KAAkB,CAClC,GAAIA,OAAS,UAAW,CACtBb,SAAS,YACT,MACF,CAAC,AACDN,SAAS,CACPmB,KAAM,sBACNC,QAAS,CACPtB,IAAKoB,OACLC,KAAMA,KACNE,SAAAA,SAAAA,SAASC,CAAc,CAAEC,OAAkB,CAAE,CAC3C,GAAIA,QAAS,CACXjB,SAAS,AAAC,GAAyBiB,OAAvBA,QAAQC,IAAI,CAAC,YAAsB,OAAZD,QAAQzB,GAAG,EAChD,CAAC,AACH,CACF,CACF,EACF,EACA,CAACE,SAAUM,SAAS,EAGtB,IAAiCrC,SAAAA,QAC/B,iBAAO,CACLwD,OAAQlB,OAAOmB,GAAG,CAAC,WAAa,GAChCC,aAAcpB,OAAOmB,GAAG,CAAC,iBAAmB,EAC9C,GACA,CAACnB,OAAO,EALFkB,OAAyBxD,SAAzBwD,OAAQE,aAAiB1D,SAAjB0D,aAOhB,IAAMC,QAAUvB,MAAM,CAACoB,OAAO,CAE9BzD,UAAU,UAAM,CACd,GAAIyD,OAAQ,CACVzB,SAAS,CACPmB,KAAM,qBACNC,QAAS,CACPtB,IAAK2B,OACLE,aAAAA,YACF,CACF,EACF,CAAC,AACH,EAAG,CAAC3B,SAAU2B,aAAcF,OAAQG,QAAQ,EAE5C,IAAMC,SAAW9D,YACf,SAAC+B,KACCA,OAAAA,MAAQG,UAAYR,UAAYA,UAAUqC,MAAM,CAAC,SAACC,GAAMA,MAAAA,CAAAA,UAAAA,WAAAA,KAAAA,EAAAA,EAAGjC,GAAG,AAAD,IAAM,WAAU,EAC/E,CAACG,UAAU,EAGb,OACE,oBAACzB,QAAOwD,UAAW/C,OAAOgD,MAAM,EAC7BC,YACC,oBAAC1D,OAAO2D,KAAK,WACXH,UAAW/C,OAAOmD,KAAK,CACvBC,QAAS,IAAI,CACbC,YAAAA,IAAW,CACX7B,UAAWA,UACX8B,aAAc,SAACC,eAAoB7B,gBAAgB6B,SACnDC,WAAY,SAACC,mBAAwB/B,gBAAgB+B,aACrDC,MAAM,QACNC,WAAW,MACPV,aAEJ,oBAACW,OAAIb,UAAW/C,OAAO6D,IAAI,CAAEC,aAAYC,aACvC,oBAAC1D,cAAa2D,SAAS,OAAOC,KAAM,CAACzC,aAEvC,oBAAClB,YAAWkB,UAAWA,UAAWkC,MAAOT,YAAYS,KAAK,IAE1D,IAAI,CACR,oBAACnE,QAAOwD,UAAW/C,OAAOkE,OAAO,EAC/B,oBAAC7D,cACC2D,SAAS,gBACTxC,UAAWA,UACX2C,YAAa,kBAAMzC,gBAAgB,CAACF,cAEtC,oBAAClC,MACCyD,UAAW/C,OAAOmB,IAAI,CACtBiD,QAAAA,IAAO,CACPC,WAAY,SAACxD,IAAgB,CAC3BQ,SAAS,AAAC,GAA6BD,OAA3BA,MAAM,CAACP,IAAI,CAAC0B,IAAI,CAAC,YAA0B,OAAhBnB,MAAM,CAACP,IAAI,CAACA,GAAG,EACxD,EACAG,UAAWA,UACXsD,KAAK,SACLpC,KAAK,gBACLqC,OAAQ,SAACC,UAAWC,OAAW,CAC7B,GAAIA,SAAW,UAAY,OAAOD,YAAc,SAAU,CACxDxC,UAAUwC,UACZ,CAAC,AACH,GAECrD,KAAKuD,GAAG,CAAC,SAACC,aACT,oBAACrF,KAAKsF,OAAO,EACXC,IACE,oBAACpF,UACCqF,QACE,oBAACtF,MACCuF,MAAOnC,SAAS+B,KAAK9D,GAAG,EACxBmE,QAAS,SAACC,KAAS,CACjBA,KAAKC,QAAQ,CAACC,eAAe,GAC7BnD,UAAU2C,KAAK9D,GAAG,CAAEoE,KAAKpE,GAAG,CAC9B,IAGJuC,QAAS,CAAC,cAAc,CACxBgC,mBAAAA,IAAkB,EAElB,oBAACxB,WACEe,KAAKjE,IAAI,CACTa,YAAYoD,KAAKU,IAAI,EAAI,AAAC,SAAiB,OAATV,KAAK9D,GAAG,GAAM8D,KAAKjC,YAAY,EAAI,KAI5E7B,IAAK8D,KAAK9D,GAAG,CACbyE,SAAUX,KAAKW,QAAQ,MAI7B,oBAAC/F,OAAOgG,OAAO,EAACxC,UAAW/C,OAAOwF,aAAa,EAC7C,oBAAC5B,OAAIb,UAAW/C,OAAOyF,OAAO,EAC5B,oBAACtF,oBACC,oBAACL,gBACC4F,OAAQxF,aAAaD,WAAY,CAC/B0F,SAAUC,YAAYC,aAAa,AACrC,GACAC,gBAAiB,oBAAC1F,mBAKxB,oBAACC,cAAa2D,SAAS,oBAKjC,CAEA,gBAAenF,MAAMkH,IAAI,CAACjF,YAAazB,QAAS"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{RouterProvider}from"react-router-dom";import{RouterFragment,routerData,createRouter}from"../../components/app-router";import Fallback from"../../components/fallback";var I18n=hasLocales?require("i18n-hooks").I18nProvider:React.Fragment;var IDCProvider=React.Fragment,idcProps={};if(hasModels){var idc=require("mini-idc");idcProps={store:idc.rootStore};IDCProvider=idc.Provider}var App=function(){return React.createElement(RouterFragment,null,React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(RouterProvider,{router:createRouter(routerData,{basename:programInfo.routeBaseName}),fallbackElement:React.createElement(Fallback,null)}))))};export default App;
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/packages/library/app.tsx"],"sourcesContent":["import React from 'react';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/library/app.tsx"],"sourcesContent":["import React from 'react';\nimport { RouterProvider } from 'react-router-dom';\nimport { RouterFragment, routerData, createRouter } from '../../components/app-router';\nimport Fallback from '../../components/fallback';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n return (\n <RouterFragment>\n <I18n>\n <IDCProvider {...idcProps}>\n <RouterProvider\n router={createRouter(routerData, {\n basename: programInfo.routeBaseName,\n })}\n fallbackElement={<Fallback />}\n />\n </IDCProvider>\n </I18n>\n </RouterFragment>\n );\n};\n\nexport default App;\n"],"names":["React","RouterProvider","RouterFragment","routerData","createRouter","Fallback","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","router","basename","programInfo","routeBaseName","fallbackElement"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,cAAc,KAAQ,kBAAmB,AAClD,QAASC,cAAc,CAAEC,UAAU,CAAEC,YAAY,KAAQ,6BAA8B,AACvF,QAAOC,aAAc,2BAA4B,CAGjD,IAAMC,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGT,MAAMU,QAAQ,CAC7E,IAAIC,YAAqCX,MAAMU,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,OACE,oBAAChB,oBACC,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACX,gBACCkB,OAAQf,aAAaD,WAAY,CAC/BiB,SAAUC,YAAYC,aAAa,AACrC,GACAC,gBAAiB,oBAAClB,mBAM9B,CAEA,gBAAea,GAAI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{RouterProvider}from"react-router-dom";import{RouterFragment,routerData,createRouter}from"../../components/app-router";import Fallback from"../../components/fallback";var I18n=hasLocales?require("i18n-hooks").I18nProvider:React.Fragment;var IDCProvider=React.Fragment,idcProps={};if(hasModels){var idc=require("mini-idc");idcProps={store:idc.rootStore};IDCProvider=idc.Provider}var App=function(){return React.createElement(RouterFragment,null,React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(RouterProvider,{router:createRouter(routerData,{basename:programInfo.routeBaseName}),fallbackElement:React.createElement(Fallback,null)}))))};export default App;
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/packages/mobile/app.tsx"],"sourcesContent":["import React from 'react';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/mobile/app.tsx"],"sourcesContent":["import React from 'react';\nimport { RouterProvider } from 'react-router-dom';\nimport { RouterFragment, routerData, createRouter } from '../../components/app-router';\nimport Fallback from '../../components/fallback';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n return (\n <RouterFragment>\n <I18n>\n <IDCProvider {...idcProps}>\n <RouterProvider\n router={createRouter(routerData, {\n basename: programInfo.routeBaseName,\n })}\n fallbackElement={<Fallback />}\n />\n </IDCProvider>\n </I18n>\n </RouterFragment>\n );\n};\n\nexport default App;\n"],"names":["React","RouterProvider","RouterFragment","routerData","createRouter","Fallback","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","router","basename","programInfo","routeBaseName","fallbackElement"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,cAAc,KAAQ,kBAAmB,AAClD,QAASC,cAAc,CAAEC,UAAU,CAAEC,YAAY,KAAQ,6BAA8B,AACvF,QAAOC,aAAc,2BAA4B,CAGjD,IAAMC,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGT,MAAMU,QAAQ,CAC7E,IAAIC,YAAqCX,MAAMU,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,OACE,oBAAChB,oBACC,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACX,gBACCkB,OAAQf,aAAaD,WAAY,CAC/BiB,SAAUC,YAAYC,aAAa,AACrC,GACAC,gBAAiB,oBAAClB,mBAM9B,CAEA,gBAAea,GAAI"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { type FC, type ReactElement } from 'react';
|
|
2
|
+
declare const App: FC<{
|
|
3
3
|
basename?: string;
|
|
4
|
-
fallback?:
|
|
5
|
-
}
|
|
6
|
-
declare const App: React.FC<AppProps>;
|
|
4
|
+
fallback?: ReactElement;
|
|
5
|
+
}>;
|
|
7
6
|
export default App;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{RouterProvider}from"react-router-dom";import{RouterFragment,routerData,createRouter}from"../../components/app-router";import Fallback from"../../components/fallback";var I18n=hasLocales?require("i18n-hooks").I18nProvider:React.Fragment;var IDCProvider=React.Fragment,idcProps={};if(hasModels){var idc=require("mini-idc");idcProps={store:idc.rootStore};IDCProvider=idc.Provider}var App=function(param){var _param_basename=param.basename,basename=_param_basename===void 0?programInfo.routeBaseName:_param_basename,_param_fallback=param.fallback,fallback=_param_fallback===void 0?React.createElement(Fallback,null):_param_fallback;return React.createElement(RouterFragment,null,React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(RouterProvider,{router:createRouter(routerData,{basename:basename}),fallbackElement:fallback}))))};export default App;
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/packages/single-spa/app.tsx"],"sourcesContent":["import React from 'react';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/single-spa/app.tsx"],"sourcesContent":["import React, { type FC, type ReactElement } from 'react';\nimport { RouterProvider } from 'react-router-dom';\nimport { RouterFragment, routerData, createRouter } from '../../components/app-router';\nimport Fallback from '../../components/fallback';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\n\nconst App: FC<{ basename?: string; fallback?: ReactElement }> = ({\n basename = programInfo.routeBaseName,\n fallback = <Fallback />,\n}) => {\n return (\n <RouterFragment>\n <I18n>\n <IDCProvider {...idcProps}>\n <RouterProvider\n router={createRouter(routerData, {\n basename: basename,\n })}\n fallbackElement={fallback}\n />\n </IDCProvider>\n </I18n>\n </RouterFragment>\n );\n};\n\nexport default App;\n"],"names":["React","RouterProvider","RouterFragment","routerData","createRouter","Fallback","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","basename","programInfo","routeBaseName","fallback","router","fallbackElement"],"mappings":"oRAAA,OAAOA,UAA2C,OAAQ,AAC1D,QAASC,cAAc,KAAQ,kBAAmB,AAClD,QAASC,cAAc,CAAEC,UAAU,CAAEC,YAAY,KAAQ,6BAA8B,AACvF,QAAOC,aAAc,2BAA4B,CAGjD,IAAMC,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGT,MAAMU,QAAQ,CAC7E,IAAIC,YAAqCX,MAAMU,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AAED,IAAMC,IAA0D,eAG1D,2BAFJC,SAAAA,kCAAWC,YAAYC,aAAa,uCACpCC,SAAAA,kCAAW,oBAACjB,+BAEZ,OACE,oBAACH,oBACC,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACX,gBACCsB,OAAQnB,aAAaD,WAAY,CAC/BgB,SAAUA,QACZ,GACAK,gBAAiBF,aAM7B,CAEA,gBAAeJ,GAAI"}
|
package/lib/packages/site/app.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{
|
|
1
|
+
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}import React from"react";import{RouterProvider}from"react-router-dom";import{RouterFragment,routerData,createRouter}from"../../components/app-router";import Fallback from"../../components/fallback";var I18n=hasLocales?require("i18n-hooks").I18nProvider:React.Fragment;var IDCProvider=React.Fragment,idcProps={};if(hasModels){var idc=require("mini-idc");idcProps={store:idc.rootStore};IDCProvider=idc.Provider}var App=function(){return React.createElement(RouterFragment,null,React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(RouterProvider,{router:createRouter(routerData,{basename:programInfo.routeBaseName}),fallbackElement:React.createElement(Fallback,null)}))))};export default App;
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/packages/site/app.tsx"],"sourcesContent":["import React from 'react';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/site/app.tsx"],"sourcesContent":["import React from 'react';\nimport { RouterProvider } from 'react-router-dom';\nimport { RouterFragment, routerData, createRouter } from '../../components/app-router';\nimport Fallback from '../../components/fallback';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst I18n = hasLocales ? require('i18n-hooks').I18nProvider : React.Fragment;\nlet IDCProvider: typeof React.Fragment = React.Fragment,\n idcProps = {};\n\nif (hasModels) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const idc = require('mini-idc');\n\n idcProps = { store: idc.rootStore };\n IDCProvider = idc.Provider;\n}\nconst App: React.FC = () => {\n return (\n <RouterFragment>\n <I18n>\n <IDCProvider {...idcProps}>\n <RouterProvider\n router={createRouter(routerData, {\n basename: programInfo.routeBaseName,\n })}\n fallbackElement={<Fallback />}\n />\n </IDCProvider>\n </I18n>\n </RouterFragment>\n );\n};\n\nexport default App;\n"],"names":["React","RouterProvider","RouterFragment","routerData","createRouter","Fallback","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","router","basename","programInfo","routeBaseName","fallbackElement"],"mappings":"oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,cAAc,KAAQ,kBAAmB,AAClD,QAASC,cAAc,CAAEC,UAAU,CAAEC,YAAY,KAAQ,6BAA8B,AACvF,QAAOC,aAAc,2BAA4B,CAGjD,IAAMC,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGT,MAAMU,QAAQ,CAC7E,IAAIC,YAAqCX,MAAMU,QAAQ,CACrDE,SAAW,CAAC,EAEd,GAAIC,UAAW,CAEb,IAAMC,IAAMN,QAAQ,YAEpBI,SAAW,CAAEG,MAAOD,IAAIE,SAAS,AAAC,EAClCL,YAAcG,IAAIG,QAAQ,AAC5B,CAAC,AACD,IAAMC,IAAgB,UAAM,CAC1B,OACE,oBAAChB,oBACC,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACX,gBACCkB,OAAQf,aAAaD,WAAY,CAC/BiB,SAAUC,YAAYC,aAAa,AACrC,GACAC,gBAAiB,oBAAClB,mBAM9B,CAEA,gBAAea,GAAI"}
|
package/lib/router/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface RouterProps {
|
|
|
24
24
|
[key: string]: Any;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
export declare
|
|
27
|
+
export declare function lazyImport(filePath: string): import("react").LazyExoticComponent<import("react").ComponentType<any>>;
|
|
28
28
|
export interface ExampleModule {
|
|
29
29
|
soucre: string;
|
|
30
30
|
title?: string;
|
|
@@ -40,5 +40,5 @@ export declare const myDemoKv: Record<string, ExampleModule[]>;
|
|
|
40
40
|
export declare const mdxComponents: MDXComponents;
|
|
41
41
|
export declare const onlyLoginRouter: RouterProps[];
|
|
42
42
|
export declare const router: RouterProps[];
|
|
43
|
-
export declare
|
|
43
|
+
export declare function matchUtil(pathname: string): RouterProps;
|
|
44
44
|
export {};
|
package/lib/router/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import{createElement,lazy}from"react";import{pathToRegexp}from"path-to-regexp";export
|
|
1
|
+
function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_defineProperty(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _objectSpreadProps(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}import{createElement,lazy}from"react";import{pathToRegexp}from"path-to-regexp";export function lazyImport(filePath){return lazy(function(){return import("@/pages/"+filePath.replace(/:/g,"$").replace(/^\//,""))})}export var myPkgs=[];export var myDemoKv={};export var mdxComponents={};function heading(p,level){return createElement("h".concat(level),_objectSpread({"data-prefix":"# ",role:"heading","aria-level":level},p))}function pre(p){var c=createElement("code",p);if(p.className){return createElement(mdxComponents.CodeBlock||"pre",{lang:p.className.replace("language-","").replace(/ .*$/,"")},c)}return c}if(APPTYPE==="library"){var _models_keys,_allDemo_keys;var models=require.context("@pkg/",true,/README\.mdx?$/);var overrideComps={};try{overrideComps=require("@/components/components").default}catch(error){}Object.assign(mdxComponents,_objectSpread({h1:function h1(p){return heading(p,1)},h2:function h2(p){return heading(p,2)},h3:function h3(p){return heading(p,3)},h4:function h4(p){return heading(p,4)},h5:function h5(p){return heading(p,5)},h6:function h6(p){return heading(p,6)},pre:pre},overrideComps));(_models_keys=models.keys())===null||_models_keys===void 0?void 0:_models_keys.forEach(function(item){var key=item.substring(2).split("/").slice(0,-1).join("/");var _models=models(item),basic=_models.basic,Child=_models.default;myPkgs.push(_objectSpreadProps(_objectSpread({key:key,path:key,element:Child},basic),{props:{components:mdxComponents,path:key}}))});var allDemo=require.context("@pkg/",true,/\/examples\/(.+)\.mdx$/);(_allDemo_keys=allDemo.keys())===null||_allDemo_keys===void 0?void 0:_allDemo_keys.forEach(function(e){var _arr_pop;var k=e.substring(2),arr=k.split("/"),name=arr[0];if(!Array.isArray(myDemoKv[name])){myDemoKv[name]=[]}myDemoKv[name].push({soucre:require("@pkg/"+k),title:(_arr_pop=arr.pop())===null||_arr_pop===void 0?void 0:_arr_pop.replace(/\.mdx$/,"")})})}var list=[];try{list=require("@/router").default}catch(error){console.info("自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]",error)}function predixKey(path,prev){return[prev==="*"&&path!=="*"?undefined:prev,path].filter(Boolean).join("/")}var models1=require.context("@/pages/",true,/\.(t|j)sx$/,"lazy");function pathToTree(input){var root=[];for(var i=0;i<input.length;i++){var chain=input[i].split("/").slice(0,-1);var curr=root;for(var j=0;j<chain.length;j++){var pathRule=chain[j];if(pathRule===""){continue}if(pathRule==="."){pathRule="*"}var lastHierarchy=curr;if(Array.isArray(curr)){for(var k=0;k<curr.length;k++){if(curr[k].path===pathRule){curr=curr[k].children;break}}}if(lastHierarchy===curr){var key=j===chain.length-1?input[i]:chain.slice(0,j+1).join("/")+"/";key=key.substring(2,key.lastIndexOf("/"));var node={key:key,path:pathRule,i18n:"route-"+key,children:[],alive:false,element:lazyImport(key),hideMenu:key.includes(":"),props:{path:key}};if(Array.isArray(curr)){curr.push(node)}curr=node.children}}}return root}var routers=pathToTree(models1.keys().map(function(item){return item.replace(/\$/g,":")}));function merge(source,child,prev){var _=source.find(function(item){return item.path===child.path});if(!_){source.push(child)}else{_.key=predixKey(_.path,prev);if(typeof _.i18n==="undefined"){_.i18n="route-"+_.key}if(typeof _.alive==="undefined"){_.alive=false}if(typeof _.element==="undefined"&&child.element){_.element=child.element;_.props=child.props}if(typeof _.hideMenu==="undefined"){_.hideMenu=_.path==="*"?true:_.key.includes(":")}Object.assign(_,_objectSpread({},child,_));if(child.children){var _child_children;if(!_.children&&Array.isArray(child.children)){_.children=child.children}(_child_children=child.children)===null||_child_children===void 0?void 0:_child_children.forEach(function(childData){merge(_===null||_===void 0?void 0:_.children,childData,_===null||_===void 0?void 0:_.key)})}}}function findLogin(){var rs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],onlyLogin=arguments.length>1?arguments[1]:void 0,prevKey=arguments.length>2?arguments[2]:void 0;return rs.map(function(e){var _=_objectSpread({},e);if(typeof _.key==="undefined"){_.key=predixKey(e.path,prevKey)}if(typeof _.i18n==="undefined"){_.i18n="route-"+_.key}if(typeof _.alive==="undefined"){_.alive=false}if(_.path==="*"&&typeof _.hideMenu==="undefined"){_.hideMenu=true}if(Array.isArray(_.children)){_.children=_.children.length?findLogin(_.children,onlyLogin,_.key):undefined}if(!_.element){_.element=lazyImport(_.key);_.props={path:_.key}}return!!_.onlyLogin===onlyLogin&&!_.root?null:_}).filter(Boolean)}var _router=_toConsumableArray(list);routers.forEach(function(item){merge(_router,item)});export var onlyLoginRouter=findLogin(_router,false);export var router=findLogin(_router,true);export function matchUtil(pathname){var p={key:""};function findPath(rs){rs.forEach(function(item){if(item.path&&item.path!=="*"&&item.key){try{if(pathToRegexp(item.key).exec(pathname.substring(1))){p=item;return}}catch(error){}}if(Array.isArray(item.children))findPath(item.children)})}findPath(router);return p}
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/router/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/router/index.ts"],"sourcesContent":["import { createElement, type FC, lazy, type ReactNode } from 'react';\nimport { pathToRegexp } from 'path-to-regexp';\nimport type { KeepAliveProps } from 'react-activation';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Any = any;\n// eslint-disable-next-line no-unused-vars\ntype MDXComponents = Record<string, FC<Any>>;\nexport interface RouterProps {\n key: string;\n alive?: KeepAliveProps | boolean;\n icon?: ReactNode;\n dynamicTitle?: string;\n i18n?: string | null;\n hideMenu?: boolean;\n hideTabs?: boolean;\n onlyLogin?: boolean;\n root?: boolean;\n path?: string;\n element?: ReactNode;\n fallback?: ReactNode;\n /** 可否关闭标签 */\n closable?: boolean;\n children?: RouterProps[];\n props?: {\n path: string;\n components?: MDXComponents;\n [key: string]: Any;\n };\n}\nexport const lazyImport = (filePath: string) => {\n return lazy(\n () =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePath.replace(/:/g, '$').replace(/^\\//, '')\n )\n );\n};\n\nexport interface ExampleModule {\n soucre: string;\n title?: string;\n}\nexport type MyPkg = RouterProps & {\n type: string;\n title: string;\n subtitle?: string;\n icon?: string;\n};\nexport const myPkgs: MyPkg[] = [];\nexport const myDemoKv: Record<string, ExampleModule[]> = {};\nexport const mdxComponents: MDXComponents = {};\nif (APPTYPE === 'library') {\n const models = require.context('@pkg/', true, /README\\.mdx?$/);\n let overrideComps: MDXComponents = {};\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n overrideComps = require('@/components/components').default;\n } catch (error) {\n /* empty */\n }\n const heading = (p: Any, level: number) =>\n createElement(`h${level}`, {\n 'data-prefix': '# ',\n role: 'heading',\n 'aria-level': level,\n ...p,\n });\n\n Object.assign(mdxComponents, {\n h1: (p: Any) => heading(p, 1),\n h2: (p: Any) => heading(p, 2),\n h3: (p: Any) => heading(p, 3),\n h4: (p: Any) => heading(p, 4),\n h5: (p: Any) => heading(p, 5),\n h6: (p: Any) => heading(p, 6),\n pre: (p: Any) => {\n const c = createElement('code', p);\n\n if (p.className) {\n return createElement(\n overrideComps.CodeBlock || 'pre',\n { lang: p.className.replace('language-', '').replace(/ .*$/, '') },\n c\n );\n }\n return c;\n },\n ...overrideComps,\n });\n\n models.keys()?.forEach((item: string) => {\n const key = item.substring(2).split('/').slice(0, -1).join('/');\n const { basic, default: Child } = models(item);\n\n myPkgs.push({\n key: key,\n path: key,\n element: Child,\n ...basic,\n props: {\n components: mdxComponents,\n path: key,\n },\n });\n });\n\n const allDemo = require.context('@pkg/', true, /\\/examples\\/(.+)\\.mdx$/);\n\n allDemo.keys()?.forEach((e: string) => {\n const k = e.substring(2),\n arr = k.split('/'),\n name = arr[0];\n\n if (!Array.isArray(myDemoKv[name])) {\n myDemoKv[name] = [];\n }\n\n myDemoKv[name].push({\n soucre: require('@pkg/' + k),\n title: arr.pop()?.replace(/\\.mdx$/, ''),\n });\n });\n}\n\nlet list: RouterProps[] = [];\n\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n list = require('@/router').default;\n} catch (error) {\n // eslint-disable-next-line no-console\n console.info('自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]', error);\n}\nconst predixKey = (path?: string, prev?: string) =>\n // eslint-disable-next-line no-undefined\n [prev === '*' && path !== '*' ? undefined : prev, path].filter(Boolean).join('/');\n\nconst models = require.context('@/pages/', true, /\\.(t|j)sx$/, 'lazy');\n\nconst pathToTree = (input: string[]) => {\n const root: RouterProps[] = [];\n\n for (let i = 0; i < input.length; i++) {\n const chain = input[i].split('/').slice(0, -1);\n let curr = root;\n\n for (let j = 0; j < chain.length; j++) {\n let pathRule = chain[j];\n\n if (pathRule === '') continue;\n if (pathRule === '.') pathRule = '*';\n const lastHierarchy = curr;\n\n // 遍历root是否已有该层级\n if (Array.isArray(curr)) {\n for (let k = 0; k < curr.length; k++) {\n if (curr[k].path === pathRule) {\n curr = curr[k].children as RouterProps[];\n break;\n }\n }\n }\n\n if (lastHierarchy === curr) {\n let key: string = j === chain.length - 1 ? input[i] : chain.slice(0, j + 1).join('/') + '/';\n\n // 截取最后一个 / 前面的数据\n key = key.substring(2, key.lastIndexOf('/'));\n\n const node: RouterProps = {\n key: key,\n path: pathRule,\n i18n: 'route-' + key,\n children: [],\n alive: false,\n element: lazyImport(key) as unknown as ReactNode,\n hideMenu: key.includes(':'),\n props: { path: key },\n };\n\n // 文件,最后一个字符不是\"/“符号\n // if (j === chain.length - 1) delete node.children;\n if (Array.isArray(curr)) curr.push(node);\n curr = node.children as RouterProps[];\n }\n }\n }\n\n return root;\n};\nconst routers: RouterProps[] = pathToTree(\n models.keys().map((item: string) => item.replace(/\\$/g, ':'))\n);\n\nfunction merge(source: RouterProps[], child: RouterProps, prev?: string) {\n const _ = source.find((item) => item.path === child.path);\n\n if (!_) {\n source.push(child);\n } else {\n // 处理key\n _.key = predixKey(_.path, prev);\n if (typeof _.i18n === 'undefined') {\n _.i18n = 'route-' + _.key;\n }\n if (typeof _.alive === 'undefined') {\n _.alive = false;\n }\n if (typeof _.element === 'undefined' && child.element) {\n _.element = child.element;\n _.props = child.props;\n }\n if (typeof _.hideMenu === 'undefined') {\n _.hideMenu = _.path === '*' ? true : _.key.includes(':');\n }\n\n Object.assign(_, {\n ...child,\n ..._,\n });\n if (child.children) {\n if (!_.children && Array.isArray(child.children)) {\n _.children = child.children;\n }\n child.children?.forEach((childData) => {\n merge(_?.children as RouterProps[], childData, _?.key);\n });\n }\n }\n}\nconst findLogin = (rs: RouterProps[] = [], onlyLogin: boolean, prevKey?: string): RouterProps[] => {\n return rs\n .map((e) => {\n const _ = { ...e };\n\n if (typeof _.key === 'undefined') {\n _.key = predixKey(e.path, prevKey);\n }\n if (typeof _.i18n === 'undefined') {\n _.i18n = 'route-' + _.key;\n }\n if (typeof _.alive === 'undefined') {\n _.alive = false;\n }\n if (_.path === '*' && typeof _.hideMenu === 'undefined') {\n _.hideMenu = true;\n }\n if (Array.isArray(_.children)) {\n // eslint-disable-next-line no-undefined\n _.children = _.children.length ? findLogin(_.children, onlyLogin, _.key) : undefined;\n }\n if (!_.element) {\n _.element = lazyImport(_.key) as unknown as ReactNode;\n _.props = { path: _.key };\n }\n return !!_.onlyLogin === onlyLogin && !_.root ? null : _;\n })\n .filter(Boolean) as RouterProps[];\n};\nconst _router: RouterProps[] = [...list];\n\nrouters.forEach((item: RouterProps) => merge(_router, item));\n\n/* 登录前注册的路由 */\nexport const onlyLoginRouter = findLogin(_router, false);\n/* 登录后注册的路由 */\nexport const router = findLogin(_router, true);\n\nexport const matchUtil = (pathname: string) => {\n let p: RouterProps = { key: '' };\n const findPath = (rs: RouterProps[]): void => {\n rs.forEach((item) => {\n if (item.path && item.path !== '*' && item.key) {\n try {\n if (pathToRegexp(item.key).exec(pathname.substring(1) as string)) {\n p = item;\n return;\n }\n // eslint-disable-next-line no-empty\n } catch (error) {}\n }\n if (Array.isArray(item.children)) findPath(item.children);\n });\n };\n\n findPath(router);\n return p;\n};\n"],"names":["createElement","lazy","pathToRegexp","lazyImport","filePath","replace","myPkgs","myDemoKv","mdxComponents","APPTYPE","models","allDemo","require","context","overrideComps","default","error","heading","p","level","role","Object","assign","h1","h2","h3","h4","h5","h6","pre","c","className","CodeBlock","lang","keys","forEach","item","key","substring","split","slice","join","basic","Child","push","path","element","props","components","e","arr","k","name","Array","isArray","soucre","title","pop","list","console","info","predixKey","prev","undefined","filter","Boolean","pathToTree","input","root","i","length","chain","curr","j","pathRule","lastHierarchy","children","lastIndexOf","node","i18n","alive","hideMenu","includes","routers","map","merge","source","child","_","find","childData","findLogin","rs","onlyLogin","prevKey","_router","onlyLoginRouter","router","matchUtil","pathname","findPath","exec"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/router/index.ts"],"sourcesContent":["import { createElement, type FC, lazy, type ReactNode } from 'react';\nimport { pathToRegexp } from 'path-to-regexp';\nimport type { KeepAliveProps } from 'react-activation';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Any = any;\n// eslint-disable-next-line no-unused-vars\ntype MDXComponents = Record<string, FC<Any>>;\nexport interface RouterProps {\n key: string;\n alive?: KeepAliveProps | boolean;\n icon?: ReactNode;\n dynamicTitle?: string;\n i18n?: string | null;\n hideMenu?: boolean;\n hideTabs?: boolean;\n onlyLogin?: boolean;\n root?: boolean;\n path?: string;\n element?: ReactNode;\n fallback?: ReactNode;\n /** 可否关闭标签 */\n closable?: boolean;\n children?: RouterProps[];\n props?: {\n path: string;\n components?: MDXComponents;\n [key: string]: Any;\n };\n}\nexport function lazyImport(filePath: string) {\n return lazy(function () {\n return import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePath.replace(/:/g, '$').replace(/^\\//, '')\n );\n });\n}\n\nexport interface ExampleModule {\n soucre: string;\n title?: string;\n}\nexport type MyPkg = RouterProps & {\n type: string;\n title: string;\n subtitle?: string;\n icon?: string;\n};\nexport const myPkgs: MyPkg[] = [];\nexport const myDemoKv: Record<string, ExampleModule[]> = {};\nexport const mdxComponents: MDXComponents = {};\n\nfunction heading(p: Any, level: number) {\n return createElement(`h${level}`, {\n 'data-prefix': '# ',\n role: 'heading',\n 'aria-level': level,\n ...p,\n });\n}\nfunction pre(p: Any) {\n const c = createElement('code', p);\n\n if (p.className) {\n return createElement(\n mdxComponents.CodeBlock || 'pre',\n { lang: p.className.replace('language-', '').replace(/ .*$/, '') },\n c\n );\n }\n return c;\n}\nif (APPTYPE === 'library') {\n const models = require.context('@pkg/', true, /README\\.mdx?$/);\n let overrideComps: MDXComponents = {};\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n overrideComps = require('@/components/components').default;\n } catch (error) {\n /* empty */\n }\n\n Object.assign(mdxComponents, {\n h1: function (p: Any) {\n return heading(p, 1);\n },\n h2: function (p: Any) {\n return heading(p, 2);\n },\n h3: function (p: Any) {\n return heading(p, 3);\n },\n h4: function (p: Any) {\n return heading(p, 4);\n },\n h5: function (p: Any) {\n return heading(p, 5);\n },\n h6: function (p: Any) {\n return heading(p, 6);\n },\n pre: pre,\n ...overrideComps,\n });\n\n models.keys()?.forEach(function (item: string) {\n const key = item.substring(2).split('/').slice(0, -1).join('/');\n const { basic, default: Child } = models(item);\n\n myPkgs.push({\n key: key,\n path: key,\n element: Child,\n ...basic,\n props: {\n components: mdxComponents,\n path: key,\n },\n });\n });\n\n const allDemo = require.context('@pkg/', true, /\\/examples\\/(.+)\\.mdx$/);\n\n allDemo.keys()?.forEach(function (e: string) {\n const k = e.substring(2),\n arr = k.split('/'),\n name = arr[0];\n\n if (!Array.isArray(myDemoKv[name])) {\n myDemoKv[name] = [];\n }\n\n myDemoKv[name].push({\n soucre: require('@pkg/' + k),\n title: arr.pop()?.replace(/\\.mdx$/, ''),\n });\n });\n}\n\nlet list: RouterProps[] = [];\n\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n list = require('@/router').default;\n} catch (error) {\n // eslint-disable-next-line no-console\n console.info('自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]', error);\n}\nfunction predixKey(path?: string, prev?: string) {\n // eslint-disable-next-line no-undefined\n return [prev === '*' && path !== '*' ? undefined : prev, path].filter(Boolean).join('/');\n}\n\nconst models = require.context('@/pages/', true, /\\.(t|j)sx$/, 'lazy');\n\nfunction pathToTree(input: string[]) {\n const root: RouterProps[] = [];\n\n for (let i = 0; i < input.length; i++) {\n const chain = input[i].split('/').slice(0, -1);\n let curr = root;\n\n for (let j = 0; j < chain.length; j++) {\n let pathRule = chain[j];\n\n if (pathRule === '') {\n continue;\n }\n if (pathRule === '.') {\n pathRule = '*';\n }\n const lastHierarchy = curr;\n\n // 遍历root是否已有该层级\n if (Array.isArray(curr)) {\n for (let k = 0; k < curr.length; k++) {\n if (curr[k].path === pathRule) {\n curr = curr[k].children as RouterProps[];\n break;\n }\n }\n }\n\n if (lastHierarchy === curr) {\n let key: string = j === chain.length - 1 ? input[i] : chain.slice(0, j + 1).join('/') + '/';\n\n // 截取最后一个 / 前面的数据\n key = key.substring(2, key.lastIndexOf('/'));\n\n const node: RouterProps = {\n key: key,\n path: pathRule,\n i18n: 'route-' + key,\n children: [],\n alive: false,\n element: lazyImport(key) as unknown as ReactNode,\n hideMenu: key.includes(':'),\n props: { path: key },\n };\n\n // 文件,最后一个字符不是\"/“符号\n // if (j === chain.length - 1) delete node.children;\n if (Array.isArray(curr)) {\n curr.push(node);\n }\n curr = node.children as RouterProps[];\n }\n }\n }\n\n return root;\n}\nconst routers: RouterProps[] = pathToTree(\n models.keys().map(function (item: string) {\n return item.replace(/\\$/g, ':');\n })\n);\n\nfunction merge(source: RouterProps[], child: RouterProps, prev?: string) {\n const _ = source.find(function (item) {\n return item.path === child.path;\n });\n\n if (!_) {\n source.push(child);\n } else {\n // 处理key\n _.key = predixKey(_.path, prev);\n if (typeof _.i18n === 'undefined') {\n _.i18n = 'route-' + _.key;\n }\n if (typeof _.alive === 'undefined') {\n _.alive = false;\n }\n if (typeof _.element === 'undefined' && child.element) {\n _.element = child.element;\n _.props = child.props;\n }\n if (typeof _.hideMenu === 'undefined') {\n _.hideMenu = _.path === '*' ? true : _.key.includes(':');\n }\n\n Object.assign(_, {\n ...child,\n ..._,\n });\n if (child.children) {\n if (!_.children && Array.isArray(child.children)) {\n _.children = child.children;\n }\n child.children?.forEach(function (childData) {\n merge(_?.children as RouterProps[], childData, _?.key);\n });\n }\n }\n}\nfunction findLogin(rs: RouterProps[] = [], onlyLogin: boolean, prevKey?: string): RouterProps[] {\n return rs\n .map(function (e) {\n const _ = { ...e };\n\n if (typeof _.key === 'undefined') {\n _.key = predixKey(e.path, prevKey);\n }\n if (typeof _.i18n === 'undefined') {\n _.i18n = 'route-' + _.key;\n }\n if (typeof _.alive === 'undefined') {\n _.alive = false;\n }\n if (_.path === '*' && typeof _.hideMenu === 'undefined') {\n _.hideMenu = true;\n }\n if (Array.isArray(_.children)) {\n // eslint-disable-next-line no-undefined\n _.children = _.children.length ? findLogin(_.children, onlyLogin, _.key) : undefined;\n }\n if (!_.element) {\n _.element = lazyImport(_.key) as unknown as ReactNode;\n _.props = { path: _.key };\n }\n return !!_.onlyLogin === onlyLogin && !_.root ? null : _;\n })\n .filter(Boolean) as RouterProps[];\n}\nconst _router: RouterProps[] = [...list];\n\nrouters.forEach(function (item: RouterProps) {\n merge(_router, item);\n});\n\n/* 登录前注册的路由 */\nexport const onlyLoginRouter = findLogin(_router, false);\n/* 登录后注册的路由 */\nexport const router = findLogin(_router, true);\n\nexport function matchUtil(pathname: string) {\n let p: RouterProps = { key: '' };\n\n function findPath(rs: RouterProps[]) {\n rs.forEach(function (item) {\n if (item.path && item.path !== '*' && item.key) {\n try {\n if (pathToRegexp(item.key).exec(pathname.substring(1) as string)) {\n p = item;\n return;\n }\n } catch (error) {\n /* empty */\n }\n }\n if (Array.isArray(item.children)) findPath(item.children);\n });\n }\n\n findPath(router);\n return p;\n}\n"],"names":["createElement","lazy","pathToRegexp","lazyImport","filePath","replace","myPkgs","myDemoKv","mdxComponents","heading","p","level","role","pre","c","className","CodeBlock","lang","APPTYPE","models","allDemo","require","context","overrideComps","default","error","Object","assign","h1","h2","h3","h4","h5","h6","keys","forEach","item","key","substring","split","slice","join","basic","Child","push","path","element","props","components","e","arr","k","name","Array","isArray","soucre","title","pop","list","console","info","predixKey","prev","undefined","filter","Boolean","pathToTree","input","root","i","length","chain","curr","j","pathRule","lastHierarchy","children","lastIndexOf","node","i18n","alive","hideMenu","includes","routers","map","merge","source","child","_","find","childData","findLogin","rs","onlyLogin","prevKey","_router","onlyLoginRouter","router","matchUtil","pathname","findPath","exec"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@emotion/css": "11.10.5",
|
|
19
19
|
"@mapbox/rehype-prism": "0.8.0",
|
|
20
|
-
"@mdx-js/loader": "2.
|
|
20
|
+
"@mdx-js/loader": "2.3.0",
|
|
21
21
|
"@moneko/common": "1.0.11",
|
|
22
22
|
"@parcel/css": "1.14.0",
|
|
23
23
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|
|
24
24
|
"@soda/friendly-errors-webpack-plugin": "1.8.1",
|
|
25
|
-
"@swc/core": "1.3.
|
|
25
|
+
"@swc/core": "1.3.35",
|
|
26
26
|
"@swc/helpers": "0.4.14",
|
|
27
27
|
"@swc/plugin-transform-imports": "1.5.41",
|
|
28
28
|
"add-asset-html-webpack-plugin": "5.0.2",
|
|
29
|
-
"core-js": "3.
|
|
29
|
+
"core-js": "3.28.0",
|
|
30
30
|
"cross-env": "7.0.3",
|
|
31
31
|
"css-loader": "6.7.3",
|
|
32
32
|
"css-minimizer-webpack-plugin": "4.2.2",
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"i18n-hooks": "1.0.16",
|
|
38
38
|
"less": "4.1.3",
|
|
39
39
|
"less-loader": "11.1.0",
|
|
40
|
-
"mini-css-extract-plugin": "2.
|
|
40
|
+
"mini-css-extract-plugin": "2.7.2",
|
|
41
41
|
"mini-idc": "1.0.17",
|
|
42
42
|
"mini-svg-data-uri": "1.4.4",
|
|
43
43
|
"path-to-regexp": "6.2.1",
|
|
44
44
|
"portfinder": "1.0.32",
|
|
45
45
|
"react-activation": "0.12.2",
|
|
46
46
|
"react-refresh": "0.14.0",
|
|
47
|
-
"react-refresh-typescript": "2.0.
|
|
48
|
-
"react-router": "6.
|
|
49
|
-
"react-router-dom": "6.
|
|
47
|
+
"react-refresh-typescript": "2.0.8",
|
|
48
|
+
"react-router": "6.8.1",
|
|
49
|
+
"react-router-dom": "6.8.1",
|
|
50
50
|
"rehype-accessible-emojis": "0.3.2",
|
|
51
51
|
"rehype-figure": "1.0.1",
|
|
52
52
|
"style-loader": "3.3.1",
|
|
@@ -55,9 +55,8 @@
|
|
|
55
55
|
"ts-import-plugin": "2.0.0",
|
|
56
56
|
"ts-loader": "9.4.2",
|
|
57
57
|
"typescript": "4.9.5",
|
|
58
|
-
"webfontloader": "1.6.28",
|
|
59
58
|
"webpack": "5.75.0",
|
|
60
|
-
"webpack-bundle-analyzer": "4.
|
|
59
|
+
"webpack-bundle-analyzer": "4.8.0",
|
|
61
60
|
"webpack-cli": "5.0.1",
|
|
62
61
|
"webpack-dev-server": "4.11.1",
|
|
63
62
|
"webpack-merge": "5.8.0",
|
|
@@ -71,7 +70,6 @@
|
|
|
71
70
|
"@types/react-dom": "^18.0.6",
|
|
72
71
|
"@types/react-router-dom": "^5.3.3",
|
|
73
72
|
"@types/shelljs": "^0.8.11",
|
|
74
|
-
"@types/webfontloader": "^1.6.34",
|
|
75
73
|
"@types/webpack-bundle-analyzer": "^4.6.0",
|
|
76
74
|
"@types/webpack-env": "^1.18.0",
|
|
77
75
|
"antd": "4.20.2",
|
package/typings/global.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
|
2
|
-
import type { Options } from 'ts-import-plugin';
|
|
3
|
-
import type { RuleSetRule, WebpackPluginInstance, Configuration } from 'webpack';
|
|
4
|
-
import type { ProxyArray, ProxyConfigArray, ProxyConfigMap } from 'webpack-dev-server';
|
|
5
|
-
import type { JsMinifyOptions } from '@swc/core';
|
|
6
|
-
import type { MinifyOptions } from 'terser';
|
|
7
2
|
import { Options as AssetHtmlOptions } from 'add-asset-html-webpack-plugin';
|
|
8
3
|
import { Options as HtmlWebpackPluginOptions } from 'html-webpack-plugin';
|
|
9
|
-
import type { WebpackConfiguration } from 'webpack-dev-server';
|
|
10
|
-
import type { Config as SwcConfig } from '@swc/core';
|
|
11
4
|
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
|
|
5
|
+
import type { JsMinifyOptions, Config as SwcConfig } from '@swc/core';
|
|
6
|
+
import type { MinifyOptions } from 'terser';
|
|
7
|
+
import type { Options } from 'ts-import-plugin';
|
|
8
|
+
import type { RuleSetRule, WebpackPluginInstance, Configuration } from 'webpack';
|
|
9
|
+
import type {
|
|
10
|
+
ProxyArray,
|
|
11
|
+
ProxyConfigArray,
|
|
12
|
+
ProxyConfigMap,
|
|
13
|
+
WebpackConfiguration,
|
|
14
|
+
} from 'webpack-dev-server';
|
|
12
15
|
|
|
13
16
|
export type MinifierType = 'swc' | 'terser';
|
|
14
17
|
export declare type AppType =
|
|
@@ -147,8 +150,6 @@ export declare type ConfigType<T = 'tsc'> = {
|
|
|
147
150
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
148
151
|
name?: string | Function;
|
|
149
152
|
};
|
|
150
|
-
/** 通过Web字体加载加载的字体 */
|
|
151
|
-
webFontLoader: string[];
|
|
152
153
|
/** 编译输出路径 */
|
|
153
154
|
output?: Omit<WebpackConfiguration['output'], 'publishPath'> | string;
|
|
154
155
|
/** 模块联邦 */
|