@moneko/core 2.0.0-beta.45 → 2.0.0-beta.47
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/module.config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _miniCssExtractPlugin=_interopRequireDefault(require("mini-css-extract-plugin"));var _miniSvgDataUri=_interopRequireDefault(require("mini-svg-data-uri"));var _common=require("./common");var _modifyVars=_interopRequireDefault(require("./modifyVars"));var _swcrc=_interopRequireDefault(require("./swcrc"));var _utils=require("./utils");var _hasPkg=require("./has-pkg");var _processEnv=require("./process-env");var _tsloaderConfig=_interopRequireDefault(require("./tsloader.config"));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 _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 _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 _CONFIG_rulesInclude,_CONFIG_rulesInclude_less,_CONFIG_rulesInclude1,_CONFIG_rulesInclude_css,_CONFIG_rulesInclude2,_CONFIG_rulesInclude_media,_CONFIG_rulesInclude3,_CONFIG_rulesInclude_fonts,_CONFIG_rulesInclude4,_CONFIG_rulesInclude_js;var cssAssetsPublicPath=_processEnv.APPTYPE==="single-spa"?_common.PUBLICPATH:"../";var styleLoader={loader:_miniCssExtractPlugin.default.loader,options:{publicPath:cssAssetsPublicPath!=="/"?cssAssetsPublicPath:"../"}};var postcssLoader=(0,_hasPkg.hasPkg)("@moneko/postcss")&&{loader:"postcss-loader",options:{postcssOptions:require("@moneko/postcss")}};if(_processEnv.DEV){styleLoader="style-loader"}var customCssModules=_toConsumableArray(_common.CONFIG.cssModules).concat([_processEnv.pkgName,"neko-ui"]).map(_utils.resolveNodeModulesPath);var styleResources=[(0,_utils.resolveNodeModulesPath)("".concat(_processEnv.pkgName,"/lib/styles/eval/*.less"))].concat(_toConsumableArray(["src/styles/variables/*.less","src/styles/mixins/*.less","site/styles/variables/*.less","site/styles/mixins/*.less"].map(_utils.resolveProgramPath)));var entryResolveProgramPath=["components","example","mock","site","src"].map(_utils.resolveProgramPath);var lessLoaderRule=[styleLoader,{loader:"css-loader",options:{modules:{auto:function(resourcePath){for(var i=0,len=customCssModules.length;i<len;i++){if(resourcePath&&(resourcePath===null||resourcePath===void 0?void 0:resourcePath.includes(customCssModules[i]))){return RegExp("(.*(?<!\\.global\\.(le|c)ss)$)","i").test(resourcePath)}}return RegExp("(^(?!.*node_modules))(.*(?<!\\.global\\.(le|c)ss)$)","i").test(resourcePath)},localIdentName:"[path][name]__[local]",exportLocalsConvention:"dashesOnly"},importLoaders:2}},postcssLoader,"css-unicode-loader",{loader:"less-loader",options:{sourceMap:!!_common.CONFIG.sourceMap,lessOptions:{modifyVars:_modifyVars.default,javascriptEnabled:true}}},{loader:"style-resources-loader",options:{patterns:styleResources}}].filter(Boolean);var tsLoader={loader:_common.CONFIG.compiler==="tsc"?"ts-loader":"swc-loader",options:_common.CONFIG.compiler==="tsc"?_tsloaderConfig.default:(0,_swcrc.default)(_processEnv.DEV)};var moduleOptions={rules:[{oneOf:[{resourceQuery:/raw/,type:"asset/source"},{resourceQuery:/\.wasm$/,type:"webassembly/async"},{test:/\.less$/,use:lessLoaderRule,include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude===void 0?void 0:(_CONFIG_rulesInclude_less=_CONFIG_rulesInclude.less)===null||_CONFIG_rulesInclude_less===void 0?void 0:_CONFIG_rulesInclude_less.map(_utils.resolveNodeModulesPath))||[])},{test:/\.css$/,use:[styleLoader,"css-loader",postcssLoader,"css-unicode-loader"].filter(Boolean),include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude1=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude1===void 0?void 0:(_CONFIG_rulesInclude_css=_CONFIG_rulesInclude1.css)===null||_CONFIG_rulesInclude_css===void 0?void 0:_CONFIG_rulesInclude_css.map(_utils.resolveNodeModulesPath))||[])},{test:/\.(gif|png|jpe?g|ico|mp4)$/i,type:"asset",generator:{filename:"assets/images/[name][ext][query]"},include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude2=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude2===void 0?void 0:(_CONFIG_rulesInclude_media=_CONFIG_rulesInclude2.media)===null||_CONFIG_rulesInclude_media===void 0?void 0:_CONFIG_rulesInclude_media.map(_utils.resolveNodeModulesPath))||[])},{test:/\.(eot|ttf|otf|woff(|2))$/,type:"asset",generator:{filename:"assets/fonts/[name][ext][query]"},include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude3=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude3===void 0?void 0:(_CONFIG_rulesInclude_fonts=_CONFIG_rulesInclude3.fonts)===null||_CONFIG_rulesInclude_fonts===void 0?void 0:_CONFIG_rulesInclude_fonts.map(_utils.resolveNodeModulesPath))||[])},{test:/\.svg$/,type:"asset/inline",generator:{dataUrl:function(content){return(0,_miniSvgDataUri.default)(typeof content!=="string"?content.toString():content)}}},{test:/\.txt$/,type:"asset/source"},{test:/\.(cj|mj|t|j)s(|x)$/,use:_toConsumableArray(_common.CONFIG.prefixJsLoader).concat([tsLoader]).filter(Boolean),include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude4=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude4===void 0?void 0:(_CONFIG_rulesInclude_js=_CONFIG_rulesInclude4.js)===null||_CONFIG_rulesInclude_js===void 0?void 0:_CONFIG_rulesInclude_js.map(_utils.resolveNodeModulesPath))||[])},{test:/\.mdx?$/,use:_toConsumableArray(_common.CONFIG.prefixJsLoader).concat([tsLoader,{loader:"@mdx-js/loader",options:{rehypePlugins:[require("@mapbox/rehype-prism"),require("rehype-accessible-emojis").rehypeAccessibleEmojis,require("rehype-figure")],remarkPlugins:[]}}]).filter(Boolean),include:entryResolveProgramPath}]}].concat(_toConsumableArray(_common.CONFIG.moduleRules))};var _default=moduleOptions;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _miniCssExtractPlugin=_interopRequireDefault(require("mini-css-extract-plugin"));var _miniSvgDataUri=_interopRequireDefault(require("mini-svg-data-uri"));var _common=require("./common");var _modifyVars=_interopRequireDefault(require("./modifyVars"));var _swcrc=_interopRequireDefault(require("./swcrc"));var _utils=require("./utils");var _hasPkg=require("./has-pkg");var _processEnv=require("./process-env");var _tsloaderConfig=_interopRequireDefault(require("./tsloader.config"));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 _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 _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 _CONFIG_rulesInclude,_CONFIG_rulesInclude_less,_CONFIG_rulesInclude1,_CONFIG_rulesInclude_css,_CONFIG_rulesInclude2,_CONFIG_rulesInclude_media,_CONFIG_rulesInclude3,_CONFIG_rulesInclude_fonts,_CONFIG_rulesInclude4,_CONFIG_rulesInclude_js;var cssAssetsPublicPath=_processEnv.APPTYPE==="single-spa"?_common.PUBLICPATH:"../";var styleLoader={loader:_miniCssExtractPlugin.default.loader,options:{publicPath:cssAssetsPublicPath!=="/"?cssAssetsPublicPath:"../"}};var postcssLoader=(0,_hasPkg.hasPkg)("@moneko/postcss")&&{loader:"postcss-loader",options:{postcssOptions:require("@moneko/postcss")}};if(_processEnv.DEV){styleLoader="style-loader"}var customCssModules=_toConsumableArray(_common.CONFIG.cssModules).concat([_processEnv.pkgName,"neko-ui"]).map(_utils.resolveNodeModulesPath);var styleResources=[(0,_utils.resolveNodeModulesPath)("".concat(_processEnv.pkgName,"/lib/styles/eval/*.less"))].concat(_toConsumableArray(["src/styles/variables/*.less","src/styles/mixins/*.less","site/styles/variables/*.less","site/styles/mixins/*.less"].map(_utils.resolveProgramPath)));var entryResolveProgramPath=["components","example","mock","site","src"].map(_utils.resolveProgramPath);var lessLoaderRule=[styleLoader,{loader:"css-loader",options:{modules:{auto:function(resourcePath){for(var i=0,len=customCssModules.length;i<len;i++){if(resourcePath&&(resourcePath===null||resourcePath===void 0?void 0:resourcePath.includes(customCssModules[i]))){return RegExp("(.*(?<!\\.global\\.(le|c)ss)$)","i").test(resourcePath)}}return RegExp("(^(?!.*node_modules))(.*(?<!\\.global\\.(le|c)ss)$)","i").test(resourcePath)},localIdentName:"[path][name]__[local]",exportLocalsConvention:"dashesOnly"},importLoaders:2}},postcssLoader,"css-unicode-loader",{loader:"less-loader",options:{sourceMap:!!_common.CONFIG.sourceMap,lessOptions:{modifyVars:_modifyVars.default,javascriptEnabled:true}}},{loader:"style-resources-loader",options:{patterns:styleResources}}].filter(Boolean);var tsLoader={loader:_common.CONFIG.compiler==="tsc"?"ts-loader":"swc-loader",options:_common.CONFIG.compiler==="tsc"?_tsloaderConfig.default:(0,_swcrc.default)(_processEnv.DEV)};var moduleOptions={rules:[{oneOf:[{resourceQuery:/raw/,type:"asset/source"},{resourceQuery:/\.wasm$/,type:"webassembly/async"},{test:/\.less$/,use:lessLoaderRule,include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude===void 0?void 0:(_CONFIG_rulesInclude_less=_CONFIG_rulesInclude.less)===null||_CONFIG_rulesInclude_less===void 0?void 0:_CONFIG_rulesInclude_less.map(_utils.resolveNodeModulesPath))||[])},{test:/\.css$/,use:[styleLoader,"css-loader",postcssLoader,"css-unicode-loader"].filter(Boolean),include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude1=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude1===void 0?void 0:(_CONFIG_rulesInclude_css=_CONFIG_rulesInclude1.css)===null||_CONFIG_rulesInclude_css===void 0?void 0:_CONFIG_rulesInclude_css.map(_utils.resolveNodeModulesPath))||[])},{test:/\.(gif|png|jpe?g|ico|mp4)$/i,type:"asset",generator:{filename:"assets/images/[name][ext][query]"},include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude2=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude2===void 0?void 0:(_CONFIG_rulesInclude_media=_CONFIG_rulesInclude2.media)===null||_CONFIG_rulesInclude_media===void 0?void 0:_CONFIG_rulesInclude_media.map(_utils.resolveNodeModulesPath))||[])},{test:/\.(eot|ttf|otf|woff(|2))$/,type:"asset",generator:{filename:"assets/fonts/[name][ext][query]"},include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude3=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude3===void 0?void 0:(_CONFIG_rulesInclude_fonts=_CONFIG_rulesInclude3.fonts)===null||_CONFIG_rulesInclude_fonts===void 0?void 0:_CONFIG_rulesInclude_fonts.map(_utils.resolveNodeModulesPath))||[])},{test:/\.svg$/,type:"asset/inline",generator:{dataUrl:function(content){return(0,_miniSvgDataUri.default)(typeof content!=="string"?content.toString():content)}}},{test:/\.txt$/,type:"asset/source"},{test:/\.(cj|mj|t|j)s(|x)$/,use:_toConsumableArray(_common.CONFIG.prefixJsLoader).concat([tsLoader]).filter(Boolean),include:entryResolveProgramPath.concat(((_CONFIG_rulesInclude4=_common.CONFIG.rulesInclude)===null||_CONFIG_rulesInclude4===void 0?void 0:(_CONFIG_rulesInclude_js=_CONFIG_rulesInclude4.js)===null||_CONFIG_rulesInclude_js===void 0?void 0:_CONFIG_rulesInclude_js.map(_utils.resolveNodeModulesPath))||[])},{test:/\.mdx?$/,use:_toConsumableArray(_common.CONFIG.prefixJsLoader).concat([tsLoader,{loader:"@mdx-js/loader",options:{rehypePlugins:[[require("@mapbox/rehype-prism"),{ignore:true}],require("rehype-accessible-emojis").rehypeAccessibleEmojis,require("rehype-figure")],remarkPlugins:[]}}]).filter(Boolean),include:entryResolveProgramPath}]}].concat(_toConsumableArray(_common.CONFIG.moduleRules))};var _default=moduleOptions;
|
package/lib/router/index.d.ts
CHANGED
|
@@ -25,12 +25,10 @@ export interface ExampleModule {
|
|
|
25
25
|
hideSource?: boolean;
|
|
26
26
|
}
|
|
27
27
|
export type MyPkg = RouterProps & {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
icon?: string;
|
|
33
|
-
};
|
|
28
|
+
type: string;
|
|
29
|
+
title: string;
|
|
30
|
+
subtitle?: string;
|
|
31
|
+
icon?: string;
|
|
34
32
|
};
|
|
35
33
|
export declare const myPkgs: MyPkg[];
|
|
36
34
|
export declare const myDemoKv: Record<string, ExampleModule[]>;
|
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 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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"}
|
|
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 type: string;\n title: string;\n subtitle?: string;\n icon?: string;\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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"}
|