@moneko/core 2.0.0-beta.17 → 2.0.0-beta.18
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/lib/index.d.ts +0 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/packages/back-stage/bootstrap.js +1 -1
- package/lib/packages/back-stage/bootstrap.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.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 +1 -0
- package/lib/router/index.js +1 -1
- package/lib/router/index.js.map +1 -1
- package/package.json +3 -3
- package/typings/global.d.ts +10 -4
- package/lib/utils/lazy-import.d.ts +0 -22
- package/lib/utils/lazy-import.js +0 -2
- package/lib/utils/lazy-import.js.map +0 -1
package/lib/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ 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 { lazyImport, safeImport } from './utils/lazy-import';
|
|
7
6
|
export { matchUtil, router, onlyLoginRouter, myPkgs } from './router';
|
|
8
7
|
export type { RouterProps } from './router/index';
|
|
9
8
|
export declare const LayoutMenu: any;
|
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{
|
|
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}from"./router";export var LayoutMenu=HASANTD?require("./components/layout-menu").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};export{default as colorPalette}from"./utils/color-palette";export{setThemeColor,getColorPalette}from"./styles/vars";
|
|
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 {
|
|
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 { matchUtil, router, onlyLoginRouter, myPkgs } from './router';\nexport type { RouterProps } from './router/index';\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\nexport { default as colorPalette } from './utils/color-palette';\nexport { setThemeColor, getColorPalette, type ThemeColorOptions } from './styles/vars';\n"],"names":["matchUtil","router","onlyLoginRouter","myPkgs","LayoutMenu","HASANTD","require","default","projectBasicInfo","projectName","providerConfig","programInfo","coverage","projectCoverage","colorPalette","setThemeColor","getColorPalette"],"mappings":"AAAA,WAAc,8BAA+B,AAC7C,YAAc,wBAAyB,AACvC,YAAc,sBAAuB,AACrC,YAAc,SAAU,AACxB,QAASA,SAAS,CAAEC,MAAM,CAAEC,eAAe,CAAEC,MAAM,KAAQ,UAAW,AAGtE,QAAO,IAAMC,WAAaC,QAAUC,QAAQ,4BAA4BC,OAAO,CAAG,IAAI,AAAC,AASvF,QAAO,IAAMC,iBAAmB,CAC9BC,YAAAA,YACAC,eAAAA,eACAC,YAAAA,YACAC,SAAUC,eACZ,CAAE,AAEF,QAASN,WAAWO,YAAY,KAAQ,uBAAwB,AAChE,QAASC,aAAa,CAAEC,eAAe,KAAgC,eAAgB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../../utils/fontloader";import React from"react";import App from"./app";import{I18nProvider}from"i18n-hooks";import{Provider,rootStore}from"mini-idc";import{isFunction}from"@moneko/common";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var appEntry=APPENTRY?require(APPENTRY):null;var SafeReactDOM=require(ReactDOMPath);var version=parseFloat(React.version);var container=document.getElementById("root");var Main=function(){return React.createElement(React.Fragment,null,React.createElement(Global,{styles:rootVariables
|
|
1
|
+
import"../../utils/fontloader";import React from"react";import App from"./app";import{I18nProvider}from"i18n-hooks";import{Provider,rootStore}from"mini-idc";import{isFunction}from"@moneko/common";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var appEntry=APPENTRY?require(APPENTRY):null;var SafeReactDOM=require(ReactDOMPath);var version=parseFloat(React.version);var container=document.getElementById("root");var Main=function(){return React.createElement(React.Fragment,null,React.createElement(Global,{styles:[rootVariables,normalizeCss,globalStyles,rootStyle]}),React.createElement(I18nProvider,null,React.createElement(Provider,{store:rootStore},React.createElement(App,null))))};if(version>=18){if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}if(programInfo.renderMode==="ssr"){window.rootInstance=SafeReactDOM.hydrateRoot(container,React.createElement(Main,null))}else{window.rootInstance=SafeReactDOM.createRoot(container);window.rootInstance.render(React.createElement(Main,null))}if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.mount)){appEntry===null||appEntry===void 0?void 0:appEntry.mount()}}else{if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap)){appEntry===null||appEntry===void 0?void 0:appEntry.bootstrap()}var render=module.hot?SafeReactDOM.render:SafeReactDOM.hydrate;render(React.createElement(Main,null),container);if(isFunction(appEntry===null||appEntry===void 0?void 0:appEntry.mount)){appEntry===null||appEntry===void 0?void 0:appEntry.mount()}}
|
|
2
2
|
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/packages/back-stage/bootstrap.tsx"],"sourcesContent":["import '../../utils/fontloader';\nimport React from 'react';\nimport App from './app';\nimport { I18nProvider } from 'i18n-hooks';\nimport { Provider, rootStore } from 'mini-idc';\nimport { isFunction } from '@moneko/common';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nconst appEntry: AppEntryMethods | null = APPENTRY ? require(APPENTRY) : null;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst SafeReactDOM = require(ReactDOMPath);\n\nconst version = parseFloat(React.version);\nconst container = document.getElementById('root') as HTMLElement;\n\nconst Main = () => (\n <>\n <Global styles={rootVariables
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/back-stage/bootstrap.tsx"],"sourcesContent":["import '../../utils/fontloader';\nimport React from 'react';\nimport App from './app';\nimport { I18nProvider } from 'i18n-hooks';\nimport { Provider, rootStore } from 'mini-idc';\nimport { isFunction } from '@moneko/common';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nconst appEntry: AppEntryMethods | null = APPENTRY ? require(APPENTRY) : null;\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst SafeReactDOM = require(ReactDOMPath);\n\nconst version = parseFloat(React.version);\nconst container = document.getElementById('root') as HTMLElement;\n\nconst Main = () => (\n <>\n <Global styles={[rootVariables, normalizeCss, globalStyles, rootStyle]} />\n <I18nProvider>\n <Provider store={rootStore}>\n <App />\n </Provider>\n </I18nProvider>\n </>\n);\n\nif (version >= 18) {\n if (isFunction(appEntry?.bootstrap)) {\n appEntry?.bootstrap();\n }\n if (programInfo.renderMode === 'ssr') {\n window.rootInstance = SafeReactDOM.hydrateRoot(container, <Main />);\n } else {\n window.rootInstance = SafeReactDOM.createRoot(container);\n window.rootInstance.render(<Main />);\n }\n if (isFunction(appEntry?.mount)) {\n appEntry?.mount();\n }\n} else {\n if (isFunction(appEntry?.bootstrap)) {\n appEntry?.bootstrap();\n }\n const render = module.hot ? SafeReactDOM.render : SafeReactDOM.hydrate;\n\n render(<Main />, container);\n if (isFunction(appEntry?.mount)) {\n appEntry?.mount();\n }\n}\n"],"names":["React","App","I18nProvider","Provider","rootStore","isFunction","Global","normalizeCss","rootVariables","globalStyles","rootStyle","appEntry","APPENTRY","require","SafeReactDOM","ReactDOMPath","version","parseFloat","container","document","getElementById","Main","styles","store","bootstrap","programInfo","renderMode","window","rootInstance","hydrateRoot","createRoot","render","mount","module","hot","hydrate"],"mappings":"AAAA,MAAO,wBAAyB,AAChC,QAAOA,UAAW,OAAQ,AAC1B,QAAOC,QAAS,OAAQ,AACxB,QAASC,YAAY,KAAQ,YAAa,AAC1C,QAASC,QAAQ,CAAEC,SAAS,KAAQ,UAAW,AAC/C,QAASC,UAAU,KAAQ,gBAAiB,AAC5C,QAASC,MAAM,KAAQ,gBAAiB,AACxC,QAAOC,iBAAkB,wBAAyB,AAClD,QAASC,aAAa,CAAEC,YAAY,CAAEC,SAAS,KAAQ,mBAAoB,CAE3E,IAAMC,SAAmCC,SAAWC,QAAQD,UAAY,IAAI,CAE5E,IAAME,aAAeD,QAAQE,cAE7B,IAAMC,QAAUC,WAAWjB,MAAMgB,OAAO,EACxC,IAAME,UAAYC,SAASC,cAAc,CAAC,QAE1C,IAAMC,KAAO,kBACX,wCACE,oBAACf,QAAOgB,OAAQ,CAACd,cAAeD,aAAcE,aAAcC,UAAU,GACtE,oBAACR,kBACC,oBAACC,UAASoB,MAAOnB,WACf,oBAACH,cAMT,GAAIe,SAAW,GAAI,CACjB,GAAIX,WAAWM,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUa,SAAS,EAAG,CACnCb,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUa,SAAS,EACrB,CAAC,AACD,GAAIC,YAAYC,UAAU,GAAK,MAAO,CACpCC,OAAOC,YAAY,CAAGd,aAAae,WAAW,CAACX,UAAW,oBAACG,WAC7D,KAAO,CACLM,OAAOC,YAAY,CAAGd,aAAagB,UAAU,CAACZ,WAC9CS,OAAOC,YAAY,CAACG,MAAM,CAAC,oBAACV,WAC9B,CAAC,AACD,GAAIhB,WAAWM,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUqB,KAAK,EAAG,CAC/BrB,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUqB,KAAK,EACjB,CAAC,AACH,KAAO,CACL,GAAI3B,WAAWM,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUa,SAAS,EAAG,CACnCb,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUa,SAAS,EACrB,CAAC,AACD,IAAMO,OAASE,OAAOC,GAAG,CAAGpB,aAAaiB,MAAM,CAAGjB,aAAaqB,OAAO,CAEtEJ,OAAO,oBAACV,WAASH,WACjB,GAAIb,WAAWM,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUqB,KAAK,EAAG,CAC/BrB,iBAAAA,kBAAAA,KAAAA,EAAAA,SAAUqB,KAAK,EACjB,CAAC,AACH,CAAC"}
|
|
@@ -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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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(){var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(
|
|
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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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(){var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(Router,_extends({},props),React.createElement(Global,{styles:[rootVariables,normalizeCss,globalStyles,rootStyle]}),React.createElement(AppRouter,{router:router}))))};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 { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\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 let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/library/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\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 let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <Global styles={[rootVariables, normalizeCss, globalStyles, rootStyle]} />\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Global","normalizeCss","rootVariables","globalStyles","rootStyle","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName","styles"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,AACpD,QAASC,MAAM,KAAQ,gBAAiB,AACxC,QAAOC,iBAAkB,wBAAyB,AAClD,QAASC,aAAa,CAAEC,YAAY,CAAEC,SAAS,KAAQ,mBAAoB,CAE3E,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASR,WACT,KAAM,AACR,KAAK,UACL,QACEQ,OAAST,cACT,KAAM,AACV,CAGA,IAAMY,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGhB,MAAMiB,QAAQ,CAC7E,IAAIC,YAAqClB,MAAMiB,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,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,oBAACb,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACrB,QAAOwB,OAAQ,CAACtB,cAAeD,aAAcE,aAAcC,UAAU,GACtE,oBAACL,WAAUD,OAAQA,WAK7B,CAEA,gBAAesB,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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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(){var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(React.Fragment,null,React.createElement(Global,{styles:rootVariables
|
|
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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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(){var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(React.Fragment,null,React.createElement(Global,{styles:[rootVariables,normalizeCss,globalStyles,rootStyle]}),React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(Router,_extends({},props),React.createElement(AppRouter,{router:router})))))};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 { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\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 let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <>\n <Global styles={rootVariables
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/mobile/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\n}\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 let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <>\n <Global styles={[rootVariables, normalizeCss, globalStyles, rootStyle]} />\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n </>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Global","normalizeCss","rootVariables","globalStyles","rootStyle","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName","styles"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,AACpD,QAASC,MAAM,KAAQ,gBAAiB,AACxC,QAAOC,iBAAkB,wBAAyB,AAClD,QAASC,aAAa,CAAEC,YAAY,CAAEC,SAAS,KAAQ,mBAAoB,CAE3E,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASR,WACT,KAAM,AACR,KAAK,UACL,QACEQ,OAAST,cACT,KAAM,AACV,CAGA,IAAMY,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGhB,MAAMiB,QAAQ,CAC7E,IAAIC,YAAqClB,MAAMiB,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,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,wCACE,oBAACrB,QAAOwB,OAAQ,CAACtB,cAAeD,aAAcE,aAAcC,UAAU,GACtE,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACtB,WAAUD,OAAQA,YAM/B,CAEA,gBAAesB,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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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 basename=param.basename,fallback=param.fallback;var props={basename:[basename,programInfo.routeBaseName].join("")};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(React.Fragment,null,React.createElement(Global,{styles:rootVariables
|
|
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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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 basename=param.basename,fallback=param.fallback;var props={basename:[basename,programInfo.routeBaseName].join("")};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(React.Fragment,null,React.createElement(Global,{styles:[rootVariables,normalizeCss,globalStyles,rootStyle]}),React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(Router,_extends({},props),React.createElement(AppRouter,{router:router,fallback: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 { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\ninterface AppProps {\n basename?: string;\n fallback?: React.ReactElement;\n}\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\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<AppProps> = ({ basename, fallback }: AppProps) => {\n let props: Record<string, string> = {\n basename: [basename, programInfo.routeBaseName].join(''),\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <>\n <Global styles={rootVariables
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/single-spa/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\ninterface AppProps {\n basename?: string;\n fallback?: React.ReactElement;\n}\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\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<AppProps> = ({ basename, fallback }: AppProps) => {\n let props: Record<string, string> = {\n basename: [basename, programInfo.routeBaseName].join(''),\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <>\n <Global styles={[rootVariables, normalizeCss, globalStyles, rootStyle]} />\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} fallback={fallback} />\n </Router>\n </IDCProvider>\n </I18n>\n </>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Global","normalizeCss","rootVariables","globalStyles","rootStyle","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","basename","fallback","props","routeBaseName","join","styles"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,AACpD,QAASC,MAAM,KAAQ,gBAAiB,AACxC,QAAOC,iBAAkB,wBAAyB,AAClD,QAASC,aAAa,CAAEC,YAAY,CAAEC,SAAS,KAAQ,mBAAoB,CAE3E,IAAIC,OAOJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASR,WACT,KAAM,AACR,KAAK,UACL,QACEQ,OAAST,cACT,KAAM,AACV,CAEA,IAAMY,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGhB,MAAMiB,QAAQ,CAC7E,IAAIC,YAAqClB,MAAMiB,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,IAA0B,eAAsC,KAAnCC,eAAAA,SAAUC,eAAAA,SAC3C,IAAIC,MAAgC,CAClCF,SAAU,CAACA,SAAUf,YAAYkB,aAAa,CAAC,CAACC,IAAI,CAAC,GACvD,EAEA,GAAInB,YAAYC,UAAU,GAAK,UAAW,CACxCgB,MAAQ,CAAC,CACX,CAAC,AACD,OACE,wCACE,oBAACvB,QAAO0B,OAAQ,CAACxB,cAAeD,aAAcE,aAAcC,UAAU,GACtE,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWkB,OACV,oBAACxB,WAAUD,OAAQA,OAAQwB,SAAUA,cAMjD,CAEA,gBAAeF,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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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(){var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(React.Fragment,null,React.createElement(Global,{styles:rootVariables
|
|
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{BrowserRouter,HashRouter}from"react-router-dom";import{router}from"../../router";import AppRouter from"../../components/app-router";import{Global}from"@emotion/react";import normalizeCss from"../../styles/normalize";import{rootVariables,globalStyles,rootStyle}from"../../styles/vars";var Router;switch(programInfo.routerMode){case"hash":Router=HashRouter;break;case"browser":default:Router=BrowserRouter;break}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(){var props={basename:programInfo.routeBaseName};if(programInfo.routerMode!=="browser"){props={}}return React.createElement(React.Fragment,null,React.createElement(Global,{styles:[rootVariables,normalizeCss,globalStyles,rootStyle]}),React.createElement(I18n,null,React.createElement(IDCProvider,_extends({},idcProps),React.createElement(Router,_extends({},props),React.createElement(AppRouter,{router:router})))))};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 { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\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 let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <>\n <Global styles={rootVariables
|
|
1
|
+
{"version":3,"sources":["../../../src/packages/site/app.tsx"],"sourcesContent":["import React from 'react';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { router } from '../../router';\nimport AppRouter from '../../components/app-router';\nimport { Global } from '@emotion/react';\nimport normalizeCss from '../../styles/normalize';\nimport { rootVariables, globalStyles, rootStyle } from '../../styles/vars';\n\nlet Router: typeof HashRouter | typeof BrowserRouter;\n\nswitch (programInfo.routerMode) {\n case 'hash':\n Router = HashRouter;\n break;\n case 'browser':\n default:\n Router = BrowserRouter;\n break;\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 let props: Record<string, string> = {\n basename: programInfo.routeBaseName,\n };\n\n if (programInfo.routerMode !== 'browser') {\n props = {};\n }\n return (\n <>\n <Global styles={[rootVariables, normalizeCss, globalStyles, rootStyle]} />\n <I18n>\n <IDCProvider {...idcProps}>\n <Router {...props}>\n <AppRouter router={router} />\n </Router>\n </IDCProvider>\n </I18n>\n </>\n );\n};\n\nexport default App;\n"],"names":["React","BrowserRouter","HashRouter","router","AppRouter","Global","normalizeCss","rootVariables","globalStyles","rootStyle","Router","programInfo","routerMode","I18n","hasLocales","require","I18nProvider","Fragment","IDCProvider","idcProps","hasModels","idc","store","rootStore","Provider","App","props","basename","routeBaseName","styles"],"mappings":"AAAA,oRAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,aAAa,CAAEC,UAAU,KAAQ,kBAAmB,AAC7D,QAASC,MAAM,KAAQ,cAAe,AACtC,QAAOC,cAAe,6BAA8B,AACpD,QAASC,MAAM,KAAQ,gBAAiB,AACxC,QAAOC,iBAAkB,wBAAyB,AAClD,QAASC,aAAa,CAAEC,YAAY,CAAEC,SAAS,KAAQ,mBAAoB,CAE3E,IAAIC,OAEJ,OAAQC,YAAYC,UAAU,EAC5B,IAAK,OACHF,OAASR,WACT,KAAM,AACR,KAAK,UACL,QACEQ,OAAST,cACT,KAAM,AACV,CAEA,IAAMY,KAAOC,WAAaC,QAAQ,cAAcC,YAAY,CAAGhB,MAAMiB,QAAQ,CAC7E,IAAIC,YAAqClB,MAAMiB,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,IAAIC,MAAgC,CAClCC,SAAUhB,YAAYiB,aAAa,AACrC,EAEA,GAAIjB,YAAYC,UAAU,GAAK,UAAW,CACxCc,MAAQ,CAAC,CACX,CAAC,AACD,OACE,wCACE,oBAACrB,QAAOwB,OAAQ,CAACtB,cAAeD,aAAcE,aAAcC,UAAU,GACtE,oBAACI,UACC,oBAACK,wBAAgBC,UACf,oBAACT,mBAAWgB,OACV,oBAACtB,WAAUD,OAAQA,YAM/B,CAEA,gBAAesB,GAAI"}
|
package/lib/router/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface RouterProps extends Omit<RouteObject, 'index' | 'children'> {
|
|
|
17
17
|
closable?: boolean;
|
|
18
18
|
children?: RouterProps[];
|
|
19
19
|
}
|
|
20
|
+
export declare const lazyImport: (filePath: string) => React.LazyExoticComponent<React.ComponentType>;
|
|
20
21
|
export declare const myPkgs: RouterProps[];
|
|
21
22
|
export declare const onlyLoginRouter: RouterProps[];
|
|
22
23
|
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{
|
|
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=[];if(APPTYPE==="library"){var models=require.context("@pkg/",true,/README\.mdx?$/,"lazy");models.keys().map(function(item){var key=item.substring(2).split("/").slice(0,-1).join("/");console.log(item);myPkgs.push({key:key,path:key,element:createElement(lazy(function(){return import("@pkg/"+key+"/"+"README.mdx")}))})})}var list=[];try{list=require("@/router").default}catch(error){console.info("自定义路由请在 router 目录下新建 index.ts, 类型: RouterProps[]")}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 { lazyImport } from '../utils/lazy-import';\nimport { pathToRegexp } from 'path-to-regexp';\nimport { createElement, lazy, type ReactElement, type ReactNode } from 'react';\nimport type { RouteObject } from 'react-router-dom';\n\nexport interface RouterProps extends Omit<RouteObject, 'index' | 'children'> {\n key: string;\n alive?: 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?: ReactElement;\n fallback?: ReactElement;\n /** 可否关闭标签 */\n closable?: boolean;\n children?: RouterProps[];\n}\n\nexport const myPkgs: RouterProps[] = [];\nif (APPTYPE === 'library') {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n // const Readme = require('@moneko/core/lib/components/readme').default;\n const models = require.context('@pkg/', true, /README\\.mdx?$/, 'lazy');\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}\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":["lazyImport","pathToRegexp","createElement","lazy","myPkgs","APPTYPE","models","require","context","keys","map","item","key","substring","split","slice","join","push","path","element","list","default","error","console","info","predixKey","prev","undefined","filter","Boolean","pathToTree","input","root","i","length","chain","curr","j","pathRule","lastHierarchy","Array","isArray","k","children","lastIndexOf","node","i18n","alive","replace","hideMenu","includes","routers","merge","source","child","_","find","Object","assign","forEach","childData","findLogin","rs","onlyLogin","prevKey","e","_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 ReactElement, type ReactNode } from 'react';\nimport type { RouteObject } from 'react-router-dom';\n\nexport interface RouterProps extends Omit<RouteObject, 'index' | 'children'> {\n key: string;\n alive?: 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?: ReactElement;\n fallback?: ReactElement;\n /** 可否关闭标签 */\n closable?: boolean;\n children?: RouterProps[];\n}\nexport const lazyImport = (filePath: string): React.LazyExoticComponent<React.ComponentType> => {\n return lazy(\n () =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePath.replace(/^\\//, '')\n )\n );\n};\n\nexport const myPkgs: RouterProps[] = [];\nif (APPTYPE === 'library') {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n // const Readme = require('@moneko/core/lib/components/readme').default;\n const models = require.context('@pkg/', true, /README\\.mdx?$/, 'lazy');\n\n models.keys().map((item: string) => {\n const key = item.substring(2).split('/').slice(0, -1).join('/');\n\n console.log(item);\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}\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","APPTYPE","models","require","context","keys","map","item","key","substring","split","slice","join","console","log","push","path","element","list","default","error","info","predixKey","prev","undefined","filter","Boolean","pathToTree","input","root","i","length","chain","curr","j","pathRule","lastHierarchy","Array","isArray","k","children","lastIndexOf","node","i18n","alive","hideMenu","includes","routers","merge","source","child","_","find","Object","assign","forEach","childData","findLogin","rs","onlyLogin","prevKey","e","_router","onlyLoginRouter","router","matchUtil","pathname","p","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.18",
|
|
4
4
|
"description": "core",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"portfinder": "1.0.32",
|
|
45
45
|
"react-refresh": "0.14.0",
|
|
46
46
|
"react-refresh-typescript": "2.0.7",
|
|
47
|
-
"react-router": "6.4.
|
|
48
|
-
"react-router-dom": "6.4.
|
|
47
|
+
"react-router": "6.4.2",
|
|
48
|
+
"react-router-dom": "6.4.2",
|
|
49
49
|
"rehype-accessible-emojis": "0.3.2",
|
|
50
50
|
"rehype-figure": "1.0.1",
|
|
51
51
|
"style-loader": "3.3.1",
|
package/typings/global.d.ts
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
/* eslint-disable no-unused-vars */
|
|
2
2
|
import type { Options } from 'ts-import-plugin';
|
|
3
|
-
import type { RuleSetRule, WebpackPluginInstance, Configuration
|
|
3
|
+
import type { RuleSetRule, WebpackPluginInstance, Configuration } from 'webpack';
|
|
4
4
|
import type { ProxyArray, ProxyConfigArray, ProxyConfigMap } from 'webpack-dev-server';
|
|
5
5
|
import type { JsMinifyOptions } from '@swc/core';
|
|
6
6
|
import type { MinifyOptions } from 'terser';
|
|
7
7
|
import { Options as AssetHtmlOptions } from 'add-asset-html-webpack-plugin';
|
|
8
8
|
import { Options as HtmlWebpackPluginOptions } from 'html-webpack-plugin';
|
|
9
|
+
import type { WebpackConfiguration } from 'webpack-dev-server';
|
|
9
10
|
|
|
10
11
|
export type MinifierType = 'swc' | 'terser';
|
|
11
|
-
export declare type AppType =
|
|
12
|
+
export declare type AppType =
|
|
13
|
+
| 'single-component'
|
|
14
|
+
| 'mobile'
|
|
15
|
+
| 'site'
|
|
16
|
+
| 'back-stage'
|
|
17
|
+
| 'single-spa'
|
|
18
|
+
| 'library';
|
|
12
19
|
export type TerserOptions = MinifyOptions;
|
|
13
20
|
export type SwcOptions = JsMinifyOptions;
|
|
14
21
|
export declare type ConfigType<T = 'tsc'> = {
|
|
15
|
-
clean: boolean | CleanPlugin['options'];
|
|
16
22
|
/** 渲染模式 */
|
|
17
23
|
mode: 'ssr' | 'csr';
|
|
18
24
|
/** 编译器 */
|
|
@@ -129,7 +135,7 @@ export declare type ConfigType<T = 'tsc'> = {
|
|
|
129
135
|
/** 通过Web字体加载加载的字体 */
|
|
130
136
|
webFontLoader: string[];
|
|
131
137
|
/** 编译输出路径 */
|
|
132
|
-
output
|
|
138
|
+
output?: Omit<WebpackConfiguration['output'], 'publishPath'> | string;
|
|
133
139
|
/** 模块联邦 */
|
|
134
140
|
moduleFederation: ModuleFederationOption[];
|
|
135
141
|
/** 跳过编译的模块 */
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ComponentType, type ReactElement } from 'react';
|
|
2
|
-
declare type SafeImportParams = {
|
|
3
|
-
/** 文件路径 */
|
|
4
|
-
filePath: string;
|
|
5
|
-
/** 重试次数 默认:2 */
|
|
6
|
-
retriesLeft?: number;
|
|
7
|
-
/** 加载错误时的回调 */
|
|
8
|
-
onError?: () => void;
|
|
9
|
-
/** 降级 */
|
|
10
|
-
fallback?: ReactElement;
|
|
11
|
-
};
|
|
12
|
-
export declare const safeImport: ({ filePath, retriesLeft, onError, fallback, }: SafeImportParams) => Promise<{
|
|
13
|
-
default: ComponentType;
|
|
14
|
-
}>;
|
|
15
|
-
/**
|
|
16
|
-
* 动态引入
|
|
17
|
-
* @param {string} filePath 文件路径
|
|
18
|
-
* @param {Function} onError 加载错误时的回调
|
|
19
|
-
* @returns {Promise} LazyExoticComponent
|
|
20
|
-
* */
|
|
21
|
-
export declare const lazyImport: (filePath: string, onError?: () => void) => React.LazyExoticComponent<ComponentType>;
|
|
22
|
-
export {};
|
package/lib/utils/lazy-import.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createElement,lazy}from"react";import{Outlet}from"react-router-dom";export var safeImport=function(param){var filePath=param.filePath,_param_retriesLeft=param.retriesLeft,retriesLeft=_param_retriesLeft===void 0?2:_param_retriesLeft,onError=param.onError,fallback=param.fallback;var filePaths=filePath.startsWith("/")?filePath.slice(1):filePath;return new Promise(function(resolve){return import("@/pages/"+filePaths).then(resolve).catch(function(){if(retriesLeft===1){if(onError){onError()}return Promise.resolve({default:fallback})}return safeImport({filePath:filePath,retriesLeft:retriesLeft-1,onError:onError,fallback:fallback})})})};export var lazyImport=function(filePath,onError){var filePaths=filePath.startsWith("/")?filePath.slice(1):filePath;return lazy(function(){return safeImport({filePath:filePath,onError:onError,fallback:createElement("div",{path:"pages/"+filePaths},createElement(Outlet))})})};
|
|
2
|
-
//# sourceMappingURL=lazy-import.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/lazy-import.ts"],"sourcesContent":["import { ComponentType, createElement, lazy, type ReactElement } from 'react';\nimport { Outlet } from 'react-router-dom';\n\ntype SafeImportParams = {\n /** 文件路径 */\n filePath: string;\n /** 重试次数 默认:2 */\n retriesLeft?: number;\n /** 加载错误时的回调 */\n onError?: () => void;\n /** 降级 */\n fallback?: ReactElement;\n};\n\n// 安全的import\nexport const safeImport = ({\n filePath,\n retriesLeft = 2,\n onError,\n fallback,\n}: SafeImportParams): Promise<{\n default: ComponentType;\n}> => {\n const filePaths = filePath.startsWith('/') ? filePath.slice(1) : filePath;\n\n return new Promise((resolve) =>\n import(\n /* webpackChunkName: \"[request]\" */\n '@/pages/' + filePaths\n )\n .then(resolve)\n .catch(() => {\n if (retriesLeft === 1) {\n if (onError) {\n onError();\n }\n return Promise.resolve({\n default: fallback as unknown as ComponentType,\n });\n }\n // 失败之后重载\n return safeImport({\n filePath,\n retriesLeft: retriesLeft - 1,\n onError,\n fallback,\n });\n })\n );\n};\n\n/**\n * 动态引入\n * @param {string} filePath 文件路径\n * @param {Function} onError 加载错误时的回调\n * @returns {Promise} LazyExoticComponent\n * */\nexport const lazyImport = (\n filePath: string,\n onError?: () => void\n): React.LazyExoticComponent<ComponentType> => {\n const filePaths = filePath.startsWith('/') ? filePath.slice(1) : filePath;\n\n return lazy(() =>\n safeImport({\n filePath,\n onError,\n fallback: createElement(\n 'div',\n {\n path: 'pages/' + filePaths,\n },\n createElement(Outlet)\n ),\n })\n );\n};\n"],"names":["createElement","lazy","Outlet","safeImport","filePath","retriesLeft","onError","fallback","filePaths","startsWith","slice","Promise","resolve","then","catch","default","lazyImport","path"],"mappings":"AAAA,OAAwBA,aAAa,CAAEC,IAAI,KAA2B,OAAQ,AAC9E,QAASC,MAAM,KAAQ,kBAAmB,AAc1C,QAAO,IAAMC,WAAa,eAOpB,KANJC,eAAAA,kCACAC,YAAAA,wCAAc,qBACdC,cAAAA,QACAC,eAAAA,SAIA,IAAMC,UAAYJ,SAASK,UAAU,CAAC,KAAOL,SAASM,KAAK,CAAC,GAAKN,QAAQ,CAEzE,OAAO,IAAIO,QAAQ,SAACC,gBAClB,MAAM,CAEJ,WAAaJ,WAEZK,IAAI,CAACD,SACLE,KAAK,CAAC,UAAM,CACX,GAAIT,cAAgB,EAAG,CACrB,GAAIC,QAAS,CACXA,SACF,CAAC,AACD,OAAOK,QAAQC,OAAO,CAAC,CACrBG,QAASR,QACX,EACF,CAAC,AAED,OAAOJ,WAAW,CAChBC,SAAAA,SACAC,YAAaA,YAAc,EAC3BC,QAAAA,QACAC,SAAAA,QACF,EACF,IAEN,CAAE,AAQF,QAAO,IAAMS,WAAa,SACxBZ,SACAE,QAC6C,CAC7C,IAAME,UAAYJ,SAASK,UAAU,CAAC,KAAOL,SAASM,KAAK,CAAC,GAAKN,QAAQ,CAEzE,OAAOH,KAAK,kBACVE,WAAW,CACTC,SAAAA,SACAE,QAAAA,QACAC,SAAUP,cACR,MACA,CACEiB,KAAM,SAAWT,SACnB,EACAR,cAAcE,QAElB,IAEJ,CAAE"}
|