@moneko/core 2.0.0-beta.43 → 2.0.0-beta.45
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/webpack.common.js +1 -1
- 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.map +1 -1
- package/lib/router/index.d.ts +9 -1
- package/lib/router/index.js +1 -1
- package/lib/router/index.js.map +1 -1
- package/package.json +1 -3
package/build/webpack.common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _path=_interopRequireDefault(require("path"));var _fs=_interopRequireDefault(require("fs"));var _htmlWebpackPlugin=_interopRequireDefault(require("html-webpack-plugin"));var _webpack=require("webpack");var _webpackbar=_interopRequireDefault(require("webpackbar"));var _common=require("./common");var _moduleConfig=_interopRequireDefault(require("./module.config"));var _envFlags=_interopRequireDefault(require("./envFlags"));var _addAssetHtmlWebpackPlugin=_interopRequireDefault(require("add-asset-html-webpack-plugin"));var _htmlAddEntryAttr=_interopRequireDefault(require("./html-add-entry-attr"));var _moduleFederation=require("./module-federation");var _processEnv=require("./process-env");var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));var _utils=require("./utils");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 _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default: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 _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)}var eslintrc=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"];var stylelintrc=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"];var rootFiles=_fs.default.readdirSync(_processEnv.PROGRAMPATH);var hasEslint=false,hasStylelint=false;for(var i=0,len=rootFiles.length;i<len;i++){if(stylelintrc.includes(rootFiles[i])){hasStylelint=true}if(eslintrc.includes(rootFiles[i])){hasEslint=true}}if(!hasEslint){hasEslint=_processEnv.hasEslintConfig}if(!hasStylelint){hasStylelint=_processEnv.hasStylelintConfig}var StylelintPlugin=hasStylelint?require("stylelint-webpack-plugin"):null;var ESLintPlugin=hasEslint?require("eslint-webpack-plugin"):null;var alias={"@":(0,_utils.resolveProgramPath)("src")};Object.assign(alias,_common.CONFIG.alias);if(_processEnv.APPTYPE==="library"){Object.assign(alias,_defineProperty({"@":(0,_utils.resolveProgramPath)("site"),"@pkg":(0,_utils.resolveProgramPath)("components")},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("components")))}var assetHtmlOption=_common.CONFIG.assetHtml.map(function(item){return _objectSpread({publicPath:""},item)});var outputConfig={path:(0,_utils.resolveProgramPath)(_processEnv.APPTYPE==="library"?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:"js/[name].chunk.js",assetModuleFilename:"assets/[name].[hash][ext]",library:_processEnv.PACKAGENAME,libraryTarget:"window",globalObject:"window",chunkLoadingGlobal:"webpackJsonp_".concat(_processEnv.PACKAGENAME),pathinfo:false,clean:true,publicPath:_common.PUBLICPATH};var mainEntry=_path.default.join(__dirname,"../lib/packages/".concat(_common.ENTRYPATH[_processEnv.APPTYPE],"/index.js"));if(_processEnv.APPTYPE==="single-component"){Object.assign(alias,_defineProperty({},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("umd")));mainEntry=(0,_utils.resolveProgramPath)(_processEnv.DEV?"example/index.ts":"src/index.ts");outputConfig.path=(0,_utils.resolveProgramPath)(_processEnv.DEV?"dist":"umd");outputConfig.filename="index.js";outputConfig.library=_processEnv.PACKAGENAME;outputConfig.libraryTarget="umd";outputConfig.libraryExport="default"}var entryMap={main:mainEntry};if(_common.CONFIG.entry){if(typeof _common.CONFIG.entry==="string"){entryMap=_common.CONFIG.entry}else if(Object.keys(_common.CONFIG.entry)){Object.assign(entryMap,_common.CONFIG.entry)}}if(_common.CONFIG.output){if(typeof _common.CONFIG.output==="string"){outputConfig.path=_common.CONFIG.output}else if(Object.keys(_common.CONFIG.output)){Object.assign(outputConfig,_common.CONFIG.output)}}var config={entry:entryMap,stats:"errors-only",infrastructureLogging:{level:"none"},target:"web",plugins:[new _webpack.AutomaticPrefetchPlugin].concat(_toConsumableArray(_moduleFederation.moduleFederation),[ESLintPlugin&&new ESLintPlugin({threads:true,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),StylelintPlugin&&new StylelintPlugin({fix:true,threads:true,extensions:["css","less"]}),new _htmlWebpackPlugin.default(_htmlPluginOption.default),new _addAssetHtmlWebpackPlugin.default(assetHtmlOption),_processEnv.APPTYPE==="single-spa"&&new _htmlAddEntryAttr.default(function(src){return!!(src.match(/main\.(.*)\.bundle.js$/)||src.match("main.bundle.js"))}),new _webpack.DefinePlugin(_envFlags.default),new _webpack.WatchIgnorePlugin({paths:[/\.d\.ts$/]}),_common.CONFIG.sourceMap&&new _webpack.SourceMapDevToolPlugin(_common.CONFIG.sourceMap),new _webpackbar.default({name:"编译中",color:"#6f42c1"})],_toConsumableArray(_common.CONFIG.plugins)).filter(Boolean),experiments:{topLevelAwait:true,syncWebAssembly:true,asyncWebAssembly:true},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:alias,fallback:{path:false,fs:false,crypto:false}},module:_moduleConfig.default,externals:_common.CONFIG.externals,output:outputConfig};var _default=config;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _path=_interopRequireDefault(require("path"));var _fs=_interopRequireDefault(require("fs"));var _htmlWebpackPlugin=_interopRequireDefault(require("html-webpack-plugin"));var _webpack=require("webpack");var _webpackbar=_interopRequireDefault(require("webpackbar"));var _common=require("./common");var _moduleConfig=_interopRequireDefault(require("./module.config"));var _envFlags=_interopRequireDefault(require("./envFlags"));var _addAssetHtmlWebpackPlugin=_interopRequireDefault(require("add-asset-html-webpack-plugin"));var _htmlAddEntryAttr=_interopRequireDefault(require("./html-add-entry-attr"));var _moduleFederation=require("./module-federation");var _processEnv=require("./process-env");var _htmlPluginOption=_interopRequireDefault(require("./html-plugin-option"));var _utils=require("./utils");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 _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default: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 _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)}var eslintrc=[".eslintrc.js",".eslintrc.json",".eslintrc.yaml",".eslintrc.json"];var stylelintrc=[".stylelintrc",".stylelintrc.json",".stylelintrc.yaml",".stylelintrc.yml",".stylelintrc.js","stylelint.config.js","stylelint.config.cjs"];var rootFiles=_fs.default.readdirSync(_processEnv.PROGRAMPATH);var hasEslint=false,hasStylelint=false;for(var i=0,len=rootFiles.length;i<len;i++){if(stylelintrc.includes(rootFiles[i])){hasStylelint=true}if(eslintrc.includes(rootFiles[i])){hasEslint=true}}if(!hasEslint){hasEslint=_processEnv.hasEslintConfig}if(!hasStylelint){hasStylelint=_processEnv.hasStylelintConfig}var StylelintPlugin=hasStylelint?require("stylelint-webpack-plugin"):null;var ESLintPlugin=hasEslint?require("eslint-webpack-plugin"):null;var alias={"@":(0,_utils.resolveProgramPath)("src")};Object.assign(alias,_common.CONFIG.alias);if(_processEnv.APPTYPE==="library"){Object.assign(alias,_defineProperty({"@":(0,_utils.resolveProgramPath)("site"),"@pkg":(0,_utils.resolveProgramPath)("components")},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("components")))}var assetHtmlOption=_common.CONFIG.assetHtml.map(function(item){return _objectSpread({publicPath:""},item)});var outputConfig={path:(0,_utils.resolveProgramPath)(_processEnv.APPTYPE==="library"?"docs":"dist"),filename:"js/[name].bundle.js",chunkFilename:"js/[name].chunk.js",assetModuleFilename:"assets/[name].[hash][ext]",library:_processEnv.PACKAGENAME,libraryTarget:"window",globalObject:"window",chunkLoadingGlobal:"webpackJsonp_".concat(_processEnv.PACKAGENAME),pathinfo:false,clean:true,publicPath:_common.PUBLICPATH};var mainEntry=_path.default.join(__dirname,"../lib/packages/".concat(_common.ENTRYPATH[_processEnv.APPTYPE],"/index.js"));if(_processEnv.APPTYPE==="single-component"){Object.assign(alias,_defineProperty({},_processEnv.PACKAGENAME,(0,_utils.resolveProgramPath)("umd")));mainEntry=(0,_utils.resolveProgramPath)(_processEnv.DEV?"example/index.ts":"src/index.ts");outputConfig.path=(0,_utils.resolveProgramPath)(_processEnv.DEV?"dist":"umd");outputConfig.filename="index.js";outputConfig.library=_processEnv.PACKAGENAME;outputConfig.libraryTarget="umd";outputConfig.libraryExport="default"}var entryMap={main:mainEntry};if(_common.CONFIG.entry){if(typeof _common.CONFIG.entry==="string"){entryMap=_common.CONFIG.entry}else if(Object.keys(_common.CONFIG.entry)){Object.assign(entryMap,_common.CONFIG.entry)}}if(_common.CONFIG.output){if(typeof _common.CONFIG.output==="string"){outputConfig.path=_common.CONFIG.output}else if(Object.keys(_common.CONFIG.output)){Object.assign(outputConfig,_common.CONFIG.output)}}var config={entry:entryMap,stats:"errors-only",infrastructureLogging:{level:"none"},target:"web",plugins:[new _webpack.AutomaticPrefetchPlugin].concat(_toConsumableArray(_moduleFederation.moduleFederation),[ESLintPlugin&&new ESLintPlugin({threads:true,extensions:["js","md","mdx","cjs","ejs","mjs","jsx","ts","tsx","json","html","coffee","vue"]}),StylelintPlugin&&new StylelintPlugin({fix:true,threads:true,extensions:["css","less"]}),new _htmlWebpackPlugin.default(_htmlPluginOption.default),new _addAssetHtmlWebpackPlugin.default(assetHtmlOption),_processEnv.APPTYPE==="single-spa"&&new _htmlAddEntryAttr.default(function(src){return!!(src.match(/main\.(.*)\.bundle.js$/)||src.match("main.bundle.js"))}),new _webpack.DefinePlugin(_envFlags.default),new _webpack.WatchIgnorePlugin({paths:[/\.d\.ts$/]}),_common.CONFIG.sourceMap&&new _webpack.SourceMapDevToolPlugin(_common.CONFIG.sourceMap),new _webpackbar.default({name:"编译中",color:"#6f42c1"})],_toConsumableArray(_common.CONFIG.plugins)).filter(Boolean),experiments:{topLevelAwait:true,syncWebAssembly:true,asyncWebAssembly:true},resolve:{extensions:[".tsx",".ts",".js",".jsx"],alias:alias,fallback:{path:false,fs:false,crypto:false,assert:false}},module:_moduleConfig.default,externals:_common.CONFIG.externals,output:outputConfig};var _default=config;
|
|
@@ -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,{Suspense,useCallback,useEffect}from"react";import{useRoutes}from"react-router-dom";import{AliveScope,KeepAlive,useAliveController}from"react-activation";import Fallback from"../fallback";import{isEqual}from"@moneko/common";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),
|
|
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,memo,useCallback,useEffect}from"react";import{useRoutes}from"react-router-dom";import{AliveScope,KeepAlive,useAliveController}from"react-activation";import Fallback from"../fallback";import{isEqual}from"@moneko/common";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,Fragment=ReactFragment;var AppRoute=function(param){var router=param.router,_param_fallback=param.fallback,fallback=_param_fallback===void 0?React.createElement(Fallback,null):_param_fallback;var prefixRouter=useCallback(function(list){return list.map(function(r){var _=_objectSpread({},r);if(!!_.alive&&!existKeepAlive){existKeepAlive=true;Fragment=AliveScope}if(_.element&&!!_.alive){var aliveProps={name:_.key};if(Object.prototype.toString.call(_.alive)==="[object Object]"){Object.assign(aliveProps,_.alive)}_.element=createElement(PrefixKeepAlive,aliveProps,_.element)}if(_.element){_.element=React.createElement(Suspense,{fallback:r.fallback||fallback},cloneElement(_.element,{path:_.key}))}if(Array.isArray(_.children)){_.children=prefixRouter(_.children)}return _})},[fallback]);var routers=useRoutes(prefixRouter(router));return React.createElement(Fragment,null,routers)};export default memo(AppRoute,function(pre,next){return isEqual(pre.router,next.router)});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/app-router/index.tsx"],"sourcesContent":["import React, { Suspense
|
|
1
|
+
{"version":3,"sources":["../../../src/components/app-router/index.tsx"],"sourcesContent":["import React, {\n FC,\n Fragment as ReactFragment,\n Suspense,\n cloneElement,\n createElement,\n memo,\n useCallback,\n useEffect,\n} from 'react';\nimport { useRoutes } from 'react-router-dom';\nimport { AliveScope, KeepAlive, useAliveController } from 'react-activation';\nimport Fallback from '../fallback';\nimport type { ReactNode, ReactElement } from 'react';\nimport type { KeepAliveProps } from 'react-activation';\nimport type { RouterProps } from '../../router';\nimport { isEqual } from '@moneko/common';\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\ninterface AppRouterProps {\n router: RouterProps[];\n fallback?: ReactNode;\n}\nlet existKeepAlive = false,\n Fragment: typeof ReactFragment | typeof AliveScope = ReactFragment;\nconst AppRoute: FC<AppRouterProps> = ({ router, fallback = <Fallback /> }) => {\n const prefixRouter = useCallback(\n (list: RouterProps[]) => {\n return list.map((r) => {\n const _ = { ...r };\n\n if (!!_.alive && !existKeepAlive) {\n existKeepAlive = true;\n Fragment = AliveScope;\n }\n if (_.element && !!_.alive) {\n const aliveProps: Partial<KeepAliveProps> = {\n name: _.key,\n };\n\n if (Object.prototype.toString.call(_.alive) === '[object Object]') {\n Object.assign(aliveProps, _.alive);\n }\n _.element = createElement(PrefixKeepAlive, aliveProps, _.element);\n }\n if (_.element) {\n _.element = (\n <Suspense fallback={r.fallback || fallback}>\n {cloneElement(_.element as ReactElement, {\n path: _.key,\n })}\n </Suspense>\n );\n }\n\n if (Array.isArray(_.children)) {\n _.children = prefixRouter(_.children);\n }\n\n return _;\n });\n },\n [fallback]\n );\n const routers = useRoutes(prefixRouter(router));\n\n return <Fragment>{routers}</Fragment>;\n};\n\nexport default memo(AppRoute, (pre, next) => isEqual(pre.router, next.router));\n"],"names":["React","Fragment","ReactFragment","Suspense","cloneElement","createElement","memo","useCallback","useEffect","useRoutes","AliveScope","KeepAlive","useAliveController","Fallback","isEqual","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","AppRoute","router","fallback","prefixRouter","list","map","r","_","alive","element","aliveProps","key","prototype","toString","call","Array","isArray","routers","pre","next"],"mappings":"yjDAAA,OAAOA,OAELC,YAAYC,aAAa,CACzBC,QAAQ,CACRC,YAAY,CACZC,aAAa,CACbC,IAAI,CACJC,WAAW,CACXC,SAAS,KACJ,OAAQ,AACf,QAASC,SAAS,KAAQ,kBAAmB,AAC7C,QAASC,UAAU,CAAEC,SAAS,CAAEC,kBAAkB,KAAQ,kBAAmB,AAC7E,QAAOC,aAAc,aAAc,AAInC,QAASC,OAAO,KAAQ,gBAAiB,CAEzC,IAAMC,gBAAqD,gBAAiC,KAA9BC,gBAAAA,SAAUC,YAAAA,KAASC,sCAAnBF,WAAUC,SACtE,IAAoDL,oBAAAA,qBAA5CO,KAA4CP,oBAA5CO,KAAMC,UAAsCR,oBAAtCQ,UAAWC,MAA2BT,oBAA3BS,MAAOC,gBAAoBV,oBAApBU,gBAChC,IAAMC,GAAKC,OAAOC,QAAQ,CAACC,QAAQ,CAAGF,OAAOC,QAAQ,CAACE,IAAI,CAE1DnB,UAAU,UAAM,CACd,GAAIgB,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,oBAACL,oBAAUY,GAAIA,GAAIN,KAAMM,IAAQL,MAC9Bd,aAAa8B,UAAW,CACvBC,KAAMlB,KACNmB,QAASb,EACX,GAGN,EAMA,IAAIc,eAAiB,KAAK,CACxBpC,SAAqDC,cACvD,IAAMoC,SAA+B,eAAyC,KAAtCC,aAAAA,6BAAQC,SAAAA,kCAAW,oBAAC3B,+BAC1D,IAAM4B,aAAelC,YACnB,SAACmC,KAAwB,CACvB,OAAOA,KAAKC,GAAG,CAAC,SAACC,EAAM,CACrB,IAAMC,EAAI,iBAAKD,GAEf,GAAI,CAAC,CAACC,EAAEC,KAAK,EAAI,CAACT,eAAgB,CAChCA,eAAiB,IAAI,CACrBpC,SAAWS,UACb,CAAC,AACD,GAAImC,EAAEE,OAAO,EAAI,CAAC,CAACF,EAAEC,KAAK,CAAE,CAC1B,IAAME,WAAsC,CAC1C/B,KAAM4B,EAAEI,GAAG,AACb,EAEA,GAAIlB,OAAOmB,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACP,EAAEC,KAAK,IAAM,kBAAmB,CACjEf,OAAOC,MAAM,CAACgB,WAAYH,EAAEC,KAAK,CACnC,CAAC,AACDD,EAAEE,OAAO,CAAG1C,cAAcU,gBAAiBiC,WAAYH,EAAEE,OAAO,CAClE,CAAC,AACD,GAAIF,EAAEE,OAAO,CAAE,CACbF,EAAEE,OAAO,CACP,oBAAC5C,UAASqC,SAAUI,EAAEJ,QAAQ,EAAIA,UAC/BpC,aAAayC,EAAEE,OAAO,CAAkB,CACvCZ,KAAMU,EAAEI,GAAG,AACb,GAGN,CAAC,AAED,GAAII,MAAMC,OAAO,CAACT,EAAE7B,QAAQ,EAAG,CAC7B6B,EAAE7B,QAAQ,CAAGyB,aAAaI,EAAE7B,QAAQ,CACtC,CAAC,AAED,OAAO6B,CACT,EACF,EACA,CAACL,SAAS,EAEZ,IAAMe,QAAU9C,UAAUgC,aAAaF,SAEvC,OAAO,oBAACtC,cAAUsD,QACpB,CAEA,gBAAejD,KAAKgC,SAAU,SAACkB,IAAKC,aAAS3C,QAAQ0C,IAAIjB,MAAM,CAAEkB,KAAKlB,MAAM,GAAG"}
|
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, } from './router';
|
|
6
|
+
export { matchUtil, router, onlyLoginRouter, myPkgs, myDemoKv, 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.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} 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\n// export { default as colorPalette } from './utils/color-palette';\n// export { setThemeColor, getColorPalette, type ThemeColorOptions } from './styles/vars';\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 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\n// export { default as colorPalette } from './utils/color-palette';\n// export { setThemeColor, getColorPalette, type ThemeColorOptions } from './styles/vars';\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,KAIH,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"}
|
package/lib/router/index.d.ts
CHANGED
|
@@ -24,7 +24,15 @@ export interface ExampleModule {
|
|
|
24
24
|
title?: string;
|
|
25
25
|
hideSource?: boolean;
|
|
26
26
|
}
|
|
27
|
-
export
|
|
27
|
+
export type MyPkg = RouterProps & {
|
|
28
|
+
basic: {
|
|
29
|
+
type: string;
|
|
30
|
+
title: string;
|
|
31
|
+
subtitle?: string;
|
|
32
|
+
icon?: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare const myPkgs: MyPkg[];
|
|
28
36
|
export declare const myDemoKv: Record<string, ExampleModule[]>;
|
|
29
37
|
export declare const onlyLoginRouter: RouterProps[];
|
|
30
38
|
export declare const router: RouterProps[];
|
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 _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{pathToRegexp}from"path-to-regexp";import{createElement,lazy}from"react";export var lazyImport=function(filePath){return lazy(function(){return import("@/pages/"+filePath.replace(/^\//,""))})};export var myPkgs=[];export var myDemoKv={};if(APPTYPE==="library"){var _allDemo_keys;var models=require.context("@pkg/",true,/README\.mdx?$/);models.keys().
|
|
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 _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{pathToRegexp}from"path-to-regexp";import{createElement,lazy}from"react";export var lazyImport=function(filePath){return lazy(function(){return import("@/pages/"+filePath.replace(/^\//,""))})};export var myPkgs=[];export var myDemoKv={};if(APPTYPE==="library"){var _models_keys,_allDemo_keys;var models=require.context("@pkg/",true,/README\.mdx?$/);var Code=require("@/components/code").default;var Box=require("@/components/box").default;var Snapshot=require("@/components/snapshot").default;var pkgs=require("@pkg");(_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;var heading=function(p,level){return createElement("h".concat(level),_objectSpread({"data-prefix":"# ",role:"heading","aria-level":level},p))};myPkgs.push(_objectSpread({key:key,path:key,element:createElement(child,{components:_objectSpread({h1:function(p){return heading(p,1)},h2:function(p){return heading(p,2)},h3:function(p){return heading(p,3)},h4:function(p){return heading(p,4)},h5:function(p){return heading(p,5)},h6:function(p){return heading(p,6)},code:function(p){var c=createElement("code",p);if(p.className){var lang=p.className.replace("language-","").replace(/ .*$/,"");return createElement(Code,{lang:lang},c)}return c},Box:Box,Code:Code,Snapshot:Snapshot},pkgs)})},basic))});var allDemo=require.context("@pkg/",true,/\/examples\/(.+)\.(t|j)sx$/);(_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]=[]}allDemo(e).codeSoucre=require("@pkg/"+k+"?raw");var curr=_objectSpread({},allDemo(e));myDemoKv[name].push(Object.assign(curr,{title:curr.title||((_arr_pop=arr.pop())===null||_arr_pop===void 0?void 0:_arr_pop.replace(/\.(t|j)sx?$/,""))}))})}var list=[];try{list=require("@/router").default}catch(error){console.info("自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]",error)}var predixKey=function(path,prev){return[prev==="*"&&path!=="*"?undefined:prev,path].filter(Boolean).join("/")};var models1=require.context("@/pages/",true,/\.(t|j)sx$/,"lazy");var pathToTree=function(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:createElement(lazyImport(key.replace(/:/g,"$"))),hideMenu:key.includes(":")};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}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)})}}}var findLogin=function(){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=createElement(lazyImport(_.key.replace(/:/g,"$")))}return!!_.onlyLogin===onlyLogin&&!_.root?null:_}).filter(Boolean)};var _router=_toConsumableArray(list);routers.forEach(function(item){return merge(_router,item)});export var onlyLoginRouter=findLogin(_router,false);export var router=findLogin(_router,true);export var matchUtil=function(pathname){var p={key:""};var findPath=function(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 { pathToRegexp } from 'path-to-regexp';\nimport { createElement, lazy, type ReactNode, type ReactElement } from 'react';\nimport type { KeepAliveProps } from 'react-activation';\n\nexport interface RouterProps {\n key: string;\n alive?: KeepAliveProps | boolean;\n icon?: ReactElement;\n dynamicTitle?: string;\n i18n?: string | null;\n hideMenu?: boolean;\n hideTabs?: boolean;\n onlyLogin?: boolean;\n root?: boolean;\n path?: string;\n element?: ReactElement;\n fallback?: ReactElement;\n /** 可否关闭标签 */\n closable?: boolean;\n children?: RouterProps[];\n}\nexport const lazyImport = (filePath: string) => {\n return lazy(\n () =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePath.replace(/^\\//, '')\n )\n );\n};\n\nexport interface ExampleModule {\n default: () => ReactNode;\n codeSoucre: string;\n title?: string;\n hideSource?: boolean;\n}\nexport const myPkgs: RouterProps[] = [];\nexport const myDemoKv: Record<string, ExampleModule[]> = {};\nif (APPTYPE === 'library') {\n const models = require.context('@pkg/', true, /README\\.mdx?$/);\n\n models.keys().map((item: string) => {\n const key = item.substring(2).split('/').slice(0, -1).join('/');\n\n myPkgs.push({\n key: key,\n path: key,\n element: createElement(\n lazy(\n () =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@pkg/' + key + '/' + 'README.mdx'\n )\n )\n ),\n });\n });\n const allDemo = require.context('@pkg/', true, /\\/examples\\/(.+)\\.(t|j)sx$/);\n\n allDemo.keys()?.forEach((e: string) => {\n const k = e.substring(2);\n const name = k.split('/')[0];\n\n if (!Array.isArray(myDemoKv[name])) {\n myDemoKv[name] = [];\n }\n allDemo(e).codeSoucre = require('@pkg/' + k + '?raw');\n myDemoKv[name].push(allDemo(e));\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[]');\n}\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: createElement(lazyImport(key.replace(/:/g, '$'))),\n hideMenu: key.includes(':'),\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 }\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 = createElement(lazyImport(_.key.replace(/:/g, '$')));\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":["pathToRegexp","createElement","lazy","lazyImport","filePath","replace","myPkgs","myDemoKv","APPTYPE","allDemo","models","require","context","keys","map","item","key","substring","split","slice","join","push","path","element","forEach","e","k","name","Array","isArray","codeSoucre","list","default","error","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","merge","source","child","_","find","Object","assign","childData","findLogin","rs","onlyLogin","prevKey","_router","onlyLoginRouter","router","matchUtil","pathname","p","findPath","exec"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/router/index.ts"],"sourcesContent":["import { pathToRegexp } from 'path-to-regexp';\nimport { createElement, lazy, type ReactNode, type ReactElement } from 'react';\nimport type { KeepAliveProps } from 'react-activation';\n\nexport interface RouterProps {\n key: string;\n alive?: KeepAliveProps | boolean;\n icon?: ReactElement;\n dynamicTitle?: string;\n i18n?: string | null;\n hideMenu?: boolean;\n hideTabs?: boolean;\n onlyLogin?: boolean;\n root?: boolean;\n path?: string;\n element?: ReactElement;\n fallback?: ReactElement;\n /** 可否关闭标签 */\n closable?: boolean;\n children?: RouterProps[];\n}\nexport const lazyImport = (filePath: string) => {\n return lazy(\n () =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePath.replace(/^\\//, '')\n )\n );\n};\n\nexport interface ExampleModule {\n default: () => ReactNode;\n codeSoucre: string;\n title?: string;\n hideSource?: boolean;\n}\nexport type MyPkg = RouterProps & {\n basic: {\n type: string;\n title: string;\n subtitle?: string;\n icon?: string;\n };\n};\nexport const myPkgs: MyPkg[] = [];\nexport const myDemoKv: Record<string, ExampleModule[]> = {};\nif (APPTYPE === 'library') {\n const models = require.context('@pkg/', true, /README\\.mdx?$/);\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const Code = require('@/components/code').default;\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const Box = require('@/components/box').default;\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const Snapshot = require('@/components/snapshot').default;\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const pkgs = require('@pkg');\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type Any = any;\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 myPkgs.push({\n key: key,\n path: key,\n element: createElement(child, {\n components: {\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 code: (p: Any) => {\n const c = createElement('code', p);\n\n if (p.className) {\n const lang = p.className.replace('language-', '').replace(/ .*$/, '');\n\n return createElement(Code, { lang }, c);\n }\n return c;\n },\n Box,\n Code,\n Snapshot,\n ...pkgs,\n },\n }),\n ...basic,\n });\n });\n\n const allDemo = require.context('@pkg/', true, /\\/examples\\/(.+)\\.(t|j)sx$/);\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 allDemo(e).codeSoucre = require('@pkg/' + k + '?raw');\n const curr = { ...allDemo(e) };\n\n myDemoKv[name].push(\n Object.assign(curr, {\n title: curr.title || arr.pop()?.replace(/\\.(t|j)sx?$/, ''),\n })\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: createElement(lazyImport(key.replace(/:/g, '$'))),\n hideMenu: key.includes(':'),\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 }\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 = createElement(lazyImport(_.key.replace(/:/g, '$')));\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":["pathToRegexp","createElement","lazy","lazyImport","filePath","replace","myPkgs","myDemoKv","APPTYPE","models","allDemo","require","context","Code","default","Box","Snapshot","pkgs","keys","forEach","item","key","substring","split","slice","join","basic","child","heading","p","level","role","push","path","element","components","h1","h2","h3","h4","h5","h6","code","c","className","lang","e","arr","k","name","Array","isArray","codeSoucre","curr","Object","assign","title","pop","list","error","console","info","predixKey","prev","undefined","filter","Boolean","pathToTree","input","root","i","length","chain","j","pathRule","lastHierarchy","children","lastIndexOf","node","i18n","alive","hideMenu","includes","routers","map","merge","source","_","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.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.45",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,8 +18,6 @@
|
|
|
18
18
|
"@emotion/css": "11.10.5",
|
|
19
19
|
"@mapbox/rehype-prism": "0.8.0",
|
|
20
20
|
"@mdx-js/loader": "2.2.1",
|
|
21
|
-
"@mdx-js/react": "2.2.1",
|
|
22
|
-
"@mdx-js/runtime": "1.6.22",
|
|
23
21
|
"@moneko/common": "1.0.7",
|
|
24
22
|
"@parcel/css": "1.14.0",
|
|
25
23
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|